1try { (function() { 2var requirejs,require,define; 3(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|| 4o.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("/"); 5if(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= 60;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} 7function 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)}} 8function 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? 9j(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]=== 10true||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=== 11m.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>
110)){if(r.priorityWait)if(q())C();else return;for(g in v)if(!(g in F)){c=true; 12if(!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, 13a,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=== 14b){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", 15[],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, 16config: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= 17e}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 '"+ 18b.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].c
18oncat(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]); 19v[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; 20c.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$/, 21ia=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= 22requirejs;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, 23readyCalls:[]};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, 24"").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|| 25d.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"; 26o.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; 27if(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, 28f,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);
vendor: 4,556 bytes, lines 28-38
28if(!document.readyState){ta=true;document.readyState="loading"}}else if(window.attachEvent){window.attachEvent("onload", 29h.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)}}})();/* 30 jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 31!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"== 32typeof 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, 33t)};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, 34t,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= 35S.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,""), 36isReady:!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}, 37makeArray: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], 38o,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*ne
vendor: 11,135 bytes, lines 38-60
38w 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, 39t){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+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ 40W+")*)|.*)\\)|)",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+"*(?:([+-]|)"+ 41M+"*(\\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>> 4210|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, 43r=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, 44e.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= 45[];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? 461:-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, 47le(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&& 48(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), 49d.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= 50function(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=== 51n.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|| 52v.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>"; 53var 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|| 54a.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}, 55j=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, 56t);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|| 57e)!=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), 58e.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", 59first:!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)&& 60(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}
vendor: 23,018 bytes, lines 60-105
60: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, 61r,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": 62"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]= 63{}))[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, 64r=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)}}), 65lang: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|| 66~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(); 67return"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}), 68gt: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, 69p];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, 70r,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=[], 71i,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, 72e[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=[])), 73n=!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= 74e&&[],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= 75se.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)|| 76t))){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()? 771: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= 78d.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; 79function 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= 800;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]&& 813<=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, 82D=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, 83e))){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, 84"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!= 85e.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, 86t,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)? 87r.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|| 88(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), 89this},"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"); 90t=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, 91m(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, 92r=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: "+ 93e.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&& 94!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()} 95function 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): 96e[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)}}; 97var 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, 98t,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!== 99(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, 100i.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, 101e)})},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, 102e)},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, 103t,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"), 104o.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; 105ce=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
vendor: 17,561 bytes, lines 105-139
105=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>"], 106tr:[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|| 107(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= 108""}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, 109s,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(); 110else{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, 111i),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), 112namespace: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]|| 113{},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, 114"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&& 115!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= 116[],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, 117t,{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!== 118e.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= 119e.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= 120this.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), 121S.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, 122arguments),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)})}}); 123var 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, 124"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= 125e,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&& 126(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< 127i;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? 128S.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, 129function(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=== 130e&&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", 131insertBefore:"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}, 132Ie=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", 133l.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= 134"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", 135t.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; 136while(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, 137"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()&& 138A(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, 139gridArea:!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;
vendor: 9,152 bytes, lines 139-157
139if(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"!== 140o||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, 141t,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= 142Fe(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, 143i,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, 144n=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, 145e.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)$/, 146it=/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, 147t){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, 148tweens:[],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= 149a.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, 150t);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--, 151S.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"=== 152c&&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, 153g&&(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), 154r.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|| 155"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, 156!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, 157r){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}
vendor: 6,589 bytes, lines 157-170
157,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= 158C.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, 159t,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", 160t),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)|| 161[]).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, 162n,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", 163"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, 164n,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): 165m(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}}); 166var 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, 167"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, 168i=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()}; 169S.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= 170void 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)||
vendor: 13,728 bytes, lines 170-197
170(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)&& 171(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, 172t){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, 173r)-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; 174function 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], 175t,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")}}): 176{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, 177S.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, 178processData:!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, 179S.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= 180n[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, 181bt.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(), 182v.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]&& 183T.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, 184t,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")); 185if(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]]= 186t),!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"))&& 187(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, 188t,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(){}}, 189dataFilter: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)})}, 190wrap: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(); 191y.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= 192r.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&& 193i.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, 194i;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&& 195(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=== 196i?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= 197N.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(" ");
197return-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, 198e])})}),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&& 199(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(); 200else{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; 201return 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"}, 202function(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)}})}), 203S.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(" "), 204function(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= 205X,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 ja="function"==typeof Object.defineProperties?Object.defineProperty:function(a,e,k){if(a==Array.prototype||a==Object.prototype)return a;a[e]=k.value;return a};function ka(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 k=a[e];if(k&&k.Math==Math)return k}throw Error("Cannot find global object");}var la=ka(this); 206function ma(a,e){if(e)a:{var k=la;a=a.split(".");for(var m=0;m<a.length-1;m++){var l=a[m];if(!(l in k))break a;k=k[l]}a=a[a.length-1];m=k[a];e=e(m);e!=m&&null!=e&&ja(k,a,{configurable:!0,writable:!0,value:e})}} 207ma("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 k=new RegExp(e,e instanceof RegExp?void 0:"g"),m=this,l=!1,b={next:function(){if(l)return{value:void 0,done:!0};var h=k.exec(m);if(!h)return l=!0,{value:void 0,done:!0};""===h[0]&&(k.lastIndex+=1);return{value:h,done:!1}}};b[Symbol.iterator]=function(){return b};return b}}); 208(function(){function a(c){this.Go=c;this.Vr=null;this.Jc={}}function e(){this.hj={};this.hj[e.SCRIPT_URL]=[];this.hj[e.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.hj[e.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.hj[e.kha]="lib/webxr-polyfill.js";this.hj[e.HLS_URL]="lib/Hls.js";this.hj[e.qfa]="lib/basis/";this.hj[e.zfa]="lib/draco/";this.hj[e.CURSORS_DIR_URL]="lib/cursors";this.hj[e.SERVICE_WORKER_URL]="tdvplayersw.js";this.hj[e.vR]="lib/webxr-input-profiles/";this.hj[e.BACKGROUND_PRELOAD_ENABLED]= 209void 0}function k(){this.UM=[];this.EW=[];this.ROa=[];this.AR=null}function m(c){return"[object Array]"==Object.prototype.toString.call(c)}function l(c){return 0<=h.search(c.toLowerCase())}var b=window.TDV=window.TDV||{},h=navigator.userAgent.toLowerCase();k.prototype.getVersion=k.prototype.zwa=function(){return{MAJOR:"0",MINOR:"1951"}};k.prototype.getClassByName=function(){};k.prototype.mqa=function(){if(this.AR)for(;0<this.UM.length;){var c=this.UM[0];this.UM=this.UM.slice(1); 210this.EW.push(c);this.FIa(c)}};k.prototype.una=function(c){var f=document.createElement("a");f.href=c;return f.href};k.prototype.YKa=function(){var c=document.currentScript;c||(c=document.getElementsByTagName("head")[0].getElementsByTagName("script"),c=c[c.length-1]);return this.una(c.src)};k.prototype.FIa=function(c){var f=this,g=c.Go.get(e.SELECTED_SCRIPT_URL);setTimeout(function(){var p=document.createElement("script");p.type="text/javascript";p.src=g;document.getElementsByTagName("head")[0].appendChild(p); 211f.AR.T1a(c)},1)};k.prototype.defineScript=function(c){for(var f=[],g=this.YKa(),p=0;p<this.EW.length;p++){var q=this.EW[p],n=this.una(q.Go.get(e.SELECTED_SCRIPT_URL));n==g?(q.Go.set(e.SCRIPT_DATA,c),q.q0a(new this.AR(q,q.Go)),this.ROa.push(q)):f.push(n)}this.EW=f};k.prototype.create=k.prototype.create=function(c){var f=c.get(e.SCRIPT_URL);f=m(f)?this.MPa(f):"string"===typeof f?f:"script.js";c.set(e.SELECTED_SCRIPT_URL,f);c=new b.Hga(c);this.UM.push(c);this.mqa();return c};k.prototype.setPlayerClass= 212k.prototype.p0a=function(c){this.AR=c;this.mqa();
212this.trigger({name:"classesReady",source:this})};k.prototype.bind=k.prototype.bind=function(c,f,g,p){this.Jc=this.Jc||{};this.Jc[c]=this.Jc[c]||[];this.Jc[c].push({handler:f,context:g,immediate:p||!1})};k.prototype.unbind=k.prototype.unbind=function(c,f,g,p){this.Jc&&c in this.Jc&&(this.Jc[c]=this.Jc[c].filter(function(q){return q.handler!=f||q.context!=g||q.immediate!=p}))};k.prototype.trigger=function(c){this.Jc&&c.name in this.Jc&&(this.nx(c,!0), 213setTimeout(function(){this.nx(c,!1)}.bind(this),0))};k.prototype.nx=function(c,f){c.unbindCurrentHandler=function(){}.bind(this);for(var g=this.Jc[c.name],p=0;p<g.length;p++)if(g[p].immediate==f)try{g[p].handler.call(g[p].context||window,c)}catch(q){setTimeout(function(){throw q;},0)}};k.prototype.getOrientation=k.prototype.Fq=function(){var c=screen.orientation&&screen.orientation.type||window.orientation;return"portrait-primary"==c||"portrait-secondary"==c||0===c||180==c?b.ob.l1:"landscape-primary"== 214c||"landscape-secondary"==c||90==c||-90==c?b.ob.j1:window.innerWidth<window.innerHeight?b.ob.l1:b.ob.j1};k.prototype.MPa=function(c){if(0<c.length){for(var f=0;f<c.length;f++){var g=c[f];if(m(g)){if(this.Fsa(g[0]))return g[1]}else if("string"===typeof g)return g}return c[0][1]}return"script.js"};k.prototype.Fsa=function(c){if("string"===typeof c){var f=c.match(/^\s*default\s*$/);if(f)return!0;if(f=c.match(/^\s*os\s*=\s*(\w+)\s*$/))return this.zd==f[1].toLowerCase();if(f=c.match(/^\s*browser\s*=\s*(\w+)\s*$/))return this.browser== 215f[1].toLowerCase();if(f=c.match(/^\s*device\s*=\s*(\w+)\s*$/))return this.oz==f[1].toLowerCase();if(f=c.match(/^\s*screen_size\s*(<|>|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){c=parseInt(f[2]);var g=parseInt(f[3]);switch(f[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,g)||this.mobile&&p(screen.width, 216g)&&p(screen.height,c)}return!1}if(m(c)){for(f=0;f<c.length;f++)if(!this.Fsa(c[f]))return!1;return!0}return!1};k.prototype.ORIENTATION_LANDSCAPE=k.prototype.j1="landscape";k.prototype.ORIENTATION_PORTRAIT=k.prototype.l1="portrait";k.prototype.OS_IOS=k.prototype.nR="ios";k.prototype.OS_ANDROID=k.prototype.m1="android";k.prototype.OS_WINDOWS=k.prototype.yga="windows";k.prototype.OS_WINDOWS_PHONE=k.prototype.s1="windows_phone";k.prototype.OS_MACOSX=k.prototype.n1="osx";k.prototype.OS_LINUX=k.prototype.xga= 217"linux";k.prototype.OS_QNX=k.prototype.q1="qnx";k.prototype.OS_OTHER=k.prototype.p1="other";k.prototype.BROWSER_TYPE_WEBKIT=k.prototype.nJ="webkit";k.prototype.BROWSER_TYPE_OPERA=k.prototype.f0="opera";k.prototype.BROWSER_TYPE_MSIE=k.prototype.e0="msie";k.prototype.BROWSER_TYPE_MOZILLA=k.prototype.d0="mozilla";k.prototype.BROWSER_TYPE_OTHER=k.prototype.g0="other";k.prototype.BROWSER_SAFARI_IOS=k.prototype.Wh="safari_ios";k.prototype.BROWSER_OPERA=k.prototype.XQ="opera";k.prototype.BROWSER_SAFARI= 218k.prototype.am="safari";k.prototype.BROWSER_CHROME=k.prototype.$l="chrome";k.prototype.BROWSER_EDGE=k.prototype.nE="edge";k.prototype.BROWSER_MSIE=k.prototype.Bw="msie";k.prototype.BROWSER_ANDROID=k.prototype.WQ="android";k.prototype.BROWSER_MOZILLA=k.prototype.Vz="mozilla";k.prototype.BROWSER_OTHER=k.prototype.b0="other";k.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET=k.prototype.mJ="samsunginternet";k.prototype.BROWSER_SUBTYPE_OCULUS_BROWSER=k.prototype.Io="oculusbrowser";k.prototype.BROWSER_SUBTYPE_PICO_BROWSER= 219k.prototype.dt="picobrowser";k.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET_FOR_GEAR_VR=k.prototype.aR="samsunginternetgearvr";k.prototype.BROWSER_SUBTYPE_MI_BROWSER=k.prototype.c0="mibrowser";k.prototype.BROWSER_SUBTYPE_CHROME_IOS=k.prototype.YQ="chromeios";k.prototype.BROWSER_SUBTYPE_SAFARI_IOS=k.prototype.kJ="safari_ios";k.prototype.BROWSER_SUBTYPE_CHROME_WEBVIEW=k.prototype.oE="chrome_webview";k.prototype.BROWSER_SUBTYPE_SAFARI_WEBVIEW=k.prototype.lJ="safari_webview";k.prototype.BROWSER_SUBTYPE_TOUR_LAUNCHER= 220k.prototype.et="tour_launcher";k.prototype.BROWSER_SUBTYPE_CHROMIUM_EDGE=k.prototype.oE="chromium_edge";k.prototype.BROWSER_SUBTYPE_FIREFOX_REALITY=k.prototype.Wz="firefox_reality";k.prototype.BROWSER_SUBTYPE_VR_APP=k.prototype.ft="vrapp";k.prototype.BROWSER_SUBTYPE_XR_APP=k.prototype.Cw="xrapp";k.prototype.BROWSER_SUBTYPE_FACEBOOK_IOS_WEBVIEW=k.prototype.ZQ="facebook_ios_webview";k.prototype.BROWSER_SUBTYPE_OTHER=k.prototype.$Q="other";k.prototype.BROWSER_VERSION_UNKNOWN=k.prototype.h0=-1;k.prototype.DEVICE_IPHONE= 221k.prototype.k0="iphone";k.prototype.DEVICE_IPAD=k.prototype.qE="ipad";k.prototype.DEVICE_IPOD=k.prototype.l0="ipod";k.prototype.DEVICE_OTHER=k.prototype.m0="other";k.prototype.os=k.prototype.zd=l("iphone")||l("ipad")||l("ipod")?k.prototype.nR:l("qnx")?k.prototype.q1:l("android")||l("oculusbrowser")&&l("linux")?k.prototype.m1:l("windows phone")?k.prototype.s1:l("windows")?k.prototype.yga:l("mac_powerpc")?k.prototype.n1:l("macintosh")?1<navigator.maxTouchPoints?k.prototype.nR:k.prototype.n1:l("linux")|| 222l("x11")?k.prototype.xga:k.prototype.p1;k.prototype.browser=k.prototype.browser=l("ipad")||l("iphone")||l("ipod")||l("macintosh")&&1<navigator.maxTouchPoints?k.prototype.Wh:l("opera")?k.prototype.XQ:l("edge")?k.prototype.nE:l("chrome")||l("crmo")?k.prototype.$l:l("android")?k.prototype.WQ:l("safari")?k.prototype.am:l("trident")||l("msie")?k.prototype.Bw:!l("compatible")&&l("mozilla")?k.prototype.Vz:k.prototype.b0;k.prototype.browserType=k.prototype.SH=k.prototype.browser==k.prototype.Wh||k.prototype.browser== 223k.prototype.$l||k.prototype.browser==k.prototype.WQ||k.prototype.browser==k.prototype.am||l("webkit")?k.prototype.nJ:k.prototype.browser==k.prototype.XQ||l("opera")?k.prototype.f0:l("trident")||l("msie")?k.prototype.e0:!l("compatible")&&l("mozilla")?k.prototype.d0:k.prototype.g0;k.prototype.browserSubtype=k.prototype.ic=window.location.hash&&0<=window.location.hash.indexOf("xrapp")?k.prototype.Cw:window.location.hash&&0<=window.location.hash.indexOf("vrapp")?k.prototype.ft:l("picobrowser")?k.prototype.dt: 224l("oculusbrowser")?k.prototype.Io:l("xiaomi")||l("miui")?k.prototype.c0:l("samsungbrowser")&&l("android")?l("mobile vr")?k.prototype.aR:k.prototype.mJ:l("ipad")||l("iphone")||l("ipod")?l("crios")?k.prototype.YQ:l("fban")||l("fbav")?k.prototype.ZQ:l("safari")&&l("version")&&!navigator.standalone?k.prototype.kJ:k.prototype.lJ:l("electron")?k.prototype.et:l("chrome")&&l("wv")?k.prototype.oE:l("edg/")?k.prototype.rfa:!l("compatible")&&l("mozilla")&&l("mobile vr")?k.prototype.Wz:k.prototype.$Q;k.prototype.browserVersion= 225k.prototype.Tua=function(){if(k.prototype.browser==k.prototype.Bw){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 k.prototype.h0}();k.prototype.device=k.prototype.oz=l("ipad")||l("macintosh")&&1<navigator.maxTouchPoints?k.prototype.qE:l("iphone")?k.prototype.k0:l("ipod")?k.prototype.l0:k.prototype.m0;a:{switch(k.prototype.zd){case k.prototype.m1:case k.prototype.nR:case k.prototype.s1:case k.prototype.q1:var d= 226!0;break a}d=!1}k.prototype.mobile=k.prototype.mobile=d;b.PlayerAPI=b.ob=new k;e.prototype.append=e.prototype.append=function(c,f,g){c==e.SCRIPT_URL&&("undefined"==typeof g&&(g=f,f="default"),f=[f,g]);m(this.hj[c])||(this.hj[c]=[]);this.hj[c].push(f)};e.prototype.set=e.prototype.set=function(c,f){this.hj[c]=f};e.prototype.get=e.prototype.get=function(c){return this.hj[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= 227"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.kha="WebXRPolyfillURL";e.WEBXR_INPUT_PROFILES_DIR_URL=e.vR="WebXRInputProfilesDirURL";e.CAPTURA_VIEWER_URL= 228e.CAPTURA_VIEWER_URL="CapturaViewerURL";e.DASH_URL=e.DASH_URL="DashURL";e.HLS_URL=e.HLS_URL="HlsURL";e.BASIS_URL=e.qfa="BasisURL";e.DRACO_URL=e.zfa="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="Backgroun
228dPreloadEnabled"; 229e.ACTIVE_VIDEO_ELEMENT=e.ACTIVE_VIDEO_ELEMENT="ActiveVideoElement";e.SERVICE_WORKER_URL=e.SERVICE_WORKER_URL="ServiceWorkerURL";e.PINCH_TO_ZOOM_ENABLED=e.zDa="PinchToZoomEnabled";b.PlayerSettings=b.PlayerSettings=e;b.PlayerEvent=b.pR=function(c,f,g,p){this.name=c;this.data=this.originalEvent=f;this.sourceClassName=g[g.length-1];this.sourceClassPath=g;this.sourceId=p};a.prototype.q0a=function(c){this.Vr=c};a.prototype["delete"]=function(){this.Vr&&(this.Vr.clear(),this.Vr=null)};a.prototype.getById= 230a.prototype.qz=function(c){return this.Vr?this.Vr.aXa(c):null};a.prototype.getByClassName=a.prototype.Fj=function(c){return this.Vr?this.Vr.Fj(c):[]};a.prototype.createInstance=a.prototype.an=function(c){return this.Vr.an(c)};a.prototype.disposeInstance=a.prototype.$H=function(c){return this.Vr.$H(c)};a.prototype.bind=a.prototype.bind=function(c,f,g,p){var q=c.split(":");c=q[0];q=1<q.length?q[1]:"*";this.Jc[c]=this.Jc[c]||{};this.Jc[c][q]=this.Jc[c][q]||[];this.Jc[c][q].push({handler:f,context:g, 231immediate:p});return this};a.prototype.unbind=a.prototype.unbind=function(c,f,g,p){var q=c.split(":");c=q[0];q=1<q.length?q[1]:"*";if(c in this.Jc&&q in this.Jc[c]){for(var n=[],r=this.Jc[c][q],t=0;t<r.length;t++){var u=r[t];u.handler==f&&u.context==g&&u.immediate==p||n.push(u)}this.Jc[c][q]=n}};a.prototype.bindOnObject=function(c,f,g,p,q){return this.bind(f+":"+this.v5(c),g,p,q)};a.prototype.unbindOnObject=function(c,f,g,p,q){return this.unbind(f+":"+this.v5(c),g,p,q)};a.prototype.bindOnObjectsOf= 232function(c,f,g,p,q){return this.bind(f+":"+this.l5(c),g,p,q)};a.prototype.unbindOnObjectsOf=function(c,f,g,p,q){return this.unbind(f+":"+this.l5(c),g,p,q)};a.prototype.cookiesEnabled=a.prototype.xVa=!1;a.DEFAULT_PANORAMA_HFOV=a.uCa=k.prototype.mobile?90:110;a.prototype.trigger=function(c){if(c.name in this.Jc){this.nx(c,!0);var f=this;setTimeout(function(){f.nx(c,!1)},0)}};a.prototype.nx=function(c,f){f=this.kKa(c,f);for(var g=0;g<f.length;g++)try{f[g].handler.call(f[g].context||window,c)}catch(p){console.log("Exception handling event "+ 233(c&&c.name),p.message,p.stack)}};a.prototype.kKa=function(c,f){var g=[];if(c.name in this.Jc){for(var p=[],q=0;q<c.sourceClassPath.length;q++)p.push(this.l5(c.sourceClassPath[q]));c.sourceId&&p.push(this.v5(c.sourceId));p.push("*");c=this.Jc[c.name];for(q=0;q<p.length;q++)for(var n=c[p[q]]||[],r=0;r<n.length;r++)!!n[r].immediate==!!f&&g.push(n[r])}return g};a.prototype.v5=function(c){return"instance("+c+")"};a.prototype.l5=function(c){return"className("+c+")"};b.Player=b.Hga=a})(); 234var Z=this&&this.h3a||function(){function a(e,k){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,l){m.__proto__=l}||function(m,l){for(var b in l)Object.prototype.hasOwnProperty.call(l,b)&&(m[b]=l[b])};return a(e,k)}return function(e,k){function m(){this.constructor=e}if("function"!==typeof k&&null!==k)throw new TypeError("Class extends value "+String(k)+" is not a constructor or null");a(e,k);e.prototype=null===k?Object.create(k):(m.prototype=k.prototype,new m)}}(); 235define("jquery.mod",["require","jquery"],function(a){return a("jquery").noConflict(!0)}); 236(function(){var a=window.TDV||(window.TDV={});(function(){(function(){function e(D,K){return D.yGa?r(K).chain():K}function k(D){return"\\"+Y[D]}function m(D){function K(M){return D[M]}var P="(?:"+r.keys(D).join("|")+")",U=RegExp(P),J=RegExp(P,"g");return function(M){return M=null==M?"":""+M,U.test(M)?M.replace(J,K):M}}function l(D,K,P,U){if(D===K)return 0!==D||1/D===1/K;if(null==D||null==K)return D===K;D instanceof r&&(D=D.gD);K instanceof r&&(K=K.gD);var J=E.call(D);if(J!==E.call(K))return!1;switch(J){case "[object RegExp]":case "[object String]":return""+ 237D==""+K;case "[object Number]":return+D!==+D?+K!==+K:0===+D?1/+D===1/K:+D===+K;case "[object Date]":case "[object Boolean]":return+D===+K}J="[object Array]"===J;if(!J){if("object"!=typeof D||"object"!=typeof K)return!1;var M=D.constructor,X=K.constructor;if(M!==X&&!(r.isFunction(M)&&M instanceof M&&r.isFunction(X)&&X instanceof X)&&"constructor"in D&&"constructor"in K)return!1}P=P||[];U=U||[];for(M=P.length;M--;)if(P[M]===D)return U[M]===K;
237if(P.push(D),U.push(K),J){if(M=D.length,M!==K.length)return!1; 238for(;M--;)if(!l(D[M],K[M],P,U))return!1}else{var aa;J=r.keys(D);if(M=J.length,r.keys(K).length!==M)return!1;for(;M--;)if(aa=J[M],!r.has(K,aa)||!l(D[aa],K[aa],P,U))return!1}return P.pop(),U.pop(),!0}function b(D,K,P,U,J){if(!(U instanceof K))return D.apply(P,J);K=g(D.prototype);D=D.apply(K,J);return r.yI(D)?D:K}function h(D,K,P,U){var J=[],M=0;U=U||0;for(var X=W(D);X>U;U++){var aa=D[U];if(c(aa)&&(r.isArray(aa)||r.isArguments(aa))){K||(aa=h(aa,K,P));var ba=0,da=aa.length;for(J.length+=da;da>ba;)J[M++]= 239aa[ba++]}else P||(J[M++]=aa)}return J}function d(D){return function(K,P,U){var J={};return P=q(P,U),r.each(K,function(M,X){X=P(M,X,K);D(J,M,X)}),J}}function c(D){D=W(D);return"number"==typeof D&&0<=D&&Q>=D}function f(D){return function(K){return null==K?void 0:K[D]}}function g(D){if(!r.yI(D))return{};if(S)return S(D);t.prototype=D;D=new t;return t.prototype=null,D}function p(D,K){return function(P){var U=arguments.length;if(2>U||null==P)return P;for(var J=1;U>J;J++)for(var M=arguments[J],X=D(M),aa= 240X.length,ba=0;aa>ba;ba++){var da=X[ba];K&&void 0!==P[da]||(P[da]=M[da])}return P}}function q(D,K,P){return null==D?r.identity:r.isFunction(D)?n(D,K,P):r.yI(D)?r.mYa(D):r.Eza(D)}function n(D,K,P){if(void 0===K)return D;switch(null==P?3:P){case 1:return function(U){return D.call(K,U)};case 2:return function(U,J){return D.call(K,U,J)};case 3:return function(U,J,M){return D.call(K,U,J,M)};case 4:return function(U,J,M,X){return D.call(K,U,J,M,X)}}return function(){return D.apply(K,arguments)}}function r(D){return D instanceof 241r?D:this instanceof r?void(this.gD=D):new r(D)}function t(){}function u(D){return function(K,P,U,J){P=n(P,J,4);var M=!c(K)&&r.keys(K),X=(M||K).length,aa=0<D?0:X-1;3>arguments.length&&(U=K[M?M[aa]:aa],aa+=D);for(var ba=P,da=U;0<=aa&&X>aa;aa+=D){var ea=M?M[aa]:aa;da=ba(da,K[ea],ea,K)}return da}}function v(D){return function(K,P,U){P=q(P,U);U=W(K);for(var J=0<D?0:U-1;0<=J&&U>J;J+=D)if(P(K[J],J,K))return J;return-1}}function w(D,K,P){return function(U,J,M){var X=0,aa=W(U);if("number"==typeof M)0<D?X= 2420<=M?M:Math.max(M+aa,X):aa=0<=M?Math.min(M+1,aa):M+aa+1;else if(P&&M&&aa)return M=P(U,J),U[M]===J?M:-1;if(J!==J)return M=K(I.call(U,X,aa),r.isNaN),0<=M?M+X:-1;for(M=0<D?X:aa-1;0<=M&&aa>M;M+=D)if(U[M]===J)return M;return-1}}function x(D,K){var P=L.length,U=D.constructor;U=r.isFunction(U)&&U.prototype||A;var J="constructor";for(r.has(D,J)&&!r.contains(K,J)&&K.push(J);P--;)J=L[P],J in D&&D[J]!==U[J]&&!r.contains(K,J)&&K.push(J)}var y=this,z=y._,C=Array.prototype,A=Object.prototype,B=C.push,I=C.slice, 243E=A.toString,G=A.hasOwnProperty,F=Array.isArray,N=Object.keys,R=Function.prototype.bind,S=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=r),exports._=r):y._=r;r.VERSION="1.8.3";var Q=Math.pow(2,53)-1,W=f("length");r.each=r.forEach=function(D,K,P){K=n(K,P);var U;if(c(D))for(P=0,U=D.length;U>P;P++)K(D[P],P,D);else{var J=r.keys(D);P=0;for(U=J.length;U>P;P++)K(D[J[P]],J[P],D)}return D};r.map=function(D,K,P){K=q(K,P);P=!c(D)&&r.keys(D);for(var U= 244(P||D).length,J=Array(U),M=0;U>M;M++){var X=P?P[M]:M;J[M]=K(D[X],X,D)}return J};r.reduce=u(1);r.reduceRight=u(-1);r.find=r.detect=function(D,K,P){var U;return U=c(D)?r.findIndex(D,K,P):r.cWa(D,K,P),void 0!==U&&-1!==U?D[U]:void 0};r.filter=r.select=function(D,K,P){var U=[];return K=q(K,P),r.each(D,function(J,M,X){K(J,M,X)&&U.push(J)}),U};r.reject=function(D,K,P){return r.filter(D,r.negate(q(K)),P)};r.every=r.all=function(D,K,P){K=q(K,P);P=!c(D)&&r.keys(D);for(var U=(P||D).length,J=0;U>J;J++){var M= 245P?P[J]:J;if(!K(D[M],M,D))return!1}return!0};r.some=r.any=function(D,K,P){K=q(K,P);P=!c(D)&&r.keys(D);for(var U=(P||D).length,J=0;U>J;J++){var M=P?P[J]:J;if(K(D[M],M,D))return!0}return!1};r.contains=r.includes=r.include=function(D,K,P,U){return c(D)||(D=r.values(D)),("number"!=typeof P||U)&&(P=0),0<=r.indexOf(D,K,P)};r.invoke=function(D,K){var P=I.call(arguments,2),U=r.isFunction(K);return r.map(D,function(J){var M=U?K:J[K];return null==M?M:M.apply(J,P)})};r.pluck=function(D,K){return r.map(D,r.Eza(K))}; 246r.max=function(D,K,P){var U,J=-1/0,M=-1/0;
246if(null==K&&null!=D){D=c(D)?D:r.values(D);for(var X=0,aa=D.length;aa>X;X++)P=D[X],P>J&&(J=P)}else K=q(K,P),r.each(D,function(ba,da,ea){U=K(ba,da,ea);(U>M||U===-1/0&&J===-1/0)&&(J=ba,M=U)});return J};r.min=function(D,K,P){var U,J=1/0,M=1/0;if(null==K&&null!=D){D=c(D)?D:r.values(D);for(var X=0,aa=D.length;aa>X;X++)P=D[X],J>P&&(J=P)}else K=q(K,P),r.each(D,function(ba,da,ea){U=K(ba,da,ea);(M>U||1/0===U&&1/0===J)&&(J=ba,M=U)});return J};r.i1a=function(D){for(var K= 247c(D)?D:r.values(D),P=K.length,U=Array(P),J=0;P>J;J++)D=r.random(0,J),D!==J&&(U[J]=U[D]),U[D]=K[J];return U};r.sample=function(D,K,P){return null==K||P?(c(D)||(D=r.values(D)),D[r.random(D.length-1)]):r.i1a(D).slice(0,Math.max(0,K))};r.sortBy=function(D,K,P){return K=q(K,P),r.pluck(r.map(D,function(U,J,M){return{value:U,index:J,jva:K(U,J,M)}}).sort(function(U,J){var M=U.jva,X=J.jva;if(M!==X){if(M>X||void 0===M)return 1;if(X>M||void 0===X)return-1}return U.index-J.index}),"value")};r.groupBy=d(function(D, 248K,P){r.has(D,P)?D[P].push(K):D[P]=[K]});d(function(D,K,P){D[P]=K});d(function(D,K,P){r.has(D,P)?D[P]++:D[P]=1});r.toArray=function(D){return D?r.isArray(D)?I.call(D):c(D)?r.map(D,r.identity):r.values(D):[]};r.size=function(D){return null==D?0:c(D)?D.length:r.keys(D).length};r.first=r.head=function(D,K,P){return null==D?void 0:null==K||P?D[0]:r.initial(D,D.length-K)};r.initial=function(D,K,P){return I.call(D,0,Math.max(0,D.length-(null==K||P?1:K)))};r.last=function(D,K,P){return null==D?void 0:null== 249K||P?D[D.length-1]:r.rest(D,Math.max(0,D.length-K))};r.rest=function(D,K,P){return I.call(D,null==K||P?1:K)};r.compact=function(D){return r.filter(D,r.identity)};r.flatten=function(D,K){return h(D,K,!1)};r.without=function(D){return r.difference(D,I.call(arguments,1))};r.uniq=r.unique=function(D,K,P,U){r.isBoolean(K)||(U=P,P=K,K=!1);null!=P&&(P=q(P,U));U=[];for(var J=[],M=0,X=W(D);X>M;M++){var aa=D[M],ba=P?P(aa,M,D):aa;K?(M&&J===ba||U.push(aa),J=ba):P?r.contains(J,ba)||(J.push(ba),U.push(aa)):r.contains(U, 250aa)||U.push(aa)}return U};r.union=function(){return r.uniq(h(arguments,!0,!0))};r.intersection=function(D){for(var K=[],P=arguments.length,U=0,J=W(D);J>U;U++){var M=D[U];if(!r.contains(K,M)){for(var X=1;P>X&&r.contains(arguments[X],M);X++);X===P&&K.push(M)}}return K};r.difference=function(D){var K=h(arguments,!0,!0,1);return r.filter(D,function(P){return!r.contains(K,P)})};r.zip=function(){return r.X1a(arguments)};r.X1a=function(D){for(var K=D&&r.max(D,W).length||0,P=Array(K),U=0;K>U;U++)P[U]=r.pluck(D, 251U);return P};r.object=function(D,K){for(var P={},U=0,J=W(D);J>U;U++)K?P[D[U]]=K[U]:P[D[U][0]]=D[U][1];return P};r.findIndex=v(1);r.dWa=v(-1);r.sortedIndex=function(D,K,P,U){P=q(P,U,1);K=P(K);U=0;for(var J=W(D);J>U;){var M=Math.floor((U+J)/2);P(D[M])<K?U=M+1:J=M}return U};r.indexOf=w(1,r.findIndex,r.sortedIndex);r.lastIndexOf=w(-1,r.dWa);r.range=function(D,K,P){null==K&&(K=D||0,D=0);P=P||1;K=Math.max(Math.ceil((K-D)/P),0);for(var U=Array(K),J=0;K>J;J++,D+=P)U[J]=D;return U};r.bind=function(D,K){function P(){return b(D, 252P,K,this,U.concat(I.call(arguments)))}if(R&&D.bind===R)return R.apply(D,I.call(arguments,1));if(!r.isFunction(D))throw new TypeError("Bind must be called on a function");var U=I.call(arguments,2);return P};r.uda=function(D){function K(){for(var U=0,J=P.length,M=Array(J),X=0;J>X;X++)M[X]=P[X]===r?arguments[U++]:P[X];for(;U<arguments.length;)M.push(arguments[U++]);return b(D,K,this,this,M)}var P=I.call(arguments,1);return K};r.bindAll=function(D){var K,P=arguments.length;if(1>=P)throw Error("bindAll must be passed function names"); 253for(K=1;P>K;K++){var U=arguments[K];D[U]=r.bind(D[U],D)}return D};r.memoize=function(D,K){function P(U){var J=P.cache,M=""+(K?K.apply(this,arguments):U);return r.has(J,M)||(J[M]=D.apply(this,arguments)),J[M]}return P.cache={},P};r.delay=function(D,K){var P=I.call(arguments,2);return setTimeout(function(){return D.apply(null,P)},K)};r.defer=r.uda(r.delay,r,1);r.throttle=function(D,K,P){function U(){ba=!1===P.kYa?0:r.now();aa=null;X=D.apply(J,M);aa||(J=M=null)}var J,M,X,aa=null,ba=0;P||(P={});return function(){var da= 254r.now();ba||!1!==P.kYa||(ba=da);var ea=K-(da-ba);return J=this,M=arguments,0>=ea||ea>K?(aa&&(clearTimeout(aa),aa=null),ba=da,X=D.apply(J,M),aa||(J=M=null)):aa||!1===P.Z3a||(aa=setTimeout(U,ea)),X}};r.debounce=function(D,K,P){function U(){var da=r.now()-aa;K>da&&0<=da?J=setTimeout(U,K-da):(J=null,P||(ba=D.apply(X,M),J||(X=M=null)))}var J,M,X,aa,ba;return function(){X=this;M=arguments;aa=r.now();var da=P&&!J;return J||(J=setTimeout(U,K)),da&&(ba=D.apply(X,M),X=M=null),ba}};r.wrap=function(D,K){return r.uda(K, 255D)};r.negate=function(D){return function(){return!D.apply(this,arguments)}};r.compose=function(){var D=arguments,K=D.length-1;return function(){for(var P=K,U=D[K].apply(this,arguments);P--;)U=D[P].call(this,U);return U}};r.after=function(D,K){return function(){return 1>--D?K.apply(this,arguments):void 0}};r.before=function(D,K){var P;return function(){return 0<--D&&(P=K.apply(this,arguments)),1>=D&&(K=null),P}};r.once=r.uda(r.before,2);var H=!{toString:null}.propertyIsEnumerable("toString"),L="valueOf isPrototypeOf toString propertyIsEnumerable hasOwnProperty toLocaleStr
255ing".split(" "); 256r.keys=function(D){if(!r.yI(D))return[];if(N)return N(D);var K=[],P;for(P in D)r.has(D,P)&&K.push(P);return H&&x(D,K),K};r.oba=function(D){if(!r.yI(D))return[];var K=[],P;for(P in D)K.push(P);return H&&x(D,K),K};r.values=function(D){for(var K=r.keys(D),P=K.length,U=Array(P),J=0;P>J;J++)U[J]=D[K[J]];return U};r.invert=function(D){for(var K={},P=r.keys(D),U=0,J=P.length;J>U;U++)K[D[P[U]]]=P[U];return K};r.functions=r.methods=function(D){var K=[],P;for(P in D)r.isFunction(D[P])&&K.push(P);return K.sort()}; 257r.extend=p(r.oba);r.Cva=r.assign=p(r.keys);r.cWa=function(D,K,P){K=q(K,P);var U;P=r.keys(D);for(var J=0,M=P.length;M>J;J++)if(U=P[J],K(D[U],U,D))return U};r.g_=function(D,K,P){var U,J,M={},X=D;if(null==X)return M;r.isFunction(K)?(J=r.oba(X),U=n(K,P)):(J=h(arguments,!1,!1,1),U=function(ia,fa,ha){return fa in ha},X=Object(X));for(var aa=0,ba=J.length;ba>aa;aa++){var da=J[aa],ea=X[da];U(ea,da,X)&&(M[da]=ea)}return M};r.defaults=p(r.oba,!0);r.create=function(D,K){D=g(D);return K&&r.Cva(D,K),D};r.clone= 258function(D){return r.yI(D)?r.isArray(D)?D.slice():r.extend({},D):D};r.tap=function(D,K){return K(D),D}
258;r.$Xa=function(D,K){var P=r.keys(K),U=P.length;if(null==D)return!U;D=Object(D);for(var J=0;U>J;J++){var M=P[J];if(K[M]!==D[M]||!(M in D))return!1}return!0};r.isEqual=function(D,K){return l(D,K)};r.isEmpty=function(D){return null==D?!0:c(D)&&(r.isArray(D)||r.isString(D)||r.isArguments(D))?0===D.length:0===r.keys(D).length};r.isElement=function(D){return!(!D||1!==D.nodeType)};r.isArray=F||function(D){return"[object Array]"=== 259E.call(D)};r.yI=function(D){var K=typeof D;return"function"===K||"object"===K&&!!D};r.each("Arguments Function String Number Date RegExp Error".split(" "),function(D){r["is"+D]=function(K){return E.call(K)==="[object "+D+"]"}});r.isArguments(arguments)||(r.isArguments=function(D){return r.has(D,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(r.isFunction=function(D){return"function"==typeof D||!1});r.isFinite=function(D){return isFinite(D)&&!isNaN(parseFloat(D))};r.isNaN=function(D){return r.isNumber(D)&& 260D!==+D};r.isBoolean=function(D){return!0===D||!1===D||"[object Boolean]"===E.call(D)};r.isNull=function(D){return null===D};r.isUndefined=function(D){return void 0===D};r.has=function(D,K){return null!=D&&G.call(D,K)};r.noConflict=function(){return y._=z,this};r.identity=function(D){return D};r.constant=function(D){return function(){return D}};r.noop=function(){};r.Eza=f;r.mYa=r.matches=function(D){return D=r.Cva({},D),function(K){return r.$Xa(K,D)}};r.times=function(D,K,P){var U=Array(Math.max(0, 261D));K=n(K,P,1);for(P=0;D>P;P++)U[P]=K(P);return U};r.random=function(D,K){return null==K&&(K=D,D=0),D+Math.floor(Math.random()*(K-D+1))};r.now=Date.now||function(){return(new Date).getTime()};F={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var T=r.invert(F);r.escape=m(F);r.unescape=m(T);r.result=function(D,K,P){K=null==D?void 0:D[K];return void 0===K&&(K=P),r.isFunction(K)?K.call(D):K};var O=0;r.uniqueId=function(D){var K=++O+"";return D?D+K:K};r.J1a={evaluate:/<%([\s\S]+?)%>/g, 262PXa:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var V=/(.)^/,Y={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},ca=/\\|'|\r|\n|\u2028|\u2029/g;r.template=function(D,K,P){function U(aa){return X.call(this,aa,r)}!K&&P&&(K=P);K=r.defaults({},K,r.J1a);var J=0,M="__p+='";D.replace(RegExp([(K.escape||V).source,(K.PXa||V).source,(K.evaluate||V).source].join("|")+"|$","g"),function(aa,ba,da,ea,ia){return M+=D.slice(J,ia).replace(ca,k),J=ia+aa.length,ba?M+="'+\n((__t=("+ba+"))==null?'':_.escape(__t))+\n'": 263da?M+="'+\n((__t=("+da+"))==null?'':__t)+\n'":ea&&(M+="';\n"+ea+"\n__p+='"),aa});M+="';\n";K.eCa||(M="with(obj||{}){\n"+M+"}\n");M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{var X=new Function(K.eCa||"obj","_",M)}catch(aa){throw aa.source=M,aa;}return U.source="function("+(K.eCa||"obj")+"){\n"+M+"}",U};r.chain=function(D){D=r(D);return D.yGa=!0,D};r.mixin=function(D){r.each(r.functions(D),function(K){var P=r[K]=D[K];r.prototype[K]= 264function(){var U=[this.gD];return B.apply(U,arguments),e(this,P.apply(r,U))}})};r.mixin(r);r.each("pop push reverse shift sort splice unshift".split(" "),function(D){var K=C[D];r.prototype[D]=function(){var P=this.gD;return K.apply(P,arguments),"shift"!==D&&"splice"!==D||0!==P.length||delete P[0],e(this,P)}});r.each(["concat","join","slice"],function(D){var K=C[D];r.prototype[D]=function(){return e(this,K.apply(this.gD,arguments))}});r.prototype.value=function(){return this.gD};r.prototype.valueOf= 265r.prototype.toJSON=r.prototype.value;r.prototype.toString=function(){return""+this.gD};"function"==typeof define&&define.B3a&&define("ph",[],function(){return r})}).call(this)}).call(a)})();define("underscore-min",function(){});define("ek",["require","underscore-min"],function(a){a("underscore-min");return window.TDV._.noConflict()}); 266define("oR",["require","exports"],function(){return{G:function(a){return a+"_change"},te:"default",wb:"mouseDown",kc:"mouseMove",Zb:"mouseUp",cr:"mouseWheel",ra:"click",em:"doubleClick",Xc:"rollOver",ac:"rollOut",rA:"mouseEnter",Uo:"mouseLeave",Uk:"pointerOver",N2a:"pointerOut",uA:"pointerDown",w1:"pointerUp",$f:"pointerClick",PCa:"focusIn",QCa:"focusOut",Kw:"gestureStart",b1:"gestureChange",tE:"gestureEnd",XCa:"gestureRotate",uE:"gestureScale",ec:"progress",pE:"close",OPEN:"open",Yo:"select",lc:"resize", 267bR:"changing",va:"change",ne:"stateChange",Nj:"cueChange",BJ:"preloaded",Z:"loaded",uc:"loadingError",sn:"start",Gf:"stop",Tw:"play",CE:"pause",rn:"frame",Wc:"ready",Yq:"begin",vb:"end",z2a:"cancel",Sj:"press",fm:"release",ir:"repeatEnd",Xo:"scroll",dga:"movementChange",y2a:"beforeShow",mCa:"beforeHide",INIT:"init",ld:"show",hd:"hide",DJ:"showEnd",uJ:"hideEnd",dDa:"loadingScript",DDa:"processingScript",rE:"enableCookies",kCa:"applicationSet",AA:"userInteraction",gha:"userInteractionStart",fha:"userInteractionEnd", 268K1:"transitionEnd",RDa:"toolTipShow",Uga:"toolTipHide",wt:"positionSet",Mga:"sizeSet",ufa:"controllerConnected",vfa:"controllerDisconnected"}});define("cB",["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}}()}); 269define("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,
269121,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, 270318,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,90,492,444,494,447,449,288,439,88, 271500,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, 272112,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, 273594,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,
273112,87,489,491,839,753,552,91,876,114,287, 274329,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, 275780,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, 2761058,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, 2771240,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, 2781318,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, 2791372,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, 280355,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, 281432,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, 2821721,1750,668,670,1753,121,1504,1813,1815,1460,1334,878,1343,105,691,1819,726,1258,1019,1823,5
28254,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, 283878,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,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, 2842024,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,1994,2039,2062,278,1946,1988,2004,1631, 2851803,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, 2861403,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, 2871296,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, 288861,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, 2892409,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, 2902264,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,
29193,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,2687,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,2838,116,95,406,583,260,2837,970,95,2008,2845,604,2848,307,95,488,1168,2847,2842,2854,475,2598,2750,2795,2809,2444,2812,2468,2068,2571,1987,2377,2828,2422,2809,2064,2032,2604,2362,2493,2699,1883,2797,2120,2799,2579,1380,2697,2724, 292288,2494,2742,1052,1349,2887,1077,2755,882,2352,2245,2519,2878,2813,2745,2092,1217,2245,2873,2692,1217,2064,2902,2868,2543,2336,2157,1518,404,728,2684,1902,950,940,646,430,287,111,1728,2925,2594,430,45,453,805,478,2717,606,101,900,2510,2781,2765,2037,2127,1390,1244,2786,543,2792,2790,606,2792,2783,2926,1311,2773,2940,2789,32,2777,2951,2957,2793,437,744,2768,2879,2036,2642,2726,2752,407,2175,2698,2969,2700,2644,2156,2044,837,2424,830,2395,2889,2329,2051,2533,1852,2535,2867,2542,582,2826,291,2452,1537, 2932589,2991,2725,2976,2551,2474,342,2711,2921,427,2714,429,99,2936,565,2691,2800,2736,2282,2418,2980,1979,1122,2897,2132,2607,2545,850,2894,2748,2278,2531,1607,1697,415,2677,1625,2590,427,2677,2379,2987,108,45,606,108,121,1910,2114,3040,110,3042,2719,2681,811,2255,2527,2712,2815,1409,2556,3012,2731,2737,2137,2546,2760,2023,2413,2397,2977,2042,2979,1156,2500,1159,2502,2396,2402,3050,2096,2066,2770,2189,2103,2829,3038,2321,1241,1184,2413,2633,2108,276,2908,2414,2881,2177,2911,2888,2967,2632,3093,2516, 2942696,2896,2396,2993,114,2981,624,291,2996,2143,3099,2727,2126,2649,3074,2343,2871,1989,3026,1354,2904,2643,2892,1044,921,2349,2984,2891,3083,1421,2990,2734,3098,2975,2155,3068,2158,1378,1350,3096,2903,582,3075,1321,2912,2998,2890,3111,3123,850,2733,2577,2735,3067,108,2646,2536,891,2477,1193,2479,1220,2481,2182,2483,2309,2485,3147,3134,2192,2695,3145,3132,2531,3151,2749,2549,3148,3129,2019,3091,3066,3117,1977,3131,3152,2369,2720,3060,2217,2739,3115,2870,1321,2877,3140,2913,2808,2989,1220,1803,2778, 295323,294,1036,113,465,2088,524,3142,2343,3001,2647,1900,2277,288,2431,1905,2653,1909,2930,1912,2820,2659,1918,1923,2663,287,2665,287,2667,287,2669,1931,1933,1935,1937,552,575,2719,3212,258,1655,3042,725,1599,1696,3177,3169,3100,2021,3063,2047,2413,2113,2978,3137,3024,1379,3119,2121,1203,2962,2942,1880,2973,2769,1439,2638,2947,676,2962,2950,2779,2962,2953,2785,2955,2787,3272,2959,2791,3275,2794,2898,3094,276,3157,3176,987,3193,2410,3090,3252,2075,2548,3290,2864,2544,2498,2045,3294,2169,3087,3178,2721, 2962338,2393,3072,3019,3192,3298,2707,3002,2710,2618,3216,950,3007,2716,32,2718,2863,3285,3022,2916,267,667,2920,2430,2922,807,2924,2836,2785,2928,3334,1705,101,2932,104,2934,104,2936,384,3284,3021,3112,407,2944,3311,3324,3188,3015,3061,850,3208,1502,2198,3352,3149,1348,3259,3172,3186,2914,2758,294,3091,1941,2585,2557,2428,2818,373,2655,2822,32,2383,479,2627,3249,3154,1976,2917,3328,1334,2712,2923,716,2929,2927,3333,544,3338,3340,3342,3344,2938,3121,2726,3212,3288,2186,3159,1313,583,3162,1625,319,2484, 2971545,1535,3263,2612,68,519,2997,1269,3268,1271,3270,2949,3281,2961,2511,3276,3422,3280,2960,3274,3426,2719,2971,103,3266,3097,2531,2906,2432,2901,3196,3146,2985,2757,3136,1978,2263,2983,3437,3248,2746,2416,3060,3447,2690,3449,3141,2874,3361,119,2348,1548,3450,2874,3183,3260,1993,3305,3454,3301,3085,2211,3304,3382,2094,3175,3027,3210,3291,2365,3171,3442,3173,3451,2905,2404,2030,3441,3102,2984,3059,3354,1084,3025,3364,3289,3168,3452,2516,2876,1287,3467,2356,2864,3199,3316,3261,1777,1841,97,67,642,278, 2981569,798,1681,1491,326,1712,296,82,306,1025,1664,3512,335,728,785,305,307,1504,2266,1730,795,1877,1773,1508,2805,1271,362,532,2269,378,1508,1711,1734,1779,361,3543,269,370,809,111,107,331,1815,3008,2703,3517,1732,798,780,1597,2120,3246,712,3164,715,1597,3167,34,675,111,804,649,1761,99,65,1046,2945,2638,3566,2784,3583,1601,3547,1494,1557,678,1782,3551,353,1737,1739,665,1725,1751,669,1728,1754,1673,692,3560,3536,3520,288,3594,1749,3597,1824,3600,121,1808,1756,437,648,112,3532,1506,1883,3534,1682,909, 2991567,1573,1570,2610,1115,357,3627,3618,367,511,3606,346,3550,3621,1480,732,67,3207,1510,1856,1759,558,1536,2454,1773,1764,1530,1767,1650,1546,807,1862,3651,1552,2568,1545,3635,1781,1669,269,1875,3535,1786,595,807,84,1805,3507,2235,1584,116,3670,335,1469,1480,101,119,278,3579,431,1566,
299101,453,387,909,1179,3519,1734,908,585,925,1889,285,1629,456,1527,3519,3635,1871,2E3,1873,592,1563,1876,3667,698,98,700,702,3023,1429,3302,1417,3296,1081,787,610,791,80,275,804,282,115,3477,3120,1654,1716,2115,532,3610, 300554,84,728,115,315,1461,68,1024,3329,1791,748,374,49,3231,1796,3484,614,355,1813,791,2276,1390,2478,1315,1196,582,699,970,702,2743,3716,2196,3718,341,728,2512,2373,110,3029,3005,597,2617,807,1589,32,411,260,2849,2510,95,3780,101,2843,2782,437,118,114,2609,1220,1843,294,278,72,584,3676,3672,1375,3724,292,115,115,3476,2702,1803,1799,472,645,3736,383,1831,606,3741,2919,3387,2328,652,3725,3804,3506,1803,2763,2781,735,3674,3581,3421,3278,2948,3429,3282,3432,2954,91,2956,2775,3424,3431,2781,2783,913,3802, 3013726,791,3076,3829,2100,1275,1274,552,960,3761,701,282,2729,3267,2639,2820,3758,1845,1115,3753,291,318,645,68,728,103,2996,408,2461,3209,3751,3720,789,791,3522,2975,812,637,1729,3874,3358,34,3790,2214,320,1835,107,3522,528,1461,1226,1617,1792,1649,32,1930,3458,1148,603,3777,1887,3769,3814,110,3816,3524,1803,1179,3865,801,2252,2095,3849,2188,2101,2190,1627,291,100,470,3923,3794,621,3091,3825,606,1504,533,3693,3918,2771,3831,3271,3839,3430,112,2952,2784,3428,3939,3834,3842,1276,121,3914,1285,1377,3258, 3023139,3490,3464,3719,3948,3721,2449,1073,3916,2332,3079,3920,3081,2555,114,3927,981,1093,1334,1415,1633,345,1621,102,54,1929,3033,3064,3767,3913,3958,2810,2377,3756,3160,3862,3947,3914,3723,3574,3803,3805,3961,1331,3052,3743,2560,427,3055,1341,3057,2939,2511,1888,3871,603,83,3855,702,3935,3943,2781,3273,3941,3836,3838,4014,3840,3941,437,102,111,99,908,3683,97,2506,555,692,3973,271,48,46,1635,3749,3365,3760,114,411,691,687,1344,4008,3970,606,3972,3898,1698,3975,1623,3979,3253,3981,3752,3983,3991,3821, 3033805,3130,3200,2396,4010,3857,4061,3800,1464,3930,110,1504,4012,3937,3423,3940,3283,4017,3279,3944,3425,3946,842,780,4041,1809,3686,1835,603,2399,4032,3900,46,54,1702,3729,935,4064,4060,3180,3765,2333,3065,4097,3384,3327,3817,2374,1001,819,3389,3338,2926,3336,3394,2931,2933,600,2935,3321,2937,3989,3983,3076,2683,3818,3330,4E3,3308,3056,1411,4004,2941,2380,4072,3837,4078,4019,4075,3835,3277,4135,3832,4079,3841,606,3843,3864,3983,3950,1155,519,3357,1812,4148,916,3764,3472,2323,2413,1799,1179,1888,472, 304280,112,262,4009,4040,529,101,83,4046,2559,4090,766,4094,854,3875,3956,3914,2603,3483,4038,4096,3711,3762,282,3434,3436,3902,354,3877,790,291,3350,3859,3757,1175,1394,3760,4185,3856,2483,2419,2798,2462,693,3992,3726,3755,1438,3860,1393,3759,3876,3957,3878,291,4058,3993,3076,2804,2637,1271,2807,4184,3712,282,69,623,2617,3463,458,4049,765,1524,4176,2799,3790,3968,1108,2581,4090,34,4051,1622,4053,3295,2554,708,4083,4169,4043,4087,4170,4172,4089,4234,1794,4176,1369,3845,3804,4189,1191,3405,1392,1314, 3054198,4214,4179,4122,2432,3986,1313,3988,3844,4208,3822,1251,3995,1208,2636,1145,1957,973,1833,3967,111,1844,278,3882,528,110,1802,3897,3745,284,50,4260,1425,4097,3434,3858,3955,595,620,278,1664,1828,3983,725,4310,4217,1186,4056,4314,4149,4181,3954,4190,3982,4317,916,3191,4196,3987,4269,3863,4215,3949,1371,3807,4063,4201,3713,3300,3138,2895,1352,4305,3820,4220,1182,4100,2048,4239,4289,3795,114,1825,4048,4297,296,35,1916,55,529,99,4247,3303,3981,4262,4098,1075,4182,3497,4191,4216,4193,3915,2359,807, 3063728,3261,1693,4307,622,555,4219,3846,291,4312,4363,791,4153,4323,3951,992,4128,2287,3310,2984,513,928,3925,928,4240,4292,1801,4067,1384,4342,4381,4350,4333,2984,4322,4370,3823,2328,4347,4290,1218,4172,3799,3030,1794,2661,4300,1464,2838,114,320,3812,3770,3740,3742,4125,4305,3710,4227,115,3434,2754,3819,4384,4281,1954,1014,4223,875,1958,4147,4314,4380,3822,3144,4366,3478,4330,3983,4325,2120,1290,4267,4276,4444,4370,4374,2235,4097,2499,1339,3309,2142,4334,4432,2609,2966,4190,307,117,530,1825,4027,4029, 3073004,798,4090,1795,4471,3907,3739,1334,4425,3908,920,101,3658,4305,4394,3924,111,3926,4348,621,4171,881,3971,4345,4102,4335,282,3714,119,3371,4391,4466,4407,4437,801,4448,4320,3197,4226,4186,3994,4372,100,4460,3801,4278,4518,2465,1330,2682,3997,4429,3999,2686,4390,2689,2425,3012,4431,4517,2646,3242,1852,2703,853,3566,4082,4503,4203,4338,3503,2130,4097,3848,3086,4055,4192,3754,1181,4099,4157,2582,2413,463,3813,4484,606,4486,3771,3910,3998,4515,1030,3734,97,1888,1666,3812,3738,3524,4567,4529,4480,1916, 3083901,4569,416,4097,4521,1464,4408,4555,1397,4519,1400,4528,4107,2010,1337,4532,1410,2263,4121,4387,4150,1452,3448,3073,4510,4523,4586,4402,4316,4370,4446,4524,2802,3962,3420,3850,3853,3852,114,3854,4545,345
3085,4534,3457,4583,4536,4202,3106,108,2587,3418,1577,427,2380,2564,2436,544,2562,2030,3854,4168,4042,4086,99,603,4352,1793,4354,1623,265,4360,3717,4249,458,319,4161,548,4164,262,1888,4473,104,2765,4489,2512,4152,657,4511,4123,4593,4632,949,4127,3071,4129,4599,4277,4059,4195,4454,4266,2593,4457,3413, 3092511,3933,543,4134,4018,2958,4138,3946,4077,4142,4137,3945,4145,4600,4370,4149,4210,4326,4275,4328,878,4561,4426,1334,4578,4594,4183,4250,4622,2159,4406,4430,4097,4507,4631,2712,2595,2378,1442,3375,2820,3379,4329,545,4483,3524,4565,1461,4229,1895,603,4232,1652,4206,4627,4336,3069,966,4716,4321,4610,847,1575,2712,1579,1581,1587,316,3778,290,3693,100,1022,600,2617,67,3008,107,65,3053,4296,4648,545,3574,103,603,3784,413,542,2223,4665,4652,3317,4634,4769,4771,102,4773,115,4775,293,3398,4621,4432,3434, 3104680,4190,4740,282,3156,3185,1171,4682,2820,3407,3399,4668,4523,4551,3859,1440,3964,1275,4678,4220,1251,4344,4558,2761,4553,4369,4589,4602,3462,2152,4103,4337,850,4629,4625,3443,4403,4447,2405,4274,4456,4705,437,4492,4396,100,4240,4498,2256,110,4416,4436,4803,4811,2019,3403,4095,4713,4432,2646,3091,4588,3959,4590,4525,1436,4282,242,4440,4284,2806,4443,4451,4601,4410,4407,4610,4817,2722,2491,4583,4852,3967,4384,4812,1255,3473,3767,4793,115,4435,4703,4831,1195,4728,4584,4545,2646,2648,1389,3774,91, 3112652,1907,472,3220,2656,621,1914,1923,4419,32,3227,1924,1926,1928,1923,2671,287,2673,287,2675,3010,3239,4544,4849,2708,3003,3507,819,3319,3009,4119,3011,4699,3847,4874,3077,4814,1114,1777,3670,4736,1808,1810,1486,784,1612,3708,909,275,1085,863,3215,4375,3766,809,806,4943,924,3635,4933,779,781,783,1488,370,83,429,260,79,2510,298,1611,3516,1785,1015,762,4890,4722,2438,2381,3378,2003,2385,2405,3546,4570,3548,288,4962,1670,1557,111,120,1677,1718,4963,256,1758,3689,1816,3895,3686,3656,1766,3658,3571,4800, 3124171,1528,3650,4995,1865,3660,3587,1869,1662,4308,624,3731,1678,1561,3665,3623,409,3870,744,2617,88,809,294,1879,115,4647,3899,4244,265,4581,48,4777,4101,3767,3338,4453,4233,4353,32,4481,4583,4084,5024,4050,4650,1624,4176,2048,1655,110,5034,4583,3338,4257,5036,5038,3443,5047,4702,4305,100,5016,4735,101,89,5020,463,472,5023,4242,4258,4354,1916,5027,5029,5045,4159,885,1645,456,4417,1650,4237,4206,5059,1673,5017,603,90,5064,5022,5041,415,4355,4581,4651,5074,3767,5083,3871,5061,3579,4940,3457,4090,1927, 3134420,1384,2856,1161,4480,5105,572,1644,2233,5109,4037,4367,5047,1518,452,2289,3443,3338,5090,3974,5043,5030,2048,5097,5085,4170,112,1605,1809,2902,5103,5110,2814,3214,5079,5037,5136,913,4991,4709,5060,2617,5139,541,543,5081,4178,416,983,3869,5084,5061,5147,555,5149,5115,547,5151,4084,5052,4767,4582,2991,1777,3608,306,3617,1825,647,2610,4937,3666,1492,5005,415,5169,116,5171,3612,3614,678,3616,5010,68,4934,3603,4965,651,5143,606,577,4479,5069,3900,5141,657,5193,110,557,5196,5036,5166,3750,1030,5201, 314567,5204,5165,5199,2077,3894,1334,5195,3744,5212,5160,4847,3092,5215,606,5210,5218,3899,5206,4712,5222,3524,5203,5226,1619,5228,4367,3563,3245,463,1600,2482,3569,1776,5214,3524,79,2019,5139,34,88,89,499,4176,819,5250,90,287,88,90,89,287,89,5258,5261,90,88,287,5265,5260,32,5259,88,1594,1501,1632,5197,91,2784,2066,1244,4985,5189,4954,4535,2831,5139,5054,5207,3768,4562,5231,5139,5235,4450,4729,5290,1461,5225,5035,5219,4482,5296,5216,5292,5199,3635,5281,4952,4935,4955,353,4957,584,262,4980,1680,5191, 315558,605,1509,4126,597,4969,2568,276,2823,479,4974,4640,3586,4977,3588,297,265,1561,370,70,3739,3510,5172,316,4313,1814,5201,3622,3518,558,1788,2118,1803,280,335,1800,1476,1803,121,97,1772,4190,1960,3912,970,530,1469,5178,1780,3590,3663,437,5337,526,5180,5339,5183,1755,5185,3643,373,909,2504,692,1774,3652,3659,1534,708,1771,4994,1864,1776,3661,5367,1719,5013,5346,798,5348,2723,5233,3746,5213,1643,1506,4400,2611,4030,5286,5401,4368,1829,5201,3539,729,5370,3596,1741,3599,1743,5342,2372,1461,1940,1806, 3161145,4951,1484,1811,370,111,265,543,116,5232,4190,5429,102,5431,5298,4583,2861,4889,2984,4001,4720,4890,2819,1910,3377,4727,878,5107,5120,5288,1592,116,5363,4411,1411,5444,5321,4891,2432,4636,2566,544,2569,842,2831,3773,5460,2838,1880,2858,3787,2851,5473,2850,584,5473,2854,5451,5479,111,95,5440,5327,4119,3345,437,5356,5358,4583,5360,2111,1777,1822,4571,5340,1827,4610,5420,4529,3604,3667,5397,4869,3443,5351,3699,5354,5457,829,3667,1016,3540,4571,3927,4976,1778,5332,3662,1719,370,3510,3526,3514,3882, 3171179,5501,2257,5503,5177,5331,1869,3893,3524,555,5525,728,5527,355,5529,1335,370,5246,98,970,318,5441,397,5176,697,1052,1888,603,3769,4295,5211,5227,4035,5408,1616,5558,5042,4650,5126,2413,5490,5304,5220,4944,2333,514,3257,4151,4766,3899,5148,1651,1001,2799,115,1052,2065,4090,56,5408,4290,4426,2703,5114,4190,109,1716,5248,2838,120,336,95,2854,1584,675,3664,5570,819,5596,5598,2854,513,3527,97,2847,5597,100,5599,5483,5601,3686,1178,5362,5113,5197,5293,5221,5582,1097,338,5275,5205,5408,5625,850,3617, 3182302,4090,1925,57,4093,5570,4949,5365,296,5548,1309,370,4399,4294,101,5524,3513,728,386,645,335,1556,5550,5014,1733,5533,415,5646,4042,3523,1461,5537,5650,97,5652,324,659,370,997,115,5370,292,5373,1743,5345,3561,256,5568,3819,5620,3824,603,529,1761,1696,5576,5234,5408,2617,5686,711,5661,4031,5622,46,52,5305,5641,303,5497,3612,437,1496,3510,1855,5378,402,3655,1539,5001,5389,3653,353,4025,101,67,517,407,5381,5713,1775,3653,3635,5707,5394,5679,2333,465,5412,1019,1496,3641,4801,353,866,3696,5399,284, 3195578,5150,3886,412,2380,3884,5563,4235,465,5743,1846,3593,1723,5181,649,5498,5184,4688,5175,5657,798,3057,5459,5740,296,2435,5464,5030,2431,2563,32,5767,2567,5466,2112,5423,1360,5425,1499,437,5435,5431,5433,4090,5623,5571,5782,3686,5298,5785,5408,5485,457,5791,5639,1325,5443,2817,5689,415,2819,5769,2591,4725,5447,2596,4972,2824,487,888,5621,5629,5796,1464,5590,5622,5408,120,5569,4792,5468,5594,5800,589,2839,5803,3035,2937,2847,5472,3779,2848,2844,5478,5832,2842,5477,2846,5836,5615,2855,5811,5482, 3205484,3214,5518,1868,415,5521,5335,1503,276,439,5676,1826,5678,3536,458,291,10
3207,293,2094,5139,4175,5570,2799,4408,5542,5732,91,1815,112,5854,5703,5418,5500,5201,5422,3602,1807,1685,5189,3789,319,105,5146,5824,271,5742,5866,4206,118,682,725,1496,5883,657,5683,3819,5853,112,5695,3110,5223,110,5217,5359,5663,1334,5438,3443,275,5905,5433,4583,5681,2984,5738,4763,2624,121,1888,3797,260,4841,5748,4298,4581,5630,3894,5696,5036,1063,1591,1532,5253,1578,2380,4751,1314,1588,1586,1314,412,543,4757,5142,5873, 321112,2217,5057,3078,4798,44,4684,288,5380,69,514,1600,5888,288,3338,4382,5937,427,5964,2820,3206,259,3787,287,5970,5614,2008,5973,1746,3787,3782,4723,4025,5546,99,5972,1442,601,1835,5980,1248,5987,5984,406,5989,32,5970,279,5985,5996,5837,2510,5977,1527,5979,5976,5995,117,1844,5998,6007,294,5994,3206,6008,5993,2008,1594,471,5920,316,5923,1762,5962,5865,2066,5581,1771,5959,583,5688,5927,296,5968,5827,5322,430,1707,5974,6009,5971,6005,6038,6015,6001,5986,5983,5985,5982,5988,6005,6048,5992,110,6012,633, 3225997,406,6002,5997,6041,6055,2842,6043,4723,6013,6011,6057,6006,6008,6060,6014,6053,6016,474,584,4710,4173,5197,2659,5786,1369,5901,3190,5811,4830,1913,5956,416,1771,6076,5286,5929,5814,1384,104,4023,118,2006,471,4470,4738,5151,5745,276,5747,2884,855,1546,3644,5379,584,4229,4232,5382,4996,3412,833,1575,5719,1860,5722,1863,5724,5384,1769,3317,6113,5723,5383,3571,4645,3891,5388,6123,5578,582,6027,5711,1549,6128,6115,1554,5701,346,5875,5856,353,335,3687,100,1513,4133,5658,4368,3691,4570,3934,6153,5380, 3236155,6088,5575,285,1777,1604,278,1835,3510,70,1751,5190,4938,697,5131,278,3507,892,5779,1691,287,1496,1482,5189,1294,292,111,6165,292,1390,6178,781,6180,1481,734,5308,4801,5726,4571,6169,3513,3616,426,3621,5377,1857,558,1984,2510,6133,6129,6116,3092,2975,6209,6141,6125,2333,4762,6214,1548,6135,5391,1559,5368,5728,5858,530,1852,5059,293,4441,1019,1571,446,1883,1594,2114,5238,710,3247,6164,4251,4643,4044,2832,1717,3591,5857,3667,1799,4293,5557,5765,5198,6093,572,4001,5157,542,5579,840,5151,5112,1646, 3245794,5197,6024,6101,771,6143,5007,4378,1665,5187,6247,5523,3530,308,760,816,6248,5532,5519,1869,1571,1568,759,761,3529,348,5538,97,5542,6281,340,4541,3443,5819,2328,823,2E3,258,268,4875,3450,6222,101,6275,5753,1748,1740,1726,5417,1826,4027,5708,6205,798,5593,3693,739,97,645,6219,5243,288,6319,543,2767,6324,5889,5158,6216,6327,101,3416,119,2559,6114,6220,6332,3485,6208,5712,6122,6210,5385,6212,2163,6330,6124,512,6218,6344,3657,6340,6259,3730,3693,4229,621,6350,1866,6306,6247,6225,3667,4025,4423,6304, 3254530,598,4234,287,3575,98,2014,383,1906,5593,645,1022,4656,355,4162,414,105,4165,4840,600,530,4664,293,5628,4767,6267,5580,4206,554,112,4615,1272,1090,44,4919,1685,44,4707,637,773,44,383,121,4146,353,3693,72,6378,3641,6369,4927,6397,5151,307,472,3670,6100,1001,4543,369,1745,662,6310,5415,6312,5757,5777,5656,5395,123,3635,1721,5372,6145,355,5758,1692,288,5545,970,4985,6291,6294,1539,110,1817,555,5903,5962,5287,5229,1639,6458,2984,5117,5403,5647,5364,5659,345,6451,5666,437,2496,6453,798,4023,3314,4478, 3262120,4919,825,3320,3322,370,5763,5799,5460,4635,5772,2565,2567,4639,2387,437,323,620,3385,4106,4672,2619,427,4110,3391,4113,1910,4115,3341,4117,3343,5487,5736,288,6477,116,4539,3244,1145,6429,422,2157,6238,1600,370,6496,5574,4603,3456,4605,4305,6525,3494,3363,4449,5221,5798,3373,4968,3377,5446,5808,3380,4022,1898,5138,4890,4892,1908,2655,2003,2658,4899,3226,1923,3229,32,3748,3233,4907,32,4909,32,4911,4922,4913,370,6514,4846,34,4455,2593,4800,3163,1804,3165,4062,6351,6520,4742,4941,4813,3980,4654, 3276531,4715,2057,1803,6514,3091,6584,837,4507,4825,3484,3702,1474,3704,2937,1479,353,3591,390,6316,3645,798,866,259,4490,6574,6345,6215,1867,1735,296,3703,1476,6598,5603,4207,5551,5318,6170,5870,6190,691,878,5917,6305,5336,3739,6443,5416,5498,6475,6440,6143,6631,6435,5704,370,262,384,114,4985,6247,5760,6439,2414,267,476,645,2883,6025,4206,111,3663,73,4737,6428,5239,3247,5716,5573,6652,6268,5330,6283,415,6644,5368,370,5182,5677,6646,5679,6364,6670,353,4690,2559,4989,1489,3726,6362,6211,292,5685,5759, 3286139,6610,5003,6347,6131,789,6350,6221,6143,6615,3705,6618,5531,6682,3804,336,3880,2163,4670,945,4529,3034,4531,4675,4002,4130,3844,3726,336,4505,4824,6529,4321,3993,6704,2699,4104,2918,3911,4890,6503,3334,3392,3390,3337,6507,3397,6511,4706,4822,3715,6581,4054,4654,921,6703,100,6474,6518,6660,408,721,6237,6747,6239,6749,1784,6716,100,6705,1825,4795,6576,4681,4212,3161,3399,2482,3411,6347,2292,4868,6296,5288,2007,6343,5460,4001,4533,1345,6524,3326,6726,4568,4108,3331,904,4111,3335,3393,6506,384,3396, 3296509,4787,6715,6744,6758,828,4887,6545,5460,6547,4894,6549,3222,4898,2660,6553,2664,4904,2668,4906,3235,2674,3237,4923,3400,114,4850,4501,4362,6756,6796,2147,6738,119,3495,6534,5571,6743,5946,6822,4512,2244,2432,4851,6722,100,4538,642,4540,6522,6661,2182,2778,5049,2476,6763,6087,6829,6723,2975,2081,2308,6761,6721,6756,3430,5952,4265,6847,4832,4668,6756,6664,6422,3886,6849,6757,2699,2910,3287,4796,5294,6348,1825,4505,4608,1458,6836,6870,835,6872,5221,6590,3070,4464,2141,1981,5453,6836,6831,3430,6845, 3303419,6860,4883,1178,6890,2699,6838,3243,6771,753,6519,545,6824,6826,4514,88,5912,6899,4916,3315,2712,4920,4912,1939,6794,5946,4864,4305,6769,3471,6370,4928,1638,5823,5460,5873,5582,2438,4007,6512,693,6821,2699,4623,2982,6720,5492,6869,3194,2073,6819,4654,6921,837,4667,6755,6795,6724,6824,6719,4392,4341,6879,2208,2872,6943,1125,6884,4743,6586,2328,6588,6958,6816,6532,3953,4340,6855,6949,2975,6876,4744,4870,6898,6851,3089,6400,6965,6862,6744,6892,6084,4211,4197,6896,6816,4221,4283,1360,4285,485,6897, 3316934,3134,2778,6858,6846,6986,1293,6917,6850,6706,6941,479,6835,6756,6798,3114,6800,4894,3219,6803,2657,3223,6552,2662,6554,6809,3232,6811,2672,3236,2676,3238,6916,6981,6918,3487,2E3,3091,6567,6882,6569,5954,6764,6573,3410,3166,6211,
3316867,4505,6592,6938,4826,6976,2163,3156,4917,6913,6482,4921,6484,6948,5946,4156,6923,6582,1186,7047,1825,3439,2405,6568,3468,6977,2019,2811,6854,6939,6972,6951,3018,4509,6954,6995,7004,7068,2377,7065,1325,2292,6760,6176,7036,6572,3409,6575,501,3571,6567,7050,4890,6914, 3326564,7027,7055,7003,1825,7057,6421,6741,7060,6756,3806,6962,2984,6514,4888,2220,6480,2561,7012,4893,2654,2820,4896,6551,6806,7018,6808,2666,4905,1930,6559,6561,6563,7054,1563,7105,6956,1989,7081,4587,7061,828,7043,4390,6593,5229,7042,6824,6877,7104,6971,6706,4438,1380,4858,6991,4860,4286,7002,100,3084,7058,7103,7154,6852,6942,6740,4248,3133,2163,4463,2286,7140,4367,6867,6818,7162,4361,6583,7073,4604,6953,6970,6830,6935,2893,6533,6908,6889,7131,6833,7064,7034,7066,7165,2138,7074,6888,5229,2292,7063, 3332194,6980,7098,6868,2975,7171,7157,7163,7154,6831,3183,3091,2292,7138,6712,7168,6873,7195,7030,2246,7188,5797,4390,5764,6371,6540,5323,5449,7159,7005,3184,7070,3443,4069,71,805,6427,594,6904,6933,7146,7062,7148,3935,3080,4808,7028,6717,6780,3386,4711,4673,597,6729,544,6731,6786,3395,4116,117,4118,2835,6932,7195,3916,7144,7159,7148,4222,4859,4224,4861,288,2965,3912,7136,2694,4845,7217,2291,6940,3292,6979,7172,4653,7145,5946,7049,6912,7094,7052,6915,3012,6486,6537,7011,5771,5773,5465,2439,6816,6857, 3346799,6762,7E3,4199,7199,6936,6887,5452,7141,6879,7148,4124,7247,6501,6711,6886,6713,4677,2112,2791,537,552,782,6751,4205,5151,6867,6967,4339,1837,4261,7077,7100,4204,6106,5151,7209,6824,7208,6950,6497,4105,6727,5460,7250,4112,6788,2930,6790,7255,7257,4120,7154,6947,3498,7331,3124,1046,6658,5288,7214,7079,1989,7007,7237,828,7156,7102,7204,7243,7200,2163,4505,7337,7067,2573,6881,7228,7184,6744,7166,2340,7045,5288,6514,6516,6902,345,7235,7359,904,7362,5946,7371,7198,7130,7363,2443,7261,6974,7046,6756, 3354505,6907,6969,7071,7147,4591,4100,3963,3851,2102,7242,2999,6919,5908,7072,6579,7402,7328,3801,6863,2347,3125,7357,7307,7330,828,1365,7422,7271,7425,278,7262,7368,7432,7199,6831,7379,2501,7177,6975,7105,7239,4211,4806,7409,3921,7236,7056,6585,5349,2974,7405,4855,2253,7310,6500,4778,7313,2286,6777,7097,7394,7179,2975,6770,3110,7373,278,2127,7134,2880,6996,606,6893,3158,6895,7001,7368,7084,6085,4799,2480,7088,6767,6216,6867,6880,7372,7048,824,7384,6841,6754,6843,606,6998,6894,7301,4270,6874,6797,6544, 3367010,7112,2651,7114,6548,7117,6550,7016,7120,1921,7019,7123,6810,7125,6812,4910,6814,6565,1777,681,2588,3686,323,4985,1830,116,652,1836,6029,3873,4964,6172,1615,5068,5933,5092,5028,5566,3767,406,6642,5584,5697,55,5408,5505,5816,5205,46,51,7547,2510,7468,5134,6078,5700,6469,296,7526,1300,7528,275,7530,6523,353,3869,276,6336,6680,6109,1858,5720,1861,6354,5002,5390,6697,6596,6616,1478,6700,5317,1878,7180,6946,3885,1395,3533,1145,3619,1647,4802,1476,4943,7235,2153,5872,2767,4804,4158,3981,276,2767,4434, 3375739,4321,7604,1347,119,7434,5208,112,2767,4469,7429,6744,5100,6739,7203,7173,1125,7383,6839,6517,1598,6748,6495,7336,7393,289,7609,7106,7450,2984,727,1348,7319,292,6746,7323,3886,6964,7280,3766,6742,7633,4513,7403,4826,7609,7437,4465,7193,4367,7260,7406,7645,7035,91,7444,4618,7410,3853,7629,7339,6781,6709,6783,6502,3332,6732,7251,6505,7346,3339,7348,6510,7258,1178,7652,7181,6968,7418,7276,6851,7264,6990,2120,6992,2640,6779,6579,6952,7075,4190,1595,1488,6752,7566,5957,7219,6487,7504,5322,6539,5805, 3386541,4884,638,7614,1129,7442,4876,4654,7033,7376,7475,2478,7087,6766,7040,6347,6867,6831,7619,6580,7621,7281,525,1017,519,7474,7169,7272,4371,7453,3917,7443,2638,7241,7665,7368,7601,5953,7661,7741,4807,7743,614,7682,7587,7642,5948,7605,2238,3349,7503,4471,7143,7398,7377,6918,7688,7150,7690,7152,6993,7731,4940,7616,4436,7420,7753,7333,6866,7752,4823,7192,7306,4367,7270,6963,7502,5549,6371,6801,7116,6506,6804,5037,7017,7512,7122,3230,7124,2670,7517,6562,7519,7461,2329,7599,112,7202,7366,7622,6816,7804, 3397745,6924,7755,7610,6589,6824,7044,7439,3443,7092,7285,5460,7095,7129,7632,7712,4188,3985,5900,7712,7806,1133,6820,7395,1218,7332,6653,7324,7778,519,4819,7451,4475,7732,7728,7807,7730,7693,6526,7417,1803,7637,4506,7299,4190,7852,7390,7099,7364,7765,1210,7266,4442,7153,5200,7826,7757,103,4304,7414,2163,7804,7831,4552,4929,370,5180,6672,1826,1808,6634,3635,7877,5756,5374,3602,3615,7876,84,77,706,6674,5858,7820,6479,6371,7823,7026,3012,6525,6498,7341,7705,91,7343,6787,7673,6789,7677,6508,7256,7679,7350, 3406566,7490,7625,7385,296,7235,6960,6527,4624,7381,5229,7920,7850,2328,3202,3588,3565,7628,7914,294,7110,4943,3217,1906,7507,7790,7015,6805,3225,7121,3228,7020,32,6558,7799,7128,7898,878,7717,7085,6763,7721,3164,7484,7848,7101,7832,7174,6579,7612,34,7644,7729,7646,6959,2157,7220,6710,1245,7708,106,908,280,102,3043,2821,5807,7224,7958,3307,7211,7923,3176,6595,1872,6617,785,5516,4496,6634,34,6627,4321,5899,2605,6676,5522,353,1899,98,6199,3677,558,6148,305,6150,340,292,590,282,1455,6612,4978,1870,7580, 3416699,1625,6701,558,5237,7700,1696,5241,716,6325,416,2612,4734,4231,7352,438,3047,4494,100,87,475,110,5924,260,7456,4177,3886,2844,3686,1217,4667,7521,5894,6204,6604,4988,6138,3
341649,6690,8028,5717,6119,5721,6684,6142,7559,288,6285,1573,6366,5379,7703,7291,6253,2333,4725,6034,7972,4349,5806,4723,7981,5716,5731,6231,730,682,5735,878,6368,1471,5926,4305,109,7554,6258,5159,7837,3886,530,275,3735,3341,8013,4894,2503,7854,4583,8098,2E3,3511,7631,5451,2152,5931,2712,1179,4754,5945,336,1590,1580,336,1833,8051, 3421360,5896,6195,1197,3904,1944,5820,4583,1023,6499,1803,7290,2588,5248,7294,8075,6493,2433,6490,4637,4970,2825,4030,5469,8072,2841,5474,1762,5966,597,7258,5473,5834,5839,8149,5838,2852,2859,5483,5481,5840,2860,5846,525,2510,6104,316,5864,4236,5891,5151,5738,4470,4090,5890,8096,4833,6508,554,83,5593,306,5687,7532,6628,353,65,484,281,3204,99,4645,908,1334,7561,320,7529,3726,5961,7533,6620,798,4784,5406,6459,1923,5434,2510,5873,6265,5933,3973,8152,6372,3745,2622,111,1940,3795,5589,5407,6255,1125,5546, 343514,8130,7229,7182,6969,5635,5408,431,7531,6090,5962,3748,4190,5861,622,880,7544,5036,50,4036,5592,1656,688,1099,3998,5795,3141,5306,5187,7527,8200,3804,7701,6144,5416,6291,4171,3206,403,6171,8204,6635,8064,34,5535,5664,108,8263,101,8265,6467,5523,5516,3637,1508,7993,3625,3515,2120,5707,512,6472,7591,4571,6452,3629,7846,5702,5416,1504,368,5726,8281,380,4956,551,119,5855,6105,6619,5761,256,1800,279,8237,6031,32,2661,8209,4626,2380,8312,6253,8315,6080,1425,8113,5962,4368,5240,5604,950,8115,5943,4750, 3448121,1972,6455,280,555,4747,323,5248,8330,3567,6371,8341,8119,1581,1263,1527,8338,4918,8329,5942,103,8345,8333,2112,8222,1460,7549,5165,5560,8225,842,277,6608,5785,46,8246,7558,6667,1713,6444,8170,5671,7759,8021,3697,8270,5850,4981,257,6630,5754,8305,316,6315,7892,1786,7882,8383,8372,121,6315,5645,6466,5662,5905,5665,5610,5668,5654,5316,7534,798,6095,2927,1518,414,8285,4190,5490,8407,528,5361,5455,104,8412,8409,3197,3635,8272,1334,8398,3514,8400,5670,6678,2962,7993,2351,2778,704,7891,7627,6753,7088, 3455242,5715,7494,110,8432,7492,8436,8027,8438,7447,2050,8431,705,8442,8026,3570,7041,7736,3430,8441,8024,8342,714,8444,6351,6306,2792,7990,5416,6287,6280,8387,6282,5848,6470,1572,97,8466,762,370,4027,7883,112,6633,8468,6160,8470,296,8478,6633,3552,5991,6168,6170,7993,5982,3507,6624,6447,854,4829,5424,5882,8126,6524,7607,853,8494,1250,6694,8498,3602,5897,1165,6185,3641,448,5881,8508,8500,1629,7759,8503,8499,5426,1802,6566,591,4943,8504,721,7828,5778,8520,5780,8015,5332,8489,6200,5523,3633,6233,117,6203, 346798,6681,1615,6353,6689,6355,5741,6341,7999,5012,3707,8268,34,7698,3564,2066,6429,5495,1746,8004,5648,8391,6603,3624,600,543,6321,6323,7576,5714,6577,5957,6022,8545,7577,8445,5582,6162,8056,8546,8445,4023,4025,3727,6774,8579,8575,8571,6874,8585,6609,8580,8588,8582,908,262,8062,6216,2292,8597,6352,6132,8569,6134,6341,6147,8565,101,6360,3630,8574,8570,6363,6143,8384,1039,8068,651,5877,3908,5870,5496,6632,3612,5419,5878,497,543,6417,864,780,736,8294,8044,5810,1168,1803,8023,8434,8327,6574,8437,8588, 3474160,6384,4658,6387,4660,6390,4663,4785,4666,7588,3654,5061,4232,4174,8172,8179,6485,958,5513,1001,1244,3510,5517,6495,548,6426,8442,756,8105,3443,4413,529,4733,4230,4736,8171,5750,8173,8097,824,373,262,621,8675,105,8568,8313,8178,6665,5776,5880,8507,1689,8516,5295,2512,8483,8690,6332,5751,6430,1503,6277,7993,8111,2730,6437,2066,8526,353,5793,6587,429,4165,1685,4507,7626,7776,437,8132,7902,7855,6279,1300,8083,3541,8474,5847,6613,8065,8472,437,7880,8052,909,6693,107,6695,8548,7579,7988,7582,8020,7584, 348256,6536,8136,5445,7708,7223,2862,370,8638,7930,8435,8451,8028,8206,603,8147,6371,8154,5832,5831,8149,8156,8160,5980,5475,8164,8162,5843,8773,5845,8754,2555,5458,7704,7787,5462,8142,5464,8144,5752,288,65,6455,554,2898,8530,1691,8429,885,431,8213,5300,5039,6170,8319,4190,2838,1664,8560,5248,315,1647,8216,4422,320,3044,320,2627,4941,4947,8112,4748,8325,8332,220,1522,8216,8821,4752,121,8116,4756,8087,472,4946,5655,4190,5893,2616,4088,110,847,7607,8657,8680,8659,353,590,3513,8831,4948,1325,6103,3690, 3496023,8658,8692,6108,5709,558,8310,5E3,8057,8445,1547,8600,3698,277,526,6112,8600,4950,8793,1811,6147,3686,8008,3689,6105,772,6157,8377,5934,2966,8704,288,84,3108,3686,8421,606,8423,5539,6383,316,8425,8832,8376,872,8884,1977,621,776,3575,5131,1835,6302,307,8633,1062,5617,116,72,6096,5350,8896,89,5357,3912,526,7781,7312,428,5448,4973,1708,821,323,8812,2594,606,675,8814,1305,6185,8900,3577,8903,552,4488,6608,4583,8907,80,7997,6305,6143,8886,3525,5666,8892,3592,303,4511,7993,1204,7658,3
349051,6708,7311, 3507457,951,6712,7460,3012,8952,7738,6401,7662,4620,4619,900,4844,4365,7183,7141,4328,3824,8969,2580,7659,2048,1149,7762,5229,1198,904,7470,1105,4280,8953,7149,7861,7151,7267,7864,7987,6597,8745,7888,7890,1976,7993,4784,2448,114,7734,6873,9E3,2230,291,3181,3104,2995,3648,5821,9001,7963,9005,2508,2614,5885,5887,5460,2621,32,2623,2625,878,479,109,8555,4542,7931,935,3104,4629,9010,8043,1062,6731,102,866,5491,7670,597,9015,1341,2504,8042,827,9018,603,2825,9001,4507,9034,6468,8370,6614,8018,7989,6431,100, 3515706,8562,8481,793,8619,3771,8621,1746,8615,8625,3908,878,293,8655,262,86,82,8679,6260,753,2799,8107,8100,3803,305,1905,3808,8890,5922,8646,6388,4661,6391,8651,2513,4206,3785,4960,116,8802,4090,4900,8833,8661,5870,8665,4496,9072,8677,2050,8837,4293,100,3923,9078,8703,2555,8123,2120,8125,8521,8495,3776,8129,5962,8322,1464,5717,5870,5734,465,8122,732,2615,5886,8836,8838,7233,9080,4206,9082,8109,8977,3065,8324,8313,8879,1581,8075,8824,5941,4753,5943,4755,5946,5879,7575,8529,8515,9121,5781,4744,5591, 3528938,8668,6387,8670,713,4349,8687,606,8031,8678,8851,8841,8692,1693,9109,2154,110,3512,4395,4494,928,9115,8681,8180,8099,4028,8184,453,8202,5058,8395,4401,572,6416,6418,8631,7966,8634,8654,8032,9174,9079,469,9096,6607,262,9100,5197,9102,5050,6099,8033,8849,8306,8853,1693,7572,8006,8607,8567,6121,8592,4997,5931,8060,9157,8586,8612,6211,6159,8603,6346,6216,8577,5358,6339,8028,8594,8584,8858,9225,6211,8857,8862,1627,465,9228,9224,8587,3571,6207,9243,9252,6211,8861,9234,6611,8843,4024,8595,6338,6140, 3536691,8598,2699,9247,6217,8602,8611,8604,6357,8606,6359,4349,8867,8614,8562,8871,6149,8874,8170,6153,9154,3694,1042,5739,8881,34,318,1676,6274,5368,9063,5396,9162,7557,8362,512,7536,4767,5026,5565,5095,4654,6263,5078,9204,9116,288,8708,8313,6460,4367,8907,5907,8253,8938,8896,5784,5817,9300,422,8912,8229,6594,6270,4377,1664,6669,8E3,8882,8896,6471,8399,3392,8401,7993,8907,6463,6530,8912,8914,2328,5490,533,5108,5197,6161,279,5078,8216,8753,2384,8922,552,8924,4723,866,5721,8929,6524,8896,5907,9320,418, 3543686,5915,5507,9326,2328,8907,1897,6097,9373,8896,8940,8415,9054,8700,34,9336,8424,9338,8426,8065,306,1334,2894,8198,7563,4024,8201,6030,6438,5729,5588,8358,8224,4792,642,914,6249,9211,9126,1659,6143,9392,8258,7531,437,8485,3612,8386,8541,9220,7585,2091,8590,9239,8445,8599,9259,9266,8601,8506,9272,5383,6696,8378,5392,8550,8307,6647,6399,6401,1185,6404,3318,6406,6408,5848,6411,110,6413,878,9197,8630,6420,8033,6424,2115,9166,8457,8787,34,9120,1499,5283,7993,8756,8556,7628,8759,8445,569,8757,8260,555, 3555131,5667,649,8456,8639,8025,3568,8460,3571,1459,621,9475,9469,9477,8641,9479,6211,8844,5610,8339,2396,690,6645,1360,2530,8671,8518,3443,9313,4491,1716,4359,4890,104,50,54,4036,9505,54,52,900,970,2919,9195,3634,6143,8379,8948,9383,5187,8275,8277,6252,9435,5729,292,8864,8798,3899,9315,6873,554,807,526,552,8359,5577,8702,9186,2549,3699,279,8947,79,8440,543,2164,9169,4765,8701,6259,9311,6648,8857,8947,8407,9284,6464,9386,294,262,260,6298,9559,5653,8855,8990,729,9384,5651,9560,3863,8854,6317,8309,9227, 3567574,9251,9231,6347,9258,9429,9260,2890,8796,8865,8055,8591,9256,8063,9055,3589,6223,5393,6326,8872,3688,8618,9558,8269,371,8877,9601,1579,3701,1847,9378,8291,8946,9572,7881,6143,8883,9368,1990,5909,8887,8274,9610,9566,6599,288,4692,2257,8542,4964,6683,9425,8028,6686,8235,9579,6123,6130,8544,9230,9273,543,8532,1869,6698,7989,8617,6206,2881,8448,8433,9484,8458,703,9487,7724,6836,8455,8449,9456,9466,8588,8135,8043,5770,2030,5463,5774,7296,7368,6831,7963,7725,9646,606,9483,9464,8435,756,8070,8750,5460, 3575323,6540,8080,8439,9673,9029,8758,9478,8452,6347,5593,2833,4890,6928,6510,307,6931,4131,606,7231,600,9138,7386,9030,7353,828,7963,9443,534,99,8392,815,8689,8721,7433,8980,7735,6756,8049,6671,8472,8474,7993,9216,9600,8659,3635,9721,370,8944,8888,5667,9611,8737,5710,6127,8859,8461,9517,9433,1783,8551,8308,458,4428,8956,5571,8235,9192,6371,5968,6002,5614,6067,6038,6060,5971,6063,5990,6046,6067,6051,5994,9761,9757,6006,6003,9753,6061,6054,9766,6072,6044,6065,6062,110,5977,6069,9772,6010,9774,5980,6626, 3585357,8936,7423,4367,8405,118,9784,8414,6391,8364,9785,3478,3509,8280,316,8610,9397,5858,4069,4071,7740,3830,4141,3938,4696,4080,4698,4694,9806,4691,4697,2963,3262,2511,9181,4493,3923,681,3680,4689,4136,9812,9808,2793,9810,4074,9813,6414,1820,7844,75,101,121,758,9550,8072,5913,4748,8216,9839,323,2379,4730,9843,6736,4082,4642,4255,4499,606,4629,8789,4770,9515,1197,2962,90,471,109,8596,9803,729,4013,9824,4144,9826,4140,6679,4015,3283,9857,2511,5668,4791,6859,2946,4073,3833,9825,3427,9879,4143,4021,370, 3598644,5341,355,8480,9551,8095,9176,1148,3263,6152,4805,3269,9883,9807,9867,9882,9805,9828,9881,9025,8910,2328,9801,8117,9822,4695,9866,4016,9869,9823,9775,4020,9872,6485,9118,2066,6181,685,2104,5905,9172,8937,6865,913,8941,4190,4069,3827,3700,9863,1019,9865,9917,9624,9868,9938,9871,3432,437,5861,3948,9183,100,4486,3739,9850,4839,9854,7895,4090,1936,5408,6399,8297,8633,3617,9960,5884,3680,3682,3580,1145,9820,3681,114,8393,5737,8688,8561,5416,5540,9888,4554,291,1095,9095,5151,
3596300,109,9927,9793,1148, 3604206,921,6606,100,9986,9185,8842,6326,8256,3633,725,7526,9998,370,7995,4583,5893,732,3510,9977,5499,9979,8633,5581,6242,9952,2527,4719,407,7895,4583,8675,633,108,72,70,79,86,8818,9491,5460,9150,8344,5944,8828,4833,8289,1360,5649,5610,8667,4662,5088,472,8763,7971,5097,95,4358,976,6499,287,10045,9842,1832,525,97,9993,8653,9973,645,10007,9088,5342,4385,10057,1820,268,10021,86,10024,10026,2328,104,5059,10060,3883,9978,4816,4382,10064,458,4759,4646,4762,4764,8252,9350,406,1605,970,8075,9695,9855,4772, 3611880,9E3,4665,9844,5296,544,10087,6166,4884,9690,8350,427,411,8925,5970,429,342,878,103,121,275,4784,398,4629,5154,3871,711,10056,7754,9815,2781,4006,9855,71,10113,1300,404,493,6762,9878,9903,9880,9901,3942,9899,9913,9919,4685,2781,1504,9876,6846,10133,9870,9918,4139,9942,10148,4081,10123,3931,5541,9910,9936,3936,10134,9884,4076,9915,9912,9939,9829,7951,120,97,10055,9178,8033,9887,10009,10077,10011,4739,3674,8090,4190,8088,373,10178,4583,9801,355,7570,9911,9811,10164,9905,9827,10135,9885,10141,10154, 362316,6329,10157,10150,9940,9902,10147,10200,9697,8837,9094,3530,10187,9904,10136,10191,10160,9944,4039,4084,4838,2527,10121,9713,9275,543,10041,6273,9691,5460,10045,10047,5555,3524,10050,3870,95,10052,4145,9873,10142,376,8528,10132,9898,10159,9900,9914,10199,10165,10235,4564,4780,101,5180,1837,2770,10244,10190,10162,10188,9943,10152,10194,3772,3392,4264,10145,10240,10202,10165,10211,10242,10140,9894,2511,9076,9969,10208,10192,10161,10253,10136,474,5754,115,10218,5299,3899,6396,6261,8097,10083,9837, 36310283,1698,7258,8075,1179,95,9286,6793,10153,5906,9860,9098,10274,10212,4693,10255,10209,10193,3498,3824,2962,5668,10197,9897,9804,10265,10254,10277,10307,3887,281,119,10043,9041,91,1800,9534,928,1248,3923,4835,827,4620,10246,10260,3868,3417,10302,10268,10149,10138,10189,10278,772,5416,4312,4571,10333,10125,4008,10013,10216,6782,6894,10146,9916,10257,9809,10305,10275,10213,353,259,106,4169,294,9106,8620,10282,9893,3572,10128,10115,277,10368,9929,756,10073,4571,10008,10062,9980,834,9982,6269,3216, 3649418,256,5893,3680,1607,9250,9269,6380,5669,3368,9578,9269,1800,323,10391,9629,8445,8284,5924,9633,9235,1654,8472,516,8578,9589,9580,6216,3693,9548,8686,10217,9588,9422,8588,9990,8036,8066,4028,5387,10401,8588,5609,3514,5542,10400,9583,9426,5737,8036,711,4612,9269,10414,8685,3514,2527,4747,279,9278,9432,9594,9434,8007,9598,9221,3811,4967,3516,291,3513,621,797,91,3437,353,623,8005,288,5568,302,10460,494,6200,296,5454,5363,10466,2903,10461,10469,10308,10473,2913,10475,10463,34,9787,301,93,3730,10335, 3656337,6160,9984,10301,6153,10393,4680,3142,101,8740,793,10455,6148,278,10458,10467,573,10476,7632,3908,10484,8876,6688,9601,10393,10312,9604,6322,4170,10206,306,8482,8117,6452,9285,8875,975,6515,6170,9070,3771,651,10499,3686,10501,284,10459,10474,10468,10481,1459,10528,125,10485,4215,10494,9288,8880,4215,10513,3142,665,5344,10498,6170,10457,10533,10503,10462,753,10465,287,10555,10505,10471,1123,10478,2542,10480,753,5360,10564,3173,10566,345,10483,10540,10548,8560,4732,1334,6293,10551,10456,10532,271, 36610534,10479,10536,753,10538,2684,10574,3698,9246,10492,10261,10238,370,5602,6392,4070,10550,1878,3686,780,8652,545,115,58,123,120,271,2478,121,10610,510,125,47,10608,58,1930,10612,48,125,8020,10530,10553,10583,10560,10481,10558,2455,10571,10470,5683,10590,3956,3436,10596,3686,10366,10528,6206,10602,622,797,341,10606,123,5490,10613,4275,5620,10649,485,10615,10647,5357,10618,896,10651,10621,10623,10552,10582,32,10584,10565,10586,345,5819,10569,3365,10631,10464,10508,10591,312,5718,10035,9601,1179,10186, 3676153,9984,9862,6163,8476,8726,5883,9296,256,9097,2510,10178,9319,3443,744,9011,9163,3443,4769,8642,9649,8443,9688,6333,112,51,10701,9674,8640,8459,10704,9640,5849,9739,9519,9069,9065,3998,8894,6569,9715,7213,9617,110,5911,7358,10724,9370,5288,5508,5353,9701,6873,10003,3443,10483,5682,9380,4411,9907,3127,2037,9381,8732,34,9518,785,3550,8563,7573,1860,9748,10419,6135,5716,10396,10426,8613,10446,6307,6224,9741,6647,2171,3332,9564,4305,1941,9105,8300,109,1711,8279,8262,9620,10394,8402,8268,8420,10724, 3689730,8947,437,3512,3618,9062,9417,9567,334,9222,431,9712,10411,9634,6685,2078,9421,9265,9630,9268,10758,6211,8739,8741,9274,9996,9276,6361,10802,9591,9382,8615,8746,8403,586,9194,5904,8819,9891,9205,5161,5744,10017,5932,8799,3443,9449,808,9199,10175,5151,1805,8694,9158,8696,9160,756,10741,10768,6642,8336,174,8094,10821,9988,3209,1777,4985,8789,10833,10719,8747,1804,10766,7851,8790,4577,4671,5248,3032,8216,3036,9022,414,5008,323,878,10556,9
368167,9248,1531,294,10182,7819,406,555,8806,8325,8808,6618,7971, 3698811,9360,5573,8087,780,1471,7455,2712,4023,114,2624,10327,1907,610,10892,5947,1526,10028,8072,8821,9149,5939,8118,9151,8826,9153,8117,10897,450,9744,9035,1325,8175,10843,9553,9723,9537,1619,8691,10375,9574,8053,1063,6118,10757,10432,8547,10806,3668,9735,8592,10755,9585,9528,8866,10426,9431,9592,10746,10715,1625,10449,8009,9064,9600,10509,9287,833,9289,3698,828,10510,9290,10037,10429,10600,9799,8388,8943,10781,9619,5610,6293,370,5315,7993,8723,10352,5229,9747,9396,9749,6036,5969,5978,9767,6040,9778, 3709756,9771,5981,5991,6047,10983,6050,10983,9764,5999,6039,6059,10979,6056,10981,9776,6066,9917,9773,6054,6071,9781,525,10856,3740,10858,4890,10862,555,1663,1575,6017,8502,10921,9219,10789,10924,10444,10937,8605,6513,8490,11018,10929,292,10952,8608,10418,10799,6331,10929,9582,9637,9430,11019,6648,11025,10443,9255,8570,10938,9382,10747,9281,8873,1858,4400,3564,1115,6160,9605,6153,11024,10501,10948,3572,10638,10957,6648,116,10603,10644,4949,3639,776,1482,7592,1507,380,10689,34,8284,5895,6193,5029,8288, 37110038,1145,9729,10962,3514,1574,279,10873,5453,9998,8290,8296,10001,8299,316,2266,3638,6309,3595,7878,8306,10720,6399,725,9414,1743,3617,6816,10008,8033,10828,6419,8632,10915,9540,2999,8736,1360,11100,7879,1806,3485,828,11102,1145,11114,5173,650,8693,9229,2066,11121,3601,1861,3479,1006,11109,9995,3668,8655,9994,10369,2171,8710,853,11127,3613,11116,3297,882,11119,11113,5754,11095,8891,3628,10361,1046,5870,11141,4027,8731,8016,11149,1744,353,3736,6387,387,10785,10813,10689,3635,11165,8562,9607,9615, 37211078,6291,10783,11069,290,7655,8918,9355,5486,8577,9352,8925,9361,8928,4884,8939,9931,9367,5602,8909,2927,8911,9615,8913,9040,9328,8270,11173,10776,9339,10774,6312,8283,649,76,4024,3524,6394,3899,5277,4176,8664,4571,3617,11207,513,5421,437,10103,1141,11208,1461,11210,1619,11212,5570,11214,5416,4985,11217,3524,1178,1527,338,9028,10375,8713,6096,77,9011,6859,1173,6848,9931,10694,5288,10737,4393,10329,9948,8538,9999,426,8167,761,9105,4571,8730,3789,10839,8803,6622,8728,6198,6170,878,10362,10364,6434, 3733598,5870,65,100,10363,1176,3510,9906,2927,2217,9087,10325,691,1888,5337,471,3077,4480,46,7546,9324,6513,8716,1808,8719,7917,10845,3886,3790,11253,1570,11255,5428,3612,11258,8623,1743,11157,5332,10423,5705,682,11166,8203,9742,5868,5411,11265,11307,1826,10527,11219,9202,4932,110,9076,11136,11238,1627,8181,4572,8101,8577,9086,2328,10172,6385,4659,6389,4662,10598,10383,8127,1547,9748,11247,5229,10691,9099,10911,5139,9212,7819,9208,3909,11351,5962,11353,5288,9073,4231,4166,9112,9114,9310,11110,288,10005, 374776,11072,732,8509,1030,11189,3443,8761,6245,10889,2839,8155,3770,8157,2848,8159,5844,8163,8149,8165,8921,7680,11261,11193,7927,8082,7862,5733,8085,9131,9925,3524,10726,7194,10728,2085,11139,1001,8712,11368,682,9134,2617,9545,9137,8033,9141,3181,9145,10900,10903,8822,8328,427,10030,8352,896,10908,3381,11237,5288,7548,9401,9164,6425,9455,9476,7493,10853,10416,8676,11135,11366,11133,11361,11325,9817,4835,11328,10286,9187,8108,8183,471,9191,10972,8131,10817,2328,11106,10830,8033,11444,8365,6266,8852, 37511329,10482,11262,5916,9345,5918,9214,10079,10917,8049,11014,9575,11070,10791,10515,10397,9577,6120,9269,9233,10927,8576,10425,11486,8593,9262,9242,11481,9935,11489,6130,9249,10926,11032,9584,8589,11038,10795,9581,11027,9736,7091,11491,10684,11499,10433,9704,9798,10794,10406,5716,9636,11514,3658,10933,11478,10808,11513,10419,10759,10939,10813,11043,10450,3516,10523,6156,10953,10544,9606,353,9923,5029,11069,11369,10453,6762,11537,5189,2622,2638,11543,6195,9830,10319,732,884,6185,1390,11547,9121,11545, 3761271,11555,1499,4146,3635,9061,10344,6671,649,9963,11069,11098,3631,10333,8272,5718,866,789,488,10510,7746,10354,10163,10356,9941,10340,11581,11549,10393,8401,10322,4595,427,2778,709,745,384,1906,8012,3786,5097,2837,292,11597,10231,6378,10232,10724,433,121,4294,5842,453,3784,281,1905,2849,102,95,10388,119,10204,11572,8846,1131,11574,107,11576,7953,11579,10256,10151,10357,10317,10269,799,9858,10300,8590,9877,10264,10355,11629,11582,10241,10139,10360,10270,2781,9859,2E3,11509,11578,11638,11580,11640, 37710201,11639,10203,9964,9970,9416,9119,10320,9966,3684,1777,9626,10790,9621,116,10431,11510,7578,10760,6365,9596,9282,340,10490,8585,370,10683,2528,3695,10545,3147,9227,4942,11622,4024,11624,319,110
37754,9842,11573,11688,11625,11535,8733,446,10750,9645,9420,11502,11515,11512,3077,11524,10803,11517,10754,8742,8270,8538,3621,9644,9297,7107,9193,11283,10825,3899,4299,11292,7500,7396,8987,7960,7164,6759,2759,9143,3767,7624,6901,10869,2329,7811,7059,8505,8963,7631,2292,9014,1363,7873,7715,7623,11729,9200, 3781432,4930,68,4931,282,5307,9160,11069,9991,982,602,711,11225,5749,10844,8044,431,5543,1693,7732,2178,8896,5139,5638,4321,291,543,2217,74,6655,11761,284,7552,11722,108,464,3512,530,385,406,5634,5197,3233,4190,1520,552,1848,9084,8103,2328,11783,117,11785,475,2217,11789,5036,6561,4190,850,8035,259,11776,11778,11771,9958,97,120,5118,11178,3729,8255,626,5188,8697,34,6637,3598,9890,4988,10386,7964,11508,9264,11506,9488,11491,10491,11495,5004,8270,11527,10763,18,5729,652,1679,11463,5036,10920,11449,11117, 3794291,9088,11461,9178,9075,9077,5962,11847,9139,5151,6399,11779,10583,5278,5514,9864,1311,5414,11825,3611,11101,649,287,11868,1752,11122,287,6442,8390,11320,11122,11549,10769,5139,11227,5279,10240,11867,11878,6638,1743,1808,11872,11888,11826,7885,675,11876,1746,11873,6313,6445,1685,11549,11462,9179,4167,10215,4172,11448,11858,3886,11904,11909,9206,5151,537,299,4943,10966,11849,114,10966,1145,11919,8843,11355,9210,8245,8316,3443,11904,11363,6378,11365,8313,10285,11910,8334,11439,1334,10282,8840,11763, 3802799,2494,11861,10664,11863,8663,11886,8382,6433,8615,11891,32,11899,6436,3602,11897,6432,3595,11953,11902,9448,8628,9198,9451,10079,2819,1825,11104,10079,11931,9180,11251,11934,6253,11857,11914,7643,6607,9098,11927,4767,11359,11403,2975,3617,11946,11884,11864,9937,11866,11951,11961,8391,3617,11892,11952,11996,11871,32,11877,11999,11879,11150,112,11549,372,8228,5962,11990,11949,9804,11887,12004,11889,6314,1046,11998,11995,12005,8392,12019,12002,11898,11893,11869,12018,431,11561,9728,10961,9522,465, 3816467,11069,9527,8797,1803,9533,9113,8904,11297,9201,10591,3674,9544,9546,2039,9549,10969,11979,1959,9542,5181,9572,9557,12044,1062,11586,8684,10854,2328,12061,11477,11991,91,11200,9337,11667,5518,11665,10930,9269,12038,9587,10931,9590,1525,8549,9740,11070,9597,10944,11530,10946,3692,10953,1777,12015,12021,12017,11122,9612,8270,12091,3609,12022,6446,5186,11821,4240,11699,6318,8607,5668,10392,8607,10681,11837,6692,11708,11028,8643,10081,11573,9271,11670,10402,8607,10513,11518,9426,12081,7583,10815, 3827035,477,406,11402,4367,952,2996,10729,5229,12133,406,9366,3443,337,8955,5906,9087,12142,12131,6873,12141,4839,12135,7986,1847,3038,7231,489,12104,256,1859,8061,10810,12080,8743,8994,1874,11841,5858,2494,7606,10733,5221,3255,2472,7785,7111,8782,3218,7115,4895,7509,7941,8314,6807,7944,7514,7021,7516,7023,6813,7025,6815,2808,12168,3020,2330,2080,7860,8727,11396,3860,11428,2092,3299,7962,10722,12170,3445,2497,7694,7780,7466,3499,2809,3489,7650,10727,3475,7215,3101,12214,5229,2886,2127,3181,3143,7186, 3832030,12218,7685,7471,12211,12202,6526,12223,2389,3038,7465,3351,3347,6880,4548,2538,3116,7226,7488,3486,2300,1287,8984,3187,6864,11848,11111,2801,1266,7407,4616,3919,7445,3965,11704,2352,2179,7718,4367,12171,12207,6526,7963,1941,4790,9498,5288,3066,3460,7695,11818,5571,3088,7278,12213,12228,2469,3312,3256,12236,10742,12216,7360,11668,7631,3066,7827,1989,2242,2875,6871,12263,6873,2183,7714,10239,1271,7742,10332,3198,7215,12233,3480,2201,112,12227,12294,7207,7631,3492,2216,11815,7496,5229,9043,2225,
38412204,12277,3469,3493,7836,11137,3104,9003,5624,2402,4303,4273,2730,3170,7187,12297,12330,3116,7309,11005,6775,4597,4003,7589,1854,7591,10749,3082,2601,12318,12264,3453,12325,6591,7139,7985,12298,1508,12329,7660,7498,4884,12221,6853,9856,11130,3352,7160,2083,7275,2578,2312,2728,12333,2984,12273,3179,7389,12314,2325,3195,8971,4367,3182,4926,11726,3366,3446,7983,7314,7212,12338,2741,12235,7421,7356,12210,12245,8983,12371,12282,12368,7397,11716,4190,2886,2366,3496,12358,2607,10579,9679,3377,6489,4727, 3855328,6494,12367,3347,3460,7817,7696,4626,2402,11742,12242,12225,7031,12380,3500,3293,11730,4654,1941,11241,5048,6984,3491,1508,9853,8781,7971,8140,9664,7295,12007,7297,12335,2030,12248,5467,9051,4390,9053,12334,3014,2459,12326,11466,12299,4519,12426,2571,3402,7034,6570,7481,3408,7722,6576,9253,12324,2136,7963,2550,2915,6579,12422,12276,1062,5380,3264,2602,2962,11343,12305,12279,2575,12409,12205,12457,2534,4066,12193,2986,2732,12322,2298,12206,7392,12433,11727,2643,3212,3091,9660,2712,12444,8784,9665, 38612447,12419,12194,12295,112,12280,12294,12351,3404,7476,7302,2909,12386,7874,3187,2584,9677,9661,5804,8077,7979,8079,8778,2692,2488,4319,12219,12352,2607,7772,12376,9032,9048,10104,597,9021,9023,9835,12200,2680,12524,11745,12448,12195,8987,7265,9568,1213,7268,11723,3E3,3313,3213,12271,4633,3775,7506,6802,7508,7791,3224,12181,7943,4903,12184,7946,7022,4908,7024,7288,12550,2726,6707,4839,3054,12343,6714,12487,3481,2405,12311,7842,2643,12268,12206,7284,10018,10323,7897,12190,3459,12395,1035,12498,7082, 3873111,12332,8497,12439,12492,1852,12595,12611,108,12360,2235,2539,12603,1230,11740,3111,12537,12281,2869,2864,12192,12237,12514,12505,7631,4069,12483,12122,11637,10314,11655,10266,10358,10303,4698,3323,3347,12250,11937,3198,12196,5870,4225,12523,12288,12451,9676,6712,7970,10323,7222,8920,5809,2992,9001,3369,12206,6083,8636,12456,3353,2459,5822,10224,7903,8765,5471,2840,5833,11382,8770,11385,8776,11387,2853,5483,5793,3346,12514,7196,2E3,12652,11144,12238,7132,12289,12502,3438,6978,12592,12286,12211, 38812644,12053,12589,7555,6827,7189,2487,12619,3362,7684,12495,12449,2E3,12517,12593,12583,12306,12430,12515,12240,3153,12231,7901,12052,8918,7905,7252,2929,7254,7910,7349,5488,12513,12496,3470,4547,12490,5571,7783,12697,2092,12292,8847,7686,12230,12477,6526,12275,8917,12393,2864,12536,12494,12666,5951,8672,12215,12743,3367,8897,7821,7903,12600,6565,353,9037,9039,4749,2612,2014,2565,4786,1342,12544,2719,12274,12209,12628,3135,12266,7326,12718,3187,11588,12566,893,7898,3037,2601,3046,3042,3044,1596,12788, 3896413,3438,12340,12142,12586,8959,4598,2690,12773,12706,7845,12387,12731,12500,7816,12356,7818,12272,3075,12300,11650,12302,7749,12304,12602,2601,7365,12804,12252,12431,7279,11748,3474,12211,3183,12688,12260,3286,12310,12735,12704,12551,12246,479,12780,3028,406,12519,5624,9032,1411,12455,12738,2643,12270,7786,4583,12435,11815,12616,3504,12368,12691,12837,11920,12732,12354,919,7428,12713,2976,12750,7274,12337,12323,3382,12231,12779,12832,12853,12690,2071,12871,12742,12705,3306,12604,12405,12849,12596, 3902708,12466,7086,7482,12470,7090,10796,12287,12590,12226,12875,12372,2701,12880,6909,3382,12864,12379,12693,12805,2516,7069,12366,12817,3189,12851,12438,4430,12224,2307,3502,12893,3153,7413,8106,8683,3204,290,8265,8033,3066,3212,7934,12508,12568,7789,3221,7940,7792,7511,4901,7513,7796,7515,7798,12187,7518,12189,12762,708,9009,3108,11242,8673,12882,294,7491,9456,12857,12381,7161,12824,7541,12806,7416,8231,12624,12642,12685,6978,12828,3444,12822,12307,12283,12389,3062,12901,12821,12667,2346,12355,7984, 39112809,12319,2402,3402,7093,7822,7287,7096,4535,12978,12744,12721,7669,11589,7249,7672,6786,12725,6733,7347,12728,7912,12730,12689,12514,12847,12174,12424,12234,12878,3356,10079,12265,11744,7602,12434,1508,4719,12442,12656,8752,12658,6542,12951,3325,7667,7246,12529,7671,6785,6504,7345,12727,6735,11391,13019,3154,7479,6985,3160,7955,6574,7957,10259,12483,12110,12301,11865,11642,10341,10243,11583,11653,3433,7867,10262,5288,12407,3440,12489,12703,12872,12629,12744,7304,4508,12480,12606,12898,12802,12746, 39212294,3460,7841,12610,12212,13055,12383,10723,13064,13005,7620,8633,2048,2633,12404,7635,12910,12427,38,12891,2E3,12856,12971,12686,2495,13072,12538,12410,12972,3016,3952,7327,12398,12834,7374,12696,13083,12308,2353,12866,11062,353,3867,9975,11204,11069,406,6456,3155,6170,9562,2043,6587,6170,10577,4564,3671,13118,3513,10008,11083,4038,6197,11564,1671,8869,9524,10720,722,880,6623,13131,1500,741,6666,11041,10941,9607,98,640,7699,10788,11477,12158,11125,11706,10811,10745,5064,11593,357,11714,8309,1363, 3938883,98,12501,12954,6583,1895,5673,11747,13078,3065,13159,1895,13009,4559,3981,3602,12627,2984,528,98,115,6831,13162,13168,3767,13178,13180,6910,6478,12545,2713,12982,7824,13185,13181,6906,12958,8911,13179,6725,13022,3388,12991,13026,7907,7676,6791,7911,10297,1734,1674,7867,7869,13003,977,13160,7634,5398,4471,13165,13194,12203,12896,10730,13165,7210,12391,12357,6883,13165,13033,4881,6571,12886,7956,7723,6216,13193,13187,
39312692,13163,6959,13165,12412,7903,5323,12415,8921,8140,4706,13165,13216,5506, 39412810,1127,13215,12812,6859,9439,9022,7748,1275,13249,13179,13220,12745,12775,13177,13229,7915,11733,12950,9325,13179,7009,12848,10323,7788,12178,12571,7793,12933,7795,6556,7797,3234,12938,7800,12940,7802,2153,13255,12556,7689,11885,8991,7769,9364,13179,11736,6894,13258,8965,11549,13290,13171,12883,12866,12467,433,13233,13037,13235,13297,4613,12254,4857,8989,7767,13295,7692,12999,13160,13199,8133,6728,13202,6730,7675,13028,6792,9847,13313,12963,13185,6718,13266,9343,13198,13195,12708,9377,13263,6869, 39513256,6846,13301,13260,3853,12684,13322,7761,13222,7924,13224,13351,13082,4792,13170,8003,12173,7935,7113,12176,7938,12929,4897,12931,7942,7794,12183,12935,12185,12937,12579,12188,12581,6495,13242,7867,13197,13186,7415,9099,7340,12722,8957,12724,13328,6734,13330,13030,13209,8561,2313,3435,10238,13218,13342,7201,13306,7953,7720,13310,7039,12471,9245,1950,12063,13267,13273,6911,12598,12989,13190,2715,7053,7950,913,3602,5870,13160,13145,108,533,675,13262,13381,7452,2802,12463,1006,13350,12478,12808, 39612423,11376,13358,13335,7176,13435,13223,13338,6579,12966,882,13432,7849,13196,13341,13427,7238,13292,7766,13294,7863,13296,13272,115,12541,13337,13450,7501,7933,12754,12783,13277,7014,13366,12572,4900,4902,6555,6557,12578,6560,12580,12983,11234,13210,13394,10144,13441,13461,6823,13433,12975,13440,12977,13254,13305,13188,7051,13415,13376,13313,12655,13413,10862,406,11025,1248,4725,10773,11161,1895,13422,13424,8267,9742,8554,8670,11168,995,430,1125,3541,11066,8540,10958,3624,8734,7591,8706,11075,11080, 39713522,6290,6472,10713,2268,11090,3620,8282,8394,11718,9570,9731,11667,7993,8411,880,8413,11336,9194,8417,6587,8406,13541,8418,4826,5620,13545,2328,11816,13548,1803,122,13552,2984,121,13558,8942,11711,9521,11201,9387,8381,5371,12027,11874,11128,13508,6439,3635,12097,6311,11894,11890,5375,4688,9719,1568,9340,3038,10708,9685,10710,9651,10712,5737,7322,10702,13529,296,10747,4956,274,1892,9332,4987,595,11829,10588,1334,4999,10397,983,13605,12160,13593,4979,9330,5009,11821,11673,9525,5858,6408,4563,110, 3989292,5718,9302,5025,4245,5094,5570,2048,13618,3524,13621,5164,9530,5408,13603,3815,5145,9955,5197,11978,10822,842,983,65,527,426,8724,8177,9539,11443,4294,1695,8187,10290,415,1709,8075,9750,1708,1700,9156,8493,13137,8722,13637,782,430,5034,10698,5288,9308,1647,11442,10369,8714,11336,13665,13631,9298,5053,5408,5128,5061,5019,824,5089,13623,5564,7539,9306,1355,5285,6459,5408,9500,11807,13665,5087,13685,5066,5123,5070,5093,5044,13627,4560,9845,1334,13621,11411,13638,11846,13649,10369,13682,2617,6187, 39913622,4558,4243,13625,13704,13173,9307,13677,430,13701,1620,5125,13690,6495,13707,606,13621,13668,9299,13696,5155,2617,5063,13699,542,13727,4244,5071,102,1916,7540,6583,13732,13620,13227,5571,13715,4008,6174,292,8244,4767,8247,8938,13750,9318,9323,5301,2512,13619,5790,13764,13761,5302,606,9322,5813,7855,4294,821,13773,8360,13760,3443,1801,821,13768,7550,13780,13670,13665,7727,5102,5197,5104,11722,4800,10118,5129,11132,8853,5523,5901,10717,4192,13243,13616,3667,10233,12143,2698,5905,12146,5221,13806, 40012150,6873,10731,528,5510,13559,11470,4305,11249,4341,11375,11198,10939,13595,1503,10787,13519,10519,8016,13826,288,8560,11314,11828,11015,6334,9223,11484,8573,12119,8588,9237,9269,9241,11836,13842,12472,11701,13845,11831,12075,10801,12111,6216,10804,11022,9639,10220,11026,10809,13855,13610,8261,12093,8170,13157,3887,11468,4826,10718,1818,11319,13866,10173,5410,9071,8627,10249,11966,11108,10079,13806,13810,12323,5914,8637,8460,10702,9658,13849,11429,5229,11337,9090,8648,11341,9094,11852,11441,11935, 40111465,12251,5957,13870,10730,9165,12169,1063,9675,8713,13464,12264,12051,11940,10170,13673,11466,13695,11469,11197,7141,13823,5229,7928,9561,13915,10793,13648,9552,11367,1804,11406,594,11408,5289,8699,8732,11977,13713,10921,11063,777,11567,11315,13573,9279,11087,9797,1125,5706,11085,13946,5729,10184,9724,12635,13043,10315,10210,12639,10338,10258,5402,10075,10173,11827,13654,10928,9892,11466,13956,1827,10156,10313,13959,12637,10316,13047,11656,512,10886,10181,13122,7927,10288,10085,5933,10292,8216,
40210294,10296,13331,13039,9896,13042,11992,13044,11584,10137,13999,13048,10333,4687,11626,11651,11628,10203,10267,11643,13964,10924,10899,6371,11424,9152,8353,10032,9155,5884,732,11371,11370,9886,10061,4866,10078,10122,6415,543,1496,8560,1013,11719,1619,11936,12700,10259,9934,11017,13976,13998,13960,13046,14002,13981,9117,9965,9971,9967,8124,11661,14050,11663,10922,6151,10925,11483,13609,8871,1568,10404,10392,10408,11488,13848,11838,13825,10941,11528,12085,9576,10950,3956,10519,9603,10495,10497,10454, 40310662,4423,10554,10535,10504,10537,5344,10634,9554,3828,656,9795,11230,11206,11223,5502,10852,12059,1325,11569,1360,11102,370,1860,13412,5229,10767,8833,12544,11475,11672,6677,8295,6312,83,623,1445,10207,11176,11057,853,10955,728,10964,713,13934,753,8526,12125,12101,1717,5282,1501,9462,13889,10709,9485,10711,8028,528,103,11989,11948,10353,2638,819,5593,5546,9049,2784,14146,6655,1852,2938,11309,1869,13832,34,8494,9461,11069,14140,10251,12256,91,819,10421,259,44,14147,14153,44,6387,259,652,44,9262, 4041099,115,103,111,14169,14152,722,895,14170,14184,50,675,9775,606,260,12041,3276,14166,6686,8036,14182,14148,466,14173,100,14175,14177,908,14180,14198,14153,3790,14207,14187,14189,14176,3332,14193,9448,14135,13586,14137,13588,8028,3575,9835,13692,14029,5957,13913,6873,13920,7399,8092,6386,914,281,100,309,9472,14110,14069,10447,8380,67,476,1705,103,11169,12022,12095,10939,14246,13875,9413,5188,5707,11756,312,10875,5647,9250,13126,5116,11815,1805,312,76,14256,623,12036,6464,11815,14265,5047,4400,9250, 4059789,12064,13112,8092,2495,14266,5404,5494,13948,11204,7876,13569,11900,12006,14248,9382,11956,11895,676,5185,6671,8256,7562,9411,9748,10720,1799,13901,13940,13931,11133,14301,2617,8038,14153,5652,11346,13639,13941,13904,11134,9203,13902,9175,11466,14306,603,14308,603,85,9547,10440,728,815,10972,13930,13971,11848,14129,3552,866,10163,7993,1835,13733,13667,12909,7178,8447,14339,384,12852,7135,7430,2164,2778,7857,7369,1882,2778,13734,14341,7404,14353,14344,101,14346,2578,14350,7631,6867,3430,12244, 4061962,14363,12901,8462,8428,3552,13513,6642,3685,11675,8856,2612,8685,111,10273,10580,10500,14082,10626,2066,9642,8745,10672,2333,1761,9086,14088,9043,1888,10529,14081,10502,14084,10868,296,10669,10559,14400,10505,1744,10485,8993,7581,12164,13804,1513,12543,8835,13189,12547,108,5921,2626,12452,9006,114,9052,12944,10912,1464,6773,13361,427,13165,472,7554,8960,2014,4390,9050,14422,3091,13926,116,3205,3642,14225,14391,6228,616,14326,9170,263,13917,14444,12320,291,14361,1049,12943,2453,14426,2447,14422, 4077963,12737,13820,12528,3374,12531,11180,4884,12507,6546,8783,7294,8786,12660,14422,9033,14425,1803,12764,10410,7971,9043,12768,1943,12770,8834,9135,6932,6227,1905,616,8083,14388,12522,2333,1046,1461,3557,1835,12044,4919,110,11274,118,4400,10050,880,9797,10897,1777,14494,8832,12073,13838,10792,10405,6215,4176,386,6359,3644,8667,11434,1051,10410,13151,6216,11485,13842,11520,13844,13858,6333,12121,4470,14527,14519,8607,69,14522,8501,14524,14063,14060,2182,8335,12108,3693,13041,12123,1768,14538,14521, 40813566,599,601,10082,12118,14551,5080,5570,14520,543,14540,13566,9254,8597,14553,14564,14541,2999,14568,14562,14539,14571,1627,12113,11833,14318,594,14563,8608,14576,9554,2812,14527,6358,14564,9277,12160,14569,14583,5670,14129,13868,9453,6426,13001,12741,1384,470,12428,2031,12913,13056,1464,14597,6387,7401,13448,2984,14602,12912,12836,12914,6959,13908,12608,2030,7851,10066,555,12840,5571,1813,2802,1808,13585,6659,9686,9486,13589,4768,14524,13230,7300,13035,13403,7089,14139,13908,13274,13002,13276, 40912927,13278,12930,13469,12182,12575,13371,12577,12186,13374,12939,13494,6147,406,14455,14617,14524,13125,13985,4393,4725,13813,5221,2819,13885,2235,12459,14314,10020,555,14660,1197,12691,6589,14642,13269,6840,13271,1148,12795,12585,9504,12587,7316,1535,12751,14612,12695,14616,842,6027,5334,300,11923,14697,9519,14608,7805,13411,13189,12761,7802,4727,7480,4213,12363,11326,10320,12922,12396,1367,14692,14603,12712,14717,7374,12963,14613,278,14719,4305,8140,14709,4268,6987,14542,9454,10786,13394,4880, 4104341,7867,14735,9932,12695,12382,13092,5624,6922,13183,4654,14626,13315,9200,7408,7663,7446,14702,13438,6528,12976,9316,13908,13013,8071,9749,7707,12531,9682,854,12835,7227,12905,9988,14603,13087,
41014634,14732,11734,14723,4512,12336,14768,341,13908,12623,7271,1788,744,10399,11517,10369,406,8195,260,262,1894,121,2008,8033,290,13394,13051,7924,13908,7959,12525,14695,3017,13439,13062,14607,13908,13225,7167,13752,8906,14800,7191,14805,12747,5571,5631,6961,13356,10183,7649,12959,1203,12243,7631,13675,13231, 4113861,6861,9117,14415,9452,14680,3368,12631,13081,13217,11433,14732,12870,14606,14601,12552,13010,1186,13211,12375,6530,11012,7497,4327,14730,353,14229,14851,4704,14853,14772,6426,13299,7475,13258,819,9707,1471,11549,11741,12605,1464,5056,14227,12170,13915,9171,14451,10219,5386,12974,13226,14756,13814,14780,14691,4491,11460,4890,1633,6377,807,4706,14883,4557,13240,14523,14732,13182,12820,14878,13096,14771,14765,7374,14725,4190,5958,14700,725,11924,14859,6387,7653,7305,5350,14680,1880,519,14582,8033, 4121639,14676,1203,12647,8083,12649,14902,12309,14679,14524,13251,14098,14807,14524,7427,12397,9373,13908,7963,11431,14936,14933,7449,14838,5507,14618,13050,13396,14821,12651,12401,8226,12715,12970,14910,112,6973,13352,14261,2218,14872,6828,7867,13481,5229,4722,14728,4457,1777,7455,4379,11259,8726,13539,13819,5592,14262,14278,9954,14778,10562,10744,8016,3510,9727,353,4985,7993,1694,9124,9146,13656,9354,10974,433,13660,9848,4084,4253,4645,11787,110,14901,14747,1239,3510,9684,14630,13587,8642,3571,319, 41311207,6607,8656,14312,14304,10369,609,5861,9949,2157,780,9405,13712,15016,14319,11357,4407,4496,11513,853,7561,4413,14895,8669,14683,8553,2003,5870,5643,4884,10398,14035,13655,11420,10293,11425,14019,10904,8821,8087,10678,2066,13536,437,293,5893,591,8401,10440,8223,13693,11722,513,515,14672,12645,4096,9849,10351,13916,14302,13969,11029,14331,15067,4250,15069,4172,809,537,5139,11781,9932,13344,13300,942,287,14864,3907,5848,11549,9038,11287,13758,9530,9407,572,14505,710,383,7596,9703,6648,691,9974, 41412699,13641,14103,6455,736,5065,1592,99,70,1852,621,711,14160,8313,15097,7623,10875,13114,10476,8072,10879,8075,10882,8813,4884,6655,1679,14142,11213,2638,13599,268,4641,14997,4644,8762,11815,14901,383,10850,13873,12198,10848,11003,10053,6566,5738,14423,7854,11347,4367,15003,940,14628,9656,11436,10703,8058,13983,10872,14664,4305,15093,552,13632,1619,9531,5221,1639,78,431,3803,14441,3663,115,13710,15043,284,15121,487,552,1905,85,8335,4573,10531,14385,15028,8199,7564,9395,13653,4090,12012,1302,15136, 41514296,15195,9394,8259,407,15139,4252,15141,5133,3140,13669,10970,110,15057,606,8401,15006,7234,9465,9687,9240,15153,9438,15087,32,15089,3813,15091,878,11221,9999,5187,11373,8553,11472,14444,11474,11856,14313,12645,14056,1858,14578,9244,14580,753,14582,4985,14565,9622,10080,14557,12117,9428,14067,15247,6470,12106,5187,15251,3551,5306,8734,14071,909,119,15187,100,7455,1888,11232,8555,292,11059,10643,345,1054,6303,114,51,10661,10581,15193,10665,594,15279,8904,15282,14390,12148,3053,10670,6470,526,710, 416120,52,1625,14401,6326,15296,105,120,87,15269,10674,14075,9285,13975,9601,15268,716,4836,5201,15272,11208,15274,10642,10604,9458,395,552,15290,4977,15284,14399,853,15288,15324,15300,10561,14087,14404,15031,15303,15298,15332,10481,8791,15297,15306,15314,15308,11055,1977,8651,13803,15275,11060,345,1738,10607,10609,3321,3160,10612,15356,1313,14487,2617,271,770,11765,125,124,446,1880,15283,14384,15328,1001,15330,15281,15339,10587,15334,3859,3566,287,2923,8804,8333,14390,15132,5335,10541,10949,11683,15346, 4175695,11285,15153,8010,15320,10644,13308,32,15382,430,5947,3547,15327,14083,15329,15323,15375,14390,13635,5543,15388,289,14559,15350,15277,12520,4985,14582,14326,543,2527,15381,3332,15383,15402,15326,15371,15405,10666,14085,753,14403,10630,10667,296,14407,6779,378,4349,15421,3998,15415,15321,892,770,15423,410,15401,6573,615,15404,14386,15406,15280,15325,15431,345,15410,49,381,9119,15407,15456,15301,10506,3771,50,15345,5602,648,5239,15305,15307,10641,15276,15444,1311,15471,15297,5699,15399,15424,15449, 41815370,15192,15372,6894,15380,15482,15448,11594,6573,15465,12155,10574,1777,5719,6228,15137,10778,9742,5047,15343,1905,1888,8940,5597,2055,14224,15168,15123,10877,9146,15127,8810,813,11184,10884,1972,115,15012,260,15014,15024,15075,14038,14684,15019,1976,15022,11946,13640,11298,8722,15027,4430,15510,15073,5140,11722,13806,13763,13774,6939,13809,9327,11403,13887,9125,5930,10819,11419,5935,11421,8343,15047,928
4186,1906,15050,10034,15065,7775,11133,15410,15543,10826,5453,5201,13778,5227,13634,5209,15547, 4197656,10724,5246,904,5248,5255,8075,5255,5257,5259,5261,5263,32,5251,5266,5270,5250,5267,5262,1833,291,338,8832,14218,11437,15386,268,15134,11228,15202,13614,3663,11268,15150,606,5870,15149,15146,10234,14103,527,5686,15506,13939,15539,15533,12045,8698,4576,1461,15566,15571,11722,13629,5297,15574,6873,10180,15166,10463,6530,13750,15570,5690,11782,15237,14877,11070,12851,15269,15506,15304,880,4477,14778,15232,1570,15234,11823,814,6650,4170,15066,15527,726,8168,8850,10820,8703,3635,6271,9331,9294,9333, 42034,71,471,9855,11988,390,11752,115,11754,5780,11176,11774,385,11815,11777,13179,6091,5408,649,105,9833,12044,7235,11793,11769,9615,11352,15185,721,8927,970,760,14778,15692,11795,8102,11335,9314,15696,5737,11784,5686,15681,120,11804,13759,6092,7697,869,11059,12670,11807,3417,9991,11811,15684,5962,1922,5408,11799,11801,15E3,15713,3899,2663,15696,3635,84,11751,14153,15676,15652,10837,353,12154,941,955,13514,14337,1508,12436,14921,9031,12453,6712,12844,4305,14470,7292,9663,12510,12446,14437,9016,4241, 42114953,4101,8222,14441,12920,14443,15641,14490,6229,110,14448,10417,15072,12327,9001,15750,2692,14624,15398,6087,14453,6643,14478,3103,9013,14869,1384,14463,14905,14465,8751,14467,13017,12363,12359,14356,6999,14852,7477,2874,12753,12565,12539,109,12436,14624,2235,14414,14488,2712,14417,14419,15761,2613,3105,12843,15786,2984,14480,13922,7248,10324,12767,32,9045,14486,12772,3028,12908,12665,4393,14392,15772,14493,9057,7582,8087,14497,10578,472,14500,6913,14503,100,14505,5647,14507,367,14510,12162,14410, 42215252,887,807,10410,10720,4645,1300,10188,3723,6756,7963,15860,10163,6989,13453,12067,14925,15866,15862,6955,14893,14745,5137,6607,7737,4614,12255,7747,12814,12258,7411,14577,15861,2792,14619,2241,10071,916,11724,7738,7963,1033,7273,13085,2406,7631,15872,2792,7206,14685,10289,7971,6776,12799,4534,4706,4186,11734,15901,2962,7206,14844,13723,6959,4186,13172,7812,8671,15878,12584,15905,10323,15907,12344,8660,1852,1298,13293,15870,12560,15913,2511,15809,5797,15892,6832,12400,13105,15938,15923,15916,15921, 42311516,15887,15914,13343,11725,10157,12303,900,387,121,12369,14767,3824,15955,14930,8104,15944,7278,7032,11453,15897,7468,3251,15764,15935,10142,7308,15951,14042,6402,14751,12259,3887,14243,10404,11922,1360,14909,854,100,13974,13394,13212,7819,15966,15940,2694,2405,3929,15960,14952,14894,14824,15986,14861,4797,15882,4617,8966,7664,12816,14226,15878,14599,3201,14335,15873,7441,8987,10888,14687,12798,15928,9261,306,15893,15880,7659,14750,16005,7446,15971,606,7298,15805,6873,15896,3967,14847,12609,15168, 42415991,12827,14950,14677,16E3,15945,11737,15999,15956,12962,16040,16045,13176,6530,15919,13400,14728,13036,13404,12888,12112,15948,2511,6983,15833,13820,15939,16039,15942,4421,16038,16047,16066,1384,16028,15773,14369,15998,14690,15986,16010,13986,16059,10142,14946,12293,9908,15960,14923,12198,14925,470,16042,14603,13333,4186,14956,14820,10736,15939,16050,14905,16064,16069,15649,387,555,8033,16089,16046,12288,12506,14243,4592,12796,16017,7314,8960,8087,16012,15902,15950,11739,13316,12197,12558,12199, 4256495,16052,13463,16031,8957,13466,12570,14648,13280,13471,7945,7947,13286,7949,12601,6513,16068,14766,12963,16072,15863,6744,12916,7229,15996,12865,14778,16072,15915,16150,16011,16080,3931,14737,14850,5229,16033,15957,12963,4023,16021,15992,2517,12823,15876,4833,16117,2962,16145,7764,13452,13317,13454,12559,7864,15947,15867,16043,7158,15922,2365,16086,16123,14925,4227,13323,8724,7971,13387,13027,13389,13207,13994,16008,904,15937,14607,4186,14759,9678,13244,14762,13366,14764,16144,14962,16128,5571, 42616072,15779,341,16093,7630,15764,16106,7487,7631,645,15930,15881,13302,8967,16041,16107,2166,7080,16048,16020,621,12313,16218,15955,12740,15959,16090,14614,13239,16169,6524,4186,16237,15891,16009,16082,14600,572,16144,9654,14354,14340,16062,4471,16244,16158,13909,8906,16216,13485,14880,13487,4367,16072,14781,9373,16261,13265,14815,16155,15867,15085,7475,16225,16006,7951,16038,14837,13252,5229,16222,2489,14957,13814,16126,12758,14105,15824,14706,7899,16269,14841,13073,6883,16257,15988,14848,16099, 42715963,16240,3091,16033,12441,14760,12443,14472,6491,15760,16170,16156,4070,16252,4047,15900,16171,2511,6891,16253,14345,15799,5288,16152,16119,13429,15789,1105,16085,16015,12341,7903,15927,12588,16180,10188,16319,16315,15970,16317,2781,3430,14355,16255,5039,16141,12900,16075,15886,10163,16173,336,15961,16079,16273,16330,16112,12342,16018,16334,11368,14243,10409,119,15982,2120,15984,16164,16233,7215,16163,15991,16200,16071,16340,606,9668,16327,15877,348
4271,16108,16316,16312,16147,11248,16100,16091,16231, 428545,16287,12949,15162,7914,16165,15868,16176,15933,16179,16140,16394,15904,13385,3668,4674,16114,15908,6778,16232,15967,13104,14778,4227,16078,4393,16375,110,15865,16415,16353,7998,11476,10923,15872,9269,448,10890,10249,13841,14560,9737,8270,13154,15746,15266,1760,13841,6136,15858,10624,10663,15286,753,16432,14375,15409,1735,15294,13641,14390,2819,1532,15496,14295,15605,1719,9733,558,14529,16429,4997,14066,16459,6211,6334,12122,14587,13860,14550,16466,7353,10798,14579,9267,6213,14545,9270,15256,16462, 42913152,13831,14070,12165,5504,13679,4767,15173,6828,14196,3126,14303,15526,15108,8713,584,1756,4520,3909,11457,15662,13932,11459,11967,14317,11943,4206,14865,373,4027,10084,9974,13797,11466,11912,13918,14314,11916,13600,853,15984,2292,16365,2066,15984,5380,14322,1715,5893,14329,15015,16491,15534,9301,1880,489,5156,16514,15076,10482,584,16525,14324,12050,11939,16528,15525,16504,6423,13908,11734,16520,14876,15539,14037,16492,14577,3891,11941,11464,15258,15108,1777,10747,11069,12042,13549,594,9496,713, 4309987,1804,8042,7976,281,3634,6276,348,364,351,16456,8541,11505,15246,12161,11711,15265,16482,9283,1505,13672,10036,6277,11066,437,10914,11473,8726,9105,6277,16577,109,11260,9290,15665,13613,6246,9295,13954,5858,10918,374,15707,288,14107,15156,6873,122,15630,5221,5848,6657,13511,9409,15667,5851,9388,11667,3541,10521,16607,6249,15536,11792,5960,11455,10323,13658,6042,10997,5978,9755,9752,10994,6045,5988,9760,10985,6044,9763,16642,10989,10977,10991,6064,9768,10988,9779,6009,9777,16653,11E3,6073,8356, 43113113,13803,14121,6277,6291,14124,545,9378,14120,1001,16627,5666,10964,5726,16666,13528,8189,8191,373,15040,8491,13687,5091,13729,13705,7541,8357,13217,15213,7986,6143,16682,6629,121,1825,15054,11069,5861,1306,15155,16558,16546,3886,6250,14281,15120,9958,12839,14960,1062,14556,4760,13987,4579,9350,9984,8075,9984,10297,11820,1717,8292,13827,5416,15513,13829,568,13584,14217,15007,14219,15009,6211,7252,2625,13874,13577,1826,960,14116,8577,10923,12067,3510,14115,649,16743,14155,10714,14240,9519,11647, 4329861,8710,12073,10439,14874,14450,12078,10412,15697,15013,16424,3961,15245,12079,8755,14325,16759,11037,10397,2831,11669,16478,16583,10939,14512,12126,8552,10833,675,14798,12384,15538,12849,1685,11107,9200,819,14888,15827,6378,13661,8514,10836,8531,8081,1514,109,15781,5954,6087,8583,2030,12360,13308,6087,16782,10249,16711,2206,1685,16214,16810,14738,4626,12669,13189,8768,12676,5476,2510,8772,11388,8774,2857,8776,5793,5990,16800,13503,288,9459,8794,11069,3681,98,109,14629,15220,14631,14138,8576,4097, 43315219,6903,15221,14632,8028,1476,52,16841,16848,16843,14220,8445,757,9721,16536,15658,14827,4305,14855,12136,3871,16854,9702,16856,16734,6347,13134,724,12198,16835,4953,1501,10111,11593,11432,5167,9738,16752,437,868,406,13835,14412,340,14939,15120,8367,13786,12319,3674,11983,11720,5028,5930,7569,16631,9101,16899,15063,16684,5124,9305,16687,4654,15042,8340,8352,15046,14017,8354,10909,14546,13113,8349,16912,14017,16914,10906,14018,15560,1526,279,16920,9692,15047,16926,9168,3203,9400,9125,8361,4792, 4349792,5292,16937,8419,14283,16739,1729,16453,16723,15052,11097,11815,12139,5288,1639,14667,5571,1639,14670,2206,5464,8264,12035,9524,15031,13564,5610,16960,8266,1004,9523,15023,4767,15200,753,5280,16964,3514,16966,5647,15231,406,9375,5350,3671,1888,6657,16289,6873,14980,12064,11815,9379,5456,7108,11393,13818,15823,12298,8335,11236,16977,16962,1001,13536,17E3,8495,16911,8820,15045,13991,15557,10908,16916,11268,8168,15176,291,258,11288,16529,16704,11220,406,16954,12060,12130,12040,12138,5350,13750,14275, 4359314,16709,4070,13924,5116,12130,14974,4583,1639,16981,2730,16998,10876,16994,6253,55,16894,4367,411,17018,5053,11929,5288,6103,17015,6817,291,5554,3514,14268,6253,16611,5230,3895,16939,15062,12406,17042,556,16617,5571,13112,8336,108,13784,15567,12220,17068,15625,15638,8240,9834,4835,16557,5036,16553,16531,9168,13113,11196,17070,16712,16498,10840,16663,11246,13769,5055,14539,16551,11942,9553,16956,17037,3443,1706,17050,8360,48,16486,1062,14931,1384,14107,4583,16616,14282,10385,11015,15410,13608,13863, 43614030,16542,10441,8676,16761,11503,10413,16770,11939,606,16772,13609,14595,11674,11044,10945,2119,10947,11049,13996,10548,8838,1521,13803,15451,15428,15453,1001,2530,15409,14087,14408,6640,48,6997,11148,7884,6673,16629,8469,209,10745,11141,14130,1667,11174,9732,13147,10923,9489,14517,11511,12074,17134,16883,10761,9595,16889,558,121,17030,4305,15712,17065,4407,5620,17181,8803,6607,6169,2E3,8802,5039,6607,1888,17192,3443,122,17187,16345,9788,17184,15168,17194,111,4851,11057,16614,5221,10968,12988,10970, 43716633,13653,7971,16636,10976,16638,10978,16653,10980,9762,10987,9917,9761,10986,9759,16649,16654,17218,16652,6058,9780,6070,10996,10995,6E3,16659,10996,11001,6566,17189,8099,3091,5490,17199,12140,9194,17246,6594,16946,1667,13517,8282,11568,13521,14101,5187,1395,15030,17002,9997,13950,13140,10
437745,17253,8301,11536,11313,10771,8283,17256,11660,14022,16927,3675,15167,4745,17263,9968,17269,17263,13864,17266,325,9059,14291,1743,11659,17178,8878,14290,14286,5498,9972,288,12069,10956,10507,11069,936,8931, 438728,8901,15114,8675,9200,17111,17104,11248,13906,13923,10739,16420,14111,15668,1571,514,15022,15500,12156,4655,11718,16775,16469,11478,260,17324,12114,11525,9382,16603,10223,16605,17177,10720,12009,12465,13307,12885,3408,6750,1596,15171,5400,11722,16706,5647,12630,15764,17347,738,2114,7963,13671,9529,10919,15241,15658,12009,17344,15184,15572,1844,2217,15144,1046,2496,16001,7847,7751,1844,13743,13721,13748,1125,17337,12563,16391,13592,3547,17073,5695,17368,16274,7808,14103,14051,17061,13634,11235, 4396457,9194,2496,7963,5051,16484,13633,11722,638,1844,10118,4851,17391,108,17383,17378,7916,11734,806,970,11946,12083,5239,4359,8216,6148,710,4921,1805,329,11236,7681,1844,4351,7631,9468,15539,5152,10824,9149,711,2567,14231,4164,9049,8722,17393,17407,13270,16392,450,10061,17404,17406,1596,11913,16554,1838,431,17394,16378,16593,12563,15731,15172,11721,7746,13402,12469,13234,13405,16872,17439,14682,17441,9831,17450,12563,17206,17364,1656,14694,14025,11718,17384,15974,14845,5142,1844,14901,615,17382,17438, 44012757,3091,17351,15183,4033,15727,17469,16906,4649,16908,15917,17453,1596,7745,13720,5028,13747,13730,17474,10680,17484,13146,6253,17086,15621,17449,9142,6370,13720,16686,17495,17503,355,4027,7641,16490,17020,1470,17483,17475,17454,12884,7954,7482,5200,1844,15602,16177,91,17317,698,1606,16623,268,8666,3730,15719,7971,4775,1575,15088,337,4723,11617,1594,13726,17492,13728,17494,15946,13965,6251,7321,12757,6568,15398,7087,721,16254,9349,13680,9300,5168,17293,14292,3615,16579,8748,16428,17325,14532,13863, 44117135,17290,1787,17397,15172,13681,17093,5821,8207,17031,17399,13872,15609,16738,12028,5541,17588,3788,3177,15546,13808,5291,8709,10834,2120,13936,13821,8410,17309,16160,15793,5460,12657,7980,12534,15413,17313,15755,8780,16306,14645,7293,16309,14474,9031,8146,6926,7903,12673,11381,16825,11384,16824,5835,16826,5842,16828,17631,16830,16197,13869,17044,7870,3678,14985,5174,17160,1566,14277,312,16754,8934,8905,1325,16736,9835,8083,11159,7951,11612,4520,102,9969,5757,12676,7963,16865,13914,13113,17647, 44217306,17649,2363,14126,1687,13663,9497,13275,7382,17656,79,17658,10320,5498,1322,15648,6587,17676,17678,3680,17660,2851,7032,11294,8718,4390,8720,11133,2838,880,17657,17659,3612,9098,17688,12290,16819,2834,5829,5840,8769,16823,1738,17630,12681,17632,453,5844,12683,11220,14976,17646,9860,17648,17683,17696,17677,17698,1743,17700,584,7432,15264,13582,16575,363,350,16600,14972,11167,9409,9720,14972,8476,11275,11270,14254,17168,1513,1093,10805,9639,17577,14300,17583,4870,10346,11086,14284,9177,9074,8837, 44310350,11908,16861,17448,16513,16503,9553,10735,5288,1813,10896,17090,5494,12032,8397,11079,8889,13966,17146,10852,17301,8899,17303,8933,17667,14981,5332,17297,14123,15378,346,16598,17733,13945,16728,798,13973,10337,14011,11630,13980,10245,14588,101,13120,13023,3775,8128,3778,9043,10204,15176,620,17796,13045,10276,17799,9905,14004,10155,9603,12813,13977,11652,14009,13962,17797,9814,14048,11658,17388,9922,14053,17295,14779,4662,17803,12508,17806,8331,2612,10204,11414,10198,17815,13961,11631,11644,11633, 4444686,15311,17820,14043,13978,17844,17843,10318,17006,10029,11420,8825,8827,14020,17801,17803,17196,17767,15914,12055,17812,14E3,14010,17813,17846,5131,16576,17733,4312,17790,365,14004,11024,816,14742,7660,11627,10306,17814,14046,17800,422,8649,17863,16631,16942,17118,11477,15042,17328,16472,10407,14062,17573,17329,16463,14065,14526,17902,16479,5520,16481,17413,17137,12086,17139,12088,11054,11050,8878,384,17811,11051,17867,9285,17880,8565,11696,17789,13527,11076,17643,14378,17622,17541,10323,12672, 44512675,17627,17237,17936,5841,12680,8161,8777,12659,14333,8189,17735,17929,8205,11418,17428,10901,8823,17858,10905,17860,8355,10361,17946,2120,8474,15235,16594,16499,9725,16421,14057,14041,15257,9236,11482,12159,17122,6126,10445,14239,17176,10448,12084,16587,14076,11533,15389,17925,258,4959,4961,14907,17736,8270,15984,13952,383,6245,1667,9494,13836,11477,11031,16776,13982,5718,11498,17999,11089,9293,16454,9434,15859,11395,16123,9130,14489,15165,17276,15634,5592,8093,15240,15025,14314,16810,16796,4085, 44615741,3317,404,14989,10900,1700,13657,14993,13659,435,11450,9083,15704,16569,1062,11416,12290,17949,7971,10031,15558,17012,14021,11370,17280,11372,11823,9123,14311,15544,12140,17892,13781,15660,8306,14330,17521,10434,8839,17019,9553,9141,11452,8185,9748,8419,17772,5536,17774,8409,17336,8168,8791,1835,8944,17187,4580,5587,16959,8276,16961,3507,17786,4028,18083,16967,16662,17073,16664,1001,18086,16668,10853,16919,18088,17060,2066,18086,17004,13664,5084,711,17720,17066,11456,13966,8947,13420,8896,18086, 44710008,8947,17013,2030,869,99,16754,18079,6078,17062,10172,5246,12129,10599,17299,1360,18113,10061,17788,4725,3927,2753,111,2450,16511,14314,9533,10021,18078,17202,15539,49,11806,4583,16700,6388,16663,5201,9545,9950,13647,18063,13932,543,16969,5870,18101,18098,6625,17716,446,555,18120,18143,16691,16032,6731,18106,
44716708,15627,16983,111,16985,12366,17944,8733,17318,17536,18006,17538,7992,11069,17112,572,17114,17197,17784,14156,13142,16725,6312,11231,14095,5530,14097,17605,17048,552,691,1666,15522,18052, 4484767,15620,5867,17034,10734,1803,18188,16952,3731,15233,11821,437,17116,17314,17975,6308,13833,15517,665,10501,606,16698,17947,256,18148,5952,17101,13932,1639,1387,16812,9127,2037,5885,3815,10531,10289,18232,14305,12116,4761,3891,16509,2257,4243,15628,424,8216,18251,13208,5963,11688,14918,18018,16530,9201,16722,17165,16678,382,356,11705,15181,2715,6868,10518,14561,17578,3887,4288,3042,12673,17682,14936,4662,1518,5893,17001,14314,952,373,16191,10323,638,279,728,970,3044,807,8206,277,10204,15189,8092, 44914014,13958,17851,17822,12638,17845,14012,18299,3507,9081,11975,928,65,14505,1852,16535,14444,4782,10094,8651,10374,14314,17535,11907,9851,14503,18313,1595,16986,17087,11645,18226,18017,15975,18305,17798,17887,17816,9301,3554,3556,15843,9709,3935,3553,3555,4187,18341,6413,287,18344,18340,3558,14891,4662,18320,16537,5654,117,8728,8537,6202,3545,10347,10248,77,18332,13997,10158,14044,17886,18369,17846,11808,9991,17084,18206,17358,17448,15158,807,15863,18374,17100,16703,9553,4069,8609,6817,4783,8651, 45017868,13048,17870,14E3,2964,10371,10130,101,18312,2054,18315,15641,319,386,14199,10171,4234,9076,12103,10878,678,486,8216,744,1220,8813,13320,5957,514,14816,7235,2624,621,554,114,14079,17507,13903,18356,14183,11787,112,6399,1592,407,18355,15658,11623,336,18125,18286,16402,14166,9358,18291,10883,18294,513,18296,10333,619,970,2525,18318,11600,8043,10252,17854,18370,17852,10318,4069,10348,101,18453,4774,18455,18391,17823,18334,17826,6513,18389,18455,258,1880,1813,5248,2008,11614,3784,8490,8216,18479, 4515429,18481,3513,18255,18274,18399,18314,9019,15641,8284,16509,14505,1461,8763,4243,488,15857,520,8216,18500,850,608,3275,4022,18473,4665,18490,18327,18308,5082,537,17072,15147,16123,9518,6573,1107,15184,9886,282,107,2380,11241,18432,649,18434,103,18436,17448,6334,8038,4489,108,18375,10284,18428,15658,1633,11301,16123,5605,18509,12770,18307,2382,10724,11561,17965,697,14090,11489,11520,18285,955,1461,17897,10932,11034,16758,17131,11832,18561,6357,13512,15745,16444,17136,11529,256,5602,65,13179,14432, 452323,10708,15443,10644,4543,15403,17148,10664,13890,15435,505,8027,14088,8687,18496,18398,17958,1778,15452,18585,2066,15353,40,41,32,61,62,1342,4289,15555,15465,830,310,610,15345,17543,323,262,11718,15395,15476,10644,11042,15427,15486,15429,16842,8640,18608,8808,115,78,8535,15412,319,18615,17556,17677,4761,514,4939,15396,12053,18583,18622,17149,18624,9485,18626,18637,18629,3677,16447,9593,17976,12082,15494,2512,17556,15345,4160,15861,18633,16707,273,16439,15285,2120,18620,15457,296,2844,18656,14088, 4535602,66,121,18636,3804,18648,692,18580,345,1244,18519,15485,10625,18597,15598,15376,2169,18627,18677,10508,14968,7975,16888,10720,16891,17061,46,17110,1325,17487,16940,17047,9004,8318,16902,9406,15715,8317,1527,16897,175,1619,8321,5561,17551,9304,4052,17502,1042,15552,17428,8341,16923,17807,11420,8221,16919,17949,4243,18722,17009,16915,1708,18725,11081,8897,18720,18042,16931,18734,8356,16934,16690,5697,18699,2130,18167,5697,17457,17893,11526,11170,1503,275,11844,100,15471,6166,16604,17994,16606,17793, 4548309,1499,17770,12376,1499,6302,8662,14144,12302,383,14505,2626,11557,729,1805,103,11549,9374,4169,14163,16003,2188,18772,514,2784,1244,18777,18779,9344,16996,13228,9615,16951,13353,9615,17023,1325,8907,16957,2130,1499,18795,7169,17207,17097,12272,1499,18798,18802,1691,18801,9408,17989,13612,17333,18760,17316,17262,18266,8951,16172,9217,10263,12636,18303,13979,18336,10342,10259,3932,17849,18301,18368,18460,18459,18827,18830,18330,6389,6931,1045,1892,18782,17884,10359,10304,18470,11549,15632,18014, 45514778,12632,13996,17850,18835,18838,14045,18371,14012,9909,17819,18834,18849,14001,18860,12641,10898,13189,14016,16924,11426,10033,17516,10076,3914,12922,13597,8924,18538,14036,18540,18378,17866,10592,18333,18458,10339,18829,10318,15650,17257,18216,9920,14049,17289,15329,17831,3580,11664,11829,17170,17747,7485,16488,18756,17904,9238,17906,17969,14058,17971,17968,17899,338,14544,17972,12083,1568,16363,17974,13141,16884,16434,17138,17980,11054,15470,3731,15507,15647,15538,18679,18704,14074,5572,452, 45615022,17195,526,97,9673,18934,833,13911,708,10515,11342,14118,8878,15178,11494,6440,1777,8789,17073,5627,9410,15196,15206,13653,10720,3804,10168,83,9403,603,15119,8320,9958,17623,17950,115,10168,9149,18974,5611,102,10167,97,16750,15259,12102,14297,18960,9412,369,18733,3685,8567,10589,18459,16909,12832,16904,6654,4603,11591]}); 457define("is",["require","ek","oR"],function(a){function e(g){var p=c[g];if(p)return p;if("string"!=typeof g)return c[g]=function(){return g};var q=(p=f.exec(g))&&parseFloat(p[1]);switch(p&&p[4]&&p[4].toLowerCase()){case "vw":return c[g]=function(n){return n*q};case "vh":return c[g]=function(n,r){return r*q};case "vmin":return c[g]=function(n,r,t){return t*q};case "vmax":return c[g]=function(n,r,t,u){return u*q};default:return c[g]=function(){return g}}}function k(g){this.hb=g;this.VH=this.VH.bind(this); 458this.hb.bind(b.lc,this.hc,this,!0);this.a$=new Map;this.fS=[];this.hc()}function m(g,p,q,n){var r={};r.instance=g;r.e1a=p;r.name=q;r.value=n;h.push(r);d||(d=setTimeout(function(){d=null;l()},100))}function l(){d&&(clearTimeout(d),d=null);var g=h;h=[];g.forEach(function(p){k.kY(p.instance,p.e1a,p.name,p.value)})}a("ek");var b=a("oR");k.prototype.hc=function(){this.fUa();this.a$.forEach(function(g){for(var p in g)this.VH(g[p])}.bind(this));
458this.fS.forEach(this.VH)};k.prototype.fUa=function(){var g= 459this.hb.Ab();this.bY=.01*this.hb.Xa();this.WX=.01*g;this.jua=Math.min(this.bY,this.WX);this.iua=Math.max(this.bY,this.WX)};k.prototype.VH=function(g){g(this.bY,this.WX,this.jua,this.iua)};k.prototype.FUa=function(g){this.fS.push(g)};k.prototype.FZa=function(g){g=this.fS.indexOf(g);0<=g&&this.fS.splice(g,1)};k.prototype.kY=function(g,p,q,n){function r(u,v,w,x){p.call(g,q,t(u,v,w,x))}var t=e(n);(n=this.a$.get(g))||this.a$.set(g,n={});n[q]=r;r(this.bY,this.WX,this.jua,this.iua)};k.Yc=new Map;k.get=function(g){var p= 460k.Yc.get(g);p||(p=new k(g),k.Yc.set(g,p));return p};k.kY=function(g,p,q,n){var r=g.get&&g.get("application")||g.Gb&&g.Gb();r?(l(),k.get(r).kY(g,p,q,n)):m(g,p,q,n)};var h=[],d=null,c={},f=/^\s*((\+|\-)?(\d*\.)?\d+)\s*(vmin|vmax|vw|vh|px|%)?\s*$/i;return k}); 461define("ms",["require","exports"],function(){return function(){function a(){}a.Fca=function(e){if(this.Qg("crossorigin",!1))return!0;if(this.qZ(e)){var k=window.location.protocol+"//"+window.location.hostname;window.location.port&&(k+=":"+window.location.port);return e.substring(0,k.length)!=k}return!1};a.tw=function(e,k){if(this.fYa(e))e=window.location.protocol+e;else if(!this.qZ(e)&&!this.wz(e)){if(k)if(0==e.indexOf("/")){var m=k.indexOf("//"),l="";0<=m&&(l=k.substr(0,m+2),k=k.substr(m+2));m=k.indexOf("/"); 4620<m&&(k=k.substr(0,m));e=l+k+e}else e=k+e;this.Fm.href=e;e=this.Fm.href}return e};a.WXa=function(){switch(window.location.protocol){case "http:":case "https:":return!0;default:return!1}};a.fYa=function(e){return 0===e.indexOf("//")};a.qZ=function(e){if(!e)return!1;var k=e.indexOf("://");return 3<=k&&5>=k?!0:0==e.indexOf("filesystem:")};a.cYa=function(e){return e&&0<=e.indexOf("/pdfjs/")};a.getDirectory=function(e){e=this.tw(e);e=e.split("?")[0];e=e.split("/");1<e.length&&e.splice(e.length-1,1);return e.join("/")+ 463"/"};a.Yi=function(e){this.DG||(this.DG=this.Gla());return void 0!==this.DG[e]};a.getQueryParameter=function(e){this.DG||(this.DG=this.Gla());return this.DG[e]};a.fBa=function(e,k){var m=e.split(k);e=m[0];(m=m.slice(1).join(k))&&(m=k+m);return[e,m]};a.hz=function(e,k){if(!k)return e;var m=this.fBa(e,"#"),l=m[1];m=this.fBa(m[0],"?");var b=m[0];m=m[1];return 0<=m.indexOf(k)?e:b+(m+(m?"&":"?")+k)+l};a.parse=function(e){this.Fm.href=e;e={};e.protocol=this.Fm.protocol;e.hostname=this.Fm.hostname;e.port= 464this.Fm.port;e.pathname=this.Fm.pathname;e.search=this.Fm.search;e.hash=this.Fm.hash;e.host=this.Fm.host;var k=e.pathname?e.pathname.lastIndexOf("."):-1;e.YVa=0<=k?e.pathname.substr(k).toLowerCase():"";return e};a.getExtension=function(e){e=this.parse(e).pathname;var k=e.lastIndexOf(".");return 0<=k?e.substr(k,e.length):""};a.Qg=function(e,k){e=(this.getQueryParameter(e)||"").toLowerCase();return this.kZa(e,k)};a.kZa=function(e,k){switch(e){case "false":case "0":case "no":case "n":return!1;case "true":case "1":case "yes":case "y":return!0; 465default:return k}};a.dwa=function(e,k){e=parseInt(this.getQueryParameter(e));return isNaN(e)?k:e};a.YY=function(e){e=parseFloat(this.getQueryParameter(e));return isNaN(e)?void 0:e};a.Gla=function(){for(var e={},k=window.location.hash.substring(1).split("&").concat(window.location.search.substring(1).split("&")),m=0;m<k.length;m++){var l=k[m].split("="),b=decodeURIComponent(l[0]);l=1<l.length?decodeURIComponent(l[1]):null;e[b]=l}return e};a.Fm=document.createElement("a");a.DG=null;a.wz=function(e){return e&& 4660==e.indexOf("data:")};return a}()}); 467define("lx",["require","exports"],function(){function a(d,c){function f(){}f.prototype=c.prototype;d.prototype=new f;d.prototype.constructor=d}function e(d,c){c.forEach(function(f){Object.getOwnPropertyNames(f).forEach(function(g){d.prototype[g]=f[g]})})}function k(d){setTimeout(function(){try{d()}catch(c){l("Deferred callback failed",c)}},1)}function m(d){if(d!=h){h=d;try{if(b){var c=document.createElement("div");c.innerText=d;b.insertBefore(c,b.childNodes[0]||null)}else console.log(d)}catch(f){}}} 468function l(d,c){var f=[];f.push("Exception: "+d);c.message?(f.push(c.message),f.push(c.stack)):f.push(c);m(f.join("\n"))}var b,h;return{pY:e,NVa:function(d){for(;;){var c=d.pop();if(!c)break;if(c==d.length)break;d.splice(c,1)}c=[];for(var f=0;256>f;f+=1)c[f]=String.fromCharCode(f);var g=256,p=String.fromCharCode(d[0]),q=p;for(f=1;f<d.length;f+=1){var n=d[f];n=c[n]?c[n]:p+p.charAt(0);q+=n;c[g++]=p+n.charAt(0);p=n}return JSON.parse(q)},defer:k,deferred:function(d,c){return function(){var f=arguments; 469k(function(){d.apply(c||window,f)})}},extend:function(){var d=arguments[arguments.length-1],c=Array.prototype.slice.call(arguments,1,arguments.length-1);a(d,arguments[0]);
469e(d,c);return d},WVa:function(d){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";d?b.style.top="0":(b.style.width= 470"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,QP:l,Bo:function(d,c){var f=!1;return function(){f||(f=!0,k(function(){f=!1;d.apply(c||window)}))}},yZa:function(d){for(var c=[],f=0;f<d;f++)c.push(Math.floor(16*Math.random()).toString(16));return c.join("")},toArray:function(d){return void 0===d||null===d?[]:Array.isArray(d)?d:[d]},CXa:function(d,c){if(d.length!= 471c.length)return!1;for(var f=0;f<d.length;f++)if(d[f]!=c[f])return!1;return!0},isString:function(d){var c="[object "+d+"]";return function(f){return Object.prototype.toString.call(f)===c}}("String")}}); 472define("nH","require jquery.mod ek bp is ms lx".split(" "),function(a){function e(c,f,g){this.ZA=c;this.kK=g;this.FV=f.parent;this.xMa=f.isValidRoot||!1;this.p8={};this.j8=[];this.Opa=[];this.Npa=[];this.IS={};c=f.properties||{};for(var p in c)g=c[p],this.p8[p]=g.type,g.isUrl&&this.Opa.push(p),g.isSize&&this.Npa.push(p),void 0!==g.order&&(this.j8[g.order]=p),void 0!==g["default"]&&(this.IS[p]=g["default"]);this.Lpa=[];this.Mpa=[];f=f.events||{};for(var q in f)f[q].isDeferred?this.Lpa.push(q):this.Mpa.push(q); 473this.Yx=this.Gx=this.LK=this.WW=this.PC=this.QX=this.cD=this.oF=this.PE=this.WJ=void 0;this.Cma=!1}var k=a("jquery.mod"),m=a("ek"),l=a("bp"),b=a("is"),h=a("ms"),d=a("lx");l=d.NVa(l);e.prototype.RWa=function(){if(this.FV)return e.Fj(this.FV)};e.prototype.vD=function(){return this.ZA};e.prototype.qP=function(){return this.Vx()?this.tu().qP().concat(this.ZA):[this.ZA]};e.prototype.hasAttributes=function(){return 0<this.getAttributeNames().length};e.prototype.hasAttribute=function(c){return this.Wba(c)? 474!0:!1};e.prototype.getAttributeNames=function(){void 0==this.WJ&&this.Cja();return this.WJ};e.prototype.owa=function(){if(this.j8)return this.j8;if(this.Vx())this.tu().owa();else return[]};e.prototype.Vva=function(){if(this.oF)return this.oF;this.oF={};if(this.Vx()){var c=this.tu().Vva(),f;for(f in c)this.oF[f]=c[f]}if(this.IS)for(f in this.IS)this.oF[f]=this.IS[f];return this.oF};e.prototype.Wba=function(c){void 0==this.PE&&this.Cja();return this.PE[c]};e.prototype.AXa=function(){return 0<this.xwa().length}; 475e.prototype.xwa=function(){void 0==this.cD&&this.Kja();return this.cD};e.prototype.eXa=function(){void 0==this.QX&&this.Kja();return this.QX};e.prototype.yXa=function(){return 0<this.vwa().length};e.prototype.vwa=function(){void 0==this.PC&&this.Jja();return this.PC};e.prototype.cXa=function(){void 0==this.WW&&this.Jja();return this.WW};e.prototype.oXa=function(){return 0<this.aca().length};e.prototype.Jwa=function(c){void 0==this.Gx&&this.fF();return-1!=this.Gx.indexOf(c)};e.prototype.aca=function(){void 0== 476this.Gx&&this.fF();return this.Gx};e.prototype.sXa=function(){return 0<this.gca().length};e.prototype.Kwa=function(c){void 0==this.Yx&&this.fF();return-1!=this.Yx.indexOf(c)};e.prototype.gca=function(){void 0==this.Yx&&this.fF();return this.Yx};e.prototype.pXa=function(c){void 0==this.LK&&this.fF();return-1!=this.LK.indexOf(c)};e.prototype.AWa=function(){void 0==this.LK&&this.fF();return this.LK};e.prototype.ewa=function(){return this.xMa||this.Vx()&&this.tu().ewa()};e.prototype.an=function(c,f,g, 477p){this.NOa(f,g);var q=this.kK;var n=p&&0<p.length?new (d.extend(q,function(){q.apply(this,p)})):new q;n.set("application",c);n.set("baseDirectoy",f);n.set("queryStringParameters",g);n.set("class",this.vD());return n};e.prototype.NOa=function(c,f){this.Cma||(this.Cma=!0,this.hIa(c,f),this.$Ia(),this.AEa())};e.prototype.hIa=function(c,f){if(this.AXa()||this.yXa()){var g=this.kK.prototype,p=this.eXa(),q=this.cXa(),n=g.set;g.set=function(r,t){p[r]?(!t||h.wz(t)||h.qZ(t)||h.cYa(t)||(t=h.hz(h.tw(t,c),f)), 478n.call(this,r,t)):q[r]?b.kY(this,n,r,t):n.call(this,r,t)}}};e.prototype.AEa=function(){var c=this.kK.prototype;
478this.getAttributeNames().forEach(function(f){Object.defineProperty(c,f,{get:function(){return this.get(f)},set:function(g){this.set(f,g)},enumerable:!0,configurable:!0})})};e.prototype.$Ia=function(){var c=this.kK.prototype,f=this;this.hasAttributes()&&(c.set=c.set,c.get=c.get);if(this.oXa()||this.sXa())c.bind=c.bind,c.getBindings=c.hI,c.hasBindings=c.Hwa,c.trigger=c.trigger,c.unbind=c.unbind; 479c.getClassName=function(){return f.vD()};c.getClassPath=function(){return f.qP()};c.getAttributeNames=function(){return f.getAttributeNames()};c.getEventNames=function(){return f.AWa()};c.hasEvent=function(g){return f.pXa(g)}};e.prototype.Cja=function(){this.WJ=[];this.PE={};for(var c in this.p8)this.WJ.push(c),this.PE[c]=e.q5(this.p8[c]);if(this.Vx())for(var f=this.tu(),g=f.getAttributeNames(),p=0;p<g.length;p++)c=g[p],this.PE[c]||(this.WJ.push(c),this.PE[c]=f.Wba(c))};e.prototype.Kja=function(){this.cD= 480this.Opa.slice();this.Vx()&&(this.cD=m(this.cD).union(this.tu().xwa()));this.QX={};for(var c=0;c<this.cD.length;c++)this.QX[this.cD[c]]=!0};e.prototype.Jja=function(){this.PC=this.Npa.slice();this.Vx()&&(this.PC=m(this.PC).union(this.tu().vwa()));this.WW={};for(var c=0;c<this.PC.length;c++)this.WW[this.PC[c]]=!0};e.prototype.fF=function(){this.Gx=this.Lpa.slice();this.Yx=this.Mpa.slice();this.Vx()&&(this.Gx=m(this.Gx).union(this.tu().aca()),this.Yx=m(this.Yx).union(this.tu().gca()));this.LK=m(this.Gx).union(this.Yx)}; 481e.prototype.Vx=function(){return this.FV?!0:!1};e.prototype.tu=function(){return e.Fj(this.FV)};e.g3=new Map;e.fja=new Map;e.define=function(c,f,g){f=d.extend(f,function(){g.apply(this,arguments);var q=p.Vva(),n;for(n in q)this.set(n,q[n])});var p=new e(c,l[c],f);e.g3.set(c,p);e.fja.set(f,p);return f};e.getAll=function(){var c=[];e.g3.forEach(function(f){c.push(f)});return c};e.Fj=function(c){return e.g3.get(c)};e.mWa=function(c){return e.fja.get(c)};e.Oa=function(c,f){c=e.Fj(c);if(m(f).isNull())return!0; 482if(f&&f.constructor)for(f=e.mWa(f.constructor);f;){if(f==c)return!0;f=f.RWa()}return!1};e.q5=function(c){switch(c){case "string":case "code":return e.YRa;case "number":return e.VMa;case "bool":return e.WFa;case "color":return e.YGa;case "percent":return e.xOa;case "size":return e.sRa;case "identifier":return e.HLa;case "array":return e.hia;case "canvas":return e.wGa;case "img":return e.KLa;case "dict":return e.yOa;case "*":return e.OIa;default:if(e.eMa(c))switch(e.SJa(c)){case "array":var f=e.q5(e.Vka(c)); 483return function(q,n){q=e.hia(q,n);for(var r=0;r<q.length;r++)q[r]=f(q[r],n);return q};case "enum":var g=e.Wka(c);return e.UJa(g);case "or":g=e.Wka(c);var p=m(g).map(function(q){return e.q5(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.um(function(q){return e.Oa(c,q)})}};e.eMa=function(c){return 0<=c.indexOf("[")&&c.lastIndexOf("]")==c.length-1};e.SJa=function(c){return c.substring(0, 484c.indexOf("["))};e.Vka=function(c){return c.substring(c.indexOf("[")+1,c.lastIndexOf("]"))};e.Wka=function(c){c=e.Vka(c);for(var f=[],g="",p=0,q=0;q<c.length;q++){var n=c.charAt(q);g+=n;switch(n){case "[":p++;break;case "]":p--;break;case ",":0==p&&(f.push(g.substr(0,g.length-1)),g="")}}""!=g&&f.push(g);return m(f).map(function(r){return e.RSa(r)})};e.RSa=function(c){return c.replace(/^\s+|\s+$/g,"")};e.um=function(c){return function(f,g){if(!c(f)){if("string"!=typeof f)throw"Invalid value";f=e.YIa(f, 485g);if(!c(f))throw"Invalid value";}return f}};e.YIa=function(c,f){return function(){return eval(c)}.call(f)};e.OIa=function(c){return c};e.VMa=e.um(function(c){return"[object Number]"==Object.prototype.toString.call(c)});e.YRa=e.um(function(c){return"string"==typeof c||null===c});e.WFa=e.um(function(c){return!0===c||!1===c});e.hia=e.um(function(c){return"[object Array]"==Object.prototype.toString.call(c)});e.wGa=e.um(function(c){return c&&"CANVAS"==c.tagName});e.KLa=e.um(function(c){return c&&"IMG"== 486c.tagName});e.UJa=function(c){return e.um(function(f){return-1!=c.indexOf(f)})};e.eT=function(c,f){return m(c).isString()&&f.test(c)};e.HLa=e.um(function(c){return e.eT(c,RegExp("^[a-z][a-z0-9_]*$","i"))});e.xOa=e.um(function(c){return e.eT(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)%\\s*$","i"))});e.sRa=e.um(function(c){return e.eT(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)\\s*((vw)|(vh)|(vmin)|(vmax)|(px))\\s*$","i"))});e.YGa=e.um(function(c){return e.eT(c,RegExp("^#[0-9a-f]{6}$","i"))});e.yOa=e.um(function(c){try{return k.isPlainObject(c)}catch(f){return!1}}); 487window.TDV.PlayerAPI.getClassByName=function(c){return e.Fj(c).kK};return e}); 488define("iP",["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.vba=b;this.yP=1779033703;this.zP=3144134277;this.AP=1013904242;this.BP=2773480762;this.CP=1359893119;this.DP=2600822924;this.EP=528734635;this.FP=1541459225;this.block=this.start=this.lz=this.tca=0;this.Uba=this.iZ=!1;this.first=!0}var e="0123456789abcdef".split(""),k=[-2147483648,8388608,32768,128],m=[24,16,8,0],l=[1116352408,1899447441,3049323471,3921009573, 489961987163,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, 490883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756
490734187,3204031479,3329325298],b=[];a.prototype.update=function(h){if(!this.Uba){for(var d,c=0,f,g=h.length,p=this.vba;c<g;){this.iZ&&(this.iZ=!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(f=this.start;c<g&&64>f;++c)d=h.charCodeAt(c),128>d?p[f>>2]|=d<<m[f++&3]:(2048>d?p[f>>2]|=(192|d>>6)<<m[f++&3]:(55296>d||57344<=d?p[f>> 4912]|=(224|d>>12)<<m[f++&3]:(d=65536+((d&1023)<<10|h.charCodeAt(++c)&1023),p[f>>2]|=(240|d>>18)<<m[f++&3],p[f>>2]|=(128|d>>12&63)<<m[f++&3]),p[f>>2]|=(128|d>>6&63)<<m[f++&3]),p[f>>2]|=(128|d&63)<<m[f++&3]);this.jYa=f;this.lz+=f-this.start;64<=f?(this.block=p[16],this.start=f-64,this.hash(),this.iZ=!0):this.start=f}4294967295<this.lz&&(this.tca+=this.lz/4294967296<<0,this.lz%=4294967296);return this}};a.prototype.Eva=function(){if(!this.Uba){this.Uba=!0;var h=this.vba,d=this.jYa;h[16]=this.block;h[d>> 4922]|=k[d&3];this.block=h[16];56<=d&&(this.iZ||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.tca<<3|this.lz>>>29;h[15]=this.lz<<3;this.hash()}};a.prototype.hash=function(){var h=this.yP,d=this.zP,c=this.AP,f=this.BP,g=this.CP,p=this.DP,q=this.EP,n=this.FP,r=this.vba,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= 493d&c;for(t=0;64>t;t+=4){if(this.first){var x=704751109;u=r[0]-210244248;n=u-1521486534<<0;f=u+143694565<<0;this.first=!1}else{v=(h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10);u=(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7);x=h&d;var y=x^h&c^w;var z=g&p^~g&q;u=n+u+z+l[t]+r[t];v+=y;n=f+u<<0;f=u+v<<0}v=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10);u=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7);w=f&h;y=w^f&d^x;z=n&g^~n&p;u=q+u+z+l[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); 494u=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7);x=c&f;y=x^c&h^w;z=q&n^~q&g;u=p+u+z+l[t+2]+r[t+2];v+=y;p=d+u<<0;d=u+v<<0;v=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10);u=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7);w=d&c;y=w^d&f^x;z=p&q^~p&n;u=g+u+z+l[t+3]+r[t+3];v+=y;g=h+u<<0;h=u+v<<0}this.yP=this.yP+h<<0;this.zP=this.zP+d<<0;this.AP=this.AP+c<<0;this.BP=this.BP+f<<0;this.CP=this.CP+g<<0;this.DP=this.DP+p<<0;this.EP=this.EP+q<<0;this.FP=this.FP+n<<0};a.prototype.DXa=function(){this.Eva();var h=this.yP, 495d=this.zP,c=this.AP,f=this.BP,g=this.CP,p=this.DP,q=this.EP,n=this.FP;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[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[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[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[g>>28&15]+e[g>>24&15]+e[g>>20&15]+e[g>>16&15]+e[g>>12&15]+e[g>> 4968&15]+e[g>>4&15]+e[g&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.Eva();var h=this.yP,d=this.zP,c=this.AP,f=this.BP,g=this.CP,p=this.DP,q=this.EP,n=this.FP;return[h>>24&255,h>>16&255,h>>8&255,h&255,d>>24&255,d>>16&255,d>>8&255,d&255,c>> 49724&255,c>>16&255,c>>8&255,c&255,f>>24&255,f>>16&255,f>>8&255,f&255,g>>24&255,g>>16&255,g>>8&255,g&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).DXa()}}); 498define("bY",["require","iP"],function(a){function e(){for(var b=[[256,"9799e3eb6096a48f515a94324200b7af24251a4131eccf9a2cd65d012a1f5c71"],[1024,"cbab1f6d618e723188cfdb1c7c3f47146e46da4da56030386d85055016afd5d9"],[1E4,"d9c4539649520e3f4a35e5a3331b0fbdc67958dd64ef65a83a75d545413643dd"]],h=0;h<b.length;h++){var d=Array.apply(null,Array(b[h][0])).map((c,f)=>String.fromCharCode(f%256)).join("");if(l(d)!=b[h][1])return!1}return!0}function k(b){var h=Array.isArray(b)?"array":null===b?"null":typeof b;switch(h){case "array":return"["+ 499b.map(k).join(",")+"]";case "object":return"{"+Object.keys(b).sort().map(function(d){return k(d)+":"+k(b[d])}).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 l=a("iP");return{validate:function(b){var h=[104,97,115,104],d=b[m(h)];delete b[m(h)];b= 500m([116,100,118])+k(b);return l(b)==d||!e()}}}); 501define("lA",["require","exports","lx"],function(a,e,k){function m(){var f=h.length,g=h.splice(0,f);b+=f;for(var p=0;p<f;p++){var q=g[p];if(q)try{q()}catch(n){k.QP("Error in async task",n)}}}var l=0,b=0,h=[],d,c=new Promise(function(f){f()});setInterval(function(){0<h.length&&100<(new Date).getTime()-d&&m()},100);return{Ez:function(f,g){void 0===g&&(g=void 0);if(void 0!==g&&0<g)return-1-setTimeout(f,g||1);0==h.length&&(c.then(m),d=(new Date).getTime());l++;h.push(f);return l-1},cancel:function(f){if(0> 502f)clearTimeout(-1-f);else{var g=f-b;if(0<=g){if(!h[g])throw"invalid async handle: "+f;h[g]=null}}}}}); 503define("gp",["require","exports","cB","lA","lx"],function(a,e,k,m,l){var b=function(){return function(){}}();return function(){function h(){this.Jc={}}h.prototype.WUa=function(d,c,f){this.zia(d,c,f,!0,c,!0)};h.prototype.bind=function(d,c,f,g,p){return this.zia(d,c,f,g,p||c,!1)};h.prototype.zia=function(d,c,f,g,p,q){if(void 0===d)throw"Event name undefined";if(void 0===c)throw"Event handler undefined";f=f||this;g=g?!0:!1;d in this.Jc||(this.Jc[d]=[]);var n=new b;n.GP=c;n.lXa=p||c;n.context=f;n.dxa= 504g;d=this.Jc[d];q?d.unshift(n):d.push(n);return this};h.prototype.unbind=function(d,c,f){d in this.Jc&&(f=f||this,this.Jc[d]=this.Jc[d].filter(function(g){return g.GP!=c||g.context!=f}),0==this.Jc[d].length&&delete this.Jc[d]);return this};h.prototype.W1a=function(d){d in this.Jc&&delete this.Jc[d]};h.prototype.bfa=function(){this.Jc={}};h.prototype.trigger=function(d,c){void 0===c&&(c=void 0);"string"==typeof d&&(d=new k(d,c));d.name in this.Jc&&(d.source=this,this.nx(d,!0),d.name in this.Jc&&this.iIa(d)); 505return this};h.prototype.iIa=function(d){h.JS.push({caller:this,event:d});h.f4||(h.f4=!0,m.Ez(h.Sja))};h.Sja=function(){for(var d=(new Date).getTime()+1E3;h.JS.length;){var c=h.JS.shift();h.prototype.nx.call(c.caller,c.event,!1);if((new Date).getTime()>d)break}
5050<h.JS.length?m.Ez(h.Sja,1):h.f4=!1};h.prototype.Hwa=function(d){return d in this.Jc};h.prototype.hI=function(d,c){var f=[];d=this.Jc[d]||[];for(var g=0;g<d.length;g++){var p=d[g];void 0!==c&&p.dxa!=c||f.push(p.lXa)}return f};h.prototype.nx= 506function(d,c){var f=this;d.unbindCurrentHandler=function(){q&&f.unbind(d.name,q.GP,q.context)};if(d.name in this.Jc)for(var g=this.Jc[d.name],p=0;p<g.length;p++){var q=g[p];if(q.dxa==c)try{q.GP.call(q.context,d)}catch(n){l.QP("Exception handling event "+d.name,n)}}};h.JS=[];h.f4=!1;return h}()}); 507define("lZ",["require","exports","oR","cB","gp"],function(a,e,k,m,l){return function(b){function h(){var d=b.call(this)||this;d.Qt={};return d}Z(h,b);h.prototype.set=function(d,c){this.Qt[d]!=c&&(this.Qt[d]=c,this.eta(d))};h.prototype.eta=function(d){d=new m(k.G(d));this.trigger(d)};h.prototype.copy=function(d){this.Qt={};for(var c in d.Qt)this.Qt[c]=d.Qt[c];return this};h.prototype.get=function(d,c){void 0===c&&(c=void 0);d=this.Qt[d];return void 0!==d?d:c};return h}(l)}); 508define("fg",["require"],function(){function a(e,k,m){this.set("undefined"!=typeof e?e:0,"undefined"!=typeof k?k:0,"undefined"!=typeof m?m:0)}a.prototype.set=function(e,k,m){this.x=e;this.y=k;this.z=m;return this};a.prototype.clone=function(){return new a(this.x,this.y,this.z)};a.prototype.apply=function(e){e.QH(this)};a.prototype.project=function(e){e.project(this)};return a}); 509define("a",["require","lx","fg"],function(a){var e=a("lx"),k=a("fg"),m=e.extend(k,function(l,b,h){k.call(this,l,b,h)});m.prototype.clone=function(){return new m(this.x,this.y,this.z)};m.prototype.Pc=function(){return 0==this.x&&0==this.z?0:-Math.atan2(this.x,this.z)};m.prototype.Oc=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.ica=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};m.prototype.VI=function(l){l/= 510this.ica();this.x*=l;this.y*=l;this.z*=l;return this};m.prototype.normalize=function(){return this.VI(1)};m.prototype.pD=function(l){return this.x*l.x+this.y*l.y+this.z*l.z};m.prototype.AY=function(l){var b=this.z*l.x-this.x*l.z,h=this.x*l.y-this.y*l.x;this.x=this.y*l.z-this.z*l.y;this.y=b;this.z=h;return this};m.pz=function(l,b){return new m(b.x-l.x,b.y-l.y,b.z-l.z)};m.WY=function(l,b){l=NaN-l;b=NaN-b;return Math.sqrt(l*l+b*b+NaN)};m.Gs=function(l,b){return new m(Math.cos(b)*Math.sin(l),Math.sin(b), 511Math.cos(b)*Math.cos(l))};return m}); 512define("jw",["require","lZ","nH","a"],function(a){var e=a("lZ"),k=a("nH"),m=a("a");a=k.define("AdjacentPanorama",e,function(){e.call(this);this.Uaa=this.gu=void 0});a.prototype.Xva=function(){if(void 0===this.gu){for(this.gu=this.nla()-this.get("yaw");180<this.gu;)this.gu-=360;for(;-180>this.gu;)this.gu+=360}return this.gu};a.prototype.zWa=function(){void 0===this.Uaa&&(this.Uaa=m.Gs(this.nla()*Math.PI/180,0));return this.Uaa};a.prototype.cVa=function(){return void 0!==this.get("yaw")&&void 0!==this.get("backwardYaw")}; 513a.prototype.nla=function(){return this.get("backwardYaw")-180};return a});define("if",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("AmbientLight",e,function(){e.call(this)})}); 514define("fj",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("Model3DPostprocessing",e,function(){e.call(this)});a.prototype.FQ=function(k){this.Rh!==k&&(this.Rh=k,this.sta())};a.prototype.mw=function(k){this.kG!==k&&(this.kG=k,this.sta())};a.prototype.sta=function(){this.set("disabled",this.kG&&this.get("disableWhileMoving")||this.Rh&&this.get("disableWhileUserInteracting"))};return a}); 515define("nP",["require","nH","fj"],function(a){var e=a("nH"),k=a("fj");return e.define("AmbientOcclusionModel3DPostprocessing",k,function(){k.call(this)})});define("kX",["require"],function(){return{T:"stopped",X:"playing",Ib:"paused"}});define("fi",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("ImageResource",e,function(){e.call(this)})}); 516define("eu","require lx oR kX nH fi".split(" "),function(a){a("lx");var e=a("oR"),k=a("kX"),m=a("nH"),l=a("fi");a=m.define("AnimatedImageResource",l,function(){l.call(this)});a.prototype.play=a.prototype.play=function(){this.set("state",k.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",k.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",k.T)};a.prototype.set=function(b,h){switch(b){case "state":(this.get("state")||k.T)==k.T&&h==k.X&&this.trigger(e.sn)}l.prototype.set.call(this, 517b,h)};a.prototype.Gj=function(b,h,d){h||(h=1);d||(d=1);return l.prototype.Gj.call(this,b,h*this.get("colCount",1),d*this.get("rowCount",1))};return a});define("eg",["require","nH","fj"],function(a){var e=a("nH"),k=a("fj");return e.define("AntialiasModel3DPostprocessing",k,function(){k.call(this)})}); 518define("it",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("HotspotMapOverlay",e,function(k){e.call(this);this.XG=void 0===k?!0:k;this.aG=this.cq=this.bq=this.ya=void 0});a.prototype.getItem=function(){if(void 0===this.ya){var k=this.get("image");this.ya=k?k.zY(this.XG):null}return this.ya};a.prototype.twa=function(){if(void 0===this.bq){var k=this.get("rollOverImage");this.bq=k?k.zY(this.XG):null}return this.bq};a.prototype.uwa=function(){if(void 0===this.cq){var k=this.get("selectedImage"); 519this.cq=k?k.zY(this.XG):null}return this.cq};a.prototype.LWa=function(){if(void 0===this.aG){this.aG=[];var k=this.getItem();k&&this.aG.push(k);(k=this.twa())&&this.aG.push(k);(k=this.uwa())&&this.aG.push(k)}return this.aG};return a});define("eT",["require","nH","it"],function(a){var e=a("nH"),k=a("it");return e.define("AreaHotspotMapOverlay",k,function(){k.call(this,!0)})});define("or",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("AudioResource",e,function(){e.call(this)})}); 520define("cS",["require"],function(){return{pA:"inAdvance",xfa:"delayed"}}); 521define("bd",["require","exports"],function(){return function(){function a(){}a.Lw="grab";a.th="grabbing";a.ega="move";a.oga="move-n";a.pga="move-ne";a.fga="move-e";a.sga="move-se";a.rga="move-s";a.tga="move-sw";a.uga="move-w";a.qga="move-nw";a.jDa="move-ew";a.lDa="move-ns";a.kDa="move-nesw";a.mDa="move-nwse";a.hga="move-fast-n";a.iga="move-fast-ne";a.gga="move-fast-e";a.lga="move-fast-se";a.kga="move-fast-s";a.mga="move-fast-sw";a.nga="move-fast-w";a.jga="move-fast-nw";a.Ee="hand";a.yA="transparent";
522a.te="default";a.pt="inherit";return a}()}); 523define("hv",["require","oR"],function(a){function e(){this.Ii=[]}var k=a("oR");e.prototype.register=function(m){this.BEa(m);this.Ii.push(m);m.get("pressed")&&this.tra(m)};e.prototype.unregister=function(m){this.cPa(m)};e.prototype.BEa=function(m){m.bind(k.Sj,this.Qna,this,!0)};e.prototype.cPa=function(m){m.unbind(k.Sj,this.Qna,this)};e.prototype.Qna=function(m){this.tra(m.source)};e.prototype.tra=function(m){this.Ii.forEach(function(l){l.set("pressed",l==m)})};e.register=function(m,l){this.unregister(m); 524l=this.bi(l);m.b2=l;l.register(m)};e.unregister=function(m){m.b2&&(m.b2.unregister(m),delete m.b2)};e.bi=function(m){return this.mma[m]||(this.mma[m]=new e)};e.mma={};return e});define("eh",["require"],function(){return{Fe:"push",Uj:"toggle"}});define("hR",["require"],function(){return{EE:"visible",Ofa:"hidden",Xo:"scroll"}});define("gR",["require"],function(){return{te:void 0,U:"over",qb:"pressed",$b:"pressedOver",da:"selected"}}); 525define("mZ",["require"],function(){return{Ya:"left",rb:"right",De:"center",vc:"top",oc:"bottom",fe:"middle"}});define("fG",["require"],function(){return{Xc:"rollOver",ALWAYS:"always"}}); 526define("v",["require","exports","lx","ms"],function(a,e,k,m){function l(d){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+d))}var b={};b.Fi=TDV.ob.nR;b.Rz=TDV.ob.m1;b.wR=TDV.ob.yga;b.d3a=TDV.ob.s1;b.Vfa=TDV.ob.n1;b.Tfa=TDV.ob.xga;b.Q2a=TDV.ob.q1;b.p1=TDV.ob.p1;b.nJ=TDV.ob.nJ;b.f0=TDV.ob.f0;b.e0=TDV.ob.e0;b.d0=TDV.ob.d0;b.g0=TDV.ob.g0;b.Wh=TDV.ob.Wh;b.XQ=TDV.ob.XQ;b.am=TDV.ob.am;b.$l=TDV.ob.$l;b.nE=TDV.ob.nE;b.Bw=TDV.ob.Bw;b.WQ=TDV.ob.WQ;b.Vz=TDV.ob.Vz;b.b0=TDV.ob.b0;b.mJ= 527TDV.ob.mJ;b.Io=TDV.ob.Io;b.dt=TDV.ob.dt;b.aR=TDV.ob.aR;b.c0=TDV.ob.c0;b.kJ=TDV.ob.kJ;b.YQ=TDV.ob.YQ;b.oE=TDV.ob.oE;b.lJ=TDV.ob.lJ;b.et=TDV.ob.et;b.rfa=TDV.ob.rfa;b.Wz=TDV.ob.Wz;b.ft=TDV.ob.ft;b.Cw=TDV.ob.Cw;b.ZQ=TDV.ob.ZQ;b.$Q=TDV.ob.$Q;b.h0=TDV.ob.h0;b.k0=TDV.ob.k0;b.qE=TDV.ob.qE;b.l0=TDV.ob.l0;b.m0=TDV.ob.m0;b.Px=function(d){d="force_"+d;if(m.Yi("debug")&&m.Yi(d))return m.getQueryParameter(d)};b.sJa=b.Px("os");b.zd=function(){return b.sJa||TDV.ob.zd};b.nJa=b.Px("browser");b.browser=function(){return b.nJa|| 528TDV.ob.browser};b.oJa=b.Px("browser_type");b.SH=function(){return b.oJa||TDV.ob.SH};b.Ika=b.Px("browser_subtype");b.ic=function(){return b.Ika?b.Ika:TDV.ob.ic};b.pJa=b.Px("browser_version");b.Tua=function(){return b.pJa||TDV.ob.Tua};b.rJa=b.Px("device");b.oz=function(){return b.rJa||TDV.ob.oz};b.lb=function(){return TDV.ob.mobile};b.aJa=function(){for(var d=navigator.userAgent.toLowerCase(),c=["SM-G960","SM-G965"],f=0;f<c.length;f++)if(0<=d.indexOf(c[f].toLowerCase()))return!0;return!1}();b.xJa=function(){for(var d= 529navigator.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(" "),f=0;f<c.length;f++)if(0<=d.indexOf(c[f].toLowerCase()))return!0;return!1}();b.Jka=b.Px("gearvrcompatible");b.mP=function(){return void 0!==b.Jka?"true"==b.Jka:b.xJa};b.BGa=b.browser()!=b.$l||0>navigator.userAgent.indexOf("; wv")?!1:!0;b.qJa=!!b.Px("chromewebview");b.bva=function(){return b.qJa||b.BGa}; 530b.Of=function(){return b.ic()==b.Io||b.ic()==b.dt||b.ic()==b.aR||b.ic()==b.ft||b.ic()==b.Cw||b.ic()==b.Wz};b.uZ=function(){return b.GD()};b.tZ=function(){return b.BI()||b.pxa()||b.Axa()||b.vxa()};b.Gca=function(){return b.ic()==b.ft};b.bba=void 0;b.s2a=function(){if(void 0===b.bba){var d=void 0;b.ID()&&(window.location.hash.split("&").forEach(function(c){"app-version"==c.split("=")[0]&&(d=c.split("=")[1])}),d&&(d=parseInt(d)));d=d||0;b.bba=d}return b.bba};b.ID=function(){return b.DI()||b.Gca()};b.DI= 531function(){return b.ic()==b.Cw};b.dYa=function(){return l("picog2")};b.aYa=function(){return l("piconeo2")};b.pxa=function(){return l("piconeo3")};b.txa=function(){return b.ic()==b.dt&&0<=navigator.userAgent.toLowerCase().indexOf("pico 4")||b.ic()==b.Cw&&0<=navigator.userAgent.toLowerCase().indexOf("picoa8110")?!0:!1};b.uxa=function(){return b.ic()==b.dt&&0<=navigator.userAgent.toLowerCase().indexOf("pico g3")||b.ic()==b.Cw&&0<=navigator.userAgent.toLowerCase().indexOf("picoa7q10")?!0:!1};b.vxa=function(){return l("picoxr")}; 532b.Axa=function(){return l("vivefocus")};b.GD=function(){return l("oculusquest3")?!0:b.ic()==b.Io&&0<=navigator.userAgent.indexOf("Quest 3")};b.BI=function(){return l("oculusquest")||l("oculusquest2")||l("other")?!0:b.ic()==b.Io&&0<=navigator.userAgent.indexOf("Quest 2")};b.gYa=function(){return b.ic()==b.Io&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.I3a=function(){return b.ic()==b.Io&&0>navigator.userAgent.indexOf("Quest")};b.VXa=function(){return b.Of()&& 533b.mP()};b.sC=void 0;b.uZa=function(){void 0===b.sC&&(b.sC=parseInt(m.getQueryParameter("sts")),isNaN(b.sC)&&(b.Of()&&!b.aJa?b.sC=512:b.lb()&&b.zd()==b.Fi?b.sC=512:b.sC=b.lb()?256:1024));return b.sC};b.HPa=function(){if(b.browser()==b.am||b.browser()==b.Wh)try{var d=/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent);if(d)return parseFloat(d[1])}catch(c){}}();b.mQ=function(){return b.HPa};b.ELa=function(){try{var d=parseFloat((""+(/CPU.*OS ([0-9_]{1,5}
533)|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)|| 534[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||!1}catch(c){}d||(d=b.mQ());return d}();b.DD=function(){return b.ELa};b.bFa=function(){if(b.zd()==b.Rz)try{var d=/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent);if(d)return parseFloat(d[1])}catch(c){}}();b.RUa=function(){return b.bFa};b.Vla=function(){var d={Cwa:"unknown",Xxa:1},c=document.createElement("canvas");if(c&&(c=c.getContext("webgl")||c.getContext("experimental-webgl"))){var f=c.getExtension("WEBGL_debug_renderer_info"); 535f&&(d.Cwa=c.getParameter(f.UNMASKED_RENDERER_WEBGL));d.maxTextureSize=c.getParameter(c.MAX_TEXTURE_SIZE);if(f=c.getExtension("EXT_texture_filter_anisotropic")||c.getExtension("MOZ_EXT_texture_filter_anisotropic")||c.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))d.Xxa=c.getParameter(f.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return d}();b.Bwa=function(){return b.Vla};b.dFa=function(){var d=b.Vla.Cwa.match(/Apple\s+(.+)\s+GPU/);return d?d[1].toUpperCase():"unknown"}();b.C3a=function(){return b.dFa}; 536b.pMa=b.oz()==b.qE?!0:!1;b.Vv=function(){return b.pMa};b.Bba=function(){return b.browser()==b.am&&14<=b.mQ()};var h=!1;try{h="true"==window.localStorage.getItem("tdvp_video_drift_2")}catch(d){}b.Rwa=function(){return h};b.F0a=function(){h=!0;try{window.localStorage.setItem("tdvp_video_drift_2","true")}catch(d){}};b.wMa="ontouchstart"in window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0<navigator.maxTouchPoints?!0:!1;b.Xea=function(){return b.wMa};b.Jn= 537m.Yi("touchenabled")?m.Qg("touchenabled"):"ontouchstart"in window?b.zd()==b.wR?!1:!0:!1;b.L_=function(){return b.Jn};b.summary=function(){return["browser: "+b.browser(),"browserType: "+b.SH(),"browserSubtype: "+b.ic(),"device: "+b.oz(),"isMobile: "+b.lb(),"gearVRCompatibleDevice: "+b.mP(),"chromeWebView: "+b.bva(),"touchDevice"+b.Xea(),"touchEnabled"+b.L_()].join(", ")};b.log=function(){k.log("browser: "+b.browser());k.log("browserType: "+b.SH());k.log("browserSubtype: "+b.ic());k.log("device: "+ 538b.oz());k.log("isMobile: "+b.lb());k.log("gearVRCompatibleDevice: "+b.mP());k.log("chromeWebView: "+b.bva());k.log("touchDevice: "+b.Xea());k.log("touchEnabled: "+b.L_())};return b}); 539define("me",["require","v"],function(a){function e(){for(;f.length;)f.shift()();document.body.removeEventListener("click",e,!0);document.body.removeEventListener("touchstart",l,!0);document.body.removeEventListener("touchmove",m,!0);document.body.removeEventListener("touchend",k,!0);d=!1}function k(){c&&e()}function m(){c=!1}function l(){c=!0;h.zd()==h.Fi&&e()}function b(){document.body.addEventListener("click",e,!0);document.body.addEventListener("touchstart",l,!0);document.body.addEventListener("touchmove", 540m,!0);document.body.addEventListener("touchend",k,!0)}var h=a("v"),d=!1,c=!1,f=[];return{T_:function(){e()},wait:function(g){f.push(g);d||(d=!0,document.body?b():document.addEventListener("DOMContentLoaded",b))},X3a:function(g){g=f.indexOf(g);0<=g&&f.splice(g,1)}}});define("id",["require","exports"],function(){return{hDa:7,a0:6,Yfa:5,Sk:4,Nga:3,AJ:2,u1:1,J2a:0,aga:3,qA:2,yDa:1,xDa:2,uDa:2,tn:2,TDa:3,$2a:4}});define("bi",["require"],function(){return{e1:"horizontal",J1:"vertical"}}); 541define("po",["require"],function(){return{ZDa:"1",YDa:"auto",JDa:"1",sDa:"2",rDa:"auto",a0:"2",pCa:"3",oCa:"auto",IDa:"5",SDa:"100",C2a:"101",RCa:999998,b3a:999999,cDa:1E6}});define("gH",["require"],function(){var a=1,e={};return{css:function(k,m){var l=k.__duqid;void 0===l&&(l=a.toString(),k.__duqid=l,a++);k=e[l]||(e[l]={e:k,s:{}});for(var b in m)k.s[b]=m[b]},process:function(){for(var k in e){var m=e[k],l=m.e.style;m=m.s;for(var b in m)l[b]=m[b]}e={}}}}); 542define("bR",["require"],function(){return{qXa:function(a){return!!a&&0<=a.indexOf("&tdvflipx")},wua:function(a){a&&(0>a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},fWa:function(a,e,k){var m=document.createElement("canvas");m.width=e;m.height=k;k=m.getContext("2d");k.translate(e,0);k.scale(-1,1);k.drawImage(a,0,0);a.src=m.toDataURL()}}}); 543define("I",["require","exports"],function(){return function(){function a(e,k,m,l,b,h){this.queue=e;this.url=k;this.priority=m;this.time=l;this.q1a=b;this.dVa=h}a.prototype.loaded=function(){this.queue.xQ(this.url);this.queue.remove(this)};a.prototype.cancel=function(){this.queue.remove(this)};return a}()}); 544define("bw","require exports v ms lA I".split(" "),function(a,e,k,m,l,b){var h=k.ic()===k.et,d=!(m.Yi("debug")&&m.Qg("disable-cache"));return function(){function c(){}c.add=function(f,g,p,q){f=new b(this,f,g,(new Date).getTime(),p,q);this.gv.push(f);this.fa();return f};c.y1a=function(f){this.oH.push(f);this.fa()};c.x1a=function(f){f=this.oH.indexOf(f);0<=f&&this.oH.splice(f,1);this.fa()};c.u2a=function(f){var g;return h?!0:d?null!==(g=this.Oma[f])&&void 0!==g?g:!1:!1};c.xQ=function(f){h||d&&(this.Oma[f]= 545!0)};c.fa=function(){this.Iaa||(this.Iaa=l.Ez(c.nTa.bind(this)))};c.nTa=function(){this.Iaa=null;for(var f=this.OPa(),g=0,p=this.pU;g<p.length;g++){var q=p[g];f.includes(q)||q.dVa()}g=this.pU;this.pU=f;f=0;for(p=this.pU;f<p.length;f++)q=p[f],g.includes(q)||q.q1a()};c.tRa=function(){this.gv.sort(function(f,g){return f.priority-g.priority||g.time-f.time});this.oH.sort(function(f,g){return f-g})};c.OPa=function(){this.tRa();var f=[];if(this.gv.length)for(var g=this.oH.length?this.oH[0]:this.gv[0].priority, 546p=0;10>p&&p<this.gv.length&&this.gv[p].priority<=g;p++)f.push(this.gv[p]);return f};c.remove=function(f){f=this.gv.indexOf(f);0<=f&&this.gv.splice(f,1);this.fa()};c.gv=[];c.pU=[];c.oH=[];c.Iaa=null;c.Oma={};return c}()}); 547define("kF","require lx cB gp oR id ms bR bw".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("oR"),b=
547a("id"),h=a("ms"),d=a("bR"),c=a("bw");a=e.extend(m,function(g){m.call(this);this.Xr=g||b.hDa;this.wa=this.ja=this.Xb=this.Fd=null;this.jy=!1;this.WG=this.Nn=null;this.pW=0;this.o6=[];this.KT=this.KT.bind(this);this.LT=this.LT.bind(this)});a.prototype.load=function(g){this.cancel();this.Fd=g;this.pW=0;this.Nqa()};a.prototype.Nqa=function(){this.Nn=c.add(this.Fd,this.Xr,this.DRa.bind(this), 548this.uGa.bind(this))};a.prototype.cancel=function(){this.Nn&&(this.Nn.cancel(),this.Nn=null);this.gja();this.Fd=null};a.prototype.YXa=function(){return!!this.Xb&&!this.jy||this.WG};a.prototype.Vh=function(){return this.jy};a.prototype.rf=function(g){return g?(g=this.Xb.cloneNode(!0),this.o6.push(g),g):this.Xb};a.prototype.yd=function(){return this.ja};a.prototype.je=function(){return this.wa};a.prototype.ui=function(){return this.Fd};a.prototype.DRa=function(){this.Xb=this.KHa(this.Fd)};a.prototype.uGa= 549function(){this.YXa()&&this.gja()};a.prototype.gja=function(){if(this.Xb){this.WG&&(clearTimeout(this.WG),this.WG=null);for(this.jy=!1;this.o6.length;)this.dka(this.o6.shift());this.dka(this.Xb);this.Xb=null}};a.prototype.FEa=function(g){g.addEventListener("load",this.KT);g.addEventListener("error",this.LT)};a.prototype.Eqa=function(g){g.removeEventListener("load",this.KT);g.removeEventListener("error",this.LT)};a.prototype.KT=function(){this.Xb.width&&this.Xb.height||!(-1<this.Fd.indexOf(".svg"))|| 550this.eJa();this.Nn.loaded();this.Nn=null;this.Eqa(this.Xb);this.jy=!0;this.ja=this.Xb.width;this.wa=this.Xb.height;d.qXa(this.Fd)&&d.fWa(this.Xb,this.ja,this.wa);this.trigger(new k(l.Z))};a.prototype.LT=function(){this.cancel();this.pW<f?(this.pW++,this.WG=setTimeout(function(){this.WG=null;this.Nqa()}.bind(this),1E3*Math.pow(2,this.pW))):this.trigger(new k(l.uc))};a.prototype.eJa=function(){var g=new XMLHttpRequest;g.open("GET",this.Fd,!1);g.send();var p=document.createElement("div");p.innerHTML= 551g.responseText;g=p.children[0];this.Xb.width=g.width.baseVal.value;this.Xb.height=g.height.baseVal.value};a.prototype.KHa=function(g){var p=document.createElement("img");h.Fca(g)?p.setAttribute("crossOrigin","Anonymous"):p.removeAttribute("crossOrigin");p.setAttribute("draggable","false");p.style.position="static";p.style.border="none";p.style.display="none";this.FEa(p);p.src=g;return p};a.prototype.dka=function(g){this.Eqa(g);g.parentNode&&g.parentNode.removeChild(g);g.src=""};var f=5;a.H_=function(g){return c.u2a(g)}; 552return a}); 553define("gz","require ek jquery.mod oR id bi po gH kF".split(" "),function(a){function e(){this.fp=this.hp=this.ip=this.gp=this.St=this.Rt=this.Ut=this.Tt=0;this.RR=this.TR=this.UR=this.SR="";this.zb=1;this.qc=void 0;this.dB=[];this.r3=[];this.o3=h.J1;this.mS=!1;this.HT=void 0;this.Ih=null;this.N5=this.dba=0;this.bc=document.createElement("canvas");this.bc.setAttribute("tdvlayer","background");this.oa=m(this.bc);c.css(this.bc,{position:"absolute",left:0,top:0,"z-index":d.a0,"user-select":"none","-ms-user-select":"none", 554"-moz-user-select":"none","-webkit-user-select":"none"});this.tg=!0}var k=a("ek"),m=a("jquery.mod"),l=a("oR"),b=a("id"),h=a("bi"),d=a("po"),c=a("gH"),f=a("kF");e.prototype.setSize=function(g,p){if(this.dba!=g||this.N5!=p)this.dba=g||0,this.N5=p||0,this.tg=!0};e.prototype.zAa=function(g){this.xp!=g&&(this.xp=g,this.tg=!0)};e.prototype.Bc=function(){return this.oa};e.prototype.mI=function(){return this.bc};e.prototype.K_a=function(g){if(this.HT!=g){this.Ih&&(this.Ih.unbind(l.Z,this.jL,this),this.Ih.cancel(), 555this.Ih=null);if(this.HT=g)this.Ih=new f(b.Nga),this.Ih.bind(l.Z,this.jL,this),this.Ih.load(this.HT);this.tg=!0}};e.prototype.Xda=function(g){this.Tt!=g&&(this.Tt=g,this.tg=!0)};e.prototype.Yda=function(g){this.Ut!=g&&(this.Ut=g,this.tg=!0)};e.prototype.Sda=function(g){this.Rt!=g&&(this.Rt=g,this.tg=!0)};e.prototype.Tda=function(g){this.St!=g&&(this.St=g,this.tg=!0)};e.prototype.Vda=function(g){this.gp!=g&&(this.gp=g,this.tg=!0)};e.prototype.Zda=function(g){this.ip!=g&&(this.ip=g,this.tg=!0)};e.prototype.Wda= 556function(g){this.hp!=g&&(this.hp=g,this.tg=!0)};e.prototype.Uda=function(g){this.fp!=g&&(this.fp=g,this.tg=!0)};e.prototype.j_a=function(g){this.SR!=g&&(this.SR=g,this.tg=!0)};e.prototype.l_a=function(g){this.UR!=g&&(this.UR=g,this.tg=!0)};e.prototype.k_a=function(g){this.TR!=g&&(this.TR=g,this.tg=!0)};e.prototype.i_a=function(g){this.RR!=g&&(this.RR=g,this.tg=!0)};e.prototype.bj=function(g){this.zb!=g&&(this.zb=g,this.tg=!0)};e.prototype.Lk=function(){return this.zb};e.prototype.setColor=function(g){k.isEqual(this.qc, 557g)||(this.qc=g,k(g).isArray()||(g=[g]),g=k(g).filter(function(p){return k(p).isString()}),this.nAa(g))};e.prototype.jI=function(){return this.qc};e.prototype.nAa=function(g){k.isEqual(this.dB,g)||(this.dB=g,this.tg=!0)};e.prototype.p_a=function(g){this.n3a!=g&&(this.r3=g,this.tg=!0)};e.prototype.o_a=function(g){this.o3!=g&&(this.o3=g,this.tg=!0)};e.prototype.jL=function(){this.tg=!0;this.Ug()};e.prototype.Ug=function(){this.tg&&(this.fa(),this.tg=!1)};e.prototype.fa=function(){var g=Math.max(0,this.dba- 558(this.gp+this.hp)),p=Math.max(0,this.N5-(this.ip+this.fp)),q=this.oa.get(0);q.width=g;q.height=p;q=q.getContext("2d");var n=this.qGa(),r=0<n.length,t=this.Ih&&this.Ih.Vh(),u=0<this.gp&&this.SR||0<this.ip&&this.UR||0<this.hp&&this.TR||0<this.fp&&this.RR;u=r||t||u;if(r){var v=this.o3==h.e1?q.createLinearGradient(0,0,g,0):q.createLinearGradient(0,0,0,p);
558k(n).forEach(function(w){v.addColorStop(w.ratio,w.color)});q.fillStyle=v;q.fillRect(0,0,g,p);this.mS=!0}else this.mS&&(q.clearRect(0,0,g,p),this.mS= 559!1);t&&(q.drawImage(this.Ih.rf(),0,0,g,p),this.mS=!0);this.bc.style.opacity=this.zb;this.bc.style.filter="alpha(opacity="+Math.round(100*this.zb)+")";this.bc.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.zb)+")";this.bc.style.borderTopLeftRadius=this.Tt+"px";this.bc.style.borderTopRightRadius=this.Ut+"px";this.bc.style.borderBottomLeftRadius=this.Rt+"px";this.bc.style.borderBottomRightRadius=this.St+"px";this.bc.style.borderLeft=this.oT(this.gp,this.SR);this.bc.style.borderTop=this.oT(this.ip, 560this.UR);this.bc.style.borderRight=this.oT(this.hp,this.TR);this.bc.style.borderBottom=this.oT(this.fp,this.RR);this.bc.style.width=g+"px";this.bc.style.height=p+"px";this.bc.style.cursor="inherit";this.bc.style.display=u?"block":"none";0===this.bc.clientWidth&&0!==g&&(this.bc.style.width=0,this.bc.style.width=g+"px")};e.prototype.oT=function(g,p){return 0<g?p?g+"px solid "+p:g+"px solid transparent":"none"};e.prototype.qGa=function(){var g=[];if(0<this.dB.length){var p=this.dB.slice();p=[].concat([p[0]], 561p,[p[p.length-1]]);var q=this.pGa();q=[].concat([0],q,[1]);for(var n=0;n<p.length;n++){var r=q[n];0<=r&&g.push({color:p[n],ratio:r})}for(n=0;n<g.length-1;)g[n].ratio==g[n+1].ratio&&g[n].color==g[n+1].color?g.splice(n,1):n++;for(n=1;n<g.length-1;)g[n-1].ratio==g[n+1].ratio?g.splice(n,1):n++}return g};e.prototype.pGa=function(){var g=this.dB.length,p;for(p=0<this.r3.length?k(this.r3).map(function(q){return Math.min(1,Math.max(0,q))}):1==g?[.5]:k(k.range(g)).map(function(q,n){return 1*n/(g-1)});p.length< 562g;)p.push(1);p.length>g&&p.splice(g,p.length-g);return p};return e}); 563define("eK",["require","jquery.mod","po","gH"],function(a){function e(){this.xV=this.zV=this.AV=this.yV=this.fp=this.hp=this.ip=this.gp=0;this.QM=this.xp=!0;this.Yaa=this.i6=0;this.xa=!0;this.uN=document.createElement("div");this.uN.setAttribute("tdvlayer","content");this.jra=k(this.uN);l.css(this.uN,{position:"absolute"});this.nK=document.createElement("div");this.z3=k(this.nK);l.css(this.nK,{position:"absolute"});this.jra.append(this.z3)}var k=a("jquery.mod"),m=a("po"),l=a("gH");e.prototype.append= 564function(b){this.z3.append(b)};e.prototype.prepend=function(b){this.z3.prepend(b)};e.prototype.oY=function(b){this.nK.appendChild(b)};e.prototype.Kza=function(b){this.nK.removeChild(b)};e.prototype.Bc=function(){return this.jra};e.prototype.mI=function(){return this.uN};e.prototype.H_a=function(b){this.i6!=b&&(this.i6=b,this.xa=!0)};e.prototype.b1a=function(b){this.Yaa!=b&&(this.Yaa=b,this.xa=!0)};e.prototype.nI=function(){return this.yV+this.gp};e.prototype.sI=function(){return this.AV+this.ip}; 565e.prototype.qI=function(){return this.zV+this.hp};e.prototype.iI=function(){return this.xV+this.fp};e.prototype.WI=function(b){this.QM!=b&&(this.QM=b,this.xa=!0)};e.prototype.i0a=function(b){this.yV!=b&&(this.yV=b,this.xa=!0)};e.prototype.k0a=function(b){this.AV!=b&&(this.AV=b,this.xa=!0)};e.prototype.j0a=function(b){this.zV!=b&&(this.zV=b,this.xa=!0)};e.prototype.h0a=function(b){this.xV!=b&&(this.xV=b,this.xa=!0)};e.prototype.Vda=function(b){this.gp!=b&&(this.gp=b,this.xa=!0)};e.prototype.Zda=function(b){this.ip!= 566b&&(this.ip=b,this.xa=!0)};e.prototype.Wda=function(b){this.hp!=b&&(this.hp=b,this.xa=!0)};e.prototype.Uda=function(b){this.fp!=b&&(this.fp=b,this.xa=!0)};e.prototype.zAa=function(b){this.xp!=b&&(this.xp=b,this.xa=!0)};e.prototype.Ug=function(){this.xa&&(this.fa(),this.xa=!1)};e.prototype.fa=function(){l.css(this.uN,{overflow:this.QM?"visible":"hidden","z-index":this.xp?m.pCa:m.oCa,left:this.nI()+"px",top:this.sI()+"px",right:this.qI()+"px",bottom:this.iI()+"px",cursor:"inherit"});l.css(this.nK,{left:-this.i6+ 567"px",top:-this.Yaa+"px",right:this.QM?0:"initial",bottom:this.QM?0:"initial",cursor:"inherit"})};return e}); 568define("kf","require ek jquery.mod lx po gH".split(" "),function(a){function e(){this.wa=this.ja=this.La=this.Ia=void 0;this.St=this.Rt=this.Ut=this.Tt=0;this.Kb=!1;this.h6=0;this.Xaa=4;this.T2=6;this.j$=0;this.qc="#000000";this.zb=1;this.bc=document.createElement("div");this.bc.setAttribute("tdvlayer","shadow");this.oa=k(this.bc);l.css(this.bc,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.xa=!1}a("ek");var k=a("jquery.mod");a("lx");var m=a("po"),l=a("gH");e.prototype.Bc=function(){return this.oa}; 569e.prototype.mI=function(){return this.bc};e.prototype.Xda=function(b){this.Tt!=b&&(this.Tt=b,this.xa=!0)};e.prototype.Yda=function(b){this.Ut!=b&&(this.Ut=b,this.xa=!0)};e.prototype.Sda=function(b){this.Rt!=b&&(this.Rt=b,this.xa=!0)};e.prototype.Tda=function(b){this.St!=b&&(this.St=b,this.xa=!0)};e.prototype.bj=function(b){this.zb!=b&&(this.zb=b,this.xa=!0)};e.prototype.Lk=function(){return this.zb};e.prototype.tf=function(b){this.Kb!=b&&(this.Kb=b,this.xa=!0)};e.prototype.G_a=function(b){this.h6!= 570b&&(this.h6=b,this.xa=!0)};e.prototype.a1a=function(b){this.Xaa!=b&&(this.Xaa=b,this.xa=!0)};e.prototype.h_a=function(b){this.T2!=b&&(this.T2=b,this.xa=!0)};e.prototype.H0a=function(b){this.j$!=b&&(this.j$=b,this.xa=!0)};e.prototype.setColor=function(b){this.qc!=b&&(this.qc=b,this.xa=!0)};e.prototype.jI=function(){return this.qc};e.prototype.Ug=function(){this.xa&&(this.fa(),this.xa=!1)};
570e.prototype.fa=function(){var b=this.h6+"px "+this.Xaa+"px "+this.T2+"px "+this.j$+"px "+this.qc;this.bc.style.display= 571this.Kb?"block":"none";this.bc.style.boxShadow=b;this.bc.style["-webkit-box-shadow"]=b;this.bc.style["-moz-box-shadow"]=b;this.bc.style.borderTopLeftRadius=this.Tt+"px";this.bc.style.borderTopRightRadius=this.Ut+"px";this.bc.style.borderBottomLeftRadius=this.Rt+"px";this.bc.style.borderBottomRightRadius=this.St+"px";this.bc.style.filter="alpha(opacity="+Math.round(100*this.zb)+")";this.bc.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.zb)+")";this.bc.style.opacity=this.zb;this.bc.style.zIndex= 572m.JDa};return e}); 573define("ne","require jquery.mod ek lx lZ bd oR gz eK kf po cB gH v".split(" "),function(a){var e=a("jquery.mod");a("ek");var k=a("lx"),m=a("lZ"),l=a("bd"),b=a("oR"),h=a("gz"),d=a("eK"),c=a("kf"),f=a("po"),g=a("cB"),p=a("gH");a("v");var q=k.extend(m,function(){m.call(this);this.NF=q.NF++;this.y3=this.ge=this.n8=this.PM=this.b$=this.oa=this.bc=null;this.gta=this.sma=!1;this.la=this.hb=null;this.wa=this.ja=this.Mu=this.Lu=0;this.Zx=this.Kb=!1;this.gma=!0;this.ML=this.NL=this.kl=this.ll=0;this.zb=1;this.Dh= 574l.te;this.set("inView",!1);this.set("toolTip",void 0);this.LC(!0);this.R9(!0)});q.prototype.Ae=function(n){this.ZA=n};q.prototype.toString=function(){return"["+this.oa.attr("tdvclass")+"::"+this.NF+"]"};q.prototype.log=function(n){k.log(n+" "+this.toString()+" "+(new Date).getTime().toString())};q.prototype.Gb=function(){return this.hb};q.prototype.es=function(n){(this.hb=n)&&this.w6();this.yH();this.trigger(b.kCa)};q.prototype.Bc=function(){this.oa=e(this.Er());this.Bc=function(){return this.oa}; 575return this.oa};q.prototype.PAa=function(n){(n=n||this.ZA)?this.bc.setAttribute("tdvclass",n):this.bc.removeAttribute("tdvclass")};q.prototype.WZa=function(){this.PAa()};q.prototype.Er=function(){this.bc=document.createElement("div");this.bc.setAttribute("id",this.NF);this.ZA&&this.bc.setAttribute("tdvclass",this.ZA);p.css(this.bc,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.Er=function(){return this.bc};return this.bc};q.prototype.bl=function(){this.b$=new c; 576this.bl=function(){return this.b$};return this.b$};q.prototype.Rc=function(){this.ge=new h;this.Rc=function(){return this.ge};return this.ge};q.prototype.IF=function(){this.PM=document.createElement("div");this.PM.setAttribute("tdvlayer","overShadow");p.css(this.PM,{position:"absolute",left:0,top:0,cursor:"inherit"});this.IF=function(){return this.PM};return this.PM};q.prototype.C5=function(){this.n8=e(this.IF());this.C5=function(){return this.n8};return this.n8};q.prototype.Fb=function(){this.y3= 577new d;this.Fb=function(){return this.y3};return this.y3};q.prototype.getParent=function(){return this.la};q.prototype.Xa=function(){return this.ja};q.prototype.Ab=function(){return this.wa};q.prototype.nXa=function(){return void 0!==this.ja&&void 0!==this.wa};q.prototype.qf=function(){return this.ja-this.Fb().nI()-this.Fb().qI()};q.prototype.pf=function(){return this.wa-this.Fb().sI()-this.Fb().iI()};q.prototype.Kl=function(){return this.Fb().nI()};q.prototype.Is=function(){return this.Fb().sI()}; 578q.prototype.Hs=function(){return this.Fb().qI()};q.prototype.kI=function(){return this.Fb().iI()};q.prototype.tf=function(n){this.Kb!=n&&(this.Kb=n,this.ke(),this.la&&(this.la.Vb(),this.la.Gd()),this.yH())};q.prototype.yH=function(){var n=!1;this.hb&&this.Kb&&0<this.Lk()&&(this==this.hb?n=!0:this.la&&(n=this.la.Zx));this.Zx!=n&&this.F2(n)};q.prototype.F2=function(n){this.Zx=n;this.set("inView",n);this.Zx?this.trigger(new g(b.ld)):this.trigger(new g(b.hd))};q.prototype.GQa=function(n){this.gma!=n&& 579(this.gma=n,this.la&&this.la.Gd())};q.prototype.yQa=function(n){this.AF!=n&&(this.AF=n,this.Vb())};q.prototype.xQa=function(n){this.zF!=n&&(this.zF=n,this.Vb())};q.prototype.wQa=function(n){this.yF!=n&&(this.yF=n,this.Vb())};q.prototype.vQa=function(n){this.xF!=n&&(this.xF=n,this.Vb())};q.prototype.zQa=function(n){this.vm!=n&&(this.vm=n,void 0!=this.vm&&(this.Rm=void 0),this.Vb())};q.prototype.uQa=function(n){this.qB!=n&&(this.qB=n,void 0!=this.qB&&(this.Qm=void 0),this.Vb())};q.prototype.TQa=function(n){this.Rm!= 580n&&(this.Rm=n,void 0!=this.Rm&&(this.vm=void 0),this.Vb())};q.prototype.PQa=function(n){this.Qm!=n&&(this.Qm=n,void 0!=this.Qm&&(this.qB=void 0),this.Vb())};q.prototype.IQa=function(n){this.Gu!=n&&(void 0!=n&&(this.NV=void 0),this.Gu=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.gRa=function(n){this.jq!=n&&(void 0!=n&&(this.PV=void 0),this.jq=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.VQa=function(n){this.rN!=n&&(void 0!=n&&(this.OV=void 0),this.rN=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.lQa= 581function(n){this.aK!=n&&(void 0!=n&&(this.MV=void 0),this.aK=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.QQa=function(n){this.NV!=n&&(void 0!=n&&(this.Gu=void 0),this.NV=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.SQa=function(n){this.PV!=n&&(void 0!=n&&(this.jq=void 0),this.PV=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.RQa=function(n){this.OV!=n&&(void 0!=n&&(this.rN=void 0),this.OV=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.OQa=function(n){this.MV!=n&&(void 0!=n&&(this.aK=void 0), 582this.MV=n,this.la&&this.la.Gd(),this.Vb())};q.prototype.pQa=function(n){this.px!=n&&(this.px=n,this.la&&this.la.Gd())};q.prototype.qQa=function(n){this.qx!=n&&(this.qx=n,this.la&&this.la.Gd())};q.prototype.Ns=function(){return isNaN(this.vm)?this.ll:this.vm};q.prototype.Ms=function(){return isNaN(this.qB)?this.kl:this.qB};q.prototype.LKa=function(){return isNaN(this.ZIa)?this.Xma:this.ZIa};q.prototype.Ks=function(){return isNaN(this.AF)?this.NL:this.AF};q.prototype.Sv=function(){return isNaN(this.zF)? 583this.ML:this.zF};q.prototype.cZ=function(){return isNaN(this.yF)?1E4:this.yF};q.prototype.bZ=function(){return isNaN(this.xF)?1E4:this.xF};q.prototype.Kra=function(n){this.F5()!=n&&(this.Fb().i0a(n),this.Vb())};q.prototype.F5=function(){return this.Fb().yV};q.prototype.Mra=function(n){this.H5()!=n&&(this.Fb().k0a(n),this.Vb())};q.prototype.H5=function(){return this.Fb().AV};q.prototype.Lra=function(n){this.G5()!=n&&(this.Fb().j0a(n),this.Vb())};q.prototype.G5=function(){return this.Fb().zV};q.prototype.Jra= 584function(n){this.E5()!=n&&(this.Fb().h0a(n),this.Vb())};q.prototype.E5=function(){return this.Fb().xV};q.prototype.AQ=function(n){if(this.Lu!=n){var r=0==this.Lu!=(0==n);this.Lu=n;this.Nk();r&&this.la&&this.la.Gd()}};q.prototype.BQ=function(n){if(this.Mu!=n){var r=0==this.Mu!=(0==n);this.Mu=n;this.Nk();r&&this.la&&this.la.Gd()}};q.prototype.vXa=function(){return 0!=this.Lu||0!=this.Mu};q.prototype.bj=function(n){this.zb!=n&&(this.zb=n,p.css(this.IF(),{filter:"alpha(opacity="+Math.round(100*this.zb)+ 585") ",opacity:this.zb}),this.yH(),this.Nk())};q.prototype.Lk=function(){return this.zb};q.prototype.iQa=function(n){this.Rc().Tt!=n&&(this.bl().Xda(n),this.Rc().Xda(n))};q.prototype.MJa=function(){return this.Rc().Tt};q.prototype.jQa=function(n){this.Rc().Ut!=n&&(this.bl().Yda(n),this.Rc().Yda(n))};q.prototype.NJa=function(){return this.Rc().Ut};q.prototype.aQa=function(n){this.Rc().Rt!=n&&(this.bl().Sda(n),this.Rc().Sda(n))};q.prototype.KJa=function(){return this.Rc().Rt};q.prototype.bQa=function(n){this.Rc().St!= 586n&&(this.bl().Tda(n),this.Rc().Tda(n))};q.prototype.LJa=function(){return this.Rc().St};q.prototype.eQa=function(n){this.Rc().gp!=n&&(this.Rc().Vda(n),this.Fb().Vda(n),this.Vb())};q.prototype.$ka=function(){return this.Rc().gp};q.prototype.kQa=function(n){this.Rc().ip!=n&&(this.Rc().Zda(n),this.Fb().Zda(n),this.Vb())};q.prototype.bla=function(){return this.Rc().ip};q.prototype.gQa=function(n){this.Rc().hp!=n&&(this.Rc().Wda(n),this.Fb().Wda(n),this.Vb())};q.prototype.ala=function(){return this.Rc().hp}; 587q.prototype.cQa=function(n){this.Rc().fp!=n&&(this.Rc().Uda(n),this.Fb().Uda(n),this.Vb())};q.prototype.Zka=function(){return this.Rc().fp};q.prototype.dQa=function(n){this.Rc().j_a(n)};q.prototype.hQa=function(n){this.Rc().l_a(n)};q.prototype.fQa=function(n){this.Rc().k_a(n)};q.prototype.$Pa=function(n){this.Rc().i_a(n)};q.prototype.QW=function(n){this.bl().tf(n)};q.prototype.aRa=function(n){this.bl().G_a(n)};q.prototype.dRa=function(n){this.bl().a1a(n)};q.prototype.ZQa=function(n){this.bl().h_a(n)}; 588q.prototype.cRa=function(n){this.bl().H0a(n)};q.prototype.bRa=function(n){this.bl().bj(n)};q.prototype.$Qa=function(n){this.bl().setColor(n)};q.prototype.WPa=function(n){this.HJa()!=n&&this.Rc().bj(n)};q.prototype.HJa=function(){return this.Rc().Lk()};q.prototype.SPa=function(n){this.GJa()!=n&&this.Rc().setColor(n)};q.prototype.GJa=function(){return this.Rc().jI()};q.prototype.UPa=function(n){this.Rc().p_a(n)};q.prototype.TPa=function(n){this.Rc().o_a(n)};q.prototype.VPa=function(n){this.Rc().K_a(n)}; 589q.prototype.Sy=function(n){this.Dh!=n&&(this.Dh=n,this.Nk())};
589q.prototype.LC=function(n){this.xp!=n&&(this.xp=n,p.css(this.IF(),{"z-index":this.xp?f.sDa:f.rDa}),this.Fb().zAa(this.xp),this.Nk())};q.prototype.R9=function(n){this.Tpa!=n&&(this.Tpa=n,p.css(this.Er(),{"z-index":this.Tpa?f.ZDa:f.YDa}),this.Nk())};q.prototype.ap=function(){this.yH();this.JP()};q.prototype.Tm=function(){this.yH()};q.prototype.t9=function(){};q.prototype.w6=function(){this.JP();this.ke();this.Vb();this.Gd();this.Nk()};q.prototype.Ku= 590function(){this.ML=this.NL=this.kl=this.ll=0;this.Xma=void 0};q.prototype.JP=function(){var n=this.Gb();n&&n.ME.JP(this)};q.prototype.ke=function(){var n=this.Gb();n&&n.ME.ke(this)};q.prototype.Vb=function(){var n=this.Gb();n&&n.ME.Vb(this)};q.prototype.Gd=function(){var n=this.Gb();n&&n.ME.Gd(this)};q.prototype.Nk=function(){var n=this.Gb();n&&n.ME.Nk(this)};q.prototype.T5=function(){var n=isNaN(this.NV)&&isNaN(this.Gu),r=isNaN(this.OV)&&isNaN(this.rN);return isNaN(this.vm)&&isNaN(this.Rm)&&(n|| 591r)?!0:!1};q.prototype.Wla=function(){var n=isNaN(this.PV)&&isNaN(this.jq),r=isNaN(this.MV)&&isNaN(this.aK);return isNaN(this.qB)&&isNaN(this.Qm)&&(n||r)?!0:!1};q.prototype.OTa=function(){this.Ku();var n=this.LKa();if(n){var r=this.T5(),t=this.Wla();r&&!t?(r=this.pf(),0!=r&&(this.ll=r*n+this.Kl()+this.Hs(),this.kl=r+this.Is()+this.kI())):!r&&t&&(r=this.qf(),0!=r&&(this.kl=r/n+this.Kl()+this.Hs(),this.ll=r+this.Kl()+this.Hs()))}!isNaN(this.AF)&&this.ll<this.AF&&(this.ll=this.AF);!isNaN(this.yF)&&this.ll> 592this.yF&&(this.ll=this.yF);!isNaN(this.zF)&&this.kl<this.zF&&(this.kl=this.zF);!isNaN(this.xF)&&this.kl>this.xF&&(this.kl=this.xF)};q.prototype.Db=function(){if(!this.gta){this.gta=!0;var n=this.Er(),r=this.IF();n.appendChild(this.bl().mI());n.appendChild(r);r.appendChild(this.Rc().mI());r.appendChild(this.Fb().mI())}};q.prototype.e2a=function(){this.OTa();var n=this.Ns(),r=this.Ms(),t=this.Ks(),u=this.Sv();return n!=this.bNa||r!=this.aNa||t!=this.YMa||u!=this.XMa||this.Rm!=this.$Ma||this.Qm!=this.ZMa? 593(this.bNa=n,this.aNa=r,this.YMa=t,this.XMa=u,this.$Ma=this.Rm,this.ZMa=this.Qm,!0):!1};q.prototype.Va=function(){this.Nk()};q.prototype.Xl=function(){};q.prototype.mAa=function(n,r,t,u){if(this.Ia!=n||this.La!=r||this.ja!=t||this.wa!=u)this.Ia=n,this.La=r,this.ja=t,this.wa=u,this.Rc().setSize(this.ja,this.wa),this.Gd(),this.Nk(),this.trigger(new g(b.lc))};q.prototype.Ug=function(){var n=this.Er(),r=this.IF();this.Kb?(r.style.width=this.ja+"px",r.style.height=this.wa+"px",n.style.left=this.Ia+this.Lu+ 594"px",n.style.top=this.La+this.Mu+"px",n.style.width=this.ja+"px",n.style.height=this.wa+"px",n.style.visibility="inherit",n.style.overflow="visible",n.style.cursor=this.hb&&this.hb.b4.Sva(this.Dh),0===r.clientWidth&&0!==this.ja&&(n.style.width=0,n.style.width=this.ja+"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.bl().Ug();this.Rc().Ug();this.Fb().Ug();!this.sma&&this.hb&&(this.sma=!0,this.hb.osa?this.x6():this.hb.bind(b.sn, 595this.x6,this,!0))};q.prototype.x6=function(){this.trigger(b.INIT)};q.prototype.ZWa=function(n){n=n.Bc().offset();var r=this.Bc().offset(),t={};t.left=r.left-n.left;t.top=r.top-n.top;this.hb&&(t.left/=this.hb.Dy,t.top/=this.hb.Dy);return t};q.NF=0;return q}); 596define("S","require ek lx oR cB gR ne".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("gR"),h=a("ne"),d=k.extend(h,function(){this.m={};this.fv=this.Kka=void 0;this.Ly={};this.Gka=!0;this.psa={};h.call(this);this.jIa();this.pb();this.Ae("UICustomizable");this.ke()});d.wc={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, 597actualWidth: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, 598borderRightColor:void 0,borderBottomColor:void 0,shadow:!1,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:void 0,backgroundOpacity:1,backgroundColor:void 0,backgroundColorRatios:void 0,backgroundColorDirection:void 0,backgroundImageUrl:void 0,hideEffect:void 0,showEffect:void 0};d.prototype.jIa=function(){this.psa[b.$b]=b.qb};d.prototype.pb=function(){this.Dn(d.wc)};d.prototype.Dn=function(c){for(var f in c){var g=c[f],p=g&&g.length; 599p&&"string"!=typeof g?1==p?this.h(f,g[0]):2==p?this.u(f,g[0],g[1]):3==p&&this.u(f,g[0],g[1],g[2]):this.h(f,g)}};d.prototype.h=function(c,f){this.m[c]={i:!0,d:f}};d.prototype.QKa=function(){var c=[],f;for(f in this.m)c.push(f);return c};d.prototype.u=function(c,f,g,p){this.Ly[f]||(this.Ly[f]={});this.h(c,p);this.Ly[f][g]=c};d.prototype.eH=function(c,f){if(f)this.Kka=c;else if(void 0!=this.Kka)return;if(this.fv!=c){if(f=this.Ly[this.fv])for(var g in f)(this.m[g]||(this.m[g]={})).i=!0;this.fv=c;if(f= 600this.Ly[this.fv])for(g in f)(this.m[g]||(this.m[g]={})).i=!0;this.ke()}};d.prototype.ka=function(c){if(e(c).isString())this.set(c,void 0);else{var f=c;for(c in f)this.set(c,f[c])}};d.prototype.set=function(c,f){var g=this.m[c];g?(void 0==f&&(f=g.d),e.isEqual(this.get(c),f)||("state"==c&&this.eH(f,!0),h.prototype.set.call(this,c,f),g.i=!0,this.ke())):h.prototype.set.call(this,c,f)};d.prototype.get=function(c,f){switch(c){case "actualWidth":return this.Xa();case "actualHeight":return this.Ab();default:var g=
601h.prototype.get.call(this,c);void 0===g&&((c=this.m[c])&&(g=c.d),void 0===g&&(g=f));return g}};d.prototype.gia=function(){for(var c="paddingLeft paddingTop paddingRight paddingBottom borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize".split(" "),f=0;f<c.length;f++)if(this.I(c[f]))return!0;return!1};d.prototype.I= 602function(c){if((this.m[c]||{}).i)return!0;if(void 0!==this.fv)return c=this.Ly[this.fv][c],!!(this.m[c]||{}).i};d.prototype.NC=function(c){(this.m[c]||(this.m[c]={})).i=!0;this.ke()};d.prototype.P=function(c){(this.m[c]||(this.m[c]={})).i=!1;void 0!=this.fv&&(c=this.Ly[this.fv][c])&&((this.m[c]||(this.m[c]={})).i=!1)};d.prototype.B=function(){for(var c,f=0;f<arguments.length;f++){for(var g=arguments[f],p=this.fv;p;){if(c=this.Ly[p][g])if(c=this.get(c),void 0!=c&&null!=c)return c;p=this.psa[p]}c=this.get(g); 603if(void 0!=c&&null!=c)return c}};d.prototype.c$=function(c){c.source.unbind(m.vb,this.c$,this);this.trigger(new l(m.DJ))};d.prototype.e6=function(c){c.source.unbind(m.vb,this.e6,this);this.trigger(new l(m.uJ))};d.prototype.Va=function(){if(this.Gka)this.Gka=!1;else if(this.I("visible")){var c=this.B("visible"),f=this.get(c?"hideEffect":"showEffect");f&&f.zI(this)&&(f.unbind(m.vb,c?this.e6:this.c$,this),f.end());(f=this.get(c?"showEffect":"hideEffect"))?f.zI(this)||(this.P("visible"),f.bind(m.vb,c? 604this.c$:this.e6,this),f.play(this)):this.trigger(new l(c?m.DJ:m.uJ))}this.I("visible")&&(this.tf(this.B("visible")),this.P("visible"));this.I("includeInLayout")&&(this.GQa(this.B("includeInLayout")),this.P("includeInLayout"));this.I("left")&&(f=this.B("left"),c=d.Do(f),f=void 0===c?f:void 0,this.QQa(c),this.IQa(f),this.P("left"));this.I("top")&&(f=this.B("top"),c=d.Do(f),f=void 0===c?f:void 0,this.SQa(c),this.gRa(f),this.P("top"));this.I("right")&&(f=this.B("right"),c=d.Do(f),f=void 0===c?f:void 0, 605this.RQa(c),this.VQa(f),this.P("right"));this.I("bottom")&&(f=this.B("bottom"),c=d.Do(f),f=void 0===c?f:void 0,this.OQa(c),this.lQa(f),this.P("bottom"));this.I("centerX")&&(this.pQa(this.B("centerX")),this.P("centerX"));this.I("centerY")&&(this.qQa(this.B("centerY")),this.P("centerY"));this.I("width")&&(f=this.B("width"),c=d.Do(f),f=void 0===c?f:void 0,this.TQa(c),this.zQa(f),this.P("width"));this.I("height")&&(f=this.B("height"),c=d.Do(f),f=void 0===c?f:void 0,this.PQa(c),this.uQa(f),this.P("height")); 606this.I("minWidth")&&(f=this.B("minWidth"),this.yQa(f),this.P("minWidth"));this.I("minHeight")&&(f=this.B("minHeight"),this.xQa(f),this.P("minHeight"));this.I("maxWidth")&&(f=this.B("maxWidth"),this.wQa(f),this.P("maxWidth"));this.I("maxHeight")&&(f=this.B("maxHeight"),this.vQa(f),this.P("maxHeight"));this.I("paddingLeft")&&(this.Kra(this.B("paddingLeft")),this.P("paddingLeft"));this.I("paddingTop")&&(this.Mra(this.B("paddingTop")),this.P("paddingTop"));this.I("paddingRight")&&(this.Lra(this.B("paddingRight")), 607this.P("paddingRight"));this.I("paddingBottom")&&(this.Jra(this.B("paddingBottom")),this.P("paddingBottom"));c=!1;this.I("borderRadius")&&(this.P("borderRadius"),c=!0);f=!1;this.I("borderLeftRadius")&&(this.P("borderLeftRadius"),f=!0);var g=!1;this.I("borderTopRadius")&&(this.P("borderTopRadius"),g=!0);var p=!1;this.I("borderRightRadius")&&(this.P("borderRightRadius"),p=!0);var q=!1;this.I("borderBottomRadius")&&(this.P("borderBottomRadius"),q=!0);if(this.I("borderTopLeftRadius")||g||f||c)this.iQa(this.B("borderTopLeftRadius", 608"borderLeftRadius","borderTopRadius","borderRadius")),this.P("borderTopLeftRadius");if(this.I("borderTopRightRadius")||g||p||c)this.jQa(this.B("borderTopRightRadius","borderRightRadius","borderTopRadius","borderRadius")),this.P("borderTopRightRadius");if(this.I("borderBottomLeftRadius")||q||f||c)this.aQa(this.B("borderBottomLeftRadius","borderLeftRadius","borderBottomRadius","borderRadius")),this.P("borderBottomLeftRadius");if(this.I("borderBottomRightRadius")||q||p||c)this.bQa(this.B("borderBottomRightRadius", 609"borderRightRadius","borderBottomRadius","borderRadius")),this.P("borderBottomRightRadius");c=!1;this.I("borderSize")&&(this.P("borderSize"),c=!0);if(this.I("borderLeftSize")||c)this.eQa(this.B("borderLeftSize","borderSize")),this.P("borderLeftSize");if(this.I("borderTopSize")||c)this.kQa(this.B("borderTopSize","borderSize")),this.P("borderTopSize");if(this.I("borderRightSize")||c)this.gQa(this.B("borderRightSize","borderSize")),this.P("borderRightSize");if(this.I("borderBottomSize")||c)this.cQa(this.B("borderBottomSize", 610"borderSize")),this.P("borderBottomSize");c=!1;this.I("borderColor")&&(this.P("borderColor"),c=!0);if(this.I("borderLeftColor")||c)this.dQa(this.B("borderLeftColor","borderColor")),this.P("borderLeftColor");
610if(this.I("borderTopColor")||c)this.hQa(this.B("borderTopColor","borderColor")),this.P("borderTopColor");if(this.I("borderRightColor")||c)this.fQa(this.B("borderRightColor","borderColor")),this.P("borderRightColor");if(this.I("borderBottomColor")||c)this.$Pa(this.B("borderBottomColor","borderColor")), 611this.P("borderBottomColor");this.I("shadow")&&(this.QW(this.B("shadow")),this.P("shadow"));this.I("shadowHorizontalLength")&&(this.aRa(this.B("shadowHorizontalLength")),this.P("shadowHorizontalLength"));this.I("shadowVerticalLength")&&(this.dRa(this.B("shadowVerticalLength")),this.P("shadowVerticalLength"));this.I("shadowBlurRadius")&&(this.ZQa(this.B("shadowBlurRadius")),this.P("shadowBlurRadius"));this.I("shadowSpread")&&(this.cRa(this.B("shadowSpread")),this.P("shadowSpread"));this.I("shadowColor")&& 612(this.$Qa(this.B("shadowColor")),this.P("shadowColor"));c=!1;this.I("opacity")&&(this.bj(this.B("opacity")),this.P("opacity"),c=!0);if(this.I("shadowOpacity")||c)this.bRa(this.B("shadowOpacity","opacity")),this.P("shadowOpacity");this.I("backgroundOpacity")&&(this.WPa(this.B("backgroundOpacity")),this.P("backgroundOpacity"));this.I("backgroundColor")&&(this.SPa(this.B("backgroundColor")),this.P("backgroundColor"));this.I("backgroundColorRatios")&&(this.UPa(this.B("backgroundColorRatios")),this.P("backgroundColorRatios")); 613this.I("backgroundColorDirection")&&(this.TPa(this.B("backgroundColorDirection")),this.P("backgroundColorDirection"));this.I("backgroundImageUrl")&&(this.VPa(this.B("backgroundImageUrl")),this.P("backgroundImageUrl"));h.prototype.Va.call(this)};d.Do=function(c){if(e(c).isString()&&(c=c.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=c.length)return parseFloat(c[1])};return d}); 614define("jM",["require","ek","lx","cB"],function(a){var e=a("ek"),k=a("lx"),m=a("cB");return k.extend(m,function(l,b,h,d,c,f,g,p){e.isNumber(b)||(b=1);e.isNumber(h)||(h=0);m.call(this,l);this.scale=b;this.rotation=h;this.x=d;this.y=c;this.pageX=f;this.pageY=g;this.touches=p||[]})}); 615define("oV",["require","exports","cB"],function(a,e,k){return function(m){function l(b,h,d,c,f,g,p,q){b=m.call(this,b)||this;b.x=h;b.y=d;b.pageX=c;b.pageY=f;b.delta=g;b.CY=p;b.originalEvent=q;b.movementX=q?q.movementX:0;b.movementY=q?q.movementY:0;return b}Z(l,m);return l}(k)}); 616define("e","require jquery.mod ek lx oR gR me S jM oV gH v ms".split(" "),function(a){var e=a("jquery.mod"),k=a("ek"),m=a("lx"),l=a("oR"),b=a("gR"),h=a("me"),d=a("S"),c=a("jM"),f=a("oV");a("gH");var g=a("v");a=a("ms");var p=m.extend(d,function(){d.call(this);this.Ae("UIComponent");this.XS=[];this.kna=0;this.EIa=500;this.Cc=1;this.Jn=g.L_();this.oL=this.Bu=this.YT=!1;this.set("propagateClick",!0)});p.wc={autoRolledOver:!1,autoPressed:!1,contentOpaque:!0,cursor:void 0,inheritedCursor:void 0,inheritedInteractionEnabled:!0, 617interactionEnabled:!0,rollOverOpacity:[b.U,"opacity"],rollOverShadow:[b.U,"shadow"],toolTipFollowMouse:!1};k.defaults(p.wc,d.wc);p.prototype.pb=function(){this.Dn(p.wc)};p.prototype.yia=function(){this.Qra(!0)};p.prototype.xia=function(){this.Qra(!1)};p.prototype.via=function(){this.dH(!0)};p.prototype.wia=function(){this.dH(!1)};p.prototype.FN=function(n){this.Bu!=n&&(this.Bu=n,this.kg())};p.prototype.dH=function(n){this.oL!=n&&(this.oL=n,this.kg())};p.prototype.Qra=function(n){this.YT!=n&&(this.YT= 618n,this.kg())};p.prototype.kg=function(){this.Bu?this.eH(b.da):this.oL&&this.YT?this.eH(b.$b):this.oL?this.eH(b.qb):this.YT?this.eH(b.U):this.eH(b.te)};p.prototype.trigger=function(){d.prototype.trigger.apply(this,arguments)};p.prototype.Ysa=function(n,r){this.trigger(new f(l.wb,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.Zsa=function(n,r){this.trigger(new f(l.kc,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.$sa=function(n,r){this.trigger(new f(l.Zb, 619n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.JSa=function(n,r,t){this.trigger(new f(l.cr,n.x,n.y,n.pageX,n.pageY,r.delta,r.CY,t&&t.originalEvent))};p.prototype.Vsa=function(n){this.trigger(new f(l.ra,n.x,n.y,n.pageX,n.pageY))};p.prototype.Wsa=function(n){this.trigger(new f(l.em,n.x,n.y,n.pageX,n.pageY))};p.prototype.MSa=function(){this.trigger(new f(l.Xc))};p.prototype.LSa=function(){this.trigger(new f(l.ac))};p.prototype.HSa=function(){this.trigger(new f(l.rA))};p.prototype.ISa= 620function(){this.trigger(new f(l.Uo))};p.prototype.GSa=function(n,r,t){this.trigger(new c(l.Kw,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};p.prototype.CSa=function(n,r,t){this.trigger(new c(l.b1,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};p.prototype.DSa=function(n,r,t){this.trigger(new c(l.tE,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};p.prototype.ESa=function(n){this.trigger(new c(l.XCa,void 0,n))};p.prototype.FSa=function(n){this.trigger(new c(l.uE,n))};p.prototype.L$=function(n){n.stopImmediatePropagation(); 621this.tF(["touchend"]);this.xma(n)?this.b9(n):this.uqa(n,!0)};p.prototype.uqa=function(n,r){var t=this.KF(n);r&&this.vSa(t);this.Ysa(t,n);this.la&&this.la.uqa(n,r&&this.get("propagateClick"))};p.prototype.K$=function(n){n.preventDefault();n.stopImmediatePropagation();this.xma(n)?this.Z8(n):this.tqa(n)};p.prototype.tqa=function(n){var r=this.KF(n);this.uSa(r);this.Zsa(r,n);this.la&&this.la.tqa(n)};p.prototype.fla=function(n,r){var t=n.pageX-r.pageX;n=n.pageY-r.pageY;return Math.sqrt(t*t+n*n)};p.prototype.$y= 622function(n,r){this.AK(["touchend"]);!1!==r&&n.preventDefault();n.stopImmediatePropagation();this.MG?this.a9(n):(this.sqa(n,this.wma()),this.kma());this.MG=null;this.VJ()};p.prototype.sqa=function(n,r){var t=this.KF(n);this.$sa(t,n);this.tSa(r);this.la&&this.la.sqa(n,r)};p.prototype.vSa=function(n){this.bind(l.ac,this.Osa,this,!0);this.WC=n};p.prototype.uSa=function(n){if(this.WC){n=this.fla(this.WC,n);if(g.lb()){var r=this.Gb();r=.01*p.pEa*Math.min(r.Xa(),r.Ab())}else r=p.vEa;n>r&&this.xX()}};p.prototype.tSa=
623function(n){this.WC&&(this.Vsa(this.WC),n&&this.Wsa(this.WC),this.xX())};p.prototype.xX=function(){this.WC&&(this.unbind(l.ac,this.Osa,this),this.WC=void 0)};p.prototype.Osa=function(){this.xX()};p.prototype.i5=function(n){this.tF(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.b9(n)};p.prototype.b9=function(n){var r=this.u5(n);this.MG=r;this.GSa(r.scale,r.rotation,r.coordinates);this.la&&this.la.b9(n)};p.prototype.Oka=function(n){n.preventDefault();n.stopImmediatePropagation(); 624this.Z8(n)};p.prototype.Z8=function(n){var r=this.u5(n,this.MG),t=r.rotation-this.MG.rotation,u=r.scale/this.MG.scale;this.MG=r;this.Cc*=u;for(this.Ak+=t;180<this.Ak;)this.Ak-=360;for(;-180>this.Ak;)this.Ak+=360;this.CSa(this.Cc,this.Ak,r.coordinates);0!=t&&this.ESa(this.Ak);1!=u&&this.FSa(this.Cc);this.xX();this.la&&this.la.Z8(n)};p.prototype.Qka=function(n){this.AK(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.a9(n)};p.prototype.a9=function(n){var r=this.u5(n); 625this.DSa(this.Cc,this.Ak,r.coordinates);this.la&&this.la.a9(n)};p.prototype.s7=function(n){this.tF(["mouseup"]);n.stopImmediatePropagation();this.oqa(n,!0);q&&this.KMa(n.ctrlKey)};p.prototype.oqa=function(n,r){var t=this.AB(n);r&&this.VGa(t);this.Ysa(t,n);this.la&&this.la.oqa(n,r&&this.get("propagateClick"))};p.prototype.w7=function(n){n.preventDefault();n.stopImmediatePropagation();this.Gb().UD(this);this.pqa(n)};p.prototype.pqa=function(n){var r=this.AB(n);this.UGa(r);this.Zsa(r,n);this.la&&this.la.pqa(n)}; 626p.prototype.HU=function(n){this.AK(["mouseup"]);n.preventDefault();n.stopImmediatePropagation();this.qqa(n,this.wma());this.kma()};p.prototype.qqa=function(n,r){var t=this.AB(n);this.$sa(t);this.TGa(r);this.la&&this.la.qqa(n,r)};p.prototype.VGa=function(n){this.bind(l.ac,this.mja,this,!0);this.cB=n};p.prototype.UGa=function(n){this.cB&&this.fla(this.cB,n)>p.kEa&&this.n3()};p.prototype.TGa=function(n){this.cB&&(this.Vsa(this.cB),n&&this.Wsa(this.cB),this.n3())};p.prototype.n3=function(){this.cB&&(this.unbind(l.ac, 627this.mja,this),this.cB=void 0)};p.prototype.mja=function(){this.n3()};p.prototype.mna=function(n){this.hb.lna&&(n.preventDefault(),n.stopImmediatePropagation(),this.rqa(n))};p.prototype.Uia=function(){return!1};p.prototype.rqa=function(n){var r=this.AB(n),t=this.AKa(n);this.la&&!this.Uia(t.delta)&&this.la.rqa(n);this.JSa(r,t,n)};p.prototype.AB=function(n){return this.qT(n.pageX,n.pageY)};p.prototype.AKa=function(n){n=window.event||n.originalEvent||n;var r={};r.delta=Math.max(-1,Math.min(1,n.wheelDelta|| 628-n.detail));r.CY=n.wheelDelta?.01*n.wheelDelta:r.delta;return r};p.prototype.KF=function(n){var r=this.s5(n);if(void 0===r){var t=void 0!==n.pageX?this.qT(n.pageX,n.pageY):this.qT(n.originalEvent.pageX,n.originalEvent.pageY);t.touches=[t]}else 0==r.length?t=this.QOa:(t={x:0,y:0,pageX:0,pageY:0,Bz:0,Cz:0,touches:[]},Array.from(r).forEach(function(u){u||(u=r[0]);u=this.qT(u.pageX,u.pageY);t.x+=u.x;t.y+=u.y;t.pageX+=u.pageX;t.pageY+=u.pageY;t.Bz+=u.Bz;t.Cz+=u.Cz;t.touches.push(u)}.bind(this)),t.x/=r.length, 629t.y/=r.length,t.pageX/=r.length,t.pageY/=r.length,t.Bz/=r.length,t.Cz/=r.length);return this.QOa=t};p.prototype.xma=function(n){if((n=this.s5(n))&&1<n.length)for(var r=0,t=0;t<n.length;t++)if(this.fMa(n[t].target)&&(r++,1<r))return!0;return!1};p.prototype.fMa=function(n){for(;n;){if(n==this.bc)return!0;n=n.parentNode}return!1};p.prototype.s5=function(n){return n.originalEvent.touches||n.originalEvent.targetTouches||n.originalEvent.changedTouches};p.prototype.qT=function(n,r){var t=this.Bc().offset(), 630u=this.hb?this.hb.Dy:1,v={};v.x=(n-t.left)/u;v.y=(r-t.top)/u;v.pageX=n/u;v.pageY=r/u;v.Bz=n;v.Cz=r;return v};p.prototype.u5=function(n,r){var t=this.KF(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.pla(n),{coordinates:t,scale:r.scale*n/r.touchesDistance,rotation:0,touchesDistance:n}):{coordinates:t,scale:1,rotation:0,touchesDistance:this.pla(n)}};p.prototype.pla=function(n){var r= 631this.s5(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.tF=function(n){this.XS=k(this.XS).union(n);n=this.ola(n);for(var r=0;r<n.length;r++){var t=n[r];t.target.bind(t.name,t.handler)}};p.prototype.kma=function(){this.kna=(new Date).getTime()};p.prototype.wma=function(){return(new Date).getTime()-this.kna<=this.EIa};p.prototype.AK=function(n){this.XS=k(this.XS).difference(n);n=this.ola(n);for(var r=0;r<n.length;r++){var t= 632n[r];t.target.unbind(t.name,t.handler)}};p.prototype.ola=function(n){this.Cka||(this.Cka=this.r5());for(var r=[],t=0;t<n.length;
632t++)r=r.concat(this.Cka[n[t]]);return r};p.prototype.r5=function(){var n=this.Bc(),r=e(document),t=e(window);return{touchstart:[{target:n,name:"touchstart",handler:this.lh(this.L$)}],touchmove:[{target:n,name:"touchmove",handler:this.lh(this.K$)}],touchend:[{target:n,name:"touchend",handler:this.lh(this.$y,!0)},{target:r,name:"touchend",handler:this.lh(this.$y,!0)},{target:n, 633name:"touchcancel",handler:this.lh(this.$y,!0)},{target:r,name:"touchcancel",handler:this.lh(this.$y,!0)}],gesturestart:[{target:n,name:"gesturestart",handler:this.lh(this.i5)}],gesturechange:[{target:n,name:"gesturechange",handler:this.lh(this.Oka)}],gestureend:[{target:n,name:"gestureend",handler:this.lh(this.Qka)}],mousedown:[{target:n,name:"mousedown",handler:this.lh(this.s7)}],mousemove:[{target:n,name:"mousemove",handler:this.lh(this.w7)}],mouseup:[{target:n,name:"mouseup",handler:this.lh(this.HU, 634!0)},{target:t,name:"mouseup",handler:this.lh(this.HU,!0)}],mousewheel:[{target:n,name:"mousewheel",handler:this.lh(this.mna)},{target:n,name:"DOMMouseScroll",handler:this.lh(this.mna)}]}};p.prototype.lh=function(n,r){var t=this;return function(){r&&h.T_();p.RX+=1;var u=n.apply(t,arguments);--p.RX;return u}};p.prototype.Va=function(){this.I("autoRolledOver")&&(this.unbind(l.Xc,this.yia,this),this.unbind(l.ac,this.xia,this),this.B("autoRolledOver")&&(this.bind(l.Xc,this.yia,this),this.bind(l.ac,this.xia, 635this)),this.P("autoRolledOver"));this.I("autoPressed")&&(this.unbind(l.wb,this.via),this.unbind(l.Zb,this.wia),this.B("autoPressed")&&(this.bind(l.wb,this.via),this.bind(l.Zb,this.wia)),this.P("autoPressed"));var n=!1;this.I("contentOpaque")&&(n=!0,this.P("contentOpaque"));this.I("inheritedInteractionEnabled")&&(n=!0,this.P("inheritedInteractionEnabled"));this.I("interactionEnabled")&&(n=!0,this.P("interactionEnabled"));if(this.I("backgroundOpacity")||this.I("backgroundColor"))n=!0;d.prototype.Va.call(this); 636if(n){var r=this.Rc();r=0<r.Lk()&&0<r.dB.length;var t=this.B("contentOpaque"),u=this.B("inheritedInteractionEnabled"),v=this.B("interactionEnabled");this.KC(u&&v&&(t||r))}if(n||this.I("cursor")||this.I("inheritedCursor"))this.P("cursor"),this.P("inheritedCursor"),this.HR?this.Sy(this.B("cursor")):this.Sy(this.B("inheritedCursor"))};p.prototype.KC=function(n){this.HR!=n&&((this.HR=n)?this.tF(p.Uha):this.AK(p.Uha),this.VJ())};p.prototype.VJ=function(){this.Er().style["pointer-events"]=this.Kla()};p.prototype.Kla= 637function(){return this.HR?"auto":"none"};p.prototype.KMa=function(n){if(n){n=[];for(var r=this;r;)n.push(r),r=r.getParent();console.log(n.map(function(t){return t.Qt}))}else console.log(this.Qt)};p.sZ=function(){return 0<p.RX};p.Uha=function(){var n=[];n=n.concat(["touchstart","touchmove"]);g.zd()!=g.Fi&&(n=n.concat(["mousedown","mousemove","mousewheel"]));return n}();p.RX=0;p.g3a=1E3;p.vEa=10;p.pEa=5;p.kEa=10;var q=a.Qg("debug");return p}); 638define("d",["require"],function(){return{VQ:"absolute",Cg:"horizontal",Mw:"grid",wh:"vertical"}});define("cC",["require"],function(){return function(a){this.wd=a;this.height=this.width=this.y=this.x=0}});define("dJ",["require"],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}}); 639define("ch",["require","mZ","cC","dJ"],function(a){function e(){this.Mc=null;this.Hl=k.vc;this.fl=k.Ya;this.dD=this.wu=0}var k=a("mZ"),m=a("cC"),l=a("dJ");e.prototype.yAa=function(b){this.wu!=b&&(this.wu=b,this.Ue())};e.prototype.z_=function(b){this.dD!=b&&(this.dD=b,this.Ue())};e.prototype.QAa=function(b){this.Mc=b;this.Ue()};e.prototype.UI=function(b){this.fl!=b&&(this.fl=b,this.Ue())};e.prototype.$I=function(b){this.Hl!=b&&(this.Hl=b,this.Ue())};e.prototype.measure=function(){return new l};e.prototype.update= 640function(){var b=this.uHa();this.vH(b);this.sQa(b)};e.prototype.vH=function(b){this.sO(b);this.rO(b)};e.prototype.tT=function(){for(var b=this.Tla(),h=[],d=0;d<b.length;d++){var c=b[d];c.get("includeInLayout")&&h.push(c)}return h};e.prototype.Tla=function(){for(var b=this.Mc.Lb(),h=[],d=0;d<b.length;d++){var c=b[d];c.get("visible")&&h.push(c)}return h};e.prototype.uHa=function(){for(var b=this.Tla(),h=[],d=0;d<b.length;d++)h.push(new m(b[d]));return h};e.prototype.sQa=function(b){for(var h=0;h<b.length;h++){var d= 641b[h];d.wd.mAa(d.x,d.y,d.width,d.height)}};e.prototype.Ue=function(){this.Mc&&(this.Mc.Vb(),this.Mc.Gd())};return e}); 642define("dC",["require","lx","mZ","ch","dJ"],function(a){var e=a("lx");a("mZ");var k=a("ch"),m=a("dJ");a=e.extend(k,function(){k.call(this)});a.prototype.measure=function(){for(var l=new m,b=this.tT(),h=0;h<b.length;h++){var d=b[h],c=d.Gu,f=d.rN,g=0;isNaN(c)||(g+=c);isNaN(f)||(g+=f);l.width=Math.max(g+d.Ns(),l.width);l.minWidth=Math.max(g+d.Ks(),l.minWidth);c=d.jq;f=d.aK;g=0;isNaN(c)||(g+=c);isNaN(f)||(g+=f);l.height=Math.max(g+d.Ms(),l.height);l.minHeight=Math.max(g+d.Sv(),l.minHeight)}b=this.Mc.Kl()+ 643this.Mc.Hs();l.width+=b;l.minWidth+=b;b=this.Mc.Is()+this.Mc.kI();l.height+=b;l.minHeight+=b;return l};a.prototype.vH=function(l){this.sO(l);this.rO(l)};a.prototype.vH=function(l){for(var b=this.Mc.qf(),h=this.Mc.pf(),d=0;d<l.length;d++){var c=l[d],f=c.wd,g=f.Gu;if(isNaN(g)){var p=f.NV;isNaN(p)||(g=Math.round(p*b*.01))}p=f.rN;if(isNaN(p)){var q=f.OV;isNaN(q)||(p=Math.round(q*b*.01))}q=f.px;var n=f.vm;if(isNaN(n)){var r=f.Rm;isNaN(r)?isNaN(g)||isNaN(p)||(n=b-g-p):n=Math.round(r*b*.01)}r=f.jq;if(isNaN(r)){var t= 644f.PV;isNaN(t)||(r=Math.round(t*h*.01))}t=f.aK;
644if(isNaN(t)){var u=f.MV;isNaN(u)||(t=Math.round(u*h*.01))}u=f.qx;var v=f.qB;if(isNaN(v)){var w=f.Qm;isNaN(w)?isNaN(r)||isNaN(t)||(v=h-r-t):v=Math.round(w*h*.01)}c.width=isNaN(n)?f.Ns():Math.max(f.Ks(),Math.min(f.cZ(),n));c.height=isNaN(v)?f.Ms():Math.max(f.Sv(),Math.min(f.bZ(),v));c.x=isNaN(g)||isNaN(p)?isNaN(g)?isNaN(p)?isNaN(q)?0:.5*b+q-.5*c.width:b-p-c.width:g:Math.round(g+.5*(b-p-g-c.width));c.y=isNaN(r)||isNaN(t)?isNaN(r)?isNaN(t)?isNaN(u)?0:.5*h+ 645u-.5*c.height:h-t-c.height:r:Math.round(r+.5*(h-t-r-c.height))}};return a}); 646define("ku",["require","lx","mZ","ch","dJ"],function(a){var e=a("lx"),k=a("mZ"),m=a("ch"),l=a("dJ");a=e.extend(m,function(){m.call(this);this.qL=this.rL=this.sL=this.QB=this.Cu=this.Du=this.uL=this.ay=this.vm=void 0});a.prototype.A_a=function(b){this.vm!=b&&(this.vm=b,this.Ue())};a.prototype.P_a=function(b){this.Du!=b&&(this.Du=b,void 0!=this.Du&&(this.ay=void 0),this.Ue())};a.prototype.O_a=function(b){this.Cu!=b&&(this.Cu=b,void 0!=this.Cu&&(this.uL=void 0),this.Ue())};a.prototype.X_a=function(b){this.ay!= 647b&&(this.ay=b,void 0!=this.Du&&(this.Du=void 0),this.Ue())};a.prototype.W_a=function(b){this.uL!=b&&(this.uL=b,void 0!=this.Cu&&(this.Cu=void 0),this.Ue())};a.prototype.U_a=function(b){this.QB!=b&&(this.QB=b,this.Ue())};a.prototype.T_a=function(b){this.sL!=b&&(this.sL=b,this.Ue())};a.prototype.S_a=function(b){this.rL!=b&&(this.rL=b,this.Ue())};a.prototype.R_a=function(b){this.qL!=b&&(this.qL=b,this.Ue())};a.prototype.measure=function(){for(var b=new l,h=this.tT(),d=0,c=0;c<h.length;c++)h[c].get("includeInLayout")&& 648d++;if(!isNaN(this.ay))for(isNaN(this.QB)||(b.minWidth=this.QB),c=0;c<h.length;c++){var f=h[c].Ks();isNaN(f)||(b.minWidth=Math.max(f,b.minWidth))}if(isNaN(this.Du))for(c=0;c<h.length;c++)f=h[c].Ns(),isNaN(f)||(b.width=Math.max(f,b.width));else b.width=this.Du;if(isNaN(this.Cu))for(c=0;c<h.length;c++)f=h[c].Ms(),isNaN(f)||(b.height=Math.max(f,b.height));else b.height=this.Cu;isNaN(this.ay)?isNaN(this.vm)?h=Math.ceil(Math.sqrt(d)):(h=this.vm-this.Mc.Kl()-this.Mc.Hs(),h=Math.max(1,Math.floor((h+this.wu)/ 649(b.width+this.wu)))):h=Math.max(1,Math.floor(100/this.ay));d=Math.ceil(d/h);b.width=b.width*h+Math.max(0,h-1)*this.wu+this.Mc.Kl()+this.Mc.Hs();b.minWidth=b.minWidth+this.Mc.Kl()+this.Mc.Hs();b.height=b.height*d+Math.max(0,d-1)*this.dD+this.Mc.Is()+this.Mc.kI();b.minHeight=0;return b};a.prototype.vH=function(b){for(var h,d,c=[],f=[],g=0;g<b.length;g++)d=b[g].wd,d.get("includeInLayout")?c.push(b[g]):f.push(b[g]);var p=c.length,q=this.Mc.qf(),n=this.wu;if(isNaN(this.Du))if(isNaN(this.ay)){for(g=b=0;g< 650c.length;g++)d=c[g].wd,b=Math.max(d.Ks(),d.Ns(),b);b=Math.min(q,b)}else b=Math.max(1,Math.floor(100/this.ay)),b=(q-(b-1)*n)/b,g=!1,!isNaN(this.rL)&&this.rL<b&&(b=this.rL,g=!0),!isNaN(this.QB)&&this.QB>b&&(b=this.QB,g=!0),g&&(b=Math.max(1,Math.floor((q+n)/(b+n))),b=(q-(b-1)*n)/b);else b=this.Du;b=Math.max(1,b);var r=Math.max(1,Math.floor(.001+(q+n)/(b+n)));g=r*b;var t=r*(b+n)-n,u=0;if(q>=t)switch(this.fl){case k.rb:u=q-t;break;case k.De:u=Math.round(.5*(q-t));break;default:u=0}q=[];t=[];for(var v= 6510;v<r;v++)d=Math.round(g/(r-v)),g-=d,t.push(u),u+=d+n,q.push(d);u=this.Mc.pf();v=this.dD;if(isNaN(this.Cu))if(isNaN(this.uL))for(n=1,g=0;g<c.length;g++)d=c[g].wd,n=Math.max(d.Sv(),d.Ms(),n);else n=Math.max(1,100/this.uL),n=(u-(n-1)*v)/n,g=!1,!isNaN(this.qL)&&this.qL<n&&(n=this.qL,g=!0),!isNaN(this.sL)&&this.sL>n&&(n=this.sL,g=!0),g&&(n=Math.max(1,Math.floor((u+v)/(n+v))),n=(u-(n-1)*v)/n);else n=this.Cu;g=Math.max(1,Math.ceil(p/r));h=g*n;p=g*(n+v)-v;var w=0;if(u>=p)switch(this.Hl){case k.oc:w=u-p; 652break;case k.fe:w=Math.round(.5*(u-p))}p=[];u=[];for(d=0;d<g;d++){var x=Math.round(h/(g-d));h-=x;u.push(w);w+=x+v;p.push(x)}for(g=0;g<c.length;g++)h=c[g],v=g%r,d=Math.floor(g/r),h.x=t[v],h.width=q[v],h.y=u[d],h.height=p[d];for(g=0;g<f.length;g++)h=f[g],h.x=0,h.width=Math.round(b),h.y=0,h.height=Math.round(n)};return a}); 653define("lv",["require","lx","mZ","ch","dJ"],function(a){var e=a("lx"),k=a("mZ"),m=a("ch"),l=a("dJ");a=e.extend(m,function(){m.call(this)});a.prototype.measure=function(){for(var b=new l,h=this.tT(),d=0;d<h.length;d++){var c=h[d];b.height=Math.max(c.Ms(),b.height);b.minHeight=Math.max(c.Sv(),b.minHeight);b.width+=c.Ns();b.minWidth+=c.Ks()}h=Math.max(0,h.length-1)*this.wu+this.Mc.Kl()+this.Mc.Hs();b.width+=h;b.minWidth+=h;h=this.Mc.Is()+this.Mc.kI();
653b.height+=h;b.minHeight+=h;return b};a.prototype.vH= 654function(b){this.sO(b);this.rO(b)};a.prototype.sO=function(b){for(var h=0,d=0;d<b.length;d++)b[d].wd.get("includeInLayout")&&h++;d=Math.max(0,h-1)*this.wu;var c=this.Mc.qf()-d,f=this.Mc.pf();h=c;var g=0,p=[];for(d=0;d<b.length;d++){var q=b[d],n=q.wd,r=n.Qm;q.height=isNaN(r)?n.Ms():Math.max(n.Sv(),Math.min(n.bZ(),Math.round(f*r*.01)));r=n.Rm;isNaN(r)?(q.width=n.Ns(),h-=q.width):n.get("includeInLayout")?(g+=r,p.push(q)):q.width=Math.max(n.Ks(),Math.min(n.cZ(),Math.round(c*r*.01)))}h-=Math.max(0,h-c* 655g*.01);do{b=!1;c=Math.max(0,0<g?h/g:0);f=[];for(d=g=0;d<p.length;d++){q=p[d];n=q.wd;r=Math.round(n.Rm*c);var t=n.Ks(),u=n.cZ();r<t?(q.width=t,h-=q.width,b=!0):r>u?(q.width=u,h-=q.width,b=!0):(g+=n.Rm,f.push(q))}p=f}while(b);for(d=0;d<p.length;d++)q=p[d],n=q.wd,c=Math.max(0,0<g?h/g:0),q.width=Math.round(n.Rm*c),h-=q.width,g-=n.Rm};a.prototype.rO=function(b){for(var h=this.wu,d=this.Mc.qf(),c=this.Mc.pf(),f=0,g=0,p=0;p<b.length;p++){var q=b[p];q.wd.get("includeInLayout")&&(f+=b[p].width,g++)}f+=h*(g- 6561);if(d>=f)switch(this.fl){case k.rb:d-=f;break;case k.De:d=Math.round(.5*(d-f));break;default:d=0}else d=0;for(p=0;p<b.length;p++)if(q=b[p],q.wd.get("includeInLayout")){if(c>=q.height)switch(this.Hl){case k.oc:q.y=c-q.height;break;case k.fe:q.y=Math.round(.5*(c-q.height));break;default:q.y=0}else q.y=0;q.x=d;d+=q.width+h}else q.x=0,q.y=0};return a}); 657define("dh",["require","lx","mZ","ch","dJ"],function(a){var e=a("lx"),k=a("mZ"),m=a("ch"),l=a("dJ");a=e.extend(m,function(){m.call(this)});a.prototype.measure=function(){for(var b=new l,h=this.tT(),d=0;d<h.length;d++){var c=h[d];b.width=Math.max(c.Ns(),b.width);b.minWidth=Math.max(c.Ks(),b.minWidth);b.height+=c.Ms();b.minHeight+=c.Sv()}h=Math.max(0,h.length-1)*this.dD+this.Mc.Is()+this.Mc.kI();b.height+=h;b.minHeight+=h;h=this.Mc.Kl()+this.Mc.Hs();b.width+=h;b.minWidth+=h;return b};a.prototype.vH= 658function(b){this.sO(b);this.rO(b)};a.prototype.sO=function(b){for(var h=0,d=0;d<b.length;d++)b[d].wd.get("includeInLayout")&&h++;d=Math.max(0,h-1)*this.dD;var c=this.Mc.qf(),f=this.Mc.pf()-d;h=f;var g=0,p=[];for(d=0;d<b.length;d++){var q=b[d],n=q.wd,r=n.Rm;q.width=isNaN(r)?n.Ns():Math.max(n.Ks(),Math.min(n.cZ(),Math.round(c*r*.01)));r=n.Qm;isNaN(r)?(q.height=n.Ms(),h-=q.height):n.get("includeInLayout")?(g+=r,p.push(q)):q.height=Math.max(n.Sv(),Math.min(n.bZ(),Math.round(f*r*.01)))}h-=Math.max(0,h- 659f*g*.01);do{b=!1;c=Math.max(0,0<g?h/g:0);f=[];for(d=g=0;d<p.length;d++){q=p[d];n=q.wd;r=Math.round(n.Qm*c);var t=n.Sv(),u=n.bZ();r<t?(q.height=t,h-=q.height,b=!0):r>u?(q.height=u,h-=q.height,b=!0):(g+=n.Qm,f.push(q))}p=f}while(b);for(d=0;d<p.length;d++)q=p[d],n=q.wd,c=Math.max(0,0<g?h/g:0),q.height=Math.round(n.Qm*c),h-=q.height,g-=n.Qm};a.prototype.rO=function(b){for(var h=this.dD,d=this.Mc.qf(),c=this.Mc.pf(),f=0,g=0,p=0;p<b.length;p++){var q=b[p];q.wd.get("includeInLayout")&&(f+=q.height,q.width> 660d&&(d=q.width),g++)}f+=h*(g-1);if(c>=f)switch(this.Hl){case k.oc:c-=f;break;case k.fe:c=Math.round(.5*(c-f));break;default:c=0}else c=0;for(p=0;p<b.length;p++)if(q=b[p],q.wd.get("includeInLayout")){switch(this.fl){case k.rb:q.x=d-q.width;break;case k.De:q.x=Math.round(.5*(d-q.width));break;default:q.x=0}q.y=c;c+=q.height+h}else q.x=0,q.y=0};return a}); 661define("m","require lx ek e S mZ cS d dC ku lv dh".split(" "),function(a){var e=a("lx"),k=a("ek"),m=a("e"),l=a("S"),b=a("mZ"),h=a("cS"),d=a("d"),c=a("dC"),f=a("ku"),g=a("lv"),p=a("dh"),q=e.extend(m,function(){m.call(this);this.Ae("BaseContainer");this.Ln=null;this.Kd=[];this.lp=[];this.wK=h.xfa;this.set("contentOpaque",!1)});q.wc={children:[[]],childrenInteractionEnabled:!0,gap:0,horizontalAlign:b.Ya,itemHeight:void 0,itemMaxHeight:void 0,itemMaxWidth:void 0,itemMinHeight:void 0,itemMinWidth:void 0, 662itemWidth:void 0,layout:d.VQ,verticalAlign:b.vc};k.defaults(q.wc,m.wc);q.prototype.pb=function(){this.Dn(q.wc)};q.prototype.set=function(n,r){"children"==n?this.Tg(r):"creationPolicy"==n?this.r_a(r):m.prototype.set.call(this,n,r)};q.prototype.get=function(n,r){return"children"==n?this.Lb():"creationPolicy"==n?this.wK:m.prototype.get.call(this,n,r)};q.prototype.r_a=function(n){this.wK!=n&&(this.wK=n,this.daa())};q.prototype.Tg=function(n){var r=this.Lb();n=n||[];for(var t=k(r).difference(n),u=0;u< 663t.length;u++)this.removeChild(t[u]);r=k(n).difference(r);for(u=0;
663u<r.length;u++)this.Wa(r[u]);for(u=0;u<n.length;u++)this.hn(n[u],u)};q.prototype.Lb=function(){return this.Kd};q.prototype.Wa=function(n){n.getParent()&&n.getParent().removeChild(n);this.Kd.push(n);n.la=this;this.nia(n);n.R9(this.xp);this.lp.push(n);this.daa();n.ap()};q.prototype.removeChild=function(n){n.getParent()==this&&(n.Tm(),n.la=null,k(this.lp).contains(n)?this.lp=k.without(this.lp,n):(n.Bc().detach(),n.es(null),this.Vb(),this.Gd()), 664this.Kd=k.without(this.Kd,n),n.t9())};q.prototype.Gza=function(){k(this.Lb()).forEach(function(n){this.removeChild(n)})};q.prototype.Zba=function(n){return k(this.Kd).indexOf(n)};q.prototype.hn=function(n,r){var t=this.Zba(n);if(0>t)throw"Can't set index. This is not a child of this container";var u=this.Kd.slice();u.splice(t,1);u.splice(r,0,n);if(!k.isEqual(this.Kd,u)&&(this.Kd=u,!k(this.lp).contains(n))){r=this.Zba(n);n.Bc().detach();u=t=null;for(var v=r-1;0<=v&&!t;v--)k(this.lp).contains(this.Kd[v])|| 665(t=this.Kd[v]);for(v=r+1;v<this.Kd.length&&!u&&!t;v++)k(this.lp).contains(this.Kd[v])||(u=this.Kd[v]);t?n.Bc().insertAfter(t.Bc()):u?n.Bc().insertBefore(u.Bc()):this.Fb().oY(n.Er());this.Gd()}};q.prototype.KC=function(n){m.prototype.KC.call(this,n);this.nta()};q.prototype.nta=function(){k(this.Kd).forEach(function(n){this.nia(n)},this)};q.prototype.nia=function(n){n.set("inheritedInteractionEnabled",this.B("interactionEnabled")&&this.B("inheritedInteractionEnabled")&&this.B("childrenInteractionEnabled"))}; 666q.prototype.VJ=function(){m.prototype.VJ.call(this);this.Kd.forEach(function(n){n.VJ()})};q.prototype.LC=function(n){m.prototype.LC.call(this,n);k(this.Kd).forEach(function(r){r.R9(this.xp)},this)};q.prototype.F2=function(n){m.prototype.F2.call(this,n);k(this.Lb()).forEach(function(r){r.yH()});this.daa()};q.prototype.es=function(n){m.prototype.es.call(this,n);k(this.Lb()).forEach(function(r){k(this.lp).contains(r)||r.es(n)},this)};q.prototype.daa=function(){(this.wK==h.xfa&&this.Zx||this.wK==h.pA)&& 6670<this.lp.length&&(k(this.lp).forEach(function(n){this.Fb().oY(n.Er());n.es(this.Gb())},this),this.lp=[],this.Vb(),this.Gd())};q.prototype.vQ=function(n){this.Ln!=n&&(this.Ln&&this.Ln.QAa(null),(this.Ln=n)&&this.Ln.QAa(this))};q.prototype.Va=function(){var n=!1,r=this.B("layout");if(this.I("layout")){switch(r){case d.Mw:this.vQ(new f);break;case d.Cg:this.vQ(new g);break;case d.wh:this.vQ(new p);break;default:this.vQ(new c)}this.P("layout");n=!0}var t=this.Ln;if(this.I("horizontalAlign")||n)t.UI(this.B("horizontalAlign")), 668this.P("horizontalAlign");if(this.I("verticalAlign")||n)t.$I(this.B("verticalAlign")),this.P("verticalAlign");if(this.I("gap")||n)r==d.Mw?(t.yAa(this.B("gap")),t.z_(this.B("gap"))):r==d.Cg?t.yAa(this.B("gap")):r==d.wh&&t.z_(this.B("gap")),this.P("gap");if(r==d.Mw){if(this.I("itemWidth")||n){var u=this.B("itemWidth"),v=l.Do(u);void 0!==v?t.X_a(v):t.P_a(u);this.P("itemWidth")}if(this.I("itemHeight")||n)u=this.B("itemHeight"),v=l.Do(u),void 0!==v?t.W_a(v):t.O_a(u),this.P("itemHeight");this.I("itemMinWidth")&& 669(t.U_a(this.B("itemMinWidth")),this.P("itemMinWidth"));this.I("itemMinHeight")&&(t.T_a(this.B("itemMinHeight")),this.P("itemMinHeight"));this.I("itemMaxWidth")&&(t.S_a(this.B("itemMaxWidth")),this.P("itemMaxWidth"));this.I("itemMaxHeight")&&(t.R_a(this.B("itemMaxHeight")),this.P("itemMaxHeight"))}this.I("childrenInteractionEnabled")&&(this.P("childrenInteractionEnabled"),this.nta());this.mc(["cursor"],{cursor:"inheritedCursor"},this.Kd,!0,!1);m.prototype.Va.call(this);r==d.Mw&&t.A_a(this.vm)};q.prototype.mc= 670function(n,r,t,u,v){for(var w=0;w<n.length;w++){var x=n[w];if(!u||this.I(x)){for(var y=0;y<t.length;y++)t[y].set(r[x]?r[x]:x,this.B(x));v&&this.P(x)}}};q.prototype.Ku=function(){if(this.Ln){var n=this.Ln.measure();this.ll=n.width;this.kl=n.height;this.NL=n.minWidth;this.ML=n.minHeight}else m.prototype.Ku.call(this)};q.prototype.Xl=function(){this.Ln&&this.Ln.update(this);m.prototype.Xl.call(this)};return q}); 671define("oT",["require","jquery.mod","lx","po","gH"],function(a){function e(b,h){this.pF=b;this.qc="#000000";this.zb=.5;this.ja=10;this.GO=this.bL=5;this.vf=h;this.yS=this.r8=this.ab=0;this.fia=this.Kb=this.VR=!1;this.xa=!0;this.cF=document.createElement("div");this.cF.setAttribute("tdvlayer","scrollbar");this.mK=k(this.cF);l.css(this.cF,{position:"absolute","z-index":m.IDa});this.YJ=document.createElement("div");this.N2=k(this.YJ);l.css(this.YJ,{position:"absolute",left:0,top:0});this.mK.append(this.N2)} 672var k=a("jquery.mod");a("lx");var m=a("po"),l=a("gH");e.prototype.yd=function(){return this.mK.width()};e.prototype.je=function(){return this.mK.height()};e.prototype.setPosition=function(b){this.ab!=b&&(this.ab=b,this.Zqa(),this.xa=!0)};e.prototype.Mk=function(){return this.ab};e.prototype.setSize=function(b,h){this.r8=b;this.yS=h;this.Zqa();this.xa=!0};e.prototype.tf=function(b){this.Kb!=b&&(this.Kb=b,this.xa=!0)};e.prototype.lAa=function(b){this.VR!=b&&(this.VR=b,this.xa=!0)};e.prototype.setColor= 673function(b){this.qc!=b&&(this.qc=b,this.xa=!0)};e.prototype.bj=function(b){this.zb!=b&&(this.zb=b,this.xa=!0)};e.prototype.GQ=function(b){this.ja!=b&&(this.ja=b,this.xa=!0)};e.prototype.wAa=function(b){this.bL!=b&&(this.bL=b,this.xa=!0)};e.prototype.UAa=function(b){this.GO!=b&&(this.GO=b,this.xa=!0)};e.prototype.Ug=function(){this.xa&&(this.fia!=this.Kb&&(this.Kb?this.vf.append(this.mK):this.mK.detach(),this.fia=this.Kb),this.fa(),this.xa=!1)};e.prototype.fa=function(){var b=Math.round(100*this.r8/ 674this.yS),h=Math.round(100*this.ab/this.yS);l.css(this.cF,{filter:"alpha(opacity="+Math.round(100*this.zb)+")",opacity:this.zb,dis
674play:this.Kb?"block":"none"});l.css(this.YJ,{backgroundColor:this.qc,"border-radius":Math.floor(this.ja/2)+"px"});this.pF==e.Cg?(l.css(this.cF,{left:this.bL+"px",right:(this.VR?this.ja:0)+this.bL+"px",height:this.ja+"px",bottom:this.GO+"px"}),l.css(this.YJ,{left:h+"%",width:b+"%",height:this.ja+"px"})):(l.css(this.cF,{top:this.GO+"px",right:this.bL+"px",width:this.ja+"px", 675bottom:(this.VR?this.ja:0)+this.GO+"px"}),l.css(this.YJ,{top:h+"%",width:this.ja+"px",height:b+"%"}))};e.prototype.Zqa=function(){var b=this.yS-this.r8;0>this.ab?this.ab=0:this.ab>b&&(this.ab=b)};e.Cg="horizontal";e.wh="vertical";return e});define("jZ",["require","lx","oT"],function(a){var e=a("lx"),k=a("oT");return e.extend(k,function(m){k.call(this,k.Cg,m)})});define("ev",["require","lx","oT"],function(a){var e=a("lx"),k=a("oT");return e.extend(k,function(m){k.call(this,k.wh,m)})}); 676define("hl","require exports oR cB gp ms".split(" "),function(a,e,k,m,l,b){return new (function(h){function d(){var c=h.call(this)||this;c.visible=!0;c.ub=!1;c.W_=!1;c.visible=!0;c.ub=!1;c.W_=!1;c.Fza=b.getQueryParameter("redirect-when-hidden")||"";c.BZa=b.Qg("reload-when-hidden",!1);document.addEventListener("visibilitychange",c.onChange.bind(c),!1);c.onChange();return c}Z(d,h);d.prototype.t_=function(c){if(this.ub=c)this.W_=!1;this.onChange()};d.prototype.Gea=function(c){this.W_=c;this.onChange()}; 677d.prototype.onChange=function(){var c=this.ub?!this.W_:!document.hidden;this.visible!=c&&((this.visible=c)&&this.dZa(),this.trigger(new m(k.va)))};d.prototype.dZa=function(){this.Fza?window.location.href=this.Fza:this.BZa&&window.location.reload()};return d}(l))}); 678define("mE",["require","exports","ms"],function(a,e,k){a={};a.qJ=k.Qg("debug",!1);a.$Ca=k.Yi("hqhls");a.ofa=k.Qg("audiocontext",!0);a.X2a=k.Qg("testhash",!1);a.OCa=k.Qg("exitvronblur",!1);a.yCa=k.Qg("download",!0);a.VDa=k.Qg("updatewhilehidden",!1);a.TCa=k.Qg("webgl2",!1);a.SCa=k.Qg("webgl1",!1);return a}); 679define("bh",["require","exports","lx","hl","mE"],function(a,e,k,m,l){var b=window.requestAnimationFrame.bind(window),h=window.cancelAnimationFrame.bind(window),d=function(){function f(){}f.requestFrame=function(g,p,q){for(var n=0;n<f.Mq.length;n++)if(f.Mq[n].is(g,p))return;n=f.zZ;void 0!==q&&(n+=q);f.Mq.push(new c(g,p,n));f.paused||void 0!==f.Xs||(f.Xs=f.kQ(f.PY))};f.fVa=function(g){for(var p=0;p<f.Mq.length;p++)if(f.Mq[p].is(g,void 0)){f.Mq.splice(p,1);break}};f.oea=function(g){f.paused!=g&&(f.paused= 680g,f.paused?void 0!==f.Xs&&(f.Cba(f.Xs),f.Xs=void 0):0<f.Mq.length&&(f.Xs=f.kQ(f.PY)))};f.NAa=function(g,p){f.kQ!=g&&(void 0!==f.Xs&&(f.Cba(f.Xs),f.Xs=g(f.PY)),f.kQ=g,f.Cba=p)};f.VZa=function(){f.NAa(b,h)};f.PY=function(g){f.Bva(g);f.Xs=0<f.Mq.length?f.kQ(f.PY):void 0};f.Bva=function(g){g<f.Wd&&(f.startTime=g-f.zZ*f.$0,f.Wd=g);var p=0;void 0===f.startTime?f.startTime=g:p=Math.round((g-f.startTime)/f.$0);var q=(p-f.zZ)*f.$0,n=f.Mq;f.Mq=[];f.Bca=!0;f.zZ=p;q=1<q?100>q?q:100:1;f.Wd=g;f.Nva=q;for(g=0;g< 681n.length;g++){var r=n[g];p<r.bya?f.Mq.push(r):r.call(q)}f.Bca=!1};f.Wd=(new Date).getTime();f.Nva=0;f.Bca=!1;f.kQ=b;f.Cba=h;f.Mq=[];f.Xs=void 0;f.paused=!1;f.$0=1E3/60;f.zZ=0;f.startTime=void 0;return f}();l.VDa&&setInterval(function(){m.visible||d.Bva(d.Wd+100)},100);var c=function(){function f(g,p,q){this.bya=0;this.so=g;this.context=p;this.bya=q}f.prototype.is=function(g,p){return this.so==g&&this.context==p};f.prototype.call=function(g){try{this.so.call(this.context,g)}catch(p){k.QP("Error in animation frame", 682p)}};return f}();return d});define("bG",["require"],function(){return function(a,e,k,m){this.name=a;this.from=e;this.to=k;this.nYa=m}}); 683define("ou",["require","bG"],function(a){function e(d){var c={Vba:function(f,g,p,q){p=0>=p?0:p>=q?1:p/q;.5>p?p=Math.pow(2*p,d):(p=1-Math.pow(1-(2*p-1),d),p+=1);return f+.5*(g-f)*p}};c.Yca=l(d);return c}function k(d){var c={Vba:function(f,g,p,q){return f+(g-f)*(1-Math.pow(1-(0>=p?0:p>=q?1:p/q),d))}};c.Yca=l(d);return c}function m(d){var c={Vba:function(f,g,p,q){return f+(g-f)*Math.pow(0>=p?0:p>=q?1:p/q,d)}};c.Yca=l(d);return c}function l(d){return function(c,f,g){c=Math.abs(f-c);return 1>c/g?0:1/(1- 684Math.pow((c-g)/c,1/d))}}function b(d,c,f){this.Yj=null;switch(d){case "quad_in":this.Yj=m(2);break;case "quad_out":this.Yj=k(2);break;case "quad_in_out":this.Yj=e(2);break;case "cubic_in":this.Yj=m(3);break;case "cubic_out":this.Yj=k(3);break;case "cubic_in_out":this.Yj=e(3);break;case "quart_in":this.Yj=m(4);break;case "quart_out":this.Yj=k(4);break;case "quart_in_out":this.Yj=e(4);break;case "quint_in":this.Yj=m(5);break;case "quint_out":this.Yj=k(5);break;case "quint_in_out":this.Yj=e(5);break; 685default:this.Yj=m(1)}this.hu=c.slice();this.Ed=0;this.sb=this.Ox(c,f);this.h4={};for(d=0;d<this.hu.length;d++)this.h4[this.hu[d].name]=c[d].from}var h=a("bG");b.prototype.bca=function(d){for(var c=0;c<this.hu.length;c++)if(this.hu[c].name==d)return this.hu[c];return null};b.prototype.fb=function(d){return this.h4[d]};b.prototype.Oe=function(){return this.Ed>=this.sb};b.prototype.Xi=function(){return this.sb};b.prototype.Mk=function(){return this.Ed/this.sb};b.prototype.getTime=function(){return this.Ed}; 686b.prototype.setTime=function(d){this.Ed=Math.min(Math.max(0,d),this.sb);for(d=0;d<this.hu.length;d++){var c=this.hu[d];this.h4[c.name]=this.Yj.Vba(c.from,c.to,this.Ed,this.sb)}};b.prototype.Cb=function(d){this.setTime(this.Ed+d)};b.prototype.Ox=function(d,c,f){for(var g=[],p=0;p<this.hu.length;p++){var q=this.hu[p],n=f?f:q.nYa;void 0!==n&&0<n&&g.push(this.Yj.Yca(q.from,q.to,n/1E3))}if(0<g.length){d=g[0];for(p=1;p<g.length;p++)d=Math.max(d,g[p]);return 0<c?Math.max(c,d):d}return void 0!==c?Math.max(c, 687.001):this.Ox(d,c,1E3)};b.Xi=function(){return(new b(void 0,[new h("",void 0,void 0,void 0)])).Xi()};return b}); 688define("om","require ek lx oR cB mZ hR fG m jZ ev bh ou bG".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("mZ"),h=a("hR"),d=a("fG"),c=a("m"),f=a("jZ"),g=a("ev"),p=a("bh"),q=a("ou"),n=a("bG"),r=k.extend(c,function(){c.call(this);this.Ae("Container");this.kd=this.Md=this.Uf=this.vg=this.Tb=this.Jb=this.zja=this.yja=0;this.B6=this.I6=this.nl=this.ml=!1;this.tja=0;this.v3=this.u3=void 0;this.x3=this.w3=0;this.Qy=null;
688this.o8=h.Ofa;this.Ux=!1;this.xT=null;this.us=!1;this.SX=null}); 689r.wc={overflow:h.EE,scrollBarColor:"#000000",scrollBarWidth:10,scrollBarMargin:5,scrollBarHorizontalMargin:void 0,scrollBarVerticalMargin:void 0,scrollBarOpacity:.5,scrollBarVisible:d.Xc};e.defaults(r.wc,c.wc);r.prototype.En=function(){this.xT=new f(this.C5());this.xT.N2.bind("mousedown touchstart",e.bind(this.qLa,this));this.En=function(){return this.xT};return this.xT};r.prototype.Fn=function(){this.SX=new g(this.C5());this.SX.N2.bind("mousedown touchstart",e.bind(this.lUa,this));this.Fn=function(){return this.SX}; 690return this.SX};r.prototype.scrollIntoView=function(t){var u=t.Ia,v=t.La;this.scrollTo(Math.min(u,Math.max(u+t.Xa()-this.vg,this.Md)),Math.min(v,Math.max(v+t.Ab()-this.Uf,this.kd)))};r.prototype.scrollTo=function(t,u){var v=this.Md;t>this.Md?this.jS()&&(v=Math.min(t,this.Jb-this.vg)):t<this.Md&&this.iS()&&(v=Math.max(t,0));t=this.kd;u>this.kd?this.hS()&&(t=Math.min(u,this.Tb-this.Uf)):u<this.kd&&this.kS()&&(t=Math.max(u,0));this.VN(v,t)};r.prototype.Zza=function(){if(this.hS()){for(var t=Math.max(0, 691this.Tb-this.Uf),u=Math.min(t,this.kd+.5*this.Uf),v=t=Math.min(t,this.kd+this.Uf),w=this.Lb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.La;y+x.Ab()>this.kd+this.Uf&&y>=u&&y<t&&y<v&&(v=y)}this.VN(this.Md,v)}};r.prototype.hS=function(){return this.Sia()&&this.kd+this.Uf<this.Tb};r.prototype.aAa=function(){if(this.kS()){for(var t=Math.max(0,this.kd-this.Uf),u=Math.max(0,this.kd-.5*this.Uf),v=t,w=this.Lb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y= 692x.La;x=y+x.Ab();y<this.kd&&x>=t+this.Uf&&x<u+this.Uf&&x>v+this.Uf&&(v=x-this.Uf)}this.VN(this.Md,v)}};r.prototype.kS=function(){return this.Sia()&&0<this.kd};r.prototype.$za=function(){if(this.jS()){for(var t=Math.max(0,this.Jb-this.vg),u=Math.min(t,this.Md+.5*this.vg),v=t=Math.min(t,this.Md+this.vg),w=this.Lb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ia;y+x.Xa()>this.Md+this.vg&&y>=u&&y<t&&y<v&&(v=y)}this.VN(v,this.kd)}};r.prototype.jS=function(){return this.Ria()&& 693this.Md+this.vg<this.Jb};r.prototype.scrollLeft=function(){if(this.iS()){for(var t=Math.max(0,this.Md-this.vg),u=Math.max(0,this.Md-.5*this.vg),v=t,w=this.Lb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ia;x=y+x.Xa();y<this.Md&&x>=t+this.vg&&x<u+this.vg&&x>v+this.vg&&(v=x-this.vg)}this.VN(v,this.kd)}};r.prototype.iS=function(){return this.Ria()&&0<this.Md};r.prototype.VN=function(t,u){this.ml=this.Md!=t;this.nl=this.kd!=u;this.ss();this.Qy=new q("cubic_in_out",[new n("hScrollPosition", 694this.Md,t),new n("vScrollPosition",this.kd,u)],500);p.requestFrame(this.s2,this)};r.prototype.Sia=function(){return this.us&&this.Uf<this.Tb};r.prototype.Ria=function(){return this.Ux&&this.vg<this.Jb};r.prototype.pb=function(){this.Dn(r.wc)};r.prototype.fHa=function(){this.I6=!0;this.ss()};r.prototype.eHa=function(){this.I6=!1;this.ss()};r.prototype.qLa=function(){this.ml=!0};r.prototype.lUa=function(){this.nl=!0};r.prototype.bHa=function(t){this.ml||this.nl?(this.Gb().bind(m.kc,this.rja,this),this.Gb().bind(m.Zb, 695this.sja,this),this.vx=t.pageX,this.wx=t.pageY,this.ss()):this.uja(t)};r.prototype.rja=function(t){if(this.ml){var u=(t.pageX-this.vx)*this.Jb/this.En().yd();this.Md+=u}else this.nl&&(u=(t.pageY-this.wx)*this.Tb/this.Fn().je(),this.kd+=u);this.vx=t.pageX;this.wx=t.pageY;this.Fv()};r.prototype.sja=function(){this.Gb().unbind(m.kc,this.rja,this);this.Gb().unbind(m.Zb,this.sja,this);this.nl=this.ml=!1;this.ss()};r.prototype.Uia=function(t){return this.us&&(0<t&&0<this.kd||0>t&&this.kd<this.Tb-this.Uf)? 696!0:!1};r.prototype.dHa=function(t){this.us&&(this.kd-=t.delta*this.Uf*.1,this.Fv())};r.prototype.uja=function(t){if(this.Ux||this.us)this.Gb().bind(m.kc,this.vja,this),this.Gb().bind(m.Zb,this.wja,this),this.B6=!0,this.vx=t.pageX,this.wx=t.pageY,this.ss(),this.LLa()};r.prototype.vja=function(t){var u=t.pageX-this.vx,v=t.pageY-this.wx;!this.ml&&!this.nl&&25<u*u+v*v&&(this.ml=this.Ux,this.nl=this.us,this.ss());if(this.ml||this.nl)this.Md-=u,this.kd-=v,this.vx=t.pageX,this.wx=t.pageY,this.Fv(),this.iTa()}; 697r.prototype.wja=function(){this.Gb().unbind(m.kc,this.vja,this);this.Gb().unbind(m.Zb,this.wja,this);this.B6=!1;this.ss();var t=Math.max(Math.abs(this.w3/.001),Math.abs(this.x3/.001));this.Qy=new q("linear",[new n("hScrollPosition",this.Md,this.Md-.5*this.w3*t),new n("vScrollPosition",this.kd,this.kd-.5*this.x3*t)],t);p.requestFrame(this.s2,this)};r.prototype.LLa=function(){this.u3=this.vx;this.v3=this.wx};r.prototype.iTa=function(){var t=(new Date).getTime(),u=t-this.tja;10<u&&(this.tja=t,this.w3= 698(this.vx-this.u3)/u,this.x3=(this.wx-this.v3)/u,this.u3=this.vx,this.v3=this.wx)};r.prototype.s2=function(t){this.Qy&&!this.Qy.Oe()&&(this.ml||this.nl)?(this.Qy.Cb(t),this.ml&&(this.Md=this.Qy.fb("hScrollPosition"),0>this.Md||this.Md>this.Jb-this.vg)&&(this.ml=!1),this.nl&&(this.kd=this.Qy.fb("vScrollPosition"),0>this.kd||this.kd>this.Tb-this.Uf)&&(this.nl=!1),this.Fv(),p.requestFrame(this.s2,this)):(this.nl=this.ml=!1,this.Qy=null,this.ss())};r.prototype.Fv=function(t){if(t){if(!this.Ux)switch(this.B("horizontalAlign")){case b.rb:this.Md= 699this.Jb-this.vg;break;case b.De:this.Md=(this.Jb-this.vg)/2;break;default:this.Md=0}
699if(!this.us)switch(this.B("verticalAlign")){case b.oc:this.kd=this.Tb-this.Uf;break;case b.fe:this.kd=(this.Tb-this.Uf)/2;break;default:this.kd=0}}this.Md=Math.max(0,Math.min(this.Jb-this.vg,this.Md));this.kd=Math.max(0,Math.min(this.Tb-this.Uf,this.kd));this.En().setPosition(this.Md);this.Fn().setPosition(this.kd);this.Fb().H_a(this.Md);this.Fb().b1a(this.kd);this.Nk();if(this.gqa!=this.Md||this.hqa!=this.kd)void 0!== 700this.gqa&&void 0!==this.hqa&&this.trigger(new l(m.Xo)),this.gqa=this.Md,this.hqa=this.kd};r.prototype.ss=function(){var t=this.get("scrollBarVisible")==d.ALWAYS?!0:this.Jn?this.ml||this.nl||this.B6:this.ml||this.nl||this.I6;this.En().tf(this.Ux&&t);this.Fn().tf(this.us&&t);this.Nk()};r.prototype.Db=function(){c.prototype.Db.call(this);this.cHa||(this.cHa=!0,this.Jn?this.bind(m.wb,this.uja,this):(this.bind(m.wb,this.bHa,this),this.bind(m.Xc,this.fHa,this),this.bind(m.ac,this.eHa,this),this.bind(m.cr, 701this.dHa,this)))};r.prototype.Va=function(){this.I("overflow")&&(this.o8=this.B("overflow"),this.P("overflow"),this.Gd());this.I("scrollBarColor")&&(this.En().setColor(this.B("scrollBarColor")),this.Fn().setColor(this.B("scrollBarColor")),this.P("scrollBarColor"));this.I("scrollBarWidth")&&(this.En().GQ(this.B("scrollBarWidth")),this.Fn().GQ(this.B("scrollBarWidth")),this.P("scrollBarWidth"));if(this.I("scrollBarMargin")||this.I("scrollBarVerticalMargin")||this.I("scrollBarHorizontalMargin")){var t= 702this.B("scrollBarHorizontalMargin","scrollBarMargin"),u=this.B("scrollBarVerticalMargin","scrollBarMargin");this.En().wAa(t);this.En().UAa(u);this.Fn().wAa(t);this.Fn().UAa(u);this.P("scrollBarMargin");this.P("scrollBarVerticalMargin");this.P("scrollBarHorizontalMargin")}this.I("scrollBarOpacity")&&(this.En().bj(this.B("scrollBarOpacity")),this.Fn().bj(this.B("scrollBarOpacity")),this.P("scrollBarOpacity"));c.prototype.Va.call(this)};r.prototype.Xl=function(){c.prototype.Xl.call(this);this.lTa(); 703this.HTa();this.FTa();this.ss();this.Nk()};r.prototype.lTa=function(){for(var t=0,u=0,v=0,w=0,x=this.Lb(),y=0;y<x.length;y++){var z=x[y];z.get("visible")&&(w=Math.min(w,z.Ia),v=Math.min(v,z.La),t=Math.max(t,z.Ia+z.Xa()),u=Math.max(u,z.La+z.Ab()))}this.yja=w;this.zja=v;this.Jb=t;this.Tb=u};r.prototype.HTa=function(){this.vg=Math.min(this.qf(),this.Jb);this.Uf=Math.min(this.pf(),this.Tb)};r.prototype.FTa=function(){var t=this.Kd.some(function(w){return w.vXa()}),u=0>this.yja||0>this.zja||this.Jb>this.vg|| 704this.Tb>this.Uf;if(this.o8==h.Xo){this.Ux=this.vg<this.Jb;var v=(this.us=this.Uf<this.Tb)&&this.Ux;this.En().setSize(this.vg,this.Jb);this.En().lAa(v);this.Fn().setSize(this.Uf,this.Tb);this.Fn().lAa(v);this.Fb().WI(!u&&!t)}
704else this.us=this.Ux=!1,this.o8==h.EE?this.Fb().WI(!0):this.Fb().WI(!u&&!t);this.Fv(!0)};r.prototype.Ug=function(){this.Fn().Ug();this.En().Ug();c.prototype.Ug.call(this)};return r});define("W",["require"],function(){return{wh:"vertical",Cg:"horizontal"}}); 705define("hB",["require"],function(){return{Ov: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(", "):""}}}); 706define("gY","require jquery.mod ek lx mZ W e gH hB".split(" "),function(a){function e(g){var p=g.Vm.width(),q=g.Vm.height();"italic"==g.get("fontStyle")&&(p+=1*q/5);return Math.round(p)}var k=a("jquery.mod"),m=a("ek"),l=a("lx"),b=a("mZ"),h=a("W"),d=a("e");a("gH");var c=a("hB");a=l.extend(d,function(){d.call(this);this.Ae("Label");this.Vm=this.PN=null});a.wc={};a.prototype.pb=function(){d.prototype.pb.call(this);this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle"); 707this.h("horizontalAlign",b.Ya);this.h("verticalAlign",b.fe);this.h("direction",h.Cg);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(){d.prototype.Db.call(this);if(!this.Vm){this.PN=document.createElement("span");this.Vm=k(this.PN);this.i$({position:"absolute","text-align":"center",cursor:"inherit","white-space":"nowrap", 708transform:"translate3d(0, 0, 0)"});var g=this.Fb();g.WI(!1);g.append(this.Vm)}};a.prototype.Ku=function(){d.prototype.Ku.call(this);var g=this.Fb();this.ll=e(this)+g.nI()+g.qI();this.kl=this.Vm.height()+g.sI()+g.iI();f(this)};a.prototype.Va=function(){var g={};if(this.I("direction")||this.I("text")){switch(this.B("direction")){case h.wh:g["line-height"]="100%";this.Vm.html(this.Vm.text(this.B("text")).text().split("").join("<br/>"));break;default:g["line-height"]="normal",this.Vm.text(this.B("text")), 709this.Vm.html(this.Vm.html().split(" ").join(" "))}this.P("direction");this.P("text");setTimeout(function(){this.Vb();this.Gd()}.bind(this),0)}if(this.I("fontFamily")){var p=this.B("fontFamily");m(p).isString()||(p="");g.fontFamily=c.Ov(p);this.P("fontFamily");this.Vb();this.Gd()}this.I("fontSize")&&(p=this.B("fontSize"),m(p).isNumber()?p+="px":m(p).isString()||(p=""),g.fontSize=p,this.P("fontSize"),this.Vb(),this.Gd());this.I("fontColor")&&(p=this.B("fontColor"),m(p).isString()||(p=""),g.color= 710p,this.P("fontColor"));if(this.I("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"}g.fontWeight=p;this.P("fontWeight");this.Vb();this.Gd()}if(this.I("fontStyle")){p=this.B("fontStyle");switch(p){case "italic":case "normal":break;default:p="normal"}g.fontStyle=p;this.P("fontStyle");this.Vb();this.Gd()}if(this.I("textDecoration")){p= 711this.B("textDecoration");switch(p){case "underline":case "overline":case "line-through":case "none":break;default:p="none"}g.textDecoration=p;this.P("textDecoration");this.Vb();this.Gd()}this.I("horizontalAlign")&&(this.Gd(),this.P("horizontalAlign"));this.I("verticalAlign")&&(this.Gd(),this.P("verticalAlign"));p=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(m(p).any(function(n){return this.I(n)},this)){var q={};m(p).each(function(n){q[n]= 712this.B(n);this.P(n)},this);g["-moz-text-shadow"]=g["-webkit-text-shadow"]=g["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, 713-q.textShadowVerticalLength)/Math.PI);g.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*q.textShadowOpacity).toString(16)).slice(-2)+q.textShadowColor.substr(1,6)+",direction="+p+")";this.Fb().WI((0<q.textShadowHorizontalLength||0<q.textShadowVerticalLength||0<q.textShadowBlurRadius)&&0<q.textShadowOpacity)}this.i$(g);d.prototype.Va.call(this)};a.prototype.Xl=function(){var g={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.B("horizontalAlign")){case b.Ya:g.left= 714"0";break;case b.rb:this.Ug();g.left=this.qf()-e(this)+"px";break;case b.De:this.Ug(),g.left=Math.max(0,Math.round(.5*(this.qf()-e(this))))+"px"}switch(this.B("verticalAlign")){case b.vc:g.top="0";break;case b.oc:this.Ug();g.top=this.pf()-this.PN.clientHeight+"px";break;case b.fe:this.Ug(),g.top=Math.max(0,Math.round(.5*(this.pf()-this.PN.clientHeight)))+"px"}this.i$(g)};a.prototype.i$=function(g){var p=this.PN.style,q;
714for(q in g)p[q]=g[q]};var f=function(){function g(){r||p()&&(r=setTimeout(function(){r= 715null;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.Vm.height())w.Vb(),w.Gd()}g()},500))}function p(){for(var t in n)return!0;return!1}var q=1,n={},r=null;return function(t){t.qna||(t.qna=q++);n[t.qna]={label:t,timestamp:(new Date).getTime(),width:e(t),height:t.Vm.height()};g()}}();return a}); 716define("lW","require lx ek cS bd oR cB hv eh hR gR om gY".split(" "),function(a){var e=a("lx"),k=a("ek"),m=a("cS"),l=a("bd"),b=a("oR"),h=a("cB"),d=a("hv"),c=a("eh"),f=a("hR"),g=a("gR"),p=a("om"),q=a("gY"),n=e.extend(p,function(){this.Ae("Button");p.call(this);this.di=this.Ta=null;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",m.pA);this.set("overflow",f.Ofa);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor",l.Ee)});n.prototype.pb= 717function(){p.prototype.pb.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.Fe);this.h("buttonGroup");this.h("paddingLeft", 7185);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("pressed");this.u("rollOverOpacity",g.U,"opacity");this.u("rollOverIconWidth",g.U,"iconWidth");this.u("rollOverIconHeight",g.U,"iconHeight");this.u("rollOverFontSize",g.U,"fontSize");this.u("rollOverFontColor",g.U,"fontColor");this.u("rollOverFontWeight",g.U,"fontWeight");this.u("rollOverFontStyle",g.U,"fontStyle");this.u("rollOverTextDecoration",g.U,"textDecoration");this.u("rollOverTextShadowBlurRadius",g.U,"textShadowBlurRadius"); 719this.u("rollOverTextShadowColor",g.U,"textShadowColor");this.u("rollOverTextShadowHorizontalLength",g.U,"textShadowHorizontalLength");this.u("rollOverTextShadowOpacity",g.U,"textShadowOpacity");this.u("rollOverTextShadowVerticalLength",g.U,"textShadowVerticalLength");this.u("rollOverBorderSize",g.U,"borderSize");this.u("rollOverBorderLeftSize",g.U,"borderLeftSize");this.u("rollOverBorderTopSize",g.U,"borderTopSize");this.u("rollOverBorderRightSize",g.U,"borderRightSize");this.u("rollOverBorderBottomSize", 720g.U,"borderBottomSize");this.u("rollOverBorderColor",g.U,"borderColor");this.u("rollOverBorderLeftColor",g.U,"borderLeftColor");this.u("rollOverBorderTopColor",g.U,"borderTopColor");this.u("rollOverBorderRightColor",g.U,"borderRightColor");this.u("rollOverBorderBottomColor",g.U,"borderBottomColor");this.u("rollOverShadow",g.U,"shadow");this.u("rollOverShadowHorizontalLength",g.U,"shadowHorizontalLength");this.u("rollOverShadowVerticalLength",g.U,"shadowVerticalLength");this.u("rollOverShadowBlurRadius", 721g.U,"shadowBlurRadius");this.u("rollOverShadowSpread",g.U,"shadowSpread");this.u("rollOverShadowOpacity",g.U,"shadowOpacity");this.u("rollOverShadowColor",g.U,"shadowColor");this.u("rollOverBackgroundOpacity",g.U,"backgroundOpacity");this.u("rollOverBackgroundColor",g.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",g.U,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",g.U,"backgroundColorDirection");this.u("pressedLabel",g.qb,"label");this.u("pressedOpacity",g.qb,"opacity"); 722this.u("pressedIconWidth",g.qb,"iconWidth");this.u("pressedIconHeight",g.qb,"iconHeight");this.u("pressedFontSize",g.qb,"fontSize");this.u("pressedFontColor",g.qb,"fontColor");this.u("pressedFontWeight",g.qb,"fontWeight");this.u("pressedFontStyle",g.qb,"fontStyle");this.u("pressedTextDecoration",g.qb,"textDecoration");this.u("pressedTextShadowBlurRadius",g.qb,"textShadowBlurRadius");this.u("pressedTextShadowColor",g.qb,"textShadowColor");this.u("pressedTextShadowHorizontalLength",g.qb,"textShadowHorizontalLength"); 723this.u("pressedTextShadowOpacity",g.qb,"textShadowOpacity");this.u("pressedTextShadowVerticalLength",g.qb,"textShadowVerticalLength");this.u("pressedBorderSize",g.qb,"borderSize");this.u("pressedBorderLeftSize",g.qb,"borderLeftSize");this.u("pressedBorderTopSize",g.qb,"borderTopSize");this.u("pressedBorderRightSize",g.qb,"borderRightSize");this.u("pressedBorderBottomSize",g.qb,"borderBottomSize");this.u("pressedBorderColor",g.qb,"borderColor");this.u("pressedBorderLeftColor",g.qb,"borderLeftColor"); 724this.u("pressedBorderTopColor",g.qb,"borderTopColor");this.u("pressedBorderRightColor",g.qb,"borderRightColor");this.u("pressedBorderBottomColor",g.qb,"borderBottomColor");this.u("pressedShadow",g.qb,"shadow");this.u("pressedShadowHorizontalLength",g.qb,"shadowHorizontalLength");this.u("pressedShadowVerticalLength",g.qb,"shadowVerticalLength");this.u("pressedShadowBlurRadius",g.qb,"shadowBlurRadius");this.u("pressedShadowSpread",g.qb,"shadowSpread");this.u("pressedShadowOpacity",g.qb,"shadowOpacity"); 725this.u("pressedShadowColor",g.qb,"shadowColor");
725this.u("pressedBackgroundOpacity",g.qb,"backgroundOpacity");this.u("pressedBackgroundColor",g.qb,"backgroundColor");this.u("pressedBackgroundColorRatios",g.qb,"backgroundColorRatios");this.u("pressedBackgroundColorDirection",g.qb,"backgroundColorDirection");this.u("pressedLabel",g.$b,"label");this.u("pressedRollOverOpacity",g.$b,"opacity");this.u("pressedRollOverIconWidth",g.$b,"iconWidth");this.u("pressedRollOverIconHeight",g.$b,"iconHeight");this.u("pressedRollOverFontSize", 726g.$b,"fontSize");this.u("pressedRollOverFontColor",g.$b,"fontColor");this.u("pressedRollOverFontWeight",g.$b,"fontWeight");this.u("pressedRollOverFontStyle",g.$b,"fontStyle");this.u("pressedRollOverTextDecoration",g.$b,"textDecoration");this.u("pressedRollOverTextShadowBlurRadius",g.$b,"textShadowBlurRadius");this.u("pressedRollOverTextShadowColor",g.$b,"textShadowColor");this.u("pressedRollOverTextShadowHorizontalLength",g.$b,"textShadowHorizontalLength");this.u("pressedRollOverTextShadowOpacity", 727g.$b,"textShadowOpacity");this.u("pressedRollOverTextShadowVerticalLength",g.$b,"textShadowVerticalLength");this.u("pressedRollOverBorderSize",g.$b,"borderSize");this.u("pressedRollOverBorderLeftSize",g.$b,"borderLeftSize");this.u("pressedRollOverBorderTopSize",g.$b,"borderTopSize");this.u("pressedRollOverBorderRightSize",g.$b,"borderRightSize");this.u("pressedRollOverBorderBottomSize",g.$b,"borderBottomSize");this.u("pressedRollOverBorderColor",g.$b,"borderColor");this.u("pressedRollOverBorderLeftColor", 728g.$b,"borderLeftColor");this.u("pressedRollOverBorderTopColor",g.$b,"borderTopColor");this.u("pressedRollOverBorderRightColor",g.$b,"borderRightColor");this.u("pressedRollOverBorderBottomColor",g.$b,"borderBottomColor");this.u("pressedRollOverShadow",g.$b,"shadow");this.u("pressedRollOverShadowHorizontalLength",g.$b,"shadowHorizontalLength");this.u("pressedRollOverShadowVerticalLength",g.$b,"shadowVerticalLength");this.u("pressedRollOverShadowBlurRadius",g.$b,"shadowBlurRadius");this.u("pressedRollOverShadowSpread", 729g.$b,"shadowSpread");this.u("pressedRollOverShadowOpacity",g.$b,"shadowOpacity");this.u("pressedRollOverShadowColor",g.$b,"shadowColor");this.u("pressedRollOverBackgroundOpacity",g.$b,"backgroundOpacity");this.u("pressedRollOverBackgroundColor",g.$b,"backgroundColor");this.u("pressedRollOverBackgroundColorRatios",g.$b,"backgroundColorRatios");this.u("pressedRollOverBackgroundColorDirection",g.$b,"backgroundColorDirection")};n.prototype.J3=function(){};n.prototype.Db=function(){p.prototype.Db.call(this); 730this.di||(this.di=this.J3(),this.Wa(this.di));this.Ta||(this.Ta=new q,this.Wa(this.Ta))};n.prototype.cK=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new h(b.fm))):(this.set("pressed",!0),this.trigger(new h(b.Sj)))};n.prototype.Va=function(){var r=!1;this.I("mode")&&(this.B("mode")==c.Fe?(this.unbind(b.ra,this.cK,this,!0),this.set("autoPressed",!0)):(this.bind(b.ra,this.cK,this,!0),this.set("autoPressed",!1)),this.P("mode"),r=!0);if(r||this.I("pressed"))this.B("mode")==c.Uj? 731this.dH(1==this.B("pressed")):r&&this.dH(!1);this.I("label")&&(r=this.B("label"),this.Ta.set("text",r),this.Ta.set("visible",r?!0:!1),this.P("label"));this.mc(n.Aha,n.Bha,[this.Ta],!0,!0);this.I("iconBeforeLabel")&&(0==this.B("iconBeforeLabel")?this.hn(this.Ta,0):this.hn(this.di,0),this.P("iconBeforeLabel"));this.I("iconWidth")&&(this.di.set("width",this.B("iconWidth")),this.P("iconWidth"));this.I("iconHeight")&&(this.di.set("height",this.B("iconHeight")),this.P("iconHeight"));this.I("buttonGroup")&& 732((r=this.B("buttonGroup"))?d.register(this,r):d.unregister(this),this.P("buttonGroup"));this.mc(["horizontalAlign","verticalAlign"],{},[this.di],!0,!1);p.prototype.Va.call(this)};n.Aha="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");n.Bha={};k(n.Aha).each(function(r){n.Bha[r]=r});return n}); 733define("jN",["require","nH","lW"],function(a){var e=a("nH"),k=a("lW");return e.define("BaseButton",k,function(){k.call(this)})});define("jy",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("BaseObject",e,function(){e.call(this)})}); 734define("ew","require lx lZ oR cB bh ou bG".split(" "),function(a){var e=a("lx"),k=a("lZ");a("oR");var m=a("cB"),l=a("bh"),b=a("ou"),h=a("bG"),d={},c=e.extend(k,function(){k.call(this);this.A="stopped";this.sb=void 0;this.jo=[];this.set("easing","linear");this.set("duration",1E3);this.set("loop",!1);this.set("animationDirection","normal")});c.prototype.play=function(f){f||(f=d);this.zI(f)||("stopped"==this.A||0>this.jo.indexOf(f)?(this.A="playing",this.jo.push(f),this.Ie=0,this.sb=Math.max(this.get("duration", 7351E3),1),this.dg=new b(this.get("easing","linear"),[new h("pos",0,1)],this.sb),this.dg.setTime(this.Ie),this.hH(),this.rv(),this.dN()):this.A="playing")};c.prototype.reverse=function(f){f||(f=d);this.eYa(f)||("stopped"==this.A||0>this.jo.indexOf(f)?(this.A="playingReverse",this.jo.push(f),this.Ie=this.sb=Math.max(this.get("duration",1E3),0),this.dg=new b(this.get("easing","linear"),[new h("pos",0,1)],this.sb),this.dg.setTime(this.Ie),this.hH(),this.rv(),this.dN()):this.A="playingReverse")};c.prototype.stop= 736function(){"stopped"!=this.A&&(this.A="stopped",0!==this.Ie&&(this.Ie=0,this.dg.setTime(this.Ie),this.rv(),this.dN()))};c.prototype.end=function(){"stopped"!=this.A&&(this.Ie=this.sb,this.dg.setTime(this.Ie),this.rv(),this.dN())};c.prototype.cancel=function(){this.A="stopped";this.Ie=0;this.jo=[]};c.prototype.zI=function(f){return"playing"==this.A&&0<=this.jo.indexOf(f)};c.prototype.eYa=function(f){return"playingReverse"==this.A&&0<=this.jo.indexOf(f)};c.prototype.vj=function(f){"stopped"!=this.A&& 737(this.Ie="playing"==this.A?Math.min(this.sb,this.Ie+f):Math.max(0,this.Ie-f),this.dg.setTime(this.Ie),this.rv(),this.dN())};c.prototype.Mk=function(){return this.dg&&this.dg.fb("pos")||0};c.prototype.Kx=function(f){if(this.jo)for(var g=0;g<this.jo.length;g++)f.call(this,this.jo[g],g)};c.prototype.hH=function(){this.trigger(new m("playingReverse"==this.A?c.JCa:c.LCa))};c.prototype.rv=function(){this.trigger(new m(c.x0))};c.prototype.fH=function(){this.trigger(new m(c.Oj))};c.prototype.gH=function(){this.trigger(new m(c.kt))}; 738c.prototype.dN=function(){"playingReverse"==this.A&&0>=this.Ie?(this.Ie=0,this.gH(),this.jo=[],"stopped"!=this.A&&(this.A="stopped",this.get("loop")&&this.play())):"playing"==this.A&&this.Ie>=this.sb?(this.Ie=this.sb,this.fH(),this.jo=[],"stopped"!=this.A&&(this.A="stopped","alternate"==this.get("animationDirection")?this.reverse():this.get("loop")&&this.play())):"stopped"!=this.A&&l.requestFrame(this.vj,this)};c.LCa="start";c.x0="frame";c.Oj="end";c.JCa="reverseStart";c.kt="reverseEnd";return c}); 739define("gO",["require","oR","ew"],function(a){var e=a("oR"),k=a("ew");return{QIa:function(){this.Zj=this.Ge=null;this.bind(e.ld,this.wka,this,!0);this.bind(e.hd,this.rka,this,!0);this.bind(e.Xc,this.tka,this,!0);this.bind(e.ac,this.ska,this,!0);this.bind(e.G("effect"),this.pka,this,!0);this.bind(e.G("rollOverEffect"),this.uka,this,!0);this.mB=!1},o3a:function(){this.unbind(e.ld,this.wka,this,!0);this.unbind(e.hd,this.rka,this,!0);this.unbind(e.Xc,this.tka,this,!0);this.unbind(e.ac,this.ska,this,!0); 740this.unbind(e.G("effect"),this.pka,this,!0);this.unbind(e.G("rollOverEffect"),this.uka,this,!0)},wka:function(){this.Ge&&this.Ge.play()},rka:function(){this.Ge&&this.Ge.stop();this.Zj&&this.Zj.stop();this.mB=!1},tka:function(){this.mB||(this.mB=!0,this.Zj&&(this.Ge&&this.Ge.get("loop")&&0<this.Ge.Mk()?this.Ge.reverse():this.Ge&&0!=this.Ge.Mk()&&1!=this.Ge.Mk()||(this.Ge&&this.Ge.stop(),this.Zj.play())))},ska:function(){this.mB&&(this.mB=!1,this.Zj&&(0<this.Zj.Mk()?this.Zj.reverse():this.Ge&&this.Ge.get("loop")&& 741this.Ge.play()))},qka:function(){this.F4()},F4:function(){this.mB&&this.Zj&&(this.Ge.stop(),this.Zj.play())},vka:function(){this.mB||(this.Zj.stop(),this.Ge&&this.Ge.get("loop")&&this.Ge.play())},pka:function(){this.Ge&&this.Ge.unbind(k.Oj,this.qka,this,!0);this.Ge&&this.Ge.unbind(k.kt,this.F4,this,!0);(this.Ge=this.get("effect"))&&this.Ge.bind(k.Oj,this.qka,this,!0);this.Ge&&this.Ge.bind(k.kt,this.F4,this,!0)},uka:function(){this.Zj&&this.Zj.unbind(k.kt,this.vka,this,!0);(this.Zj=this.get("rollOverEffect"))&& 742this.Zj.bind(k.kt,this.vka,this,!0)}}}); 743define("iJ",["require","lx","lZ","nH","gO"],function(a){var e=a("lx"),k=a("lZ"),m=a("nH");a=a("gO");m=m.define("Model3DObject",k,function(){k.call(this);this.set("hidden",!1);this.QIa();this.Rh=this.kG=this.b6=this.a6=!1});e.pY(m,[a]);m.prototype.set=function(l,b){k.prototype.set.call(this,l,b);"hideBasedOnDistance"!=l&&"hideWhileUserInteracting"!=l&&"hideWhileMoving"!=l||this.tO()};m.prototype.hea=function(l){this.b6!==l&&(this.b6=l,this.tO())};m.prototype.FQ=function(l){this.Rh!==l&&(this.Rh=l, 744this.tO())};m.prototype.mw=function(l){this.kG!==l&&(this.kG=l,this.tO())};m.prototype.gea=function(l){this.a6!==l&&(this.a6=l,this.tO())};m.prototype.tO=function(){this.set("hidden",this.b6||this.a6||this.kG&&this.get("hideWhileMoving")||this.Rh&&this.get("hideWhileUserInteracting"))};return m});define("gl",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("BoxModel3DObject",k,function(){k.call(this)})}); 745define("mm",["require"],function(){return{NONE:"none",Jw:"fill",sh:"fit_inside",Zq:"fit_outside",Ro:"fit_to_width",Rj:"fit_to_height",rCa:"custom"}}); 746define("mF","require ek jquery.mod lx oR id v mZ mm e gH kF".split(" "),function(a){function e(r){this.Z2=r;this.nd=[];this.Yk=null}var k=a("ek"),m=a("jquery.mod"),l=a("lx"),b=a("oR"),h=a("id"),d=a("v"),c=a("mZ"),f=a("mm"),g=a("e"),p=a("gH"),q=a("kF");e.Fm=document.createElement("a");e.prototype.$Ga=function(r){e.Fm.href=r;return e.Fm.href};e.prototype.load=function(r,t,u){r=this.$Ga(r);this.Yk&&!this.Yk.Vh()&&(this.Yk.cancel(),this.nd=k(this.nd).without(this.Yk));(this.Yk=k(this.nd).find(function(x){return x.ui()== 747r}))?this.nd=k(this.nd).without(this.Yk):(this.Yk=new q(h.Nga),this.Yk.load(r));for(this.nd.splice(0,0,this.Yk);this.nd.length>this.Z2;)this.nd.pop().cancel();if(t){var v=this.Yk,w=function(){t.call(u||window,v.rf(),v.yd(),v.je())};this.Yk.Vh()?w():this.Yk.bind(b.Z,w)}};
747e.prototype.clear=function(){this.nd.forEach(function(r){r.cancel()});this.Yk=null};a=l.extend(g,function(r){g.call(this);this.Ae("Image");this.Z2=r||1;this.Maa=!1;this.fl=c.Ya;this.AT=!1;this.Hl=c.vc;this.VX=!1;this.Af=f.NONE;this.F9= 748!1;this.yG=this.zG=0;this.n6=this.l8=!1;this.Tb=this.Jb=0;this.Yt=!1;this.ae=this.gl=this.Xb=this.JT=this.IT=null;this.bind(b.lc,this.ILa,this);this.bind(b.ld,this.JLa,this)});a.prototype.B5=function(){this.ae=new e(this.Z2);this.B5=function(){return this.ae};return this.ae};a.prototype.pb=function(){g.prototype.pb.call(this);this.h("horizontalAlign",c.Ya);this.h("verticalAlign",c.vc);this.h("scaleMode",f.NONE)};a.prototype.set=function(r,t){"url"==r&&this.get("url")!=t&&(this.Maa=!0,this.ke());g.prototype.set.call(this, 749r,t)};a.prototype.UI=function(r){this.fl!=r&&(this.fl=r,this.AT=!0,this.ke())};a.prototype.$I=function(r){this.Hl!=r&&(this.Hl=r,this.VX=!0,this.ke())};a.prototype.Kz=function(r){this.Af!=r&&(this.Af=r,this.F9=!0,this.ke(),this.Vb())};a.prototype.ILa=function(){this.Yt=!0;this.ke()};a.prototype.JLa=function(){this.Tta()};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", 750"-webkit-user-select":"none","touch-callout":"none","-webkit-touch-callout":"none"};d.browser()==d.$l&&d.lb()&&(n.transform="translate3d(0,0,0)");a.prototype.oia=function(r,t,u){this.zG=t?t:0;this.yG=u?u:0;this.Xb&&(this.Xb.remove(),this.Xb=null);if(this.gl=r)this.Xb=m(this.gl),p.css(this.gl,n),this.IT.append(this.Xb);this.l8=this.n6=!0;this.ke();this.Vb();this.Xb&&this.trigger(b.Z)};a.prototype.Db=function(){g.prototype.Db.call(this);this.IT||(this.JT=document.createElement("div"),this.IT=m(this.JT), 751p.css(this.JT,{position:"static",overflow:"hidden",cursor:"inherit"}),this.Fb().append(this.IT))};a.prototype.Ku=function(){this.ll=this.zG+this.Kl()+this.Hs();this.kl=this.yG+this.Is()+this.kI();this.Xma=0==this.zG&&0==this.yG?0:this.zG/this.yG;this.ML=this.NL=0};a.prototype.Va=function(){this.I("scaleMode")&&(this.Kz(this.B("scaleMode")),this.P("scaleMode"));this.I("horizontalAlign")&&(this.UI(this.B("horizontalAlign")),this.P("horizontalAlign"));this.I("verticalAlign")&&(this.$I(this.B("verticalAlign")), 752this.P("verticalAlign"));this.gia()&&(this.Yt=!0);g.prototype.Va.call(this);this.Tta();if(this.nXa()){var r=!1;if(this.F9||this.l8||this.Yt){var t=this.qf(),u=this.pf(),v=this.zG,w=this.yG,x;if(0==v||0==w)var y=x=0;else switch(this.Af){case f.NONE:x=v;y=w;break;case f.Jw:x=t;y=u;break;case f.sh:v*u>w*t?(x=t,y=w*t/v):(x=v*u/w,y=u);break;case f.Zq:v*u>w*t?(x=v*u/w,y=u):(x=t,y=w*t/v);break;case f.Ro:x=t;y=w*t/v;break;case f.Rj:x=v*u/w,y=u}if(this.Jb!=x||this.Tb!=y)this.Jb=x,this.Tb=y,r=!0;this.l8=this.F9= 753!1}if(r||this.Yt||this.n6)this.VX=this.AT=!0,this.gl&&p.css(this.gl,{width:this.Jb+"px",height:this.Tb+"px",visibility:"inherit"}),p.css(this.JT,{width:this.qf()+"px",height:this.pf()+"px","border-top-left-radius":this.vT(this.MJa(),this.bla(),this.$ka())+"px","border-top-right-radius":this.vT(this.NJa(),this.bla(),this.ala())+"px","border-bottom-left-radius":this.vT(this.KJa(),this.Zka(),this.$ka())+"px","border-bottom-right-radius":this.vT(this.LJa(),this.Zka(),this.ala())+"px"}),this.Vb(),this.n6= 754this.Yt=!1;if(this.AT&&this.gl){switch(this.fl){case c.Ya:p.css(this.gl,{"margin-left":0,"margin-right":this.qf()-this.Jb+"px"});break;case c.rb:p.css(this.gl,{"margin-left":this.qf()-this.Jb+"px","margin-right":0});break;case c.De:p.css(this.gl,{"margin-left":Math.floor(.5*(this.qf()-this.Jb))+"px","margin-right":Math.ceil(.5*(this.qf()-this.Jb))+"px"})}this.AT=!1}if(this.VX&&this.gl){switch(this.Hl){case c.vc:p.css(this.gl,{"margin-top":0,"margin-bottom":this.pf()-this.Tb+"px"});break;case c.oc:p.css(this.gl, 755{"margin-top":this.pf()-this.Tb+"px","margin-bottom":0});break;case c.fe:p.css(this.gl,{"margin-top":Math.floor(.5*(this.pf()-this.Tb))+"px","margin-bottom":Math.ceil(.5*(this.pf()-this.Tb))+"px"})}this.VX=!1}}};a.prototype.Tta=function(){if(this.Maa){var r=this.get("url");r?this.B5().load(r,this.oia,this):(this.B5().clear(),this.oia(null,0,0));this.Maa=!1}};a.prototype.vT=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}); 756define("fV","require lx mm gR lW mF".split(" "),function(a){var e=a("lx"),k=a("mm"),m=a("gR"),l=a("lW"),b=a("mF");a=e.extend(l,function(){l.call(this)});a.prototype.pb=function(){l.prototype.pb.call(this);this.h("iconURL");this.u("rollOverIconURL",m.U,"iconURL");this.u("pressedIconURL",m.qb,"iconURL");this.u("pressedRollOverIconURL",m.$b,"iconURL")};a.prototype.J3=function(){var h=new b(3);h.set("scaleMode",k.sh);return h};a.prototype.Va=function(){if(this.I("iconURL")){var h=this.B("iconURL");this.di.set("url", 757h);this.di.set("visible",h?!0:!1);this.P("iconURL")}l.prototype.Va.call(this)};return a});define("fU",["require","nH","fV"],function(a){var e=a("nH"),k=a("fV");return e.define("Button",k,function(){k.call(this)})});define("ii",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("CapPanoramaOverlay",e,function(){e.call(this)})});define("hX",["require","nH","ii"],function(a){var e=a("nH"),k=a("ii");return e.define("CeilingCapPanoramaOverlay",k,function(){k.call(this)})}); 758define("k",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("ChildModel3DObject",k,function(){k.call(this)})}); 759define("cA","require ek jquery.mod lx oR cB e".split(" "),function(a){a("ek");var e=a("jquery.mod"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("e");a=k.extend(b,function(){b.call(this);this.Ae("Canvas");this.B4=!0;this.O=null;this.bind(m.lc,this.xGa,this)});a.prototype.xGa=function(){this.mZ()};a.prototype.mZ=function(){this.B4=!0;this.Nk()};a.prototype.Db=function(){b.prototype.Db.call(this);this.O||(this.O=e("<canvas/>"),this.O.css({position:"absolute",left:0,top:0,cursor:"inherit"}),this.Fb().append(this.O))}; 760a.prototype.Va=function(){this.gia()&&this.mZ();b.prototype.Va.call(this)};a.prototype.Ug=function(){if(this.B4){this.B4=!1;var h=this.O.get(0);h.width=this.qf();h.height=this.pf();this.c2a()}b.prototype.Ug.call(this)};a.prototype.yWa=function(){return this.O.get(0).width};a.prototype.xWa=function(){return this.O.get(0).height};a.prototype.wWa=function(){return this.O.get(0).getContext("2d")};a.prototype.c2a=function(){this.trigger(new l(m.va))};return a}); 761define("ki","require lx oR gR lW cA".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("gR"),l=a("lW"),b=a("cA");a=e.extend(l,function(){l.call(this)});a.prototype.Xl=function(){l.prototype.Xl.call(this)};a.prototype.pb=function(){l.prototype.pb.call(this);this.h("iconColor");this.u("rollOverIconColor",m.U,"iconColor");this.u("pressedIconColor",m.qb,"iconColor");this.u("pressedRollOverIconColor",m.$b,"iconColor")};a.prototype.J3=function(){var h=new b;h.bind(k.va,this.WBa,this,!0);return h};a.prototype.Va= 762function(){this.I("iconColor")&&(this.di.mZ(),this.P("iconColor"));l.prototype.Va.call(this)};a.prototype.mKa=function(){return this.B("iconColor")};a.prototype.nKa=function(){return this.di.wWa()};a.prototype.pKa=function(){return this.di.yWa()};a.prototype.oKa=function(){return this.di.xWa()};a.prototype.WBa=function(){};return a}); 763define("ge",["require","lx","ki","mZ","gR"],function(a){var e=a("lx"),k=a("ki"),m=a("mZ"),l=a("gR");a=e.extend(k,function(){k.call(this);this.ka({horizontalAlign:m.De,verticalAlign:m.fe})});a.prototype.pb=function(){k.prototype.pb.call(this);this.h("iconLineWidth");this.u("rollOverIconLineWidth",l.U,"iconLineWidth");this.u("pressedIconLineWidth",l.qb,"iconLineWidth");this.u("pressedRollOverIconLineWidth",l.$b,"iconLineWidth")};a.prototype.wKa=function(){return this.B("iconLineWidth")};a.prototype.Va= 764function(){this.I("iconLineWidth")&&(this.di.mZ(),this.P("iconLineWidth"));k.prototype.Va.call(this)};a.prototype.WBa=function(){var b=this.nKa(),h=this.mKa(),d=this.pKa(),c=this.oKa(),f=this.wKa();b.clearRect(0,0,d,c);b.lineWidth=f||1;b.strokeStyle=h||"#000000";b.beginPath();b.moveTo(0,0);b.lineTo(d,c);b.moveTo(0,c);b.lineTo(d,0);b.closePath();b.stroke()};return a});define("jv",["require","nH","ge"],function(a){var e=a("nH"),k=a("ge");return e.define("CloseButton",k,function(){k.call(this)})}); 765define("kk",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("CookiesPolicy",e,function(){e.call(this)})});define("lX",["require","lA","nH","om"],function(a){var e=a("lA"),k=a("nH"),m=a("om");a=k.define("Container",m,function(){m.call(this)});a.prototype.scrollTo=function(l,b){m.prototype.scrollTo.call(this,l,b)};a.prototype.scrollIntoView=function(l){e.Ez(function(){m.prototype.scrollIntoView.call(this,l)}.bind(this))};return a}); 766define("lF",["require","lZ","nH"],function(a){var e=a("lZ"),k=a("nH");a=k.define("PanoramaFrame",e,function(){e.call(this);this.ma=null});a.prototype.get=function(m,l){switch(m){case "overlays":return this.D5();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.ma)return this.ma.get(m,l)}return e.prototype.get.call(this,m,l)};a.prototype.D5=function(){var m=e.prototype.get.call(this,"overlays");m||(m=[]);return this.f$(m)};a.prototype.f$=function(m){if(void 0=== 767this.iH||this.iU!=m){var l=function(h){return k.Oa("PopupPanoramaOverlay",h)},b=function(h){return k.Oa("LensFlarePanoramaOverlay",h)};this.iU=m;this.iH=[].concat(m.filter(function(h){return!(l(h)||b(h))}),m.filter(b),m.filter(l))}return this.iH};a.prototype.UUa=function(m){this.ma=m};a.prototype.uz=function(){return this.ma};a.prototype.Ml=function(){return!1};return a});define("oA",["require","nH","lF"],function(a){var e=a("nH"),k=a("lF");return e.define("CubicPanoramaFrame",k,function(){k.call(this)})}); 768define("iv",["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.", 769"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", 770accept:"\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.", 771"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.", 772download:"\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", 773"exit-fullscreen":"\u0418\u0437\u043b\u0435\u0437\u0442\u0435 \u043e\u0442 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",
773no:"\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.", 774"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>.", 775"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", 776"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.", 777"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.", 778"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.", 779"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.", 780"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.", 781"\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."], 782"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", 783"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.", 784"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.", 785"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.", 786cancel:"Sulje","change-to-click-and-move":"Muuta ohjaustilaa klikkaamalla ja siirt\u00e4m\u00e4ll\u00e4",yes:"Kyll\u
78600e4","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.", 787"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.", 788"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.", 789"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.", 790"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", 791"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.", 792"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\u
79200e1lna 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.", 793download:"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.", 794"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.", 795"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.", 796"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.", 797"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.", 798"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.", 799"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", 800accept:"\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.", 801"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.", 802download:"\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", 803"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.", 804"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>.", 805"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", 806"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", 807downloading:"\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.", 808"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.", 809"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.", 810"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.", 811"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.", 812"\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."], 813"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\
813u044c \u0443 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c", 814"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.", 815"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.", 816"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.", 817download:"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>.", 818"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?", 819reject:"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.", 820"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", 821"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 ver
821sion 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", 822"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.", 823cancel:"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>.", 824"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.", 825downloaded:"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.", 826"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", 827"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", 828"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", 829"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>.", 830"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?", 831reject:"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.", 832"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", 833"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.", 834"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","
834web-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.", 835download:"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 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.", 836"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", 837downloading:"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.", 838"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."], 839"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar 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", 840"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.", 841"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", 842"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", 843"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.", 844"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?", 845"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", 846"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 ver
846sion 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", 847"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", 848download:"\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", 849"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", 850"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.", 851"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", 852"\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", 853"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 ver
853sjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.", 854"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.", 855download:"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.", 856"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", 857"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.", 858"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."], 859"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", 860"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", 861"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","
861web-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", 862yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair 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>.", 863"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.", 864"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.", 865"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 tela cheia","use-cardboard-v2":"Use Cardboard v2", 866unmute:"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.", 867"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.", 868cancel:"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>.", 869"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.", 870downloaded:"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.", 871"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", 872"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 zvu
872k?"},"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", 873"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", 874"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", 875download:"\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", 876no:"\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", 877"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", 878"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", 879"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", 880"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", 881"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"], 882"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", 883"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",
884"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", 885"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", 886download:"\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", 887"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", 888"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.", 889"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", 890"\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", 891"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", 892"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.", 893cancel:"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.", 894"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.", 895"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.", 896"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", 897unmute:"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.", 898"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.", 899download:"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.", 900"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.", 901"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.", 902"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."], 903"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",
904"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", 905accept:"\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", 906yes:"\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.", 907"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>.", 908"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", 909"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.", 910"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", 911"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.", 912"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.", 913download:"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.", 914"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", 915downloading:"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.", 916"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."], 917"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", 918"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.", 919"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", 920accept:"\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.", 921"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.", 922cancel:"\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.", 923"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.", 924"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. <
924a>\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>.", 925"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", 926"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.", 927"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..", 928downloaded:"\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.", 929"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.", 930"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.", 931"\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."], 932"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", 933"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.", 934"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 ver
934sjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.", 935"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.", 936download:"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.", 937"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", 938"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.", 939"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."], 940"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", 941"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\u00f1
941adir la p\u00e1gina a los marcadores y recargarla.", 942"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", 943"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", 944"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?", 945reject:"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.", 946"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", 947unmute:"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.", 948"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", 949"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", 950yes:"\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.", 951"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>.", 952"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;", 953"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.", 954"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", 955"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;"}, 956"da-dk":{mute:"Deaktiver lyd","cardboard-v1":"If you are not sure, which Cardboard ver
956sion 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", 957"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", 958"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", 959downloading:"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.", 960"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."], 961"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", 962"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.", 963"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",
963yes:"tak","delete-downloaded":"Usu\u0144","use-safari-for-vr":"Zalecamy Safari, jako przegl\u0105dark\u0119 spacer\u00f3w w trybie VR", 964"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>.", 965"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.", 966"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.", 967"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", 968unmute:"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.", 969"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.", 970download:"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 S
970afari 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.", 971"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.", 972"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.", 973"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.", 974"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", 975"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.", 976"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.", 977cancel:"Abbrechen","change-to-click-and-move":"\u00c4ndern Sie den Steuerungsmodus, um zu klicken und zu drehe
977n",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.", 978"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.", 979"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.", 980"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", 981"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.", 982"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.", 983cancel:"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.", 984"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.", 985"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.", 986"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", 987"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?"}}}); 988define("oP",["require","lx","iv","ms"],function(a){function e(f){return m[c][f]||m.en[f]||f}var k=a("lx"),m=a("iv"),l=a("ms"),b;for(b in m)m[b.substr(0,2)]=m[b];m.en["giroscope-disabled-safari-toggle-on"]='<div>
988Your 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"]= 989m["zh-mo"]=m["zh-tw"];m.no=m.nn;var h=function(){var f=window.navigator,g=["language","browserLanguage","systemLanguage","userLanguage"],p,q,n=[];(p=l.getQueryParameter("language"))&&n.push(p.toLowerCase());var r=f.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<g.length;p++)(q=f[g[p]])&&q.length&&(q=q.toLowerCase(),-1==n.indexOf(q)&&n.push(q));return n}(),d=Object.keys(m),c=function(){for(var f=0;f<h.length;f++){var g= 990h[f];if(0<=d.indexOf(g))return g;g=g.substr(0,2);if(0<=d.indexOf(g))return g}return"en"}();e.log=function(){k.log("translation lang: "+c);k.log("browser lang: "+h.join(", "))};return e}); 991define("pe",["require"],function(){var a={};a.src=a.U3a="data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=";return a}); 992define("ed",["require","pe","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 k(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"!== 993t.name}).then(function(){q(!n)}):q(!0)}function m(q){p=q;f=!0;l()}function l(){for(;g.length;)g.shift().call(window,p)}function b(){c||(c=!0,d.browser()==d.am&&11<=d.mQ()?m(!0):d.browser()==d.Wh?e(m):k(function(q){q?e(m):m(!1)}))}var h=a("pe"),d=a("v"),c=!1,f=!1,g=[],p;return{test:function(q){f||c||b();g.push(q);f&&l()}}}); 994define("bF",["require","oP","me","ed"],function(a){function e(h,d){this.kD=h;this.so=d;this.Zp=this.Zp.bind(this);this.$p=!1}function k(){this.Zp=this.Zp.bind(this);this.Oaa=this.Oaa.bind(this);this.A="not tested";this.Tha=[];this.Mt=[];this.JV=!1;l.wait(this.Oaa)}var m=a("oP"),l=a("me"),b=a("ed");k.prototype.Q1a=function(){"not tested"==this.A&&(this.A="testing",b.test(function(h){this.A=h?"requires action":"allowed";this.gNa()}.bind(this)))};k.prototype.gNa=function(){"allowed"==this.A?this.Zp(!0): 995this.JV&&(this.JV=!1,this.Mt.forEach(function(h){h.request()}))};k.prototype.nfa=function(h){"allowed"==this.A?h.call(this,!0):this.Tha.push(h)};k.prototype.request=function(h){this.Zr(h)};k.prototype.cancel=function(h){this.VA(h)};k.prototype.active=function(){return"allowed"==this.A};k.prototype.z0a=function(){"allowed"==this.A&&(this.A="requires action")};k.prototype.Oaa=function(){setTimeout(this.vGa.bind(this),300);this.qr(!0)};k.prototype.vGa=function(){for(;this.Mt.length;)this.Mt.pop().cancel()}; 996k.prototype.Zr=function(h){"testing"==this.A||"not tested"==this.A?(this.g2(h),this.JV=!0):"requires action"==this.A&&this.g2(h).request()};k.prototype.VA=function(h){"testing"==this.A||"not tested"==this.A?this.JV=!1:"requires action"==this.A&&this.g2(h).cancel()};k.prototype.Zp=function(h){var d=this.Mt;this.Mt=[];d.forEach(function(c){h||c.kD.set("mute",!0);c.cancel()});this.qr(h)};k.prototype.qr=function(h){this.A="allowed";
996this.Tha.forEach(function(d){d.call(window,h)})};k.prototype.g2=function(h){for(var d= 997null,c=0;c<this.Mt.length&&!d;c++)this.Mt[c].kD==h&&(d=this.Mt[c]);d||(d=new e(h,this.Zp),this.Mt.push(d));return d};e.prototype.request=function(){this.$p||(this.$p=!0,"button"==this.kD.get("mediaActivationMode")?this.kD.CH.RZa(this.Zp):this.kD.eG.show(m("enable-audio-prompt"),this.Zp))};e.prototype.cancel=function(){this.kD.CH.hVa(this.Zp);this.kD.eG.hide(this.Zp)};e.prototype.Zp=function(h){this.so(!1!==h);this.$p=!1};return new k}); 998define("fZ",["require","oR","mE","bF","hl"],function(a){var e=a("oR"),k=a("mE"),m=a("bF"),l=a("hl");if(!k.ofa||!1==="AudioContext"in window)return null;var b=new AudioContext;m.nfa(function(){"running"!==b.state&&b.resume()});l.bind(e.va,function(){l.visible&&"interrupted"==b.state&&b.resume()});return b}); 999define("ej","require fZ oR v ms mE hl".split(" "),function(a){function e(d){this.ki=this.ki.bind(this);this.Pr=this.Pr.bind(this);this.hf=!1;this.uq=this.lT=1;this.yT=!0;this.Nx=this.RE=null;this.S=d;this.S.addEventListener("play",this.ki,!0);this.S.addEventListener("playing",this.Pr,!0);this.Yra();this.aD()}var k=a("fZ");a("oR");var m=a("v"),l=a("ms"),b=a("mE");a("hl");var h;e.prototype.clear=function(){this.S&&(this.fSa(),this.S.removeEventListener("play",this.ki,!0),this.S.removeEventListener("playing", 1000this.Pr,!0),this.S=null)};e.prototype.Yra=function(){b.ofa&&m.browser()==m.Wh&&k&&!this.RE&&this.Rx()&&(h||(h=k.createDelay(),h.delayTime.value=.3,h.connect(k.destination)),this.RE=k.createMediaElementSource(this.S),this.Nx=k.createGain(),this.RE.connect(this.Nx),this.Nx.connect(h))};e.prototype.fSa=function(){this.RE&&(this.RE.disconnect(),this.RE=null);this.Nx&&(this.Nx.disconnect(),this.Nx=null)};e.prototype.F_a=function(d){this.yT!=d&&(this.S.log("AudioController","set hasAudio: "+d),this.yT= 1001d,this.aD())};e.prototype.Ef=function(d){this.hf!=d&&(this.S.log("AudioController","set muted: "+d),this.hf=d,this.aD())};e.prototype.pw=function(d){this.uq!=d&&(this.S.log("AudioController","set volume: "+d),this.uq=d,this.aD())};e.prototype.qQ=function(d){this.lT!=d&&(this.S.log("AudioController","set gain: "+d),this.lT=Math.max(0,Math.min(1,d)),this.aD())};e.prototype.ki=function(){this.aD()};e.prototype.Pr=function(){this.aD()};e.prototype.aD=function(){this.S.log("AudioController","updateVolume paused: "+ 1002this.S.paused+" outputVolume: "+(!this.yT||this.hf?0:this.uq*this.lT));if(!this.S.paused){var d=!this.yT||this.hf?0:this.uq*this.lT;0<d&&1>d&&this.Yra();this.Nx?(this.Nx.gain.value=d,this.S.volume=1):this.S.volume=d;this.S.muted=0==d}};e.prototype.Rx=function(){var d=this.S.currentSrc||this.S.children.length&&this.S.children[0].src||"";l.wz(d)&&(d=void 0);return d};return e});define("op",["require"],function(){return{tn:"video",lCa:"audio"}}); 1003define("nl","require lx oR kX id cB gp v ms bw hl".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("kX"),l=a("id"),b=a("cB"),h=a("gp"),d=a("v"),c=a("ms"),f=a("bw"),g=a("hl"),p=e.extend(h,function(q){h.call(this);this.S=q;this.aC=this.aC.bind(this);this.Nu=this.Nu.bind(this);this.ol=this.ol.bind(this);this.eC=this.eC.bind(this);this.wj=this.wj.bind(this);this.rl=this.rl.bind(this);this.ki=this.ki.bind(this);this.Pr=this.Pr.bind(this);this.yO=this.yO.bind(this);this.S.addEventListener("ended",this.ol, 1004!0);this.S.addEventListener("pause",this.rl,!1);this.S.addEventListener("stalled",this.rl,!1);this.S.addEventListener("waiting",this.rl,!1);this.S.addEventListener("canplay",this.aC,!0);this.S.addEventListener("canplaythrough",this.Nu,!1);this.S.addEventListener("loadedmetadata",this.wj,!0);this.S.addEventListener("play",this.ki,!1);this.S.addEventListener("playing",this.Pr,!1);this.S.addEventListener("error",this.eC,!1);this.x4=!1;this.A=m.T;this.FG=this.Th=null;g.bind(k.va,this.qUa,this)});p.prototype.clear= 1005function(){this.S&&(this.S.removeEventListener("ended",this.ol,!0),this.S.removeEventListener("pause",this.rl,!1),this.S.removeEventListener("stalled",this.rl,!1),this.S.removeEventListener("waiting",this.rl,!1),this.S.removeEventListener("canplay",this.aC,!0),this.S.removeEventListener("canplaythrough",this.Nu,!1),this.S.removeEventListener("loadedmetadata",this.wj,!0),this.S.removeEventListener("play",this.ki,!1),this.S.removeEventListener("error",this.eC,!1),this.S=null)};p.prototype.play=function(){this.S.log("PlaybackController", 1006"play");this.FG=m.X;this.iN()};p.prototype.stop=function(){this.S.log("PlaybackController","stop");this.FG=m.T;this.iN()};p.prototype.getState=function(){return this.Th||this.A};p.prototype.BD=function(){return this.S.readyState==this.S.HAVE_NOTHING||this.S.readyState==this.S.HAVE_METADATA||0===this.S.currentTime?!1:!0};p.prototype.iN=function(){!this.Th&&this.FG&&(this.Th=this.FG,this.FG=null,this.Th==m.X?this.n$():this.m$())};p.prototype.qUa=function(){if(g.visible)this.S.log("PlaybackController", 1007"visibile changed to true, setting state to "+this.A),this.Th=this.A,this.Th==m.X?this.n$():this.m$();else if(!this.S.paused){this.S.log("PlaybackController","paused by visibile changed to fal
1007se");var q=this.S.pause();q&&q["catch"](this.eC)}};p.prototype.Rx=function(){return this.S.currentSrc||this.S.children.length&&this.S.children[0].src||""};p.prototype.n$=function(){var q=this.Rx();this.HW(q&&!c.wz(q));this.NR=d.browser()==d.Wh;this.S.paused?(this.S.log("PlaybackController","startPlaying calling play"), 1008this.S.muted=!0,this.S.log("PlaybackController","this._media.play()"),(q=this.S.play())&&q["catch"](this.eC)):(this.S.log("PlaybackController","startPlaying already playing"),this.ki())};p.prototype.Pr=function(){this.S.log("PlaybackController","onPlaying event received. Visible: "+g.visible)};p.prototype.ki=function(){this.Th==m.X?(this.S.log("PlaybackController","onPlay event received when waiting to play"),this.Th=null,this.A=m.X,this.trigger(new b(p.S0)),this.iN()):this.S.log("PlaybackController", 1009"onPlay event received. Visible: "+g.visible)};p.prototype.m$=function(){this.HW(!1);this.NR=!1;if(this.S.paused)this.S.log("PlaybackController","startPausing already paused"),this.rl();else{this.S.log("PlaybackController","startPausing calling pause");var q=this.S.pause();q&&q["catch"](this.eC)}};p.prototype.rl=function(){this.Th==m.T?(this.S.log("PlaybackController","onPause event received when waiting to stop"),this.Th=null,this.A=m.T,this.iN()):g.visible?(this.S.log("PlaybackController","onPause event received without calling to pause"), 1010(this.A==m.X&&!this.Th||this.Th==m.X)&&!this.S.hasAttribute("loop")&&!isNaN(this.S.duration)&&this.S.currentTime==this.S.duration&&0<this.S.duration&&this.ol(),this.yO()):this.S.log("PlaybackController","onPause event received when not visible")};p.prototype.aC=function(){this.S.log("PlaybackController","on can play");this.yO()};p.prototype.Nu=function(){this.S.log("PlaybackController","can play through");this.yO();this.HW(!1)};p.prototype.yO=function(){if(this.asa()){if(this.NR&&0==this.S.currentTime){this.S.log("PlaybackController", 1011"updatePlaying applying ios hack");this.NR=!1;try{this.S.currentTime=.3}catch(q){}}d.browser()!=d.nE&&this.Vqa()}};p.prototype.asa=function(){return this.A==m.X&&g.visible&&this.S.paused&&3<=this.S.readyState};p.prototype.Vqa=function(q){this.Wqa||(q?this.asa()&&(this.S.log("PlaybackController","updatePlaying retrying play"),this.Th=m.X,this.n$()):this.Wqa=setTimeout(function(){this.Wqa=null;this.Vqa(!0)}.bind(this),500))};p.prototype.eC=function(){this.Th==m.X&&(this.S.log("PlaybackController","onError waiting to play"), 1012this.Th=null,this.FG?this.iN():d.browser()==d.Wh?this.trigger(new b(p.w0)):this.Th=m.X)};p.prototype.wj=function(){this.S.log("PlaybackController","on loaded metadata");!isNaN(this.S.duration)&&this.S.currentTime==this.S.duration&&0<this.S.duration&&this.ol()};p.prototype.ol=function(){this.S.log("PlaybackController","onEnded");this.NR=!1;if(this.A==m.X&&!this.Th||this.Th==m.T)this.S.log("PlaybackController","onEnded finalizing video"),this.HW(!1),this.Th=m.T,this.m$(),this.trigger(new b(p.Oj))}; 1013p.prototype.HW=function(q){this.x4!=q&&(this.S.log("PlaybackController","downloading changed to: "+q),(this.x4=q)?f.y1a(l.Yfa):f.x1a(l.Yfa))};p.w0="deactivated";p.Oj="end";p.S0="play";return p}); 1014define("B",["require","lx","oR","cB","gp"],function(a){var e=a("lx"),k=a("oR");a("cB");var m=a("gp");a=e.extend(m,function(l){m.call(this);this.wj=this.wj.bind(this);this.F7=this.F7.bind(this);this.ii=this.ii.bind(this);this.S=l;this.Fk=null;this.ue=[];this.S.addEventListener("loadedmetadata",this.wj,!0);this.S.textTracks.addEventListener("addtrack",this.F7,!1)});a.prototype.set=function(l){l&&this.WEa(l)};a.prototype.clear=function(){this.wPa()};a.prototype.nP=function(){var l=this.Fk&&this.Fk.track.activeCues; 1015l&&(l=Array.prototype.slice.call(l,0));return l||[]};a.prototype.wj=function(){this.Rta()};a.prototype.F7=function(){this.Rta()};a.prototype.ii=function(){this.pra(this.Fk.track.activeCues)};a.prototype.pra=function(l){l||(l=[]);if(0!=this.ue.length||0!=l.length)this.ue=Array.prototype.slice.call(l),this.trigger(k.Nj,this.ue)};a.prototype.WEa=function(l){this.S.log("TextTracksController","add text track src: "+l);this.Fk=document.createElement("track");this.Fk.kind="subtitles";this.Fk.src=l;this.S.appendChild(this.Fk)}; 1016a.prototype.wPa=function(){this.Fk&&(this.S.log("TextTracksController","remove text track"),this.Fk.track.removeEventListener("cuechange",this.ii),this.Fk.track.mode="disabled",this.Fk.src="",this.S.removeChild(this.Fk),this.Fk=null,this.pra([]))};a.prototype.Rta=function(){for(var l=0;l<this.S.textTracks.length;l++){var b=this.S.textTracks[l];b.removeEventListener("cuechange",this.ii);b.mode=this.Fk&&b==this.Fk.track?"hidden":"disabled";"hidden"==b.mode&&b.addEventListener("cuechange",this.ii)}}; 1017return a}); 1018define("ik",["require","exports","ms"],function(a,e,k){return function(){function m(){}m.is=function(l,b){l=k.parse(l).YVa;return-1!=b.indexOf(l)};m.wz=function(l,b){return!!l&&b.some(function(h){return 0===l.indexOf(h)})};m.vga=[".mp4",".m4v",".m4p"];m.YCa=[".hevc"];m.cga=[".mov"];m.dEa=[".webm"];m.qDa=[".ogv",".ogg"];m.HLS=[".m3u8"];m.gEa=[".json"];m.aDa=".jpg .jpeg .png .webp .gif .avif .apng .bmp".split(" ");m.tn=".m3u8 .mpd .mp4 .m4v .m4p .webm .ogv .ogg .mpg .mpeg .m3u8 .mpd".split(" ");m.bDa= 1019["data:image/"];return m}()}); 1020define("eA","require lx oR cB gp v ik".split(" "),function(a){var e=a("lx");a("oR");var k=a("cB"),m=a("gp"),l=a("v"),b=a("ik"),h=e.extend(m,function(d){m.call(this);this.S=d;this.Nu=this.Nu.bind(this);this.rl=this.rl.bind(this);this.ki=this.ki.bind(this);this.wj=this.wj.bind(this);this.ol=this.ol.bind(this);this.qV=this.qV.bind(this);this.Xe=this.Xe.bind(this);this.Z6=this.lG=this.UC=void 0;this.G$=0;this.S.addEventListener("ended",this.ol,!0);this.S.addEventListener("pause",this.rl,!1);this.S.addEventListener("canplaythrough", 1021this.Nu,!1);this.S.addEventListener("timeupdate",this.qV,!1);this.S.addEventListener("play",this.ki,!1);this.S.addEventListener("playing",this.Pr,!1)});h.prototype.clear=function(){this.S&&(this.S.removeEventListener("ended",this.ol,!0),this.S.removeEventListener("pause",this.rl,!1),this.S.removeEventListener("canplaythrough",this.Nu,!1),this.S.removeEventListener("timeupdate",this.qV,!1),this.S.removeEventListener("play",this.ki,!1),this.S.removeEventListener("playing",this.Pr,!1),this.S=null,this.UC&& 1022clearInterval(this.UC))};h.prototype.setTime=function(d){if(!this.S.srcObject){this.G$=0;this.jU=void 0;this.S.log("TimeController","setTime: "+d);l.Bba()&&!b.is(this.Rx(),b.HLS)?this.UJ=d||0:this.UJ=void 0;try{this.S.currentTime=d}catch(c){}l.browser()==l.Bw||l.browser()==l.nE||l.ic()==l.mJ&&0==d||(this.lG=d,this.qta())}};h.prototype.getTime=function(){return this.lG||this.S.currentTime||0};h.prototype.Xi=function(){return this.S.duration||0};h.prototype.ki=function(){this.V9(!0)};h.prototype.rl= 1023function(){this.V9(!1);this.jU=void 0};h.prototype.Nu=function(){this.S.log("TimeController","on can play through");this.qta()};h.prototype.ol=function(){this.UJ=void 0;this.V9(!1)};h.prototype.wj=function(){this.trigger(new k(h.Ci))};h.prototype.qta=function(){if(this.S.readyState>=this.S.HAVE_ENOUGH_DATA&&void 0!==this.lG){this.S.log("TimeController","updateCurrentTime when can play through set time to: "+this.lG);try{this.S.currentTime=this.lG}catch(d){}this.lG=void 0}};h.prototype.Xe=function(){this.trigger(new k(h.Ff))}; 1024h.prototype.qV=function(){if(l.Bba()&&!l.Rwa()&&!this.S.paused&&this.S.readyState>=this.S.HAVE_ENOUGH_DATA){var d=(new Date).getTime();this.jU||(this.jU=d);this.Z6&&500<d-this.Z6&&(this.G$++,.4<this.G$/(.001*(d-this.jU))&&l.F0a());this.Z6=d}if(void 0!==this.UJ&&this.S.currentTime>this.UJ){this.UJ=void 0;try{this.S.currentTime-=.01}catch(c){}}this.Xe()};h.prototype.V9=function(d){!!this.UC!=d&&(this.UC?(clearInterval(this.UC),this.UC=null):this.UC=setInterval(this.Xe,16))};h.prototype.Rx=function(){return this.S.currentSrc|| 1025this.S.children.length&&this.S.children[0].src||""};h.Ff="time update";h.Ci="duration update";return h}); 1026define("lQ","require jquery.mod lx fZ v ms".split(" "),function(a){function e(){}a("jquery.mod");var k=a("lx"),m=a("fZ"),l=a("v");a=a("ms");e.cba=!1;e.Z0a=function(){e.cba=!0};e.tLa=function(){window.MediaSource=window.MediaSource||window.e3a;return window.MediaSource&&"function"===typeof window.MediaSource.isTypeSupp
1026orted&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};e.FLa=function(){if(l.browser()==l.Wh){var d=l.DD();if(10<=d&&11>d||11.3<=d)return!0}return!1}; 1027e.uLa=function(){return l.browser()==l.am||l.browser()==l.Wh?!0:!1};var b;e.Xua=function(d){try{return b||(b=document.createElement("audio")),!!b.canPlayType(d).replace(/^no$/,"")}catch(c){}return!1};var h;e.WH=function(d){try{return h||(h=document.createElement("video"),h.setAttribute("webkit-playsinline","true"),h.setAttribute("playsinline","true")),!!h.canPlayType(d).replace(/^no$/,"")}catch(c){}return!1};e.ZUa=function(){return l.browser()==l.Wh?15<=l.DD()||m?!0:!1:!0};e.vLa=function(){try{if(document.createElement("canvas").getContext("webgl"))return!0}catch(d){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return!0}catch(d){}return!1}; 1028e.xBa=function(d,c,f,g){if(l.zd()==l.Fi)if(!f||30<f){if(3168>=d&&1584>=c)return!0}else{if(4096>=d&&2048>=c)return!0}else if((l.BI()||l.GD())&&!l.ID())if("h264"==g){if(4400>=d&&4400>=c||6200>=d&&3100>=c)return!0}else{if(5760>=d&&5760>=c||8192>=d&&4096>=c)return!0}else if(l.gYa()&&!l.ID())if(!f||30<f){if(2880>=d&&2880>=c||4096>=d&&2048>=c)return!0}else{if(4096>=d&&4096>=c||5760>=d&&2880>=c||2880>=d&&5760>=c)return!0}else if((l.BI()||l.GD())&&l.Gca()){if("h264"==g&&(5760>=d&&5760>=c||7680>=d&&3840>= 1029c)||3840>=d&&2160>=c)return!0}else if(l.DI())if("h264"==g){if(5760>=d&&5760>=c||7680>=d&&3840>=c)return!0}else{if(4400>=d&&2200>=c)return!0}else if(l.lb()){if(3840>=d&&2160>=c)return!0}else if(4096>=d&&2048>=c)return!0;return!1};e.aVa=function(){return l.DI()||(l.BI()||l.GD())&&l.ic()==l.Io||!l.lb()&&e.cba&&l.browser()==l.$l?!0:!1};e.wBa=function(d){return e.xBa(d.get("width"),d.get("height"),d.get("framerate"),d.get("codec"))};e.$Ua=function(){return e.cba?!0:!1};e.bVa=function(){return l.GD()|| 1030l.BI()||l.DI()||l.txa()||l.uxa()||!l.Of()?!0:!1};e.L1a=function(d,c){return e.xBa(d,c,30)};e.log=function(){k.log("webgl: "+e.xw);k.log("html5 audio: "+e.Zwa);k.log("html5 video: "+e.bxa)};e.ZRa=function(){return["webgl:"+e.xw,"html5audio:"+e.Zwa,"html5video:"+e.bxa].join(" ")};e.axa=e.Xua('audio/ogg; codecs="vorbis"');e.$wa=e.Xua("audio/mpeg");e.Zwa=e.axa||e.$wa;e.wca=e.WH('video/ogg; codecs="theora"');e.WH('video/mp4; codecs="avc1.42E01E"');e.xca=e.WH('video/webm; codecs="vp8, vorbis"');e.FXa=e.WH('video/mp4; codecs="hev1"'); 1031e.jZ=e.WH("video/mp4");e.GXa=e.WH("video/quicktime");e.cxa=e.FLa();e.Lwa=e.uLa();e.rXa=e.Lwa||e.jZ&&e.tLa();e.bxa=e.wca||e.jZ||e.xca;e.xw=e.vLa();a.Yi("debug")&&a.Yi("capabilities")&&e.log();e.summary=e.ZRa();return e}); 1032define("cy",["require","exports","ms"],function(a,e,k){a=function(){function m(){this.BZ=this.Oca=null;this.sY=[];this.OP=!1}m.prototype.initialize=function(l,b){this.Oca=k.tw(l);this.BZ=b;this.cY=this.cY.bind(this);this.fa()};m.prototype.load=function(l,b){this.sY.push({call:l,context:b||window});this.JD||(this.JD=this.zla());this.fa()};m.prototype.Vh=function(){return void 0!==this.JD};m.prototype.fa=function(){0<this.sY.length&&(void 0!==this.JD?this.pIa():this.Oca&&this.EL())};m.prototype.EL= 1033function(){if(!this.OP&&void 0===this.JD){this.OP=!0;var l=document.createElement("script");l.type="text/javascript";l.src=this.Oca;document.getElementsByTagName("head")[0].appendChild(l);this.cY()}};m.prototype.cY=function(){var l=this.zla();void 0===l?setTimeout(this.cY,250):(this.JD=l,this.OP=!1,this.fa())};m.prototype.zla=function(){if(this.BZ){for(var l=window,b=0;b<this.BZ.length&&void 0!==l;b++)l=l[this.BZ[b]];return l}};m.prototype.pIa=function(){for(;0<this.sY.length;){var l=this.sY.pop(); 1034l.call.call(l.context,this.JD)}};return m}();e={};e.eEa=new a;e.jha=new a;e.HLS=new a;e.initialize=function(m){this.HLS.initialize(m.get(TDV.PlayerSettings.HLS_URL),["Hls"]);this.eEa.initialize(m.get(TDV.PlayerSettings.WEBVR_POLYFILL_URL),["WebVRConfig","FORCE_ENABLE_VR"]);this.jha.initialize(m.get(TDV.PlayerSettings.kha),["WebXRPolyfill"])};return e}); 1035define("eZ",["require"],function(){var a={jya:"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU2LjM2LjEwMAAAAAAAAAAAAAAA//OEAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAEAAABIADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV6urq6urq6urq6urq6urq6urq6urq6urq6v////////////////////////////////8AAAAATGF2YzU2LjQxAAAAAAAAAAAAAAAAJAAAAAAAAAAAASDs90hvAAAAAAAAAAAAAAAAAAAA//MUZAAAAAGkAAAAAAAAA0gAAAAATEFN//MUZAMAAAGkAAAAAAAAA0gAAAAARTMu//MUZAYAAAGkAAAAAAAAA0gAAAAAOTku//MUZAkAAAGkAAAAAAAAA0gAAAAANVVV"};a.src= 1036a.jya;return a}); 1037define("dG","require lx oR cB gp lQ ms mE ik cy eZ".split(" "),function(a){function e(q,n,r){this.src=q||"";this.ln=n||"";this.startTime=r||0}var k=a("lx"),m=a("oR"),l=a("cB"),b=a("gp"),h=a("lQ"),d=a("ms"),c=a("mE"),f=a("ik"),g=a("cy"),p=a("eZ");a=k.extend(b,function(q,n){b.call(this);this.S=q;this.Ym=n;this.g7=!1;this.$W=[];this.gf=this.qe=this.nF=null});a.prototype.set=function(q,n,r){this.S.log("SrcSetter","set: "+q+" subtitles: "+n+" startTime: "+r);q=new e(q,n,r);this.qe&&this.qe.isEqual(q)||(!this.qe&& 1038this.nF&&this.nF.isEqual(q)?this.DX():(this.qe=q,this.FMa()))};a.prototype.clear=function(){this.gf&&(this.gf.destroy(),this.gf=null);this.nF=null;this.vPa();this.Ym.clear()};a.prototype.wXa=function(){return!!this.qe};a.prototype.FMa=function(){this.g7=!0;this.Qqa(this.qe.src)&&!g.HLS.Vh()?(this.S.log("SrcSetter","hls lib required"),g.HLS.load(this.Kma,this)):this.Kma()};a.prototype.Kma=function(){this.g7&&(this.g7=!1,this.BFa())};a.prototype.BFa=function(){this.clear();this.tQa(this.zPa(this.qe.src)); 1039this.Qqa(this.qe.src)?this.pFa():this.G6(this.qe.src)?this.CFa():this.DFa()};a.prototype.pFa=function(){var q=g.HLS.JD,n=1048576*(navigator.connection?Math.max(navigator.connection.downlink,2):2),r=.66*n;this.gf=new q({debug:c.qJ,startPosition:0===this.qe.startTime?-1:this.qe.startTime,playlistLoadPolicy:{"default":{maxTimeToFirstByteMs:6E4,maxLoadTimeMs:6E4}},startLevel:-1,maxMaxBufferLength:12,autoStartLoad:!1,abrEwmaDefaultEstimate:n});this.gf.loadSource(this.qe.src);this.gf.attachMedia(this.S); 1040var t=function(){this.gf.off(q.Events.MANIFEST_PARSED,t);
1040if(navigator.connection){var u=this.gf.levels.filter(function(w){return w.bitrate<=n});if(u.length){u.sort(function(w,x){return x.width-w.width});var v=this.gf.levels.indexOf(u[0]);this.gf.startLevel=v}u=this.gf.levels.filter(function(w){return w.bitrate<=r});u.length&&(u.sort(function(w,x){return x.width-w.width}),this.gf.config.minAutoBitrate=u[0].bitrate-1);u=this.gf.levels.filter(function(w){return h.L1a(w.width,w.height)});c.$Ca&&(u.sort(function(w, 1041x){return x.width-w.width}),v=this.gf.levels.indexOf(u[0]),this.gf.startLevel=v);u.length&&u.length<this.gf.levels.length&&(u.sort(function(w,x){return x.width-w.width}),this.gf.autoLevelCapping=this.gf.levels.indexOf(u[0]));this.S.log("SrcSetter","bandwidth: "+n+" lowBandwidth: "+r);this.S.log("SrcSetter","levels: "+this.gf.levels);this.S.log("SrcSetter","startLevel: "+this.gf.levels[this.gf.startLevel]);this.S.log("SrcSetter","minLevel: "+this.gf.levels[this.gf.minAutoLevel])}this.gf.startLoad(0=== 1042this.qe.startTime?-1:this.qe.startTime);0!=this.qe.startTime&&this.fs(this.qe.startTime);this.qe.ln&&this.Ym.set(this.qe.ln);this.nF=this.qe;this.qe=null;this.DX()}.bind(this);this.gf.on(q.Events.MANIFEST_PARSED,t);this.gf.on(q.Events.F2a,function(u,v){v.fatal&&v.type==q.ErrorTypes.K2a&&this.gf.recoverMediaError()}.bind(this))};a.prototype.DFa=function(){this.qe.src?this.dia(this.qe.src):this.dia(p.jya,"audio/mpeg");this.qe.ln&&this.Ym.set(this.qe.ln);this.S.load();0!=this.qe.startTime&&this.fs(this.qe.startTime); 1043this.nF=this.qe;this.qe=null;this.DX()};a.prototype.CFa=function(){this.S.srcObject=this.qe.src;this.nF=this.qe;this.qe=null;this.DX()};a.prototype.DX=function(){this.S.log("SrcSetter","src ready");this.trigger(new l(m.Wc))};a.prototype.Qqa=function(q){return!!q&&!this.G6(q)&&f.is(q,f.HLS)&&!h.Lwa};a.prototype.zPa=function(q){return!!q&&!this.G6(q)&&d.Fca(q)};a.prototype.tQa=function(q){q&&!this.S.hasAttribute("crossorigin")?this.S.setAttribute("crossorigin","anonymous"):!q&&this.S.hasAttribute("crossorigin")&& 1044this.S.removeAttribute("crossorigin")};a.prototype.G6=function(q){return q instanceof MediaStream};a.prototype.fs=function(q){try{this.S.currentTime=q}catch(n){}};a.prototype.dia=function(q,n){var r=document.createElement("source");n||(n=this.pLa(q));n&&(r.type=n);d.wz(q)||(q=d.hz(q,"swbypass=true"));r.src=q;this.S.appendChild(r);this.$W.push(r)};a.prototype.vPa=function(){for(;this.$W&&this.$W.length;){var q=this.$W.shift();q.src="";this.S.removeChild(q)}this.S.srcObject=null};a.prototype.pLa=function(q){switch(d.getExtension(q).toLowerCase()){case ".mp3":return"audio/mpeg"; 1045case ".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.ln==q.ln};return a}); 1046define("oj","require lx oR cB gp v mE e bF me ej op nl B eA dG".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("v"),h=a("mE"),d=a("e"),c=a("bF"),f=a("me"),g=a("ej"),p=a("op"),q=a("nl"),n=a("B"),r=a("eA"),t=a("dG"),u=0,v=e.extend(l,function(w,x){l.call(this);this.$e=w;this.sUa=x;this.wj=this.wj.bind(this);this.qr=this.qr.bind(this);this.a8=this.a8.bind(this);this.Sp=this.lF=null;this.KV=void 0;this.fc=this.hb=null;this.hm="inactive";this.lo=this.Ka=this.Jd=this.tv=this.Ym=null; 1047this.hf=!1;this.Zra(document.createElement(this.$e));x&&f.wait(this.qr)});v.prototype.Zra=function(w){this.Dsa();this.fc=w;for(this.fc.parentNode&&this.fc.parentNode.removeChild(this.fc);this.fc.children.length;)this.fc.removeChild(this.fc.children[0]);this.oRa();this.fc.autoplay=!1;this.fc.autobuffer="autobuffer";this.fc.preload=b.browser()==b.Wh?"metadata":"none";this.fc.setAttribute("preload",b.browser()==b.Wh?"metadata":"none");this.fc.setAttribute("webkit-playsinline","true");this.fc.setAttribute("playsinline", 1048"true");this.fc.addEventListener("loadedmetadata",this.wj,!0);this.Ym=new n(this.fc);this.Ym.bind(k.Nj,this.ii,this,!0);this.tv=new t(this.fc,this.Ym);this.tv.bind(k.Wc,this.xpa,this,!0);this.Jd=new g(this.fc);this.Ka=new q(this.fc);this.Ka.bind(q.w0,this.Wna,this,!0);this.Ka.bind(q.Oj,this.ol,this,!0);this.Ka.bind(q.S0,this.ki,this,!0);this.lo=new r(this.fc);this.lo.bind(r.Ff,this.Xe,this,!0);this.lo.bind(r.Ci,this.Im,this,!0)};v.prototype.oRa=function(){if(h.qJ){var w="["+this.$e+" "+u++ +"]";this.fc.log= 1049function(x,y){console.log(w+"["+(new Date).toISOString().split("T")[1]+"] "+x+" "+y)}}else this.fc.log=function(){}};v.prototype.Dsa=function(){this.fc&&(this.fc.removeEventListener("loadedmetadata",this.wj,!0),this.tv&&(this.tv.unbind(k.Wc,this.xpa,this,!0),this.tv.clear(),this.tv=null),this.Ym&&(this.Ym.unbind(k.Nj,this.ii,this,!0),this.Ym.clear(),this.Ym=null),this.Jd&&(this.Jd.clear(),this.Jd=null),this.Ka&&(this.Ka.unbind(q.w0,this.Wna,this,!0),this.Ka.unbind(q.Oj,this.ol,this,!0),this.Ka.unbind(q.S0, 1050this.ki,this,!0),this.Ka.clear(),this.Ka=null),this.lo&&(this.lo.unbind(r.Ff,this.Xe,this,!0),this.lo.unbind(r.Ci,this.Im,this,!0),this.lo.clear(),this.lo=null),this.fc=null)};v.prototype.clear=function(){this.Dsa()};v.prototype.aI=function(w,x,y){if(this.Ml()&&this.BD())try{return w.drawImage(this.fc,0,0,x,y),!0}catch(z){}w.fillRect(0,0,x,y);return!1};v.prototype.play=function(w,x,y){this.fc.log("HTMLMediaPlayer","play src: "+x.src+" subtitlesSrc: "+x.ln+" hasAudio: "+x.vz+" gain: "+x.gain);this.hb= 1051w;this.lF=null;this.Sp=x.clone();this.KV=y||0;this.iFa()};v.prototype.rZ=function(){return"activated"==this.hm};v.prototype.X_=function(){return this.sUa};v.prototype.stop=function(){this.fc.log("HTMLMediaPlayer","stop");this.Ka.stop();this.Sp=null};v.prototype.getState=function(){return this.Ka.getState()};v.prototype.BD=function(){return this.tv.wXa()?!1:this.Ka.BD()};v.prototype.Ef=function(w){this.Jd.Ef(w);this.hf=w;this.hb&&"requested"==this.hm&&(this.hf?c.cancel(this.hb):c.request(this.hb))}; 1052v.prototype.pw=function(w){this.Jd.pw(w)};v.prototype.qQ=function(w){this.Jd.qQ(w)};v.prototype.setLoop=function(w){this.xFa(w)};v.prototype.getCurrentTime=function(){return this.lo.getTime()};v.prototype.setCurrentTime=function(w){return this.lo.setTime(w)};v.prototype.Xi=function(){return this.lo.Xi()};v.prototype.Ml=function(){return this.$e==p.tn};v.prototype.getType=function(){return this.$e};v.prototype.yd=function(){return this.fc&&this.Ml()&&this.fc.videoWidth||0};v.prototype.je=function(){return this.fc&& 1053this.Ml()&&this.fc.videoHeight||0};v.prototype.nP=function(){return this.Ym.nP()};v.prototype.iFa=function(){this.fc.log("HTMLMediaPlayer","assert can play");"activated"!=this.hm&&this.Sp.vz?"inactive"==this.hm&&(this.fc.log("HTMLMediaPlayer","needs activation"),this.hb&&this.$e==p.tn&&this.sLa()?this.yEa():this.hb&&d.sZ()?this.qr():this.hb&&this.hF
1053a()):(this.fc.log("HTMLMediaPlayer","can play activationState: "+this.hm+" pending media has audio: "+this.Sp.vz),this.aC())};v.prototype.sLa=function(){var w= 1054this.Tka();return!w||w.currentSrc&&!w.paused||w.muted?!1:!0};v.prototype.Tka=function(){return this.hb.get("settings").get(TDV.PlayerSettings.ACTIVE_VIDEO_ELEMENT)};v.prototype.yEa=function(){this.fc.log("HTMLMediaPlayer","activate with application parameter");this.Zra(this.Tka());this.qr()};v.prototype.hFa=function(){this.fc.log("HTMLMediaPlayer","ask for activation");this.hm="requested";c.nfa(this.qr);this.hb&&!this.hf&&c.request(this.hb)};v.prototype.qr=function(){if("inactive"==this.hm||"requested"== 1055this.hm)this.fc.log("HTMLMediaPlayer","activate received when state: "+this.hm+" and has media: "+!!this.lF),this.lF?setTimeout(function(){f.wait(this.qr)}.bind(this),0):(this.hm="activating",this.tv.set("","",0))};v.prototype.aC=function(){this.fc.log("HTMLMediaPlayer","media can play. Has pending properties: "+!!this.Sp);this.Sp&&this.tv.set(this.Sp.src,this.Sp.ln,this.KV)};v.prototype.xpa=function(){"activating"==this.hm?this.$Na():this.Sp&&this.JNa()};v.prototype.$Na=function(){this.fc.log("HTMLMediaPlayer", 1056"on src ready activating");this.Ka.play()};v.prototype.ki=function(){"activating"==this.hm&&(this.fc.log("HTMLMediaPlayer","on play activating"),this.Ka.stop(),this.hm="activated",this.aC())};v.prototype.JNa=function(){this.fc.log("HTMLMediaPlayer","on pending src ready");this.lF=this.Sp;this.Sp=null;this.qFa(this.lF.vz);this.oFa(this.lF.gain);this.lo.setTime(this.KV);this.KV=void 0;this.Ka.play()};v.prototype.qFa=function(w){this.Jd.F_a(w)};v.prototype.oFa=function(w){this.Jd.qQ(w)};v.prototype.xFa= 1057function(w){w&&!this.fc.hasAttribute("loop")?this.fc.setAttribute("loop",""):!w&&this.fc.hasAttribute("loop")&&this.fc.removeAttribute("loop")};v.prototype.Wna=function(){this.fc.log("HTMLMediaPlayer","on deactivated");c.z0a();f.wait(this.a8);this.hb&&setTimeout(function(){c.request(this.hb)}.bind(this),0)};v.prototype.a8=function(){this.fc.log("HTMLMediaPlayer","on reactivated");this.Ka.play()};v.prototype.ii=function(){this.trigger(k.Nj,this.Ym.nP())};v.prototype.wj=function(){this.trigger(new m(v.KCa))}; 1058v.prototype.Xe=function(){this.trigger(new m(v.Ff))};v.prototype.Im=function(){this.trigger(new m(v.Ci))};v.prototype.ol=function(){this.trigger(new m(v.Oj))};v.Ff="time update";v.Ci="duration update";v.KCa="size update";v.Oj="end";return v});define("dE",["require"],function(){return function(a){this.cue=a;this.text=a.text}}); 1059define("nb",["require"],function(){function a(){this.ln=this.src=void 0;this.vz=!1;this.gain=1}a.prototype.clone=function(){var e=new a;e.src=this.src;e.ln=this.ln;e.vz=this.vz;e.gain=this.gain;return e};return a}); 1060define("bW","require lx ek oR kX cB gp lQ v ms oj op".split(" "),function(a){function e(u){this.PR=u;this.ya=null;this.UB=(new Date).getTime()}var k=a("lx"),m=a("ek"),l=a("oR"),b=a("kX"),h=a("cB"),d=a("gp"),c=a("lQ"),f=a("v"),g=a("ms"),p=a("oj"),q=a("op");e.prototype.Hca=function(){return null==this.ya};e.prototype.rZ=function(){return this.PR.rZ()};e.prototype.X_=function(){return this.PR.X_()};e.prototype.item=function(){return this.ya};e.prototype.hWa=function(){this.ya.Exa();this.ya=null};e.prototype.use= 1061function(u){this.ya=u;this.ya.xva(this.PR);this.UB=(new Date).getTime()};var n=k.extend(d,function(){d.call(this);this.hs=[];var u=g.dwa("avs",10);var v=f.ic()==f.et?10:c.ZUa()?4:1;v=g.dwa("avpas",v);for(var w=0;w<u;w++)this.hs.push(new e(new p(q.tn,w<v)));this.Le=[];this.A=b.T});n.prototype.zI=function(){return 0<this.Nla().length};n.prototype.o_=function(u){this.Le=[u].concat(m(this.Le).without(u));this.B8();t()};n.prototype.appendItem=function(u){this.Le.push(u);this.B8();t()};n.prototype.fQ=function(u){this.Le= 1062m(this.Le).without(u);this.B8()};n.prototype.B8=function(){var u=this.PKa();if(n.Uwa())for(;this.hs.length<u.length;)this.hs.push(new e(new p(q.tn,!1)));this.Nla().forEach(function(v){0>u.indexOf(v.item())&&v.hWa()});this.Ac(0<u.length?b.X:b.T);u.forEach(function(v){if(!this.qKa(v)){var w=this.fKa(v.getType(),v.Lda());
1062w||v.Lda()||this.hs.push(w=new e(new p(q.tn,!1)));w&&w.use(v)}}.bind(this));this.gKa().forEach(function(v){v.PR.stop()})};n.prototype.PKa=function(){return this.Le.map(function(u,v){var w= 1063{};w.index=v;w.priority=u.rwa();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.Ac=function(u){this.A!=u&&(this.A=u,this.trigger(new h(this.A==b.T?l.Gf:l.sn)))};n.prototype.fKa=function(u,v){u=this.hs.filter(function(w){return w.Hca()});return u.length?(v?(v=u.filter(function(w){return w.rZ()}),v.length||(v=u.filter(function(w){return w.X_()}))):(v=u.filter(function(w){return!w.X_()}),v.length||(v=u.filter(function(w){return!w.rZ()}))), 1064v.length&&(u=v),f.browser()==f.am?(u.sort(function(w,x){return x.UB-w.UB}),u[Math.min(2,u.length-1)]):u[0]):null};n.prototype.gKa=function(){return this.hs.filter(function(u){return u.Hca()})};n.prototype.Nla=function(){return this.hs.filter(function(u){return!u.Hca()})};n.prototype.qKa=function(u){for(var v=0;v<this.hs.length;v++)if(this.hs[v].item()==u)return this.hs[v];return null};n.y6=null;n.bind=function(){var u=n.bi();u.bind.apply(u,arguments)};n.unbind=function(){var u=n.bi();u.unbind.apply(u, 1065arguments)};var r=0<=[f.Wz,f.ft].indexOf(f.ic());n.Uwa=function(){return r};n.zI=function(){return n.bi().zI()};n.appendItem=function(u){n.bi().appendItem(u)};n.o_=function(u){n.bi().o_(u)};n.fQ=function(u){n.bi().fQ(u)};n.$t=function(){null===n.y6&&(n.y6=new n);return n.y6};n.bi=n.$t;n.$t();var t=function(){if(0<=[f.Wz,f.ft].indexOf(f.ic())){var u=document.createElement("video");u.muted=!1;u.setAttribute("loop","");u.src="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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"; 1066return function(){try{u.pause(),setTimeout(function(){u.play()["catch"](function(){})},0)}catch(v){}}}return function(){}}();return n}); 1067define("F","require lx cB gp oR kX oj dE nb op bW bh lQ".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("oR"),b=a("kX"),h=a("oj"),d=a("dE"),c=a("nb"),f=a("op"),g=a("bW"),p=a("bh"),q=a("lQ"),n=e.extend(m,function(r,t,u){m.call(this);this.hb=r;this.v=t;this.Xr=u;this.m=null;this.JN();this.TU=this.TU.bind(this);this.v.bind(l.G("gain"),this.oG,this,!0);this.v.bind(l.G("mp3Url"),this.Km,this,!0);this.v.bind(l.G("oggUrl"),this.Km,this,!0);this.A=b.T;this.hl=!1;this.Bx=this.sb=0;this.hf=!1; 1068this.uq=1;this.NK=!1;this.BF=1;this.rd=null;this.wn=[]});n.prototype.Gb=function(){return this.hb};n.prototype.Id=function(r){this.A==r||r==b.Ib&&this.A!=b.X||(this.A=r,this.A==b.X?(this.tGa(),g.o_(this)):this.ARa(),this.W$()
1068)};n.prototype.ARa=function(){this.NK||(this.NK=!0,this.Dka=this.v.get("fadeOutTime"),0==this.Dka?this.xsa():this.TU(0))};n.prototype.TU=function(r){this.rd&&0!=this.BF&&this.NK&&!this.dMa()?(this.BF=Math.max(0,this.BF-r/this.Dka),this.OR(),p.requestFrame(this.TU)):this.xsa()}; 1069n.prototype.tGa=function(){this.NK=!1;this.BF=1;this.OR()};n.prototype.xsa=function(){this.NK=!1;this.BF=1;this.rd&&(g.fQ(this),this.A==b.T&&this.U9())};n.prototype.getState=function(){return this.A};n.prototype.Xi=function(){return this.sb};n.prototype.setCurrentTime=function(r){this.Bx=r;this.rd&&this.rd.play(this.hb,this.m,this.Bx)};n.prototype.getCurrentTime=function(){return this.Bx};n.prototype.pw=function(r){this.uq=r;this.OR()};n.prototype.OR=function(){this.rd&&this.rd.pw(this.uq*this.BF)}; 1070n.prototype.Ef=function(r){this.hf=r;this.rd&&this.rd.Ef(r)};n.prototype.setLoop=function(r){this.hl=r;this.rd&&this.rd.setLoop(r)};n.prototype.Lda=function(){return!this.hf};n.prototype.getType=function(){return f.lCa};n.prototype.rwa=function(){return this.Xr};n.prototype.xva=function(r){this.rd=r;setTimeout(function(){this.rd&&this.rd.bind(h.Oj,this.fM,this,!0)}.bind(this),0);this.JN();this.rd.bind(h.Ff,this.Xe,this,!0);this.rd.bind(h.Ci,this.Im,this,!0);this.rd.bind(l.Nj,this.ii,this,!0);this.rd.Ef(this.hf); 1071this.OR();this.rd.setLoop(this.hl);this.rd.play(this.hb,this.m,this.Bx)};n.prototype.Exa=function(){this.Bx=this.rd.getCurrentTime();this.rd.unbind(h.Oj,this.fM,this,!0);this.rd.unbind(h.Ff,this.Xe,this,!0);this.rd.unbind(h.Ci,this.Im,this,!0);this.rd.unbind(l.Nj,this.ii,this,!0);this.rd=null};n.prototype.clear=function(){this.Id(b.T);this.v&&(this.v.unbind(l.G("gain"),this.oG,this,!0),this.v.unbind(l.G("mp3Url"),this.Km,this,!0),this.v.unbind(l.G("oggUrl"),this.Km,this,!0),this.v=null)};n.prototype.Km= 1072function(){this.vC&&clearTimeout(this.vC);this.vC=setTimeout(function(){this.vC=null;this.rd&&(this.m.src=this.Rx(this.v),this.rd.play(this.hb,this.m,this.Bx))}.bind(this),10)};n.prototype.oG=function(){if(this.rd){var r=this.v.get("gain");this.m.gain!=r&&(this.m.gain=r,this.rd.qQ(this.m.gain))}};n.prototype.JN=function(){this.m=new c;this.m.src=this.Rx(this.v);this.m.vz=!0;this.m.gain=this.v.get("gain")};n.prototype.Rx=function(r){var t=r.get("mp3Url");return t&&q.$wa?t:(r=r.get("oggUrl"))&&q.axa? 1073r:t||r};n.prototype.Im=function(){this.sb=this.rd.Xi();this.S$()};n.prototype.Xe=function(){this.sb!=this.rd.Xi()&&this.Im();this.Bx=this.rd.getCurrentTime();this.pO()};n.prototype.ii=function(){this.wn=this.rd.nP().map(function(r){for(var t=null,u=0;u<this.wn.length&&!t;u++)this.wn[u].cue==r&&(t=this.wn[u]);t||(t=new d(r));return t}.bind(this));this.trigger(new k(l.Nj))};n.prototype.fM=function(){this.Id(b.T);this.T$()};n.prototype.dMa=function(){return this.rd&&this.rd.getCurrentTime()&&this.rd.getCurrentTime()== 1074this.rd.Xi()};n.prototype.U9=function(){this.Bx=0;this.pO()};n.prototype.pO=function(){this.trigger(new k(n.Ff))};n.prototype.S$=function(){this.trigger(new k(n.Ci))};n.prototype.T$=function(){this.trigger(new k(l.vb))};n.prototype.W$=function(){this.trigger(new k(l.ne))};n.Ff="time update";n.Ci="duration update";return n}); 1075define("jn","require oR id kX lZ cB nH F".split(" "),function(a){var e=a("oR"),k=a("id"),m=a("kX"),l=a("lZ"),b=a("cB"),h=a("nH"),d=a("F");a=h.define("Audio",l,function(c){l.call(this);this.Xr=c||k.TDa;this.bp=void 0});a.prototype.uD=function(){if(void 0==this.bp){var c=this.get("audio");c?(this.bp=new d(this.get("application"),c,this.Xr),c=function(){this.bp.setLoop(this.get("loop",!1))},c.call(this),this.bind(e.G("loop"),c,this),c=function(){this.bp.Ef(this.get("application").get("mute",!1))},c.call(this), 1076this.get("application").bind(e.G("mute"),c,this,!0),c=function(){this.set("state",this.bp.getState())},c.call(this),this.bp.bind(e.ne,c,this,!0),this.bp.bind(e.vb,this.fNa,this,!0)):this.bp=null}return this.bp};a.prototype.set=function(c,f){if("state"==c){var g=this.get("state")||m.T,p=this.bp&&this.bp.getState()||m.T;p!=g&&(g==m.T&&p==m.X&&this.trigger(e.sn),this.trigger(new b(e.ne,{oldState:g,state:p})))}l.prototype.set.call(this,c,f)};a.prototype.Os=function(){return[]};a.prototype.fNa=function(){this.trigger(new b(e.vb))}; 1077a.prototype.play=a.prototype.rk=function(){var c=this.uD();c&&c.Id(m.X)};a.prototype.stop=a.prototype.ho=function(){var c=this.uD();c&&c.Id(m.T)};a.prototype.pause=a.prototype.Qp=function(){var c=this.uD();c&&c.Id(m.Ib)};return a});define("ja",["require","nH","jn"],function(a){var e=a("nH"),k=a("jn");return e.define("MediaAudio",k,function(m){k.call(this,m)})}); 1078define("pr",["require","id","nH","ja"],function(a){var e=a("id"),k=a("nH"),m=a("ja");return k.define("PanoramaAudio",m,function(){m.call(this,e.uDa)})});define("hq",["require","nH","pr"],function(a){var e=a("nH"),k=a("pr");return e.define("DirectionalPanoramaAudio",k,function(){k.call(this)})});define("fo",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("Model3DCameraMovement",e,function(){e.call(this)})}); 1079define("io",["require","nH","fo"],function(a){var e=a("nH"),k=a("fo");return e.define("DistanceModel3DCameraMovement",k,function(){k.call(this)})});define("lc",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("DistancePanoramaCameraMovement",e,function(){e.call(this)})});define("gU",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("DistanceRotationalCameraMovement",e,function(){e.call(this)})}); 1080define("y",["require","exports","oR","lx"],function(a,e,k,m){return function(){function l(b,h,d,c,f){this.vp=null;this.B7=b;this.ff=k.G(this.B7);this.O5=h;this.za=d||window;this.p6=c;this.tna=f;this.C6=!1}l.prototype.Mz=function(){this.y9(null)};l.prototype.y9=function(b){var h=this;
1080m.toArray(this.vp).forEach(function(d){d&&d.unbind(this.ff,h.aja,h)}.bind(this));this.vp=b;m.toArray(this.vp).forEach(function(d){d&&d.bind(this.ff,this.aja,h,h.p6)}.bind(this));this.Rqa()};l.prototype.Rqa=function(){this.tna&& 1081this.tna.y9(this.lKa())};l.prototype.lKa=function(){return null==this.vp?null:Array.isArray(this.vp)?this.vp.map(function(b){return b?b.get(this.B7):null}.bind(this)):this.vp.get(this.B7)};l.prototype.aja=function(b){if(!this.C6){try{this.C6=!0,this.Rqa(),this.O5.call(this.za,b)}catch(h){m.QP("ChangeWatcher._changeHandler",h)}this.C6=!1}};l.$s=function(b,h,d,c,f){void 0===f&&(f=!1);m.isString(h)&&(h=h.split("."));return 0<h.length?(h=new l(h[0],d,c,f,l.$s(null,h.slice(1),d,c,f)),h.y9(b),h):null}; 1082return l}()}); 1083define("pk",["require","jquery.mod","lx","oR","e"],function(a){var e=a("jquery.mod"),k=a("lx"),m=a("oR"),l=a("e"),b=k.extend(l,function(){l.call(this);this.Ae("DropDownArrow");this.O=null;this.Yt=!0;this.bind(m.lc,this.NIa,this)});b.prototype.pb=function(){l.prototype.pb.call(this);this.h("color","#000000");this.h("direction",b.n0)};b.prototype.NIa=function(){this.Yt=!0;this.ke()};b.prototype.Db=function(){l.prototype.Db.call(this);this.O||(this.O=e("<canvas/>"),this.O.css({position:"absolute",left:0, 1084top:0}),this.Fb().append(this.O))};b.prototype.Va=function(){var h=!1;this.I("color")&&(h=!0,this.P("color"));this.I("direction")&&(h=!0,this.P("direction"));this.Yt&&(h=!0,this.Yt=!1);if(h){h=this.qf();var d=this.pf(),c=this.B("color"),f=this.B("direction"),g=[.5*h,0,h];f=f==b.n0?[d,0,0]:[0,d,d];var p=this.O.get(0);p.width=h;p.height=d;p=p.getContext("2d");p.clearRect(0,0,h,d);p.beginPath();p.moveTo(g[0],f[0]);p.lineTo(g[1],f[1]);p.lineTo(g[2],f[2]);p.fillStyle=c;p.fill()}l.prototype.Va.call(this)}; 1085b.n0="down";b.D2a="up";return b}); 1086define("hK","require lx cB mZ bd oR d gR om pk gY".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("mZ"),l=a("bd"),b=a("oR"),h=a("d"),d=a("gR"),c=a("om"),f=a("pk"),g=a("gY");a=e.extend(c,function(){c.call(this);this.Ae("DropDownButton");this.$w=this.Ta=null;this.V6=!0;this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("cursor",l.Ee);this.bind(b.ra,this.C4,this)});a.prototype.pb=function(){c.prototype.pb.call(this); 1087this.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.Cg);this.h("verticalAlign",m.fe);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", 10885);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.u("rollOverBorderColor",d.U,"borderColor");this.u("rollOverArrowColor",d.U,"arrowColor");this.u("rollOverBackgroundColor",d.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",d.U,"backgroundColorRatios"); 1089this.u("rollOverShadow",d.U,"shadow");this.u("pressedBorderColor",d.qb,"borderColor");this.u("pressedArrowColor",d.qb,"arrowColor");this.u("pressedBackgroundColor",d.qb,"backgroundColor");this.u("pressedBackgroundColorRatios",d.qb,"backgroundColorRatios");this.u("pressedShadow",d.qb,"shadow");this.u("pressedRollOverBorderColor",d.$b,"borderColor");this.u("pressedRollOverArrowColor",d.$b,"arrowColor");this.u("pressedRollOverBackgroundColor",d.$b,"backgroundColor");this.u("pressedRollOverBackgroundColorRatios", 1090d.$b,"backgroundColorRatios");this.u("pressedRollOverShadow",d.$b,"shadow");this.u("pressedBorderColor",d.da,"borderColor");this.u("pressedArrowColor",d.da,"arrowColor");this.u("pressedBackgroundColor",d.da,"backgroundColor");this.u("pressedBackgroundColorRatios",d.da,"backgroundColorRatios");this.u("pressedShadow",d.da,"shadow")};a.prototype.set=function(p,q){"label"==p&&this.get("label")!=q&&(this.V6=!0,this.ke());c.prototype.set.call(this,p,q)};a.prototype.Db=function(){c.prototype.Db.call(this); 1091this.Ta||(this.Ta=new g,this.Ta.set("width","100%"),this.Wa(this.Ta));this.$w||(this.$w=new f,this.$w.set("direction",f.n0),this.Wa(this.$w))};a.prototype.C4=function(){this.open();this.trigger(new k(b.OPEN))};a.prototype.open=function(){this.unbind(b.ra,this.C4,this);this.FN(!0)};a.prototype.close=function(){this.bind(b.ra,this.C4,this);this.FN(!1)};a.prototype.Va=function(){if(this.V6){var p=this.get("label");this.Ta.set("text",p);this.V6=!1}this.mc("horizontalAlign fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "), 1092{},[this.Ta],!0,!0);this.I("arrowGap")&&(this.set("gap",this.B("arrowGap")),this.P("arrowGap"));this.I("arrowColor")&&(this.$w.set("color",this.B("arrowColor")),this.P("arrowColor"));this.I("arrowBeforeLabel")&&(1==this.B("arrowBeforeLabel")?this.hn(this.$w,0):this.hn(this.Ta,0),this.P("arrowBeforeLabel"));this.I("arrowWidth")&&(this.$w.set("width",this.B("arrowWidth")),this.P("arrowWidth"));this.I("arrowHeight")&&(this.$w.set("height",this.B("arrowHeight")),this.P("arrowHeight"));c.prototype.Va.call(this)}; 1093return a});define("hx",["require","ek","lx","om","d"],function(a){var e=a("ek"),k=a("lx"),m=a("om");a=a("d");var l=k.extend(m,function(){m.call(this)});l.wc={layout:a.wh};e.defaults(l.wc,m.wc);l.prototype.pb=function(){this.Dn(l.wc)};return l}); 1094define("lE","require lx cB mZ bd hR oR om hx gY".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("mZ"),l=a("bd"),b=a("hR"),h=a("oR"),d=a("om"),c=a("hx"),f=a("gY");a=e.extend(d,function(){d.call(this);this.Ae("DropDownPopup");this.Yd=null;this.YR=!1;this.yb=null;this.zL=[];this.Zy=!0});a.prototype.open=function(g){this.Yd=g;this.YR=!0;this.Gb().hn(this,this.Gb().Lb().length-1);this.set("overIndex",-1);this.set("visible",!0);this.bind(h.wb,this.Nd,this);this.Gb().bind(h.Zb,this.Lr,this);this.Gb().bind(h.lc, 1095this.hc,this)};a.prototype.close=function(){this.Yd=null;this.YR=!0;this.set("visible",!1);this.yb.set("overflow",b.EE);this.yb.set("contentOpaque",!0);this.unbind(h.wb,this.Nd,this);this.Gb().unbind(h.Zb,this.Lr,this);this.Gb().bind(h.lc,this.hc,this)};a.prototype.Db=function(){d.prototype.Db.call(this);this.yb||(this.yb=new c,this.yb.set("overflow",b.EE),this.yb.bind(h.lc,this.hc,this),this.yb.bind(h.Xo,this.Py,this),this.Wa(this.yb))};a.prototype.hc=function(){this.Fta()};a.prototype.Nd=function(){this.G9= 1096!1};a.prototype.Py=function(){this.G9=!0};a.prototype.Lr=function(){-1!=this.get("overIndex")||this.G9&&this.Jn||this.trigger(new k(h.pE));this.G9=!1};a.prototype.tNa=function(g){this.set("overIndex",this.A5(g.source))};a.prototype.uNa=function(g){g=this.A5(g.source);this.get("overIndex")==g&&this.set("overIndex",-1)};a.prototype.sNa=function(g){g=this.A5(g.source);this.set("overIndex",g);this.set("selectedIndex",g);this.trigger(new k(h.Yo))};a.prototype.A5=function(g){for(var p=0;p<this.zL.length;p++)if(this.zL[p]== 1097g)return p;return-1};a.prototype.pb=function(){d.prototype.pb.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);
1097this.h("popUpBackgroundColor");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor");this.h("popUpFontColor");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("popUpShadow", 1098!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.Va=function(){var g= 1099!1,p=!1;if(this.I("items")){g=this.B("items")||[];for(var q=this.zL.length;q<g.length;q++){var n=new f;n.ka({width:"100%",paddingLeft:5,paddingRight:5,paddingBottom:2,paddingTop:2,cursor:l.Ee});n.bind(h.rA,this.tNa,this);n.bind(h.Uo,this.uNa,this);n.bind(h.ra,this.sNa,this);this.zL.push(n)}n=this.yb.Lb();for(q=g.length;q<n.length;q++)this.yb.removeChild(n[q]);for(q=n.length;q<g.length;q++)this.yb.Wa(this.zL[q]);for(q=0;q<g.length;q++)n[q].set("text",g[q]);this.P("items");p=g=!0}this.I("selectedIndex")&& 1100(this.P("selectedIndex"),g=!0);var r="horizontalAlign popUpBackgroundOpacity popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop fontFamily fontSize fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");for(q=0;q<r.length;q++)n=r[q],this.I(n)&&(this.P(n),p=!0);if(p)for(r={fontFamily:this.B("fontFamily"),fontSize:this.B("fontSize"),fontWeight:this.B("fontWeight"),fontStyle:this.B("fontStyle"), 1101horizontalAlign:this.B("horizontalAlign"),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"), 1102backgroundOpacity:this.B("popUpBackgroundOpacity")},n=this.yb.Lb(),q=0;q<n.length;q++)n[q].ka(r);r="selectedIndex overIndex popUpBackgroundColor rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor".split(" ");for(q=0;q<r.length;q++)n=r[q],this.I(n)&&(this.P(n),g=!0);if(g){g=this.B("popUpBackgroundColor");r=this.B("rollOverPopUpBackgroundColor")||g;p=this.B("selectedPopUpBackgroundColor")||g;var t=this.B("popUpFontColor"),u=this.B("rollOverPopUpFontColor")|| 1103t,v=this.B("selectedPopUpFontColor")||t,w=this.B("selectedIndex"),x=this.B("overIndex");n=this.yb.Lb();for(q=0;q<n.length;q++)q==w?n[q].ka({fontColor:v,backgroundColor:p}):q==x?n[q].ka({fontColor:u,backgroundColor:r}):n[q].ka({fontColor:t,backgroundColor:g})}if(this.YR||this.I("popUpGap")||this.I("buttonWidth"))this.Yd&&this.yb.set("minWidth",this.Yd.Xa()),this.P("popUpGap"),this.Fta(),this.YR=!1;this.mc("popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "), 1104{popUpShadow:"shadow",popUpShadowBlurRadius:"shadowBlurRadius",popUpShadowColor:"shadowColor",popUpShadowHorizontalLength:"shadowHorizontalLength",popUpShadowOpacity:"shadowOpacity",popUpShadowSpread:"shadowSpread",popUpShadowVerticalLength:"shadowVerticalLength"},[this.yb],!0,!0);this.mta();d.prototype.Va.call(this)};a.prototype.Fta=function(){if(this.Yd){var g=this.Gb(),p=this.Yd.ZWa(g),q=this.Yd.Xa(),n=this.Yd.Ab(),r=this.B("popUpGap"),t=this.yb.Jb,u=this.yb.Tb,v=g.Ab()-(p.top+n+r)-5,w=p.top-5- 1105r,x=this.B("horizontalAlign");u<=v?(this.Zy=!0,this.yb.set("top",p.top+n+r),this.yb.set("maxHeight",void 0),this.yb.set("overflow",b.EE)):u<=w?(this.Zy=!1,this.yb.set("top",p.top-u-r),this.yb.set("maxHeight",void 0),this.yb.set("overflow",b.EE)):(v>=w?(this.Zy=!0,this.yb.set("top",p.top+n+r),this.yb.set("maxHeight",v)):(this.Zy=!1,this.yb.set("top",p.top-w+r),this.yb.set("maxHeight",w)),this.yb.set("overflow",b.Xo));n=x==m.De?p.left+Math.round(.5*(q-t)):x==m.rb?p.left+q-t:p.left;0>n?n=p.left:p.left+ 1106t>g.Xa()&&(n=p.left+q-t);this.yb.set("left",n);this.mta()}};a.prototype.mta=function(){var g=this.B("popUpBorderRadius");this.yb.ka({borderTopRadius:this.Zy?0:g,borderBottomRadius:this.Zy?g:0});for(var p=this.yb.Lb(),q=0;q<p.length;q++){var n=0==q,r=q==p.length-1;p[q].ka({borderTopRadius:!this.Zy&&n?g:0,borderBottomRadius:this.Zy&&r?g:0})}};return a}); 1107define("pc","require lx cB oR om hK lE".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("oR"),l=a("om"),b=a("hK"),h=a("lE");a=e.extend(l,function(){l.call(this);this.Ae("DropDown");this.oL=!1;this.Yd=this.xj=null;this.fsa=!0;this.mf=-1;this.oo=!1});a.prototype.pb=function(){l.prototype.pb.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", 11085);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", 11090);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");
1109this.h("popUpBackgroundColor","#FFFFFF");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor"); 1110this.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"); 1111this.h("pressedBackgroundColorRatios");this.h("pressedShadow");this.h("pressedRollOverBorderColor");this.h("pressedRollOverArrowColor");this.h("pressedRollOverBackgroundColor");this.h("pressedRollOverBackgroundColorRatios");this.h("pressedRollOverShadow")};a.prototype.Db=function(){l.prototype.Db.call(this);this.Yd||(this.Yd=new b,this.Yd.bind(m.lc,this.kNa,this),this.Yd.bind(m.OPEN,this.HNa,this),this.Yd.bind(m.pE,this.J7,this),this.Yd.bind(m.hd,this.jNa,this),this.Yd.set("width","100%"),this.Yd.set("height", 1112"100%"),this.Wa(this.Yd));this.xj||(this.xj=new h,this.xj.bind(m.pE,this.J7,this),this.xj.bind(m.Yo,this.WNa,this),this.Gb().Wa(this.xj))};a.prototype.kNa=function(){this.fsa=!0;this.ke()};a.prototype.HNa=function(){this.Yd.open();this.xj.set("selectedIndex",this.get("selectedIndex"));this.xj.open(this.Yd)};a.prototype.J7=function(){this.Yd.close();this.xj.close()};a.prototype.jNa=function(){this.Yd.close();this.xj.close()};a.prototype.WNa=function(){this.set("selectedIndex",this.xj.get("selectedIndex")); 1113this.J7();this.oo=!0};a.prototype.Va=function(){var d=!1;if(this.I("prompt")||this.I("label"))d=!0,this.P("label"),this.P("prompt");if(this.I("selectedIndex")||this.I("items")){d=!0;var c=this.B("selectedIndex"),f=this.B("items");0<=c&&c>=f.length&&(c=-1);this.set("selectedIndex",c);this.xj.set("items",this.B("items"));this.xj.set("selectedIndex",this.B("selectedIndex"));this.P("items");this.P("selectedIndex");this.oo&&(this.oo=!1,this.trigger(new k(m.va)))}d&&(d=this.B("label"),d||(c=this.B("selectedIndex"), 1114d=0>c?this.B("prompt"):this.B("items")[c]),this.Yd.set("label",d));this.fsa&&(this.xj.set("minWidth",this.Yd.Xa()),this.xj.set("buttonWidth",this.Yd.Xa()));this.mc("fontFamily fontSize fontColor fontWeight fontStyle textDecoration horizontalAlign textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),{},[this.Yd,this.xj],!0,!0);this.mc("popUpBorderRadius popUpGap popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop popUpBackgroundColor popUpBackgroundOpacity rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "), 1115{},[this.xj],!0,!0);this.mc("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(" "), 1116{},[this.Yd],!0,!0);l.prototype.Va.call(this)};return a}); 1117define("fL",["require","y","oR","nH","pc"],function(a){var e=a("y"),k=a("oR"),m=a("nH"),l=a("pc");a=m.define("DropDown",l,function(){l.call(this);this.pd=null;this.Ema=[];this.bind(k.va,this.nNa,this)});a.prototype.set=function(b,h){if("playList"==b){if(this.pd)for(this.pd.unbind("change",this.Uu,this);this.Ema.length;)this.Ema.shift().Mz();(this.pd=h)?(e.$s(this.pd,"items.label",this.HX,this),e.$s(this.pd,"items.media.label",this.HX,this),this.HX(),this.pd.bind("change",this.Uu,this),this.Uu()): 1118this.HX()}l.prototype.set.call(this,b,h)};a.prototype.HX=function(){this.pd?this.set("items",this.pd.get("items").map(function(b){return b.get("label")||b.get("media")&&b.get("media").get("label")})):this.set("items",[])};a.prototype.Uu=function(){this.set("selectedIndex",this.pd.get("selectedIndex"))};a.prototype.nNa=function(){this.pd&&this.pd.set("selectedIndex",this.get("selectedIndex"))};return a}); 1119define("dt",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("DustPanoramaOverlay",e,function(){e.call(this)});a.prototype.get=function(k,m){"startState"==k&&void 0===m&&(m=this.get("initialState"));return e.prototype.get.call(this,k,m)};return a}); 1120define("bC",["require","nH","ew"],function(a){var e=a("nH"),k=a("ew");a=e.define("Effect",k,function(){k.call(this)});a.prototype.cancel=function(){return k.prototype.cancel.apply(this,arguments)};a.prototype.getPosition=function(){return k.prototype.Mk.apply(this,arguments)};a.prototype.play=function(){return k.prototype.play.apply(this,arguments)};a.prototype.reverse=function(){return k.prototype.reverse.apply(this,arguments)};a.prototype.stop=function(){return k.prototype.stop.apply(this,arguments)}; 1121return a});define("jW",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("ExternalModel3DObject",k,function(){k.call(this)})}); 1122define("bo",["require","lx","ew"],function(a){var e=a("lx"),k=a("ew");a=e.extend(k,function(){k.call(this);this.m2=this.j2=null});a.prototype.hH=function(){k.prototype.hH.call(this);this.j2=[];this.m2=[];this.Kx(function(m){this.j2.push(this.get("alphaFrom",m.Lk()));this.m2.push(this.get("alphaTo",m.Lk()))});this.kW()};a.prototype.rv=function(){k.prototype.rv.call(this);this.kW()};a.prototype.kW=function(){this.Kx(function(m,l){var b=this.j2[l];l=b+(this.m2[l]-b)*this.Mk();!(0<m.Lk()&&m.Kb)&&0<l? 1123(m.bj(0),m.tf(!0),m.bj(l)):0==l?(m.tf(!1),m.bj(1)):m.bj(l)})};a.prototype.fH=function(){this.kW();k.prototype.fH.call(this)};a.prototype.gH=function(){this.kW();k.prototype.gH.call(this)};return a});define("nz",["require","lx","bo"],function(a){var e=a("lx"),k=a("bo");return e.extend(k,function(){k.call(this);this.set("alphaFrom",0);this.set("alphaTo",1)})});define("nL",["require","nH","nz"],function(a){var e=a("nH"),k=a("nz");return e.define("FadeInEffect",k,function(){k.call(this)})}); 1124define("nU",["require","lx","bo"],function(a){var e=a("lx"),k=a("bo");return e.extend(k,function(){k.call(this);this.set("alphaFrom",1);this.set("alphaTo",0)})});define("jQ",["require","nH","nU"],function(a){var e=a("nH"),k=a("nU");return e.define("FadeOutEffect",k,function(){k.call(this)})}); 1125define("gc","require lZ oR kX nH lA".split(" "),function(a){var e=a("lZ"),k=a("oR"),m=a("kX"),l=a("nH"),b=a("lA");a=l.define("Model3DCamera",e,function(){e.call(this);this.set("userInteracting",!1);this.set("moving",!1);this.set("mouseDisabled",!1);this.set("doubleClickDisabled",!1);this.u4=!1;"distance fov yaw pitch x y z".split(" ").forEach(function(h){this.bind(k.G(h),this.PNa,this,!0)}.bind(this))});a.prototype.w1a=function(){this.nX={x:this.get("x"),y:this.get("y"),z:this.get("z"),yaw:this.get("yaw"), 1126pitch:this.get("pitch"),distance:this.get("distance"),fov:this.get("fov")}};a.prototype.eRa=function(h){this.nX||(this.nX={});for(var d in h)this.nX[d]=h[d]};
1126a.prototype.w_a=function(h){this.u4!==h&&(this.u4=h,this.oTa())};a.prototype.oTa=function(){this.set("doubleClickDisabled",this.u4)};a.prototype.PNa=function(){this.Vpa||(this.Vpa=!0,b.Ez(function(){this.Vpa=!1;this.KSa()}.bind(this)))};a.prototype.KSa=function(){this.trigger(k.wt)};a.O2a=100;a.prototype.setStoredPosition=function(h){this.eRa(h)}; 1127a.prototype.play=function(){this.set("state",m.X)};a.prototype.pause=function(){this.set("state",m.Ib)};a.prototype.stop=function(){this.set("state",m.T)};return a});define("kP",["require","nH","gc"],function(a){var e=a("nH"),k=a("gc");return e.define("FirstPersonModel3DCamera",k,function(){k.call(this);this.set("distance",0)})}); 1128define("cQ",["require","lZ","oR","nH","ew"],function(a){var e=a("lZ"),k=a("oR"),m=a("nH"),l=a("ew");a=m.define("HotspotPanoramaOverlay",e,function(){e.call(this);this.bind(k.ld,this.mk,this,!0);this.bind(k.hd,this.hk,this,!0);this.Zh=[];this.Kb=!1});a.prototype.set=function(b,h){switch(b){case "enabledInCardboard":this.set("enabledInVR",h);break;case "effect":case "rollOverEffect":case "areas":this.gPa(),this.Zh=[]}e.prototype.set.call(this,b,h);switch(b){case "enabledInCardboard":this.set("enabledInVR", 1129h);break;case "effect":case "rollOverEffect":case "areas":this.EEa()}};a.prototype.EEa=function(){this.get("effect")&&this.get("effect").bind(l.kt,this.Yna,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").bind(l.kt,this.lpa,this,!0);this.get("areas",[]).forEach(function(b){b.bind(k.Xc,this.Nna,this,!0);b.bind(k.ac,this.Mna,this,!0)}.bind(this))};a.prototype.gPa=function(){this.get("effect")&&this.get("effect").unbind(l.kt,this.Yna,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").unbind(l.kt, 1130this.lpa,this,!0);this.get("areas",[]).forEach(function(b){b.unbind(k.Xc,this.Nna,this,!0);b.unbind(k.ac,this.Mna,this,!0)}.bind(this))};a.prototype.Nna=function(b){0>this.Zh.indexOf(b.source)&&(this.Zh.push(b.source),1==this.Zh.length&&this.xG())};a.prototype.Mna=function(b){b=this.Zh.indexOf(b.source);0<=b&&(this.Zh.splice(b,1),0==this.Zh.length&&this.Lm())};a.prototype.xG=function(){var b=this.get("effect"),h=this.get("rollOverEffect");h&&(b&&0<b.Mk()?b.reverse():h.play())};a.prototype.Lm=function(){var b= 1131this.get("rollOverEffect");if(b){var h=this.get("effect");0<b.Mk()?b.reverse():h&&h.get("loop")&&h.play()}};a.prototype.Yna=function(){if(0<this.Zh.length){var b=this.get("rollOverEffect");b&&(this.get("effect").stop(),b.play())}};a.prototype.lpa=function(){if(0==this.Zh.length){this.get("rollOverEffect").stop();var b=this.get("effect");b&&b.get("loop")&&b.play()}};a.prototype.mk=function(){var b=this.get("effect");b&&b.play()};a.prototype.hk=function(){var b=this.get("effect");b&&b.stop();(b=this.get("rollOverEffect"))&& 1132b.stop()};return a});define("mH",["require","nH","cQ"],function(a){var e=a("nH"),k=a("cQ");return e.define("FlatHotspotPanoramaOverlay",k,function(){k.call(this)})});define("u",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("HotspotPanoramaOverlayArea",e,function(){e.call(this);this.set("displayTooltipInTouchScreens",!0)})});define("fE",["require","nH","u"],function(a){var e=a("nH"),k=a("u");return e.define("FlatHotspotPanoramaOverlayArea",k,function(){k.call(this)})}); 1133define("ib",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("QuadPanoramaOverlayPlaybackPosition",e,function(k,m,l){e.call(this);void 0!==k&&this.set("vertices",k);this.set("opacity",void 0!==m?m:1);void 0!==l&&this.set("timestamp",l)})}); 1134define("ef",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("FlatPanoramaOverlayPlaybackPosition",e,function(k,m,l,b,h){e.call(this);void 0!==k&&this.set("yaw",k);void 0!==m&&this.set("pitch",m);void 0!==l&&this.set("roll",l);this.set("opacity",void 0!==b?b:1);void 0!==h&&this.set("timestamp",h)})}); 1135define("go",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaOverlayPlaybackPosition",e,function(k,m,l,b,h,d,c,f,g){e.call(this);void 0!==k&&this.set("yaw",k);void 0!==m&&this.set("pitch",m);void 0!==l&&this.set("rotationX",l);void 0!==b&&this.set("rotationY",b);void 0!==h&&this.set("roll",h);void 0!==d&&this.set("hfov",d);void 0!==c&&this.set("vfov",c);this.set("opacity",void 0!==f?f:1);void 0!==g&&this.set("timestamp",g)})}); 1136define("cF",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaPoint",e,function(k,m){e.call(this);this.set("yaw",k);this.set("pitch",m)})}); 1137define("U",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PopupPanoramaOverlayPlaybackPosition",e,function(k,m,l,b,h,d,c){e.call(this);void 0!==k&&this.set("yaw",k);void 0!==m&&this.set("pitch",m);void 0!==l&&this.set("rotationX",l);void 0!==b&&this.set("rotationY",b);void 0!==h&&this.set("rotationZ",h);void 0!==d&&this.set("hfov",d);void 0!==c&&this.set("timestamp",c)})}); 1138define("kw","require lZ ib ef go cF U".split(" "),function(a){var e=a("lZ"),k=a("ib"),m=a("ef"),l=a("go"),b=a("cF"),h=a("U");return{CWa:function(d){return this.uT(d,this.kJa)},oca:function(d){return this.uT(d,this.DOa)},WWa:function(d){return this.uT(d,this.KOa)},pca:function(d){return this.uT(d,this.UOa)},kJa:function(d){return new m(e.prototype.get.call(d,"yaw",0),e.prototype.get.call(d,"pitch",0),e.prototype.get.call(d,"roll",0),e.prototype.get.call(d,"opacity",1),0)},UOa:function(d){var c=e.prototype.get.call(d, 1139"vertices",[null,null,null,null]);return new k([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(d,"opacity",1),0)},DOa:function(d){function c(f,g){return e.prototype.get.call(d,f,g)}return new l(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)},KOa:function(d){function c(f,g){return e.prototype.get.call(d,f,g)}return new h(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY", 11400),c("rotationZ",0),c("hfov",45),0)},uT:function(d,c){var f=e.prototype.get.call(d,"playbackPositions")||[];return 0<f.length?f.slice().sort(function(g,p){return g.get("timestamp")-p.get("timestamp")||f.indexOf(g)-f.indexOf(p)}):[c(d)]}}}); 1141define("js",["require","lZ","oR","nH","kw"],function(a){var e=a("lZ"),k=a("oR"),m=a("nH"),l=a("kw");a=m.define("FlatHotspotPanoramaOverlayImageBase",e,function(){e.call(this);this.ed=void 0});a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.ed&&(this.ed=l.CWa(this)),this.ed}return e.prototype.get.call(this,b,h)};a.prototype.set=function(b,h){var d=!1;switch(b){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.ed=void 0, 1142d=!0}e.prototype.set.call(this,b,h);d&&"playbackPositions"!=b&&this.trigger(k.G("playbackPositions"))};return a});define("q",["require","nH","js"],function(a){var e=a("nH"),k=a("js");return e.define("FlatHotspotPanoramaOverlayImage",k,function(){k.call(this)})});define("ea",["require","nH","js"],function(a){var e=a("nH"),k=a("js");return e.define("FlatHotspotPanoramaOverlayMap",k,function(){k.call(this)})}); 1143define("oH",["require","nH","gc"],function(a){var e=a("nH"),k=a("gc");return e.define("FlyOverModel3DCamera",k,function(){k.call(this)})}); 1144define("mV",["require","lZ","oR","nH","kw"],function(a){var e=a("lZ"),k=a("oR"),m=a("nH"),l=a("kw");a=m.define("FramePanoramaOverlay",e,function(){e.call(this);this.ed=void 0});a.prototype.set=function(b,h){var d=!1;switch(b){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.ed=void 0,d=!0}e.prototype.set.call(this,b,h);d&&"playbackPositions"!=b&&this.trigger(k.G("playbackPositions"))};a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0=== 1145this.ed&&(this.ed=l.oca(this)),this.ed}return e.prototype.get.call(this,b,h)};return a});define("jY",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("Model3DResource",e,function(){e.call(this)});a.prototype.get=function(k,m){switch(k){case "levels":m=[this];break;case "url":for(var l=e.prototype.get.call(this,k),b=this.get("levels"),h=0;b&&h<b.length&&void 0===l;h++){var d=b[h];d!=this&&(l=d.get(k))}return void 0!==l?l:m}return e.prototype.get.call(this,k,m)};return a}); 1146define("cr",["require","jY","nH"],function(a){var e=a("jY");return a("nH").define("TDTilesModel3DResource",e,function(){e.call(this)})}); 1147define("mu",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("Model3DResourceLevel",e,function(){e.call(this)});a.tR="mobile";a.prototype.get=function(k,m){switch(k){case "levels":m=[this];break;case "url":for(var l=e.prototype.get.call(this,k),b=this.get("levels"),h=0;b&&h<b.length&&void 0===l;h++){var d=b[h];d!=this&&(l=d.get(k))}return void 0!==l?l:m}return e.prototype.get.call(this,k,m)};return a}); 1148define("cY",["require","cr","mu","nH"],function(a){var e=a("cr"),k=a("mu");a=a("nH").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.nf();break;case "apiKey":this.zTa()}};a.prototype.nf=function(){var b=this.get("latitude"),h=this.get("longitude");if(void 0!==b&&void 0!==h){b=this.gla(b,h);h=(new THREE.Vector3).crossVectors(b,(new THREE.Vector3).crossVectors(this.gla(90, 11490),b));var d=new THREE.Vector3(0,0,0);h=(new THREE.Matrix4).lookAt(b,d,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*l);this.set("rotationY",h.y*l);this.set("rotationZ",h.z*l);this.set("positionX",-b.x);this.set("positionY",-b.y);this.set("positionZ",-b.z)}};a.prototype.gla=function(b,h){b*=m;h*=m;var d=1/298.257223563;const c=Math.sin(b);b=Math.cos(b);d=2*d-d*d; 1150const f=6378137/Math.sqrt(1-d*c*c);return new THREE.Vector3((f+0)*b*Math.cos(h),(f+0)*b*Math.sin(h),f*(1-d)*c)};a.prototype.zTa=function(){var b=this.get("apiKey");if(void 0!==b){var h=new k;h.set("url","https://tile.googleapis.com/v1/3dtiles/root.json?key="+b);this.set("levels",[h])}};var m=Math.PI/180,l=180/Math.PI;return a}); 1151define("dq",["require","ek","lx","om","d"],function(a){var e=a("ek"),k=a("lx"),m=a("om");a=a("d");var l=k.extend(m,function(){m.call(this)});l.wc={layout:a.Mw};e.defaults(l.wc,m.wc);l.prototype.pb=function(){this.Dn(l.wc)};return l});define("jV",["require","nH","dq"],function(a){var e=a("nH"),k=a("dq");return e.define("GridContainer",k,function(){k.call(this)})}); 1152define("jA","require ek jquery.mod cB gp oR id ms kF bw lx".split(" "),function(a){function e(){}function k(q){this.AZa=q;this.items=[];this.priority=0}var m=a("ek");a("jquery.mod");var l=a("cB"),b=a("gp"),h=a("oR"),d=a("id"),c=a("ms"),f=a("kF"),g=a("bw"),p=a("lx").extend(b,function(q){b.call(this);this.url=q;this.Gda=this.priority=0;this.status=p.D1;this.yw=null});p.prototype.ada=function(q){this.Gda+=q};p.prototype.GI=function(q){this.priority+=q};p.prototype.start=function(){this.status=p.sR;f.H_(this.url)? 1153this.jy():this.Nn=g.add(this.url,d.a0,this.RPa.bind(this),this.Tia.bind(this))};p.prototype.RPa=function(){this.yw=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.yw.open("GET",this.url);this.yw.onreadystatechange=function(){3<this.yw.readyState&&this.jy()}.bind(this);this.yw.send()};p.prototype.Tia=function(){this.yw&&(this.yw.abort(),this.yw=null)};p.prototype.stop=function(){this.status==p.sR&&(this.status=p.D1,this.Tia(),this.Nn&&this.Nn.cancel())};p.prototype.jy= 1154function(){this.yw=null;this.Nn&&(this.Nn.loaded(),this.Nn=null);this.status=p.LDa;this.trigger(new l(h.Z))};p.D1="not loaded";p.sR="loading";p.LDa="loaded";k.prototype.MUa=function(q){q.forEach(function(n){0>this.items.indexOf(n)&&(this.items.push(n),n.GI(this.priority),n.ada(1))}.bind(this))};k.prototype.KZa=function(q){var n=this.items;this.items=[];
1154n.forEach(function(r){0>q.indexOf(r)?this.items.push(r):(r.GI(-this.priority),r.ada(-1))}.bind(this))};k.prototype.CZa=function(){this.items.forEach(function(q){q.GI(-this.priority); 1155q.ada(-1)}.bind(this));this.items=[];this.priority=0};k.prototype.GI=function(q){this.priority+=q;this.items.forEach(function(n){n.GI(q)})};e.$d=[];e.Aqa=[];e.tJa=0;e.Aua=function(q,n){this.gW(q).MUa(n.map(function(r){return this.ya(r)}.bind(this)));this.ZW();this.fa()};e.PZa=function(q,n){this.gW(q).KZa(n.map(function(r){return this.ya(r)}.bind(this)));this.ZW();this.fa()};e.DZa=function(q){this.gW(q).CZa();this.ZW();this.fa()};e.JZ=function(q,n){this.gW(q).GI(n);this.ZW();this.fa()};e.ZW=function(){this.$d.sort(function(q, 1156n){return n.priority-q.priority})};e.fa=function(q){if(this.enabled()&&(q||!this.ts))if(q){this.ts&&clearTimeout(this.ts);this.ts=null;q=this.sKa();var n=this.tKa();m(q).difference(n).forEach(function(r){r.stop()});m(n).difference(q).forEach(function(r){r.start()})}else this.ts=setTimeout(function(){this.ts=null;this.fa(!0)}.bind(this),1E3)};e.ts=null;e.sKa=function(){return this.$d.filter(function(q){return q.status==p.sR})};e.tKa=function(){for(var q=this.uKa(),n=[],r=0;r<this.$d.length&&n.length< 1157q;r++){var t=this.$d[r];0<t.Gda&&(t.status==p.D1||t.status==p.sR)&&n.push(t)}return n};e.uKa=function(){return 0<this.tJa?0:5};e.gW=function(q){var n=m(this.Aqa).find(function(r){return r.AZa==q});n||(n=new k(q),this.Aqa.push(n));return n};e.ya=function(q){var n=m(this.$d).find(function(r){return r.url==q});n||(n=new p(q),n.bind(h.Z,this.fa,this),this.$d.push(n));return n};e.enabled=function(q){if(void 0===q)return e.nIa||e.oIa?!1:void 0!==e.H4?e.H4:e.W;e.W=q};e.W=!0;e.xea=function(q){e.H4=q.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)}; 1158e.H4=void 0;e.oIa=c.Qg("disable-background-preload",!1);e.nIa=!1;return e});define("er",["require","lx","lZ","nH","jA"],function(a){var e=a("lx"),k=a("lZ"),m=a("nH"),l=a("jA");a=m.define("Media",k,function(){k.call(this);this.xaa=e.Bo(this.xaa,this)});a.prototype.xaa=function(){l.Aua(this,this.Os())};a.prototype.Os=function(){return[]};a.prototype.MZa=function(){l.DZa(this)};a.prototype.set=function(b,h){k.prototype.set.call(this,b,h);this.xaa()};return a}); 1159define("fd",["require","nH","er"],function(a){var e=a("nH"),k=a("er");a=e.define("Panorama",k,function(){k.call(this);this.iU=this.iH=void 0;this.set("minFaceSize",void 0)});a.prototype.get=function(m,l){switch(m){case "overlays":return this.D5();case "frames":return this.ula();case "partial":if(359.9>this.get("hfov"))return!0}return k.prototype.get.call(this,m,l)};a.prototype.set=function(m,l){switch(m){case "cardboardMenu":this.set("vrMenu",l)}k.prototype.set.call(this,m,l)};a.prototype.D5=function(){var m= 1160k.prototype.get.call(this,"overlays");m||(m=[]);return this.f$(m)};a.prototype.f$=function(m){if(void 0===this.iH||this.iU!=m){var l=function(h){return e.Oa("PopupPanoramaOverlay",h)},b=function(h){return e.Oa("LensFlarePanoramaOverlay",h)};this.iU=m;this.iH=[].concat(m.filter(function(h){return!(l(h)||b(h))}),m.filter(b),m.filter(l))}return this.iH};a.prototype.Twa=function(){return 0<this.get("overlays").filter(function(m){return e.Oa("TripodCapPanoramaOverlay",m)}).length};a.prototype.Iwa=function(){return 0< 1161this.get("overlays").filter(function(m){return e.Oa("CeilingCapPanoramaOverlay",m)}).length};a.prototype.jxa=function(){if(!this.Eca())return!1;var m=this.get("pitch",0),l=this.get("vfov",180);if(179.9<=l)return!0;var b=this.Iwa()?90:m+.5*l;m=this.Twa()?-90:m-.5*l;return 179.9<=b-m?!0:!1};a.prototype.Eca=function(){return 359.9<=this.get("hfov")&&!this.get("partial")};a.prototype.Ml=function(){var m=this.ula();return 0<m.length&&m[0].Ml()};a.prototype.ZY=function(){return 0};a.prototype.ula=function(){var m= 1162k.prototype.get.call(this,"frames",[]);m.forEach(function(l){l.UUa(this)}.bind(this));return m};return a});define("nq",["require","nH","fd"],function(a){var e=a("nH"),k=a("fd");a=e.define("HDRPanorama",k,function(){k.call(this)});a.prototype.ZY=function(){var m=this.get("frames")||[];return Math.floor((m.length-1)/2)};return a});define("mf",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("HotspotMapOverlayArea",e,function(){e.call(this)})}); 1163define("mi",["require","lZ","nH"],function(a){var e=a("lZ"),k=a("nH").define("ImageResourceLevel",e,function(){e.call(this)});k.prototype.get=function(m,l){switch(m){case "tags":return(m=e.prototype.get.call(this,m))||(m=[]),Array.isArray(m)||(m=[m]),0>m.indexOf(k.nr)&&e.prototype.get.call(this,"grayscale")&&(m=m.concat([k.nr])),m}return e.prototype.get.call(this,m,l)};k.prototype.Swa=function(m){return 0<=this.get("tags").indexOf(m)};k.nr="preload";k.tR="mobile";k.Sga="ipadpro";k.uR="mobilevr";k.H1= 1164"mobilevr2gen";k.I1="ondemand";return k}); 1165define("gh",["require","mi","v","ms"],function(a){var e=a("mi"),k=a("v"),m=a("ms");return{Eq:function(l){return this.Gj(l,"load")},xD:function(l){return this.Gj(l,"preload")},uI:function(l){return this.Eq(l)!=this.xD(l)},Gj:function(l,b){l=l.get("levels")||[];var h=this.EJa(l);h=this.NKa(b,h);l=this.gJa(l,b);(b=this.Ela(l,h[0],h[1],this.MKa(b)))||(b=this.Ela(l,h[0],h[1],void 0));return b},gJa:function(l,b){"preload"==b?l=this.OK(l,e.nr):"load"==b&&(l=this.fJa(l,e.nr));k.Vv()&&(l=this.OK(l,e.Sga)); 1166if(k.tZ()||k.uZ())l=this.OK(l,e.H1);k.Of()&&(l=this.OK(l,e.uR));k.lb()&&(l=this.OK(l,e.tR));return l},EJa:function(l){if(0==l.length)return 1;l.sort(function(b,h){return h.get("width")-b.get("width")});return l[0].get("width")/l[0].get("height")},NKa:function(l,b){if("preload"==l)return[0,0];l=1E4;this.mJa()||(k.Of()?l=2048:k.Vv()?l=2048:k.lb()&&(l=1024));return 1>b?[l*b,l]:[l,l/b]},MKa:function(l){if("load"==l)return!1},mJa:function(){return k.Vv()&&m.Qg("recent_ipad_use_max_res",!1)},OK:function(l, 1167b){var h=l.filter(function(d){return d.Swa(b)});0==h.length&&(h=l);return h},fJa:function(l,b){var h=l.filter(function(d){return!d.Swa(b)});0==h.length&&(h=l);return h},Ela:function(l,b,h,d){function c(f){return Math.abs(f.get("width")*f.get("height")-b*h)}l=l.filter(function(f){return void 0!==d&&d!=f.get("grayscale",!1)?!1:!0});if(0==l.length)return null;l.sort(function(f,g){return c(f)-c(g)});return l[0]}}}); 1168define("L",["require","lZ","nH","gh"],function(a){var e=a("lZ"),k=a("nH"),m=a("gh");a=k.define("HotspotMapOverlayImageBase",e,function(){e.call(this)});a.prototype.Eq=function(){return this.get("image")?m.Eq(this.get("image")):null};a.prototype.xD=function(){return this.get("image")?m.xD(this.get("image")):null};return a});define("ly",["require","lx","cB"],function(a){var e=a("lx"),k=a("cB");return e.extend(k,function(m,l){k.call(this,m);this.Sg=l})}); 1169define("ct",["require","lx","lZ","oR","ly"],function(a){var e=a("lx"),k=a("lZ"),m=a("oR"),l=a("ly");a=e.extend(k,function(){k.call(this);this.CO=[];this.Vf=void 0;this.A="initial"});a.prototype.Qs=function(){return this.CO};a.prototype.YI=function(b){this.CO!=b&&(this.CO=b,this.jy=this.Vf=void 0)};a.prototype.a0a=function(b){this.Vf!==b&&(this.A="loading",this.Vf=b,this.trigger(new l(m.ec,this.Vf)))};a.prototype.xQ=function(){"loaded"!==this.A&&(this.A="loaded",this.trigger(m.Z))};a.prototype.y_a= 1170function(){"loaded"!==this.A&&(this.A="error",this.trigger(m.uc))};return a});define("dy",["require","lx","ct"],function(a){var e=a("lx"),k=a("ct");a=e.extend(k,function(m){k.call(this);this.$e=m;this.v=void 0});a.prototype.getType=function(){return this.$e};a.prototype.xXa=function(m){return void 0!==this.v&&this.v===m.v};a.cha="map";a.dha="overlay";return a}); 1171define("kb",["require","lx","dy"],function(a){var e=a("lx"),k=a("dy");a=e.extend(k,function(m,l,b){k.call(this,k.dha);this.sOa=m;this.Ia=l;this.La=b});a.prototype.getX=function(){return this.Ia};a.prototype.getY=function(){return this.La};a.aha="image";a.Zga="fov";return a}); 1172define("md",["require","lx","kb"],function(a){var e=a("lx"),k=a("kb");a=e.extend(k,function(m,l,b,h,d,c,f,g,p,q,n,r){k.call(this,k.aha,b,h);this.v=m;this.Fd=l;this.bra=d;this.Lu=c;this.Mu=f;this.ja=g;this.wa=p;this.Af=q;this.fl=n;this.Hl=r;this.CO=[l]});a.prototype.ui=function(){return this.Fd};a.prototype.yd=function(){return this.ja};a.prototype.je=function(){return this.wa};return a}); 1173define("hm",["require","nH","L","gh","md"],function(a){var e=a("nH"),k=a("L"),m=a("gh"),l=a("md");a=e.define("HotspotMapOverlayImage",k,function(){k.call(this);this.Hu=void 0});a.prototype.getItem=function(){return this.Hj()};a.prototype.Hj=function(){void 0===this.Hu&&(this.Hu=this.zY());return this.Hu};a.prototype.zY=function(b){var h=this.get("image");return h?(h=m.Eq(h),new l(this,h.get("url"),this.get("x"),this.get("y"),b,this.get("offsetX"),this.get("offsetY"),this.get("width"),this.get("height"), 1174this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"))):null};return a});define("O",["require","nH","L"],function(a){var e=a("nH"),k=a("L");return e.define("HotspotMapOverlayMap",k,function(){k.call(this)})}); 1175define("gn",["require","lZ","oR","nH","kw"],function(a){var e=a("lZ"),k=a("oR"),m=a("nH"),l=a("kw");a=m.define("HotspotPanoramaOverlayImageBase",e,function(){e.call(this);this.ed=void 0});a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.ed&&(this.ed=l.oca(this)),this.ed}return e.prototype.get.call(this,b,h)};a.prototype.set=function(b,h){var d=!1;switch(b){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.ed= 1176void 0,d=!0}e.prototype.set.call(this,b,h);d&&"playbackPositions"!=b&&this.trigger(k.G("playbackPositions"))};return a});define("lM",["require","nH","gn"],function(a){var e=a("nH"),k=a("gn");return e.define("HotspotPanoramaOverlayImage",k,function(){k.call(this)})});define("Y",["require","nH","gn"],function(a){var e=a("nH"),k=a("gn");return e.define("HotspotPanoramaOverlayMap",k,function(){k.call(this)})}); 1177define("lz",["require"],function(){function a(g){var p={};g=g.split(",");for(var q=0;q<g.length;q++)p[g[q]]=!0;return p}var e=/^<([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,k=/^<\/([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)[^>]*>/,m=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,l=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"), 1178h=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"),d=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"),f=a("script,style");return function(g,p){function q(w,x,y,z){x=x.toLowerCase();if(b[x])for(;r.last()&&h[r.last()];)n("",r.last());d[x]&& 1179r.last()==x&&n("",x);(z=l[x]||!!z)||r.push(x);if(p.start){var C=[];y.replace(m,function(A,B,I,E,G){A=I?I:E?E:G?G:c[B]?B:"";C.push({name:B,value:A,Rba:A.replace(/(^|[^\\])"/g,'$1\\"')})});p.start&&p.start(x,C,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=g;for(r.last=function(){return this[this.length-1]};g;){var u=!0;if(r.last()&&f[r.last()])g=g.replace(new RegExp("(.*?)</"+r.last()+ 1180"[^>]*>"),function(w,x){x=x.replace(/\x3c!--(.*?)--\x3e/g,"$1").replace(/<!\[CDATA\[(.*?)]]\x3e/g,"$1");p.WO&&p.WO(x);return""}),n("",r.last());else{if(0==g.indexOf("\x3c!--")){var v=g.indexOf("--\x3e");
11800<=v&&(p.tVa&&p.tVa(g.substring(4,v)),g=g.substring(v+3),u=!1)}else if(0==g.indexOf("</")){if(v=g.match(k))g=g.substring(v[0].length),v[0].replace(k,n),u=!1}else 0==g.indexOf("<")&&(v=g.match(e))&&(g=g.substring(v[0].length),v[0].replace(e,q),u=!1);u&&(v=g.indexOf("<"),u=0>v?g:g.substring(0,v),g=0> 1181v?"":g.substring(v),p.WO&&p.WO(u))}if(g==t)throw"Parse Error: "+g;t=g}n()}}); 1182define("fx","require jquery.mod ek lx oR cB gp v lz".split(" "),function(a){var e=a("jquery.mod");a("ek");var k=a("lx"),m=a("oR"),l=a("cB"),b=a("gp"),h=a("v"),d=a("lz"),c=k.extend(b,function(f){b.call(this);this.vf=e(f);this.tN=[];this.Dx=null});c.prototype.OXa=function(f){f&&0<=f.toLowerCase().indexOf("<script")?h.SH()==h.nJ?this.PLa(f):this.OLa(f):this.NLa(f)};c.prototype.NLa=function(f){this.vf.empty();f&&this.vf.append(f);this.Xsa()};c.prototype.PLa=function(f){this.vf.empty();var g=this.vf,p= 1183null,q=[],n=null;new d(f,{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:g,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);g.append(t);u?p=t:(g=t,p=null)}},WO:function(r){n?n.content+=r:g.append(r)},end:function(r){"script"==r?(q.push(n),n=null):(p=g,g=g.parent())}});this.tN=q;this.oU()};c.prototype.OLa=function(f){function g(){q++;return p+ 1184q}this.vf.empty();var p="fragment_"+k.yZa(6)+"_",q=0,n=g(),r=[n],t=void 0,u=[],v=null,w="";new d(f,{start:function(z,C,A){if("script"==z){A=void 0;for(z=0;z<C.length&&void 0===A;z++){var B=C[z];"src"==B.name&&(A=B.value)}v={parentClsName:r[r.length-1],previousSiblingClsName:t,src:A,content:""}}else{w+="<"+z;var I=g(),E=!1;for(z=0;z<C.length;z++)B=C[z],"class"==B.name&&(B.Rba+=" "+I,E=!0),w+=" "+B.name+'="'+B.Rba+'"';
1184E||(w+=' class="'+I+'"');A?(w+="/>",t=I):(w+=">",r.push(I),t=void 0)}},WO:function(z){v? 1185v.content+=z:w+=z},end:function(z){"script"==z?(u.push(v),v=null):(t=r[r.length-1],r.pop())}});this.vf.get(0).innerHTML=w;this.vf.addClass(n);for(f=0;f<u.length;f++){var x=u[f],y=x.parentClsName;delete x.parentClsName;t=x.previousSiblingClsName;delete x.previousSiblingClsName;x.parent=e("."+y);x.previousSibling=t?e("."+t):null}this.vf.removeClass(n);this.tN=u;this.oU()};c.prototype.oU=function(){if(!this.Dx)if(0<this.tN.length){this.Dx=this.tN[0];this.tN.splice(0,1);var f=this.Dx.src;if(f){var g= 1186this;c.CMa(f,function(){g.Pma()},function(){g.JMa()})}else{var p=this.Dx.parent;f=this.Dx.previousSibling;var q=f?f.next():p.children(":first");f=document.write;document.write=q.length?function(n){q.before(n)}:function(n){p.append(n)};e.globalEval(this.Dx.content);document.write=f;this.Pma()}}else this.Xsa()};c.prototype.JMa=function(){this.Dx=null;this.oU()};c.prototype.Pma=function(){this.Dx=null;this.oU()};c.prototype.Xsa=function(){this.trigger(new l(m.vb))};c.Nma={};c.CMa=function(f,g,p){c.Nma[f]? 1187g.call(window):e.ajax({url:f,async:!1,dataType:"script",error:p,success:function(){c.Nma[f]=!0;g.call(window)}})};return c}); 1188define("mN",["require","lx","oR","cB","gp"],function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp");a=e.extend(l,function(b,h){l.call(this);this.YLa=b;this.W=h;this.Wi=null});a.prototype.bind=function(){var b=l.prototype.bind.apply(this,arguments);this.zO();return b};a.prototype.unbind=function(){var b=l.prototype.unbind.apply(this,arguments);this.zO();return b};a.prototype.start=function(){this.W=!0;this.zO()};a.prototype.stop=function(){this.W=!1;this.zO()};a.prototype.HM=function(){this.trigger(new m(k.te))}; 1189a.prototype.zO=function(){if(this.W&&this.Hwa(k.te)){if(null==this.Wi){var b=this;this.Wi=setTimeout(function(){b.Wi=null;b.HM();b.zO()},this.YLa)}}else null!=this.Wi&&(clearTimeout(this.Wi),this.Wi=null)};return a}); 1190define("lw","require jquery.mod ek lx oR is mZ e fx hB mN".split(" "),function(a){var e=a("jquery.mod"),k=a("ek"),m=a("lx"),l=a("oR"),b=a("is"),h=a("mZ"),d=a("e"),c=a("fx"),f=a("hB");a=a("mN");var g=m.extend(d,function(){d.call(this);this.Ae("HTML");this.YA=g.zR;this.jqa=this.kqa=0;this.gsa=(new Date).getTime();this.NS=this.kj=null;this.NE=this.NE.bind(this);this.w2=[]});g.prototype.pb=function(){d.prototype.pb.call(this);this.h("content");this.h("horizontalAlign",h.Ya);this.h("verticalAlign",h.fe); 1191this.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)};g.prototype.es=function(q){this.hb&&b.get(this.hb).FZa(this.NE);d.prototype.es.call(this,q);this.hb&&(b.get(this.hb).FUa(this.NE),b.get(this.hb).VH(this.NE))};g.prototype.Db=function(){d.prototype.Db.call(this); 1192if(!this.NS){this.kj=document.createElement("div");this.NS=e(this.kj);this.p4({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var q=this.Fb();q.WI(!1);q.append(this.NS);this.ama=new c(this.NS);this.ama.bind(l.vb,this.CLa,this,!0);this.bind(l.lc,this.bma,this)}};g.prototype.Va=function(){var q={},n=!1;this.I("visible")&&(n=!0);this.I("content")&&(n=this.B("content"),this.ama.OXa(n),this.P("content"),n=!0);if(this.I("width")||this.I("height"))n=!0;this.I("fontFamily")&& 1193(n=this.B("fontFamily"),k(n).isString()||(n=""),q.fontFamily=f.Ov(n),this.P("fontFamily"),n=!0);this.I("fontSize")&&(n=this.B("fontSize"),k(n).isNumber()?n+="px":k(n).isString()||(n=""),q.fontSize=n,this.P("fontSize"),n=!0);this.I("fontColor")&&(n=this.B("fontColor"),k(n).isString()||(n=""),q.color=n,this.P("fontColor"),n=!0);if(this.I("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; 1194default:n="normal"}q.fontWeight=n;this.P("fontWeight");n=!0}if(this.I("fontStyle")){n=this.B("fontStyle");switch(n){case "italic":case "normal":break;default:n="normal"}q.fontStyle=n;this.P("fontStyle");n=!0}if(this.I("textDecoration")){n=this.B("textDecoration");switch(n){case "underline":case "overline":case "line-through":case "none":break;default:n="none"}q.textDecoration=n;this.P("textDecoration");n=!0}if(this.I("textAlign")){n=this.B("textAlign");
1194switch(n){case "left":case "right":case "center":case "justify":break; 1195default:n=""}q["text-align"]=n;this.P("textAlign");n=!0}var r=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(k(r).any(function(u){return this.I(u)},this)){var t={};k(r).each(function(u){t[u]=this.B(u);this.P(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, 11962))+", "+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+")"}k(["paddingTop","paddingRight", 1197"paddingBottom","paddingLeft"]).any(function(u){return this.I(u)},this)&&(n=!0);this.p4(q);d.prototype.Va.call(this);n&&this.sna()};g.prototype.sna=function(){this.bma();this.Vb();this.B("visible")&&this.B("content")?this.xN(g.pha):this.xN(g.zR)};g.prototype.$y=function(q,n){for(n=q.target;n&&"A"!=n.tagName&&"BUTTON"!=n.tagName;)n=n.parentElement;n=!n;d.prototype.$y.call(this,q,n)};g.prototype.Ku=function(){d.prototype.Ku.call(this);var q=this.Fb();this.ll=this.kj.clientWidth+q.nI()+q.qI();this.kl= 1198this.kj.clientHeight+q.sI()+q.iI()};g.prototype.Kra=function(q){this.F5()!=q&&(this.kj.style.paddingLeft=q+"px",this.Vb())};g.prototype.F5=function(){return parseInt(this.kj.style.paddingLeft)||0};g.prototype.Mra=function(q){this.H5()!=q&&(this.kj.style.paddingTop=q+"px",this.Vb())};g.prototype.H5=function(){return parseInt(this.kj.style.paddingTop)||0};g.prototype.Lra=function(q){this.G5!=q&&(this.kj.style.paddingRight=q+"px",this.Vb())};g.prototype.G5=function(){return parseInt(this.kj.style.paddingRight)|| 11990};g.prototype.Jra=function(q){this.E5()!=q&&(this.kj.style.paddingBottom=q+"px",this.Vb())};g.prototype.E5=function(){return parseInt(this.kj.style.paddingBottom)||0};g.prototype.CLa=function(){this.w2=Array.prototype.slice.call(this.kj.querySelectorAll("*[style]")).map(function(q){var n={};n.bI=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, 1200t.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.hb&&b.get(this.hb).VH(this.NE)};g.prototype.NE=function(q, 1201n,r,t){0!=this.w2.length&&(this.w2.forEach(function(u){var v=u.functions.map(function(w){return w(q,n,r,t)}).join("");u.bI.setAttribute("style",v)}),this.sna())};g.prototype.bma=function(){var q={width:"auto",height:"auto"},n=this.Fb();if(!this.T5()){this.ll!=this.ja&&this.Vb();var r=this.ja-(n.nI()+n.qI());0<r&&(q.width=r+"px")}this.Wla()||(this.kl!=this.wa&&this.Vb(),n=this.wa-(n.sI()+n.iI()),0<n&&(q.height=n+"px"));this.p4(q)};g.prototype.Sna=function(){var q=this.kj.clientWidth,n=this.kj.clientHeight; 1202this.kqa!=q||this.jqa!=n?(this.kqa=q,this.jqa=n,this.Vb(),this.xN(g.pha)):(q=(new Date).getTime()-this.gsa,q>g.uEa?this.xN(g.jEa):q>g.tEa&&this.xN(g.iEa))};g.prototype.DPa=function(){this.gsa=(new Date).getTime()};g.prototype.xN=function(q){this.YA==g.B2a&&this.DPa();this.YA!=q&&(this.YA!=g.zR&&g.dja[this.YA].unbind(l.te,this.Sna,this),this.YA=q,this.YA!=g.zR&&g.dja[this.YA].bind(l.te,this.Sna,this,!0))};g.prototype.p4=function(q){var n=this.kj.style,r;for(r in q)n[r]=q[r]};var p=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i; 1203g.zR="stopped";g.jEa="slow";g.iEa="normal";g.pha="fast";g.uEa=3E4;g.tEa=5E3;g.dja={slow:new a(2E3,!0),normal:new a(500,!0),fast:new a(100,!0)};return g});define("kq",["require","lw","nH"],function(a){var e=a("lw");return a("nH").define("HTML",e,function(){e.call(this)})});define("b",["require","ek","lx","om","d"],function(a){var e=a("ek"),k=a("lx"),m=a("om");a=a("d");var l=k.extend(m,function(){m.call(this)});l.wc={layout:a.VQ};e.defaults(l.wc,m.wc);l.prototype.pb=function(){this.Dn(l.wc)};return l}); 1204define("iV",["require","lx","hR","b","lw"],function(a){var e=a("lx"),k=a("hR"),m=a("b"),l=a("lw");a=e.extend(m,function(){m.call(this);this.Wx=null;this.set("contentOpaque",!0)});a.prototype.pb=function(){m.prototype.pb.call(this);this.h("overflow",k.Xo);this.h("html")};a.prototype.Db=function(){m.prototype.Db.call(this);null==this.Wx&&(this.Wx=new l,this.Wx.ka({left:0}),this.Wa(this.Wx))};a.prototype.Va=function(){this.I("html")&&(this.Wx.set("content",this.B("html")),this.P("html"));this.mc(["paddingLeft", 1205"paddingTop","paddingRight","paddingBottom"],{},[this.Wx],!0,!0);this.mc(["cursor"],{},[this.Wx],!0,!1);m.prototype.Va.call(this);this.Wx.set("width",this.T5()?void 0:"100%")};return a});
1205define("by",["require","iV","nH"],function(a){var e=a("iV");return a("nH").define("HTMLText",e,function(){e.call(this)})}); 1206define("lY","require jquery.mod lx oR cB ms hv bd mm gR eh mF".split(" "),function(a){function e(r,t,u){return function(v){var w="mouse"==t?this.AB(v):this.KF(v);this.vma(w)?r.call(this,v):"release"==u?r.call(this,v):this.uJa(w,v)}}var k=a("jquery.mod"),m=a("lx"),l=a("oR"),b=a("cB"),h=a("ms"),d=a("hv"),c=a("bd"),f=a("mm"),g=a("gR"),p=a("eh"),q=a("mF"),n=h.Yi("debug");a=m.extend(q,function(){this.Ae("Button");q.call(this,3);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor", 1207c.Ee);this.set("scaleMode",f.sh);this.p3=document.createElement("canvas");this.p3.width=1;this.p3.height=1;this.q3=this.p3.getContext("2d");this.q3.globalCompositeOperation="copy";this.Z4=!1;this.bind(l.ac,this.GLa,this)});a.prototype.pb=function(){q.prototype.pb.call(this);this.h("buttonGroup");this.h("mode",p.Fe);this.h("pressed");this.h("iconURL");this.h("transparencyActive");this.u("rollOverOpacity",g.U,"opacity");this.u("rollOverIconURL",g.U,"iconURL");this.u("pressedOpacity",g.qb,"opacity"); 1208this.u("pressedIconURL",g.qb,"iconURL");this.u("pressedRollOverOpacity",g.$b,"opacity");this.u("pressedRollOverIconURL",g.$b,"iconURL")};a.prototype.i5=e(q.prototype.i5,"touch","capture");a.prototype.Oka=e(q.prototype.zJa,"touch");a.prototype.Qka=e(q.prototype.zJa,"touch","release");a.prototype.L$=e(q.prototype.L$,"touch","capture");a.prototype.K$=e(q.prototype.K$,"touch");a.prototype.$y=e(q.prototype.$y,"touch","release");a.prototype.s7=e(q.prototype.s7,"mouse","capture");a.prototype.w7=function(r){var t= 1209this.AB(r);if(this.vma(t)||this.Z4)q.prototype.w7.call(this,r),q.prototype.set.call(this,"cursor",this.Rja);else{this.Z4=!0;if(t=this.tla(t))k(t).trigger(this.nja(r)),r.preventDefault(),r.stopImmediatePropagation();"pointer"==this.mla(t)?q.prototype.set.call(this,"cursor",c.Ee):q.prototype.set.call(this,"cursor",c.te);this.Z4=!1}};a.prototype.GLa=function(){q.prototype.set.call(this,"cursor",this.Rja)};a.prototype.HU=e(q.prototype.HU,"mouse","release");a.prototype.vma=function(r){if(!this.Xb)return!1; 1210if(this.get("transparencyActive"))return!0;var t=this.hb?this.hb.Dy:1,u=this.Xb.offset(),v=(r.Bz-u.left)/t,w=this.Xb.width();r=(r.Cz-u.top)/t;t=this.Xb.height();if(0<=v&&0<=r&&v<w&&r<t){if(n)return!0;v=v*this.zG/w;w=r*this.yG/t;this.q3.drawImage(this.Xb.get(0),v,w,1,1,0,0,1,1);if(0<this.q3.getImageData(0,0,1,1).data[3])return!0}return!1};a.prototype.uJa=function(r,t){if(r=this.tla(r))k(r).trigger(this.nja(t)),t.preventDefault(),t.stopImmediatePropagation()};a.prototype.tla=function(r){this.Er().style.pointerEvents= 1211"none";r=document.elementFromPoint(r.Bz,r.Cz);setTimeout(function(){this.Er().style.pointerEvents=this.Kla()}.bind(this),0);return r};a.prototype.nja=function(r){return k.extend(k.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.mla=function(r){if(r){var t=r.style.cursor;"inherit"==t&&(t=this.mla(r.parentElement))}else t="default";return t}; 1212a.prototype.cK=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new b(l.fm))):(this.set("pressed",!0),this.trigger(new b(l.Sj)))};a.prototype.set=function(r,t){"cursor"===r&&(this.Rja=t);return q.prototype.set.call(this,r,t)};a.prototype.Va=function(){var r=!1;if(this.I("backgroundOpacityy")||this.I("backgroundColor"))r=!0;if(this.I("iconURL")){var t=this.B("iconURL");this.set("url",t);this.P("iconURL")}t=!1;this.I("mode")&&(this.B("mode")==p.Fe?(this.unbind(l.ra,this.cK,this,!0), 1213this.set("autoPressed",!0)):(this.bind(l.ra,this.cK,this,!0),this.set("autoPressed",!1)),this.P("mode"),t=!0);if(t||this.I("pressed"))this.B("mode")==p.Uj?this.dH(1==this.B("pressed")):t&&this.dH(!1);this.I("buttonGroup")&&((t=this.B("buttonGroup"))?d.register(this,t):d.unregister(this),this.P("buttonGroup"));q.prototype.Va.call(this);r&&(r=this.Rc(),0==r.Lk()||0==r.dB.length)&&(r.bj(.001),r.nAa(["#000000"]))};return a}); 1214define("bm",["require","lY","nH"],function(a){var e=a("lY");return a("nH").define("IconButton",e,function(){e.call(this)})});define("np",["require","nH","it"],function(a){var e=a("nH"),k=a("it");return e.define("IconHotspotMapOverlay",k,function(){k.call(this,!1)})});define("ok",["require","mF","nH"],function(a){var e=a("mF");a=a("nH").define("Image",e,function(){e.call(this)});a.prototype.set=function(k,m){e.prototype.set.call(this,k,m)};return a}); 1215define("pj",["require","nH","jW"],function(a){var e=a("nH"),k=a("jW");return e.define("PlaneModel3DObject",k,function(){k.call(this)})});define("jj",["require","nH","pj"],function(a){var e=a("nH"),k=a("pj");return e.define("ImagePlaneModel3DObject",k,function(){k.call(this)})});define("lJ",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("InnerModel3DObject",k,function(){k.call(this)})}); 1216define("jo",["require","gY","nH"],function(a){var e=a("gY");return a("nH").define("Label",e,function(){e.call(this)})});define("bM",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("LensFlarePanoramaOverlay",e,function(){e.call(this)})});define("cK",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("LineModel3DObject",k,function(){k.call(this)})}); 1217define("os",["require","nH","fd"],function(a){var e=a("nH"),k=a("fd");a=e.define("LivePanorama",k,function(){k.call(this)});a.prototype.ZY=function(){return this.get("initialFrameIndex",0)};return a});define("jD",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("Light",e,function(){e.call(this)})}); 1218define("da",["require","lx","dy"],function(a){var e=a("lx"),k=a("dy");a=e.extend(k,function(m,l,b,h,d,c,f){k.call(this,k.cha);this.v=m;this.Fd=l;this.ja=b;this.wa=h;this.Af=d;this.U4=c;this.Sn=f.slice()});a.prototype.Qs=function(){for(var m=[this.Fd],l=0;l<this.Sn.length;l++)m=m.concat(this.Sn[l].Qs());return m};a.prototype.ui=function(){return this.Fd};a.prototype.yd=function(){return this.ja};a.prototype.je=function(){return this.wa};return a}); 1219define("nm","require nH mm er gh da".split(" "),function(a){var e=a("nH"),k=a("mm"),m=a("er"),l=a("gh"),b=a("da");a=e.define("Map",m,function(){m.call(this);this.Hu=this.eN=void 0});a.prototype.UZa=function(){this.Hu=this.eN=void 0};a.prototype.uI=function(){return!(!this.get("image")||!l.uI(this.get("image")))};a.prototype.xD=function(){return this.get("image")&&l.xD(this.get("image"))};a.prototype.Eq=function(){return this.get("image")&&l.Eq(this.get("image"))};a.prototype.qwa=function(){void 0== 1220this.eN&&(this.uI()?this.eN=new b(this,this.xD().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",k.Xz),this.get("flipImageHorizontally",!1),[]):this.eN=null);return this.eN};a.prototype.Hj=function(){if(void 0==this.Hu)if(this.get("image")){var h=Array.prototype.concat.apply([],this.get("overlays",[]).map(function(d){return d.LWa()}));this.Hu=new b(this,this.Eq().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",k.Xz),this.get("flipImageHorizontally",!1),h)}else this.Hu= 1221null;return this.Hu};a.prototype.Os=function(){return[].concat(this.sT(this.qwa()),this.sT(this.Hj()))};a.prototype.sT=function(h){return h?h.Qs():[]};return a});define("lg",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("MapOverlay",e,function(){e.call(this)})}); 1222define("jP","require lx ek oR cB gp eh gR".split(" "),function(a){var e=a("lx"),k=a("ek"),m=a("oR"),l=a("cB"),b=a("gp"),h=a("eh"),d=a("gR");a=e.extend(b,function(c,f,g){b.call(this);this.qja=c;this.SOa=f;this.Gia=g||h.Fe;this.Ii=[];this.UA=[];this.lx={};this.lx.mode=this.Gia;this.Gia==h.Uj&&(this.lx.pressed=!1);this.qja.bind(m.G(f),this.vqa,this);this.vqa()});a.prototype.vqa=function(){var c=this.qja.get(this.SOa);c||(c=[]);k.isArray(c)||(c=[c]);this.mQa(c)};a.prototype.mQa=function(c){var f=k.difference(this.Ii, 1223c);k(f).each(function(g){g.unbind(m.Sj,this.Kia,this,!0);g.unbind(m.fm,this.Lia,this,!0);g.unbind(m.ra,this.Fia,this,!0);g.unbind(m.wb,this.Hia,this,!0);g.unbind(m.Zb,this.Iia,this,!0);g.unbind(m.Xc,this.Nia,this,!0);g.unbind(m.ac,this.Mia,this,!0)},this);f=k.difference(c,this.Ii);k(f).each(function(g){g.ka(this.lx);g.bind(m.Sj,this.Kia,this,!0);g.bind(m.fm,this.Lia,this,!0);g.bind(m.ra,this.Fia,this,!0);g.bind(m.wb,this.Hia,this,!0);g.bind(m.Zb,this.Iia,this,!0);g.bind(m.Xc,this.Nia,this,!0);g.bind(m.ac, 1224this.Mia,this,!0)},this);this.Ii=c;this.UA=this.UA.filter(function(g){return 0<=this.Ii.indexOf(g)}.bind(this))};a.prototype.Kia=function(){this.trigger(new l(m.Sj))};a.prototype.Lia=function(){this.trigger(new l(m.fm))};a.prototype.Fia=function(){this.trigger(new l(m.ra))};a.prototype.Hia=function(){this.trigger(new l(m.wb))};a.prototype.Iia=function(){this.trigger(new l(m.Zb))};a.prototype.Nia=function(c){this.UA.push(c.source);this.Gk()};a.prototype.Mia=function(c){this.UA=this.UA.filter(function(f){return f!= 1225c.source});this.Gk()};a.prototype.set=function(c,f){this.lx[c]=f;this.Ii.forEach(function(g){g.ka(this.lx)}.bind(this));this.Gk()};a.prototype.Gk=function(){this.Ii.forEach(function(c){c.get("state")==d.qb&&0<=this.UA.indexOf(c)?c.set("state",d.$b):c.get("state")==d.$b&&0>this.UA.indexOf(c)&&c.set("state",d.qb)}.bind(this))};return a}); 1226define("gu","require ek lx oR cB gR bd b e nz nU".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("gR"),h=a("bd"),d=a("b"),c=a("e");a("nz");a("nU");var f=k.extend(d,function(){d.call(this);this.Ae("PlaybackBar");this.xl=this.Vf=null;this.Mg=[];this.VV=!1;this.J8=this.qC=void 0;this.r$=!1});
1226f.wc={cursor:h.Ee,overflow:"visible",height:20,position:0,duration:100,steps:void 0,selectedStep:void 0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0, 1227barBackgroundColorRatios: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, 1228playheadShadowSpread: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, 1229selectedStepBorderColor:"#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(f.wc,d.wc);f.prototype.pb=function(){this.Dn(f.wc)};f.prototype.Db=function(){d.prototype.Db.call(this);this.Vf&&this.xl|| 1230this.bind(m.lc,this.EOa,this,!0);null==this.Vf&&(this.Vf=new c,this.Vf.ka({left:"0",height:"100%",cursor:h.Ee}),this.Wa(this.Vf));null==this.xl&&(this.xl=new c,this.xl.ka({left:"0",cursor:h.Ee}),this.xl.bind(m.lc,this.HOa,this,!0),this.xl.bind(m.wb,this.FOa,this,!0),this.Gb().bind(m.kc,this.aqa,this,!0),this.bind(m.ra,this.COa,this,!0),this.xl.bind(m.Zb,this.GOa,this,!0),this.Wa(this.xl));var p=this.get("steps")||0;if(this.Mg.length!=p){for(;this.Mg.length>p;)this.lIa(this.Mg.pop());for(;this.Mg.length< 1231p;)this.Mg.push(this.cIa());this.mc(f.Mha,f.X1,this.Mg,!1,!0);this.Nta();this.Caa();this.hn(this.xl,this.Lb().length-1)}};f.prototype.cIa=function(){var p=new g;p.ka({cursor:h.Ee});p.bind(m.ra,this.qsa,this,!0);p.bind(m.lc,this.rsa,this,!0);this.Wa(p);return p};f.prototype.lIa=function(p){p.unbind(m.ra,this.qsa,this,!0);p.unbind(m.lc,this.rsa,this,!0);this.removeChild(p)};f.prototype.Va=function(){var p=!1;if(this.I("position")||this.I("duration"))this.P("position"),this.P("duration"),p=!0;this.I("selectedStep")&& 1232(this.P("selectedStep"),this.Nta());this.I("steps")&&(this.P("steps"),this.JP());this.mc(f.Q1,f.KJ,[this.Vf],!0,!0);this.mc(f.qEa,f.Iha,[this.xl],!0,!0);this.mc(f.Mha,f.X1,this.Mg,!0,!0);d.prototype.Va.call(this);p&&this.NX()};f.prototype.Nta=function(){var p=this.get("selectedStep");this.Mg.forEach(function(q,n){q.EQ(n===p)});this.xl.set("visible",void 0===p)};f.prototype.NX=function(){var p=this.Xa(),q=this.xl.Xa(),n=this.xl.Ab(),r=this.Ox(),t=this.sp(),u=t*p/r;p=Math.round((this.VV?this.qC:t)* 1233p/r-.5*q);p=Math.max(0,Math.min(p,this.qf()-q));q=Math.round(.5*this.pf()-.5*n);this.xl.ka({left:p,top:q});this.Vf.set("width",Math.round(u))};f.prototype.HOa=function(){this.NX()};f.prototype.FOa=function(p){this.VV=!0;this.J8=p.pageX;this.qC=this.B("position")};f.prototype.aqa=function(p){if(this.VV){var q=p.pageX-this.J8;this.J8=p.pageX;p=this.Xa();var n=this.Ox();this.qC=Math.max(0,Math.min(n,this.qC+n*q/p));this.NX();this.get("liveDragging")&&(this.set("position",this.qC),this.trigger(new l(m.va)))}}; 1234f.prototype.GOa=function(p){this.aqa(p);this.VV=!1;this.get("liveDragging")||(this.set("position",this.qC),this.trigger(new l(m.va)));this.qC=void 0};f.prototype.COa=function(p){if(!this.r$){var q=this.Xa(),n=this.Ox();this.set("position",n*p.x/q);this.trigger(new l(m.va))}};f.prototype.rsa=function(){this.Caa()};f.prototype.EOa=function(){this.Caa();this.NX()};f.prototype.Caa=function(){for(var p=this.Xa(),q=this.Ab(),n=this.Ia,r=this.getParent().Xa()-(n+p),t=0,u=this.Mg.length;t<u;t++){var v=this.Mg[t], 1235w=v.Xa();v.ka({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.Ab())})}};f.prototype.qsa=function(p){p=this.Mg.indexOf(p.source);var q=this.Ox();this.set("position",q*p/(this.Mg.length-1));this.r$=!0;this.trigger(new l(m.va));setTimeout(function(){this.r$=!1}.bind(this),0)};f.prototype.Ox=function(){var p=this.B("duration");return p?p:1};f.prototype.sp=function(){return Math.max(0,Math.min(this.Ox(),this.B("position")))};
1235f.KJ={barBackgroundColor:"backgroundColor", 1236barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",barOpacity:"opacity"};f.Q1=e(f.KJ).keys();f.Iha={playheadBackgroundColor:"backgroundColor",playheadBackgroundColorDirection:"backgroundColorDirection",playheadBackgroundColorRatios:"backgroundColorRatios",playheadBorderColor:"borderColor",playheadBorderRadius:"borderRadius",playheadBorderSize:"borderSize",playheadOpacity:"opacity", 1237playheadWidth:"width",playheadHeight:"height",playheadShadow:"shadow",playheadShadowBlurRadius:"shadowBlurRadius",playheadShadowColor:"shadowColor",playheadShadowHorizontalLength:"shadowHorizontalLength",playheadShadowOpacity:"shadowOpacity",playheadShadowSpread:"shadowSpread",playheadShadowVerticalLength:"shadowVerticalLength"};f.qEa=e(f.Iha).keys();f.X1={stepBackgroundColor:"backgroundColor",stepBackgroundColorDirection:"backgroundColorDirection",stepBackgroundColorRatios:"backgroundColorRatios", 1238stepBorderColor:"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", 1239selectedStepBackgroundColorRatios:"selectedBackgroundColorRatios",selectedStepBorderColor:"selectedBorderColor",selectedStepBorderRadius:"selectedBorderRadius",selectedStepBorderSize:"selectedBorderSize",selectedStepOpacity:"selectedOpacity",selectedStepWidth:"selectedWidth",selectedStepHeight:"selectedHeight",selectedStepShadow:"selectedShadow",selectedStepShadowBlurRadius:"selectedShadowBlurRadius",selectedStepShadowColor:"selectedShadowColor",selectedStepShadowHorizontalLength:"selectedShadowHorizontalLength", 1240selectedStepShadowOpacity:"selectedShadowOpacity",selectedStepShadowSpread:"selectedShadowSpread",selectedStepShadowVerticalLength:"selectedShadowVerticalLength"};f.Mha=e(f.X1).keys();var g=k.extend(c,function(){c.call(this)});g.prototype.EQ=function(p){this.FN(p)};g.prototype.pb=function(){c.prototype.pb.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"); 1241this.h("height");this.h("shadow");this.h("shadowBlurRadius");this.h("shadowColor");this.h("shadowHorizontalLength");this.h("shadowOpacity");this.h("shadowSpread");this.h("shadowVerticalLength");this.u("selectedBackgroundColor",b.da,"backgroundColor");this.u("selectedBackgroundColorDirection",b.da,"backgroundColorDirection");this.u("selectedBackgroundColorRatios",b.da,"backgroundColorRatios");this.u("selectedBorderColor",b.da,"borderColor");this.u("selectedBorderRadius",b.da,"borderRadius");this.u("selectedBorderSize", 1242b.da,"borderSize");this.u("selectedOpacity",b.da,"opacity");this.u("selectedWidth",b.da,"width");this.u("selectedHeight",b.da,"height");this.u("selectedShadow",b.da,"shadow");this.u("selectedShadowBlurRadius",b.da,"shadowBlurRadius");this.u("selectedShadowColor",b.da,"shadowColor");this.u("selectedShadowHorizontalLength",b.da,"shadowHorizontalLength");this.u("selectedShadowOpacity",b.da,"shadowOpacity");this.u("selectedShadowSpread",b.da,"shadowSpread");this.u("selectedShadowVerticalLength",b.da, 1243"shadowVerticalLength")};g.prototype.Va=function(){c.prototype.Va.call(this)};return f}); 1244define("A",["require","ek","lx","b","e"],function(a){var e=a("ek"),k=a("lx"),m=a("b"),l=a("e"),b=k.extend(m,function(){m.call(this);this.Ae("ProgressBar")});b.wc={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.wc,m.wc);b.prototype.pb=function(){this.Dn(b.wc)};b.prototype.Db=function(){m.prototype.Db.call(this);null== 1245this.Vf&&(this.Vf=new l,this.Vf.ka({left:"0",width:"0%",height:"100%"}),this.Wa(this.Vf))};b.prototype.Va=function(){this.I("percent")&&(this.Vf.set("width",Math.round(this.B("percent"))+"%"),this.P("percent"));this.mc(b.Q1,b.KJ,[this.Vf],!0,!0);m.prototype.Va.call(this)};
1245b.KJ={barBackgroundColor:"backgroundColor",barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize", 1246barOpacity:"opacity"};b.Q1=e(b.KJ).keys();return b}); 1247define("fW",["require","exports","oR","gp","v"],function(a,e,k,m,l){return function(b){function h(d,c){var f=b.call(this)||this;f.enabled=!1;f.MZ=0;f.NZ=0;f.parentElement=null;f.ti=null;f.Pk=null;f.dJ=null;f.Vc=d;f.parentElement=c;return f}Z(h,b);h.prototype.dispose=function(){this.Wb(!1);this.parentElement=this.Vc=null};h.prototype.Wb=function(d){this.enabled!=d&&((this.enabled=d)?(this.Vc.PAa("Button"),this.QUa()):(this.Vc.WZa(),this.Eba(),this.stop(),this.QZa()))};h.prototype.getX=function(){return this.MZ}; 1248h.prototype.getY=function(){return this.NZ};h.prototype.Jya=function(d){this.UZ(d);this.enabled&&(this.dda=this.bda=d.x,this.eda=this.cda=d.y,this.I0a())};h.prototype.Kya=function(d){this.dda=d.x;this.eda=d.y;this.dJ?this.P1a():this.ti&&this.aCa()};h.prototype.UZ=function(){this.Eba();this.stop()};h.prototype.Bya=function(){this.UZ()};h.prototype.oda=function(){this.V_=Math.min(this.Vc.Xa(),this.Vc.Ab())/100};h.prototype.start=function(){this.AVa();this.trigger(k.sn);this.aCa()};h.prototype.stop= 1249function(){this.ti&&(this.QVa(),this.trigger(k.Gf))};h.prototype.P1a=function(){var d=this.dda-this.bda,c=this.eda-this.cda;Math.sqrt(d*d+c*c)>this.V_*h.wCa&&this.Eba()};h.prototype.I0a=function(){this.dJ=window.setTimeout(this.s1a.bind(this),h.xCa)};h.prototype.Eba=function(){this.dJ&&(clearTimeout(this.dJ),this.dJ=null)};h.prototype.AVa=function(){this.ti=document.createElement("div");this.ti.setAttribute("tdvclass","Button");this.ti.style.position="absolute";this.ti.style.width=this.ti.style.height= 1250Math.round(2*h.tfa*this.V_)+"px";this.ti.style.borderRadius="50%";this.ti.style.backgroundColor="rgba(255, 255, 255, 0.5)";this.ti.style.transform="translate(-50%, -50%)";this.ti.style.zIndex="1000";this.ti.style.left=this.bda+"px";this.ti.style.top=this.cda+"px";this.parentElement.appendChild(this.ti);this.Pk=document.createElement("div");this.Pk.setAttribute("tdvclass","Button");this.Pk.style.position="absolute";this.Pk.style.width=this.Pk.style.height=Math.round(2*h.CDa*this.V_)+"px";this.Pk.style.borderRadius= 1251"50%";this.Pk.style.backgroundColor="rgba(255, 255, 255, 0.5)";this.Pk.style.transform="translate(-50%, -50%)";this.Pk.style.zIndex="1000";this.ti.appendChild(this.Pk)};h.prototype.aCa=function(){var d=this.dda-this.bda,c=this.eda-this.cda;if(0==d&&0==c)this.NZ=this.MZ=0;else{var f=Math.atan2(-c,d);d=Math.min(Math.sqrt(d*d+c*c)/(this.V_*h.tfa),h.fDa);this.MZ=Math.cos(f)*d;this.NZ=Math.sin(f)*d}this.Pk.style.left=(50+50*this.MZ).toFixed(2)+"%";this.Pk.style.top=(50-50*this.NZ).toFixed(2)+"%";this.trigger(k.va)}; 1252h.prototype.QVa=function(){var d,c;null===(d=this.Pk.parentNode)||void 0===d?void 0:d.removeChild(this.Pk);this.Pk=null;null===(c=this.ti.parentNode)||void 0===c?void 0:c.removeChild(this.ti);this.ti=null};h.prototype.s1a=function(){this.dJ=null;this.start()};h.prototype.QUa=function(){this.Vc.bind(k.wb,this.Jya,this,!0);this.Vc.bind(k.kc,this.Kya,this,!0);this.Vc.bind(k.Zb,this.UZ,this,!0);this.Vc.bind(k.lc,this.oda,this,!0);this.Vc.bind(k.Kw,this.Bya,this,!0);this.oda()};h.prototype.QZa=function(){this.Vc.unbind(k.wb, 1253this.Jya,this);this.Vc.unbind(k.kc,this.Kya,this);this.Vc.unbind(k.Zb,this.UZ,this);this.Vc.unbind(k.lc,this.oda,this);this.Vc.unbind(k.Kw,this.Bya,this)};h.wCa=l.lb()?5:.5;h.xCa=l.lb()?300:600;h.tfa=l.lb()?10:6.6;h.CDa=l.lb()?5:3.3;h.fDa=6;return h}(m)}); 1254define("bA","require ek lx oR kX cB nH jP gu A fW v eh bd cS gR om e".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("kX"),b=a("cB"),h=a("nH"),d=a("jP"),c=a("gu"),f=a("A"),g=a("fW"),p=a("v"),q=a("eh"),n=a("bd"),r=a("cS"),t=a("gR"),u=a("om"),v=a("e"),w=h.define("ViewerArea",u,function(){u.call(this);this.set("childrenInteractionEnabled",!0);this.set("contentOpaque",!0);this.set("creationPolicy",r.pA);this.set("subtitlesEnabled",!0);this.set("checkToolTipOcclusion",!0);this.set("isKeyboardTarget", 1255!1);this.wL=this.Kn=this.Br=this.Pd=this.$S=this.Oh=null;this.G8=this.Ur=!1;this.mi=l.T;this.im=this.Wj=null;this.In=!1;this.x9=[];this.bind(w.Fga,this.ONa,this,!0);this.bind(w.Ega,this.NNa,this,!0);this.bind(m.wb,this.Woa,this);this.bind(m.wb,this.Woa,this);this.bind(m.Xc,this.iOa,this);this.bind(m.ac,this.hOa,this);this.bind(m.ld,this.tV,this,!0);this.bind(m.hd,this.fOa,this,!0);this.UE=new d(this,"buttonPause",q.Uj);this.UE.bind(m.ra,this.kC,this);this.UE.set("state",t.te);this.VE=new d(this,"buttonPlay", 1256q.Uj);
1256this.VE.bind(m.ra,this.lC,this);this.VE.set("state",t.te);this.SA=new d(this,"buttonPlayPause",q.Uj);this.SA.bind(m.ra,this.KNa,this);this.SA.set("state",t.te);this.XE=new d(this,"buttonStop",q.Uj);this.XE.bind(m.ra,this.Ay,this);this.XE.set("state",t.qb);this.jGa=new d(this,"buttonRestart",q.Fe);this.jGa.bind(m.ra,this.xy,this);this.cS=new d(this,"buttonToggleSubtitles",q.Uj);this.cS.bind(m.Sj,function(){this.set("subtitlesEnabled",!0)},this,!0);this.cS.bind(m.fm,function(){this.set("subtitlesEnabled", 1257!1)},this,!0);this.bind(m.G("subtitlesEnabled"),function(){this.cS.set("pressed",this.get("subtitlesEnabled"))},this);this.cS.set("pressed",this.get("subtitlesEnabled"));this.aMa=k.Bo(this.iUa,this);this.bind(m.em,this.eOa,this,!0);this.bind(w.qR,this.gOa,this,!0)});w.prototype.play=function(){this.lC()};w.prototype.pause=function(){this.kC()};w.prototype.stop=function(){this.Ay()};w.prototype.restart=function(){this.xy()};w.wc={progressBackgroundColor:void 0,progressBackgroundColorDirection:void 0, 1258progressBackgroundColorRatios:void 0,progressBackgroundOpacity:void 0,progressBarBackgroun
1258dColor: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, 1259externalPlaybackBar: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, 1260plabackBarSteps: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, 1261playbackBarHeadBorderRadius: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, 1262playbackBarStepBackgroundColorRatios: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, 1263playbackBarStepSelectedBackgroundColorDirection: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, 1264playbackBarStepSelectedShadowOpacity: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, 1265subtitlesPaddingLeft: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, 1266blendingTransitionDuration:void 0,disolveTransitionDuration:void 0,translationTransitionDuration:void 0,translationTransitionEnabled:!0,toolTipEnabled:!0};e.defaults(w.wc,u.wc);w.prototype.set=function(x,y){"playbackState"==x&&(y=this.mi,this.get(x)!=y&&(this.G8=!0,this.aMa()));switch(x){case "toolTipEnabled":this.set("toolTipDisabled",!1===y);break;case "cardboardPointerDistance":this.set("vrPointerDistance",y);break;case "cardboardPointerColor":this.set("vrPointerColor",y);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor", 1267y);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",y);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.xO()}u.prototype.set.call(this,x,y)};w.prototype.pb=function(){this.Dn(w.wc)};w.prototype.Db=function(){u.prototype.Db.call(this);null==this.Kn&&(this.Kn=new v,this.Kn.set("width","100%"),this.Kn.set("height","100%"),this.Kn.set("toolTipDisabled",!0),this.Kn.set("interactionEnabled",!1),this.Kn.set("content"),this.Wa(this.Kn),k.defer(function(){this.Kn.set("cursor", 1268n.pt)}.bind(this)),this.wL=new g(this,this.Kn.Fb().mI()),this.wL.Wb(!1));null==this.Oh&&(this.Oh=new f,this.Wa(this.Oh));null==this.Pd&&(this.Pd=new c,this.Pd.bind(m.va,this.D8,this,!0),this.Wa(this.Pd),this.xO())};w.prototype.HWa=function(){return this.Pd};w.prototype.Xl=function(){u.prototype.Xl.call(this);for(var x=[],y=this.x9.length-1;0<=y;y--)x.push(this.x9[y].j);this.Kn&&x.push(this.Kn);this.Pd&&x.push(this.Pd);this.Oh&&x.push(this.Oh);var z=this.Lb();x=x.filter(function(C){return 0<=z.indexOf(C)}); 1269z=z.filter(function(C){return-1==x.indexOf(C)}).concat(x);z.forEach(function(C,A){C&&this.Zba(C)!=A&&this.hn(C,A)}.bind(this))};w.prototype.Va=function(){this.I("externalProgressBar")&&((this.$S=this.B("externalProgressBar"))?this.removeChild(this.Oh):this.Wa(this.Oh),this.P("externalProgressBar"),e(w.Kha).each(function(y){this.NC(y)},this));this.mc(w.mEa,w.zha,[this.Oh],!0,!0);var x=[this.Oh];this.$S&&x.push(this.$S);
1269this.mc(w.Kha,w.Lha,x,!0,!0);this.I("externalPlaybackBar")&&(this.Br&&this.Br.unbind(m.va, 1270this.D8,this,!0),(this.Br=this.B("externalPlaybackBar"))?this.removeChild(this.Pd):this.Wa(this.Pd),this.xO(),this.Br&&this.Br.bind(m.va,this.D8,this,!0),this.P("externalPlaybackBar"),e(w.Gha).each(function(y){this.NC(y)},this));this.mc(w.lEa,w.yha,[this.Pd],!0,!0);x=[this.Pd];this.Br&&x.push(this.Br);this.mc(w.Gha,w.Hha,x,!0,!0);u.prototype.Va.call(this)};w.prototype.iUa=function(){this.G8&&(this.G8=!1,this.UE.set("state",this.mi==l.Ib?t.qb:t.te),this.VE.set("state",this.mi==l.X||this.mi==l.Ib?t.qb: 1271t.te),this.SA.set("state",this.mi==l.X?t.qb:t.te),this.XE.set("state",this.mi==l.T?t.qb:t.te))};w.prototype.Ac=function(x){this.mi=x;this.set("playbackState",x)};w.prototype.tV=function(){w.mk(this)};w.prototype.fOa=function(){w.hk(this)};w.prototype.kC=function(){this.mi==l.Ib?this.rk():this.Qp()};w.prototype.lC=function(){this.rk()};w.prototype.KNa=function(){this.mi==l.X?this.Qp():this.rk()};w.prototype.Ay=function(){this.ho()};w.prototype.xy=function(){this.ho();this.rk()};w.prototype.eOa=function(){if(!this.Wj|| 1272!this.Wj.Zua())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var x=this.Gb().Oi;x&&x.Dj()&&x.toggle()}};w.prototype.gOa=function(x){this.x9=x.data.players;this.Gd()};w.prototype.rk=function(){this.im&&this.im.play()};w.prototype.Qp=function(){this.im&&this.im.pause()};w.prototype.ho=function(){this.im&&this.im.stop()};w.prototype.ONa=function(x){this.qra(x.data.player)};w.prototype.NNa=function(x){this.Wj==x.data.player&&this.qra(null)};w.prototype.Woa=function(){w.Tq(this)};w.prototype.iOa= 1273function(){this.In=!0;this.xO()};w.prototype.hOa=function(){this.In=!1;this.xO()};w.prototype.xO=function(){this.Pd&&this.Pd.set("visible",this.get("playbackBarVisible")&&(this.In||!this.get("playbackBarRollOverDisplay")||p.L_()))};w.prototype.qra=function(x){this.Wj!=x&&(this.set("playbackBarVisible",!1),this.Wj&&this.Wj.Tq(!1),this.im&&this.im.unbind(m.G("state"),this.d2,this),this.OOa=this.Wj,(this.Wj=x)&&this.Wj.Tq(!!this.UF),(this.im=this.Wj&&this.Wj.sGa?this.Wj:null)&&this.im.bind(m.G("state"), 1274this.d2,this,!0),this.d2())};w.prototype.Tq=function(x){this.UF=x;this.set("isKeyboardTarget",x);this.Wj&&this.Wj.Tq(!!this.UF)};w.prototype.t2a=function(){return!this.OOa};w.prototype.d2=function(){this.im?this.Ac(this.im.get("state")):this.Ac(l.T)};w.prototype.D8=function(){var x=(this.Br?this.Br:this.Pd).get("position");this.trigger(new b(w.T0,{position:x}))};w.zha={progressBackgroundColor:"backgroundColor",progressBackgroundColorDirection:"backgroundColorDirection",progressBackgroundColorRatios:"backgroundColorRatios", 1275progressBackgroundOpacity:"backgroundOpacity",progressBarBackgroun
1275dColor:"barBackgroundColor",progressBarBackgroundColorDirection:"barBackgroundColorDirection",progressBarBackgroundColorRatios:"barBackgroundColorRatios",progressBarBorderColor:"barBorderColor",progressBarBorderRadius:"barBorderRadius",progressBarBorderSize:"barBorderSize",progressBarOpacity:"barOpacity",progressBorderColor:"borderColor",progressBorderRadius:"borderRadius",progressBorderSize:"borderSize",progressHeight:"height",progressOpacity:"opacity", 1276progressBottom:"bottom",progressLeft:"left",progressRight:"right"};w.mEa=e(w.zha).keys();w.Lha={progressPercent:"percent",progressVisible:"visible"};w.Kha=e(w.Lha).keys();w.yha={playbackBarBackgroundColor:"backgroundColor",playbackBarBackgroundColorDirection:"backgroundColorDirection",playbackBarBackgroundOpacity:"backgroundOpacity",playbackBarBorderColor:"borderColor",playbackBarBorderRadius:"borderRadius",playbackBarBorderSize:"borderSize",playbackBarBottom:"bottom",playbackBarHeight:"height",playbackBarWidth:"width", 1277playbackBarLeft:"left",playbackBarOpacity:"opacity",playbackBarRight:"right",playbackBarLiveDragging:"liveDragging",playbackBarProgressBackgroundColor:"barBackgroundColor",playbackBarProgressBackgroundColorDirection:"barBackgroundColorDirection",playbackBarProgressBackgroundColorRatios:"barBackgroundColorRatios",playbackBarProgressBorderColor:"barBorderColor",playbackBarProgressBorderRadius:"barBorderRadius",playbackBarProgressBorderSize:"barBorderSize",playbackBarProgressOpacity:"barOpacity",playbackBarHeadBackgroundColor:"playheadBackgroundColor", 1278playbackBarHeadBackgroundColorDirection:"playheadBackgroundColorDirection",playbackBarHeadBackgroundColorRatios:"playheadBackgroundColorRatios",playbackBarHeadBorderColor:"playheadBorderColor",playbackBarHeadBorderRadius:"playheadBorderRadius",playbackBarHeadBorderSize:"playheadBorderSize",playbackBarHeadOpacity:"playheadOpacity",playbackBarHeadWidth:"playheadWidth",playbackBarHeadHeight:"playheadHeight",playbackBarHeadShadow:"playheadShadow",playbackBarHeadShadowBlurRadius:"playheadShadowBlurRadius", 1279playbackBarHeadShadowColor:"playheadShadowColor",playbackBarHeadShadowHorizontalLength:"playheadShadowHorizontalLength",playbackBarHeadShadowOpacity:"playheadShadowOpacity",playbackBarHeadShadowSpread:"playheadShadowSpread",playbackBarHeadShadowVerticalLength:"playheadShadowVerticalLength",playbackBarStepBackgroundColor:"stepBackgroundColor",playbackBarStepBackgroundColorDirection:"stepBackgroundColorDirection",playbackBarStepBackgroundColorRatios:"stepBackgroundColorRatios",playbackBarStepBorderColor:"stepBorderColor", 1280playbackBarStepBorderRadius:"stepBorderRadius",playbackBarStepBorderSize:"stepBorderSize",playbackBarStepOpacity:"stepOpacity",playbackBarStepWidth:"stepWidth",playbackBarStepHeight:"stepHeight",playbackBarStepShadow:"stepShadow",playbackBarStepShadowBlurRadius:"stepShadowBlurRadius",playbackBarStepShadowColor:"stepShadowColor",playbackBarStepShadowHorizontalLength:"stepShadowHorizontalLength",playbackBarStepShadowOpacity:"stepShadowOpacity",playbackBarStepShadowSpread:"stepShadowSpread",playbackBarStepShadowVerticalLength:"stepShadowVerticalLength", 1281playbackBarSelectedStepBackgroundColor:"selectedStepBackgroundColor",playbackBarSelectedStepBackgroundColorDirection:"selectedStepBackgroundColorDirection",playbackBarSelectedStepBackgroundColorRatios:"selectedStepBackgroundColorRatios",playbackBarSelectedStepBorderColor:"selectedStepBorderColor",playbackBarSelectedStepBorderRadius:"selectedStepBorderRadius",playbackBarSelectedStepBorderSize:"selectedStepBorderSize",playbackBarSelectedStepOpacity:"selectedStepOpacity",playbackBarSelectedStepWidth:"selectedStepWidth", 1282playbackBarSelectedStepHeight:"selectedStepHeight",playbackBarSelectedStepShadow:"selectedStepShadow",playbackBarSelectedStepShadowBlurRadius:"selectedStepShadowBlurRadius",playbackBarSelectedStepShadowColor:"selectedStepShadowColor",playbackBarSelectedStepShadowHorizontalLength:"selectedStepShadowHorizontalLength",playbackBarSelectedStepShadowOpacity:"selectedStepShadowOpacity",playbackBarSelectedStepShadowSpread:"selectedStepShadowSpread",playbackBarSelectedStepShadowVerticalLength:"selectedStepShadowVerticalLength"};
1283w.lEa=e(w.yha).keys();w.Hha={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};w.Gha=e(w.Hha).keys();w.qR="requestByPlayer";w.Fga="playerShow";w.Ega="playerHide";w.T0="playbackBarPositionChange";w.SB=null;w.Tq=function(x){w.SB!=x&&(w.SB&&w.SB.Tq(!1),w.SB=x,w.SB&&w.SB.Tq(!0))};w.ez=[];w.mk=function(x){var y=w.ez.indexOf(x);-1<y&&w.ez.splice(y,1);w.ez.push(x);this.Tq(x)};w.hk=function(x){var y= 1284w.ez.indexOf(x);-1<y&&w.ez.splice(y,1);w.SB==x&&w.Tq(w.ez.length?w.ez[w.ez.length-1]:null)};return w}); 1285define("dg",["require","lx","lZ","cB","bA"],function(a){var e=a("lx"),k=a("lZ"),m=a("cB"),l=a("bA"),b=e.extend(k,function(h){k.call(this);this.sGa=h;this.MN=this.my=null});b.Vg="mediaShow";b.cm="mediaHide";b.prototype.Tq=function(){};b.prototype.Zua=function(){return!1};b.prototype.IN=function(h){this.my!=h&&(this.my&&this.aaa(this.my),(this.my=h)&&this.S2(this.my))};b.prototype.S2=function(h){h.bind(l.qR,this.hua,this,!0);h.bind(l.T0,this.YM,this)};b.prototype.aaa=function(h){h.unbind(l.qR,this.hua, 1286this);h.unbind(l.T0,this.YM,this)};b.prototype.RI=function(h){this.my.trigger(new m(l.qR,{players:h||[this]}))};b.prototype.hua=function(h){0>h.data.players.indexOf(this)&&this.mH()};b.prototype.YM=function(){};b.prototype.mH=function(){};b.prototype.PL=function(h){this.trigger(new m(b.Vg,{media:h}));this.MN=this.my;this.MN.trigger(new m(l.Fga,{player:this}))};b.prototype.OL=function(h){this.trigger(new m(b.cm,{media:h}));this.MN&&(this.MN.trigger(new m(l.Ega,{player:this})),this.MN=null)};return b}); 1287define("kg",["require"],function(){return{Xz:"constrained",UCa:"free_drag",H2a:"free_drag_and_rotation",F1:"sync_with_field_of_view"}}); 1288define("kK",["require","lx","kg","mm"],function(a){function e(){this.xa=!0;this.La=this.Ia=.5;this.cd=0;this.jb=1;this.Af=m.sh;this.Hm=k.Xz;this.l7=this.o7=1;this.ye=this.ze=this.jm=this.km=100;this.Um=e.CA}a("lx");var k=a("kg"),m=a("mm");e.prototype.Owa=function(){return this.Um!==e.CA};e.prototype.Nwa=function(){return this.Um&e.GE?!0:!1};e.prototype.Pwa=function(){return this.Um&e.HE?!0:!1};e.prototype.Qwa=function(){return this.Um&e.GA?!0:!1};e.prototype.Mwa=function(){return this.Um&e.BA?!0: 1289!1};e.prototype.getX=function(){this.Zm();return this.Ia};e.prototype.getY=function(){this.Zm();return this.La};e.prototype.Gq=function(){this.Zm();return this.jb};e.prototype.gI=function(){this.Zm();return this.cd};e.prototype.setConfiguration=function(l,b,h,d,c){this.ze=l;this.ye=b;this.Af=h;this.o7=d;this.l7=c;this.La=this.Ia=.5;this.cd=0;this.jb=d;this.xa=!0};e.prototype.setPosition=function(l,b,h,d){this.Ia=l;this.La=b;this.cd=h;this.jb=d;this.xa=!0};e.prototype.Uq=function(l){this.Hm=l;this.xa= 1290!0};e.prototype.setSize=function(l,b){this.km=l;this.jm=b;this.xa=!0};e.prototype.Zm=function(){if(this.xa){this.xa=!1;var l=e.CA;this.jb>this.l7?(this.jb=this.l7,l|=e.nEa):this.jb<this.o7&&(this.jb=this.o7,l|=e.oEa);if(this.Hm==k.Xz){switch(this.Af){case m.NONE:var b=this.ze;var h=this.ye;break;case m.Ro:b=this.km;h=this.ye*this.km/this.ze;break;case m.Rj:b=this.ze*this.jm/this.ye;h=this.jm;break;case m.Zq:this.ze*this.jm>this.ye*this.km?(b=this.ze*this.jm/this.ye,h=this.jm):(b=this.km,h=this.ye* 1291this.km/this.ze);break;default:case m.sh:this.ze*this.jm>this.ye*this.km?(b=this.km,h=this.ye*this.km/this.ze):(b=this.ze*this.jm/this.ye,h=this.jm)}b*=this.jb;h*=this.jb;var d=Math.min(.5*this.km/b,.5);b=Math.max(1-.5*this.km/b,.5);var c=Math.min(.5*this.jm/h,.5);h=Math.max(1-.5*this.jm/h,.5)}else d=0,b=1,c=0,h=1;this.Ia<d?(this.Ia=d,l|=e.GE):this.Ia>b&&(this.Ia=b,l|=e.HE);this.La<c?(this.La=c,l|=e.GA):this.La>h&&(this.La=h,l|=e.BA);this.Hm!=k.Xz&&this.Hm!=k.UCa||0==this.cd||(this.cd=0,l|=e.sEa); 1292this.Um=l}};e.CA=0;e.GE=1;e.HE=2;e.GA=4;e.BA=8;e.oEa=16;e.nEa=32;e.sEa=64;return e}); 1293define("gt",["require"],function(){function a(){this.IK=.1;this.HS=this.P3=this.S3=this.R3=this.Z3=this.O3=this.X3=this.W3=this.PO=this.mba=this.IA=this.q2=this.NO=this.jba=this.MO=this.iba=0}a.prototype.r_=function(e){this.IK=e};a.prototype.GAa=function(e,k,m,l,b,h,d,c){this.iba=e;this.jba=k;this.q2=m;this.mba=l;this.MO+=b;this.NO+=h;this.IA+=d;this.PO+=c}
1293;a.prototype.bf=function(){return 0!=this.W3||0!=this.X3||0!=this.O3||0!=this.Z3||0!=this.iba||0!=this.jba||0!=this.q2||0!=this.mba||0!=this.MO|| 12940!=this.NO||0!=this.IA||0!=this.PO};a.prototype.Cb=function(e){e=1E3/e;this.R3=this.US(this.W3/e,this.iba/e+this.MO,this.IK);this.S3=this.US(this.X3/e,this.jba/e+this.NO,this.IK);this.P3=this.US(this.O3/e,this.q2/e+this.IA,this.IK);this.HS=this.US(this.Z3/e,this.mba/e+this.PO,this.IK);this.W3=this.R3*e;this.X3=this.S3*e;this.O3=this.P3*e;this.Z3=this.HS*e;this.PO=this.IA=this.NO=this.MO=0};a.prototype.US=function(e,k,m){return 0==k?this.dg(e,k,m):k};a.prototype.dg=function(e,k,m){e=(k-e)*(1-m);.01> 1295Math.abs(e)&&(e=0);return k-e};return a}); 1296define("gy","require lx oR cB gp mm".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp");a("mm");var b=e.extend(l,function(){l.call(this);this.HK=7;this.JU=this.H6=!1;this.LU=void 0;this.cd=0;this.jb=1;this.ye=this.ze=100;this.gU=1;this.L8=!0;this.M8=!1;this.CUa=!0;this.lba=!1;this.cb=null});b.prototype.pQ=function(h){this.HK=h};b.prototype.Id=function(h,d,c,f){this.cd=h;this.jb=d;this.ze=c;this.ye=f};b.prototype.v0a=function(h){this.L8=h;this.NW(this.L8&&!!this.cb)};b.prototype.Qq= 1297function(h){this.cb!=h&&(this.NW(!1),this.Z9(!1),this.Jl(),this.cb=h,this.NW(this.L8&&!!this.cb),this.Z9(this.CUa&&!!this.cb))};b.prototype.Jl=function(){this.NW(!1);this.Z9(!1);this.cb=null};b.prototype.NW=function(h){this.M8!=h&&((this.M8=h)?this.RFa():this.USa())};b.prototype.Z9=function(h){this.lba!=h&&((this.lba=h)?this.SFa():this.VSa())};b.prototype.RFa=function(){this.cb.bind(k.wb,this.Nd,this,!0);this.cb.bind(k.kc,this.sj,this,!0);this.cb.bind(k.Zb,this.tj,this,!0)};b.prototype.USa=function(){this.cb.unbind(k.wb, 1298this.Nd,this);this.cb.unbind(k.kc,this.sj,this);this.cb.unbind(k.Zb,this.tj,this)};b.prototype.SFa=function(){this.cb.bind(k.cr,this.ZB,this,!0);this.cb.bind(k.uE,this.xB,this,!0)};b.prototype.VSa=function(){this.cb.unbind(k.cr,this.ZB,this);this.cb.unbind(k.uE,this.xB,this)};b.prototype.Nd=function(h){this.FRa(h)};b.prototype.sj=function(h){this.Eta(h)};b.prototype.tj=function(){this.J4()};b.prototype.ZB=function(h){this.Kaa(h)};b.prototype.xB=function(h){this.Laa(h)};b.prototype.FRa=function(h){this.H6= 1299!0;this.JU=!1;this.LU=h;this.Eta(h)};b.prototype.Eta=function(h){if(this.H6){var d=h.pageX-this.LU.pageX,c=h.pageY-this.LU.pageY;this.JU||(Math.sqrt(d*d+c*c)>this.HK?this.JU=!0:d=c=0);this.JU&&(this.LU=h);h=this.cd*Math.PI/180;this.trigger(new m(b.Mo,{xDelta:-((d*Math.cos(h)+c*Math.sin(h))/this.ze),yDelta:-((c*Math.cos(h)-d*Math.sin(h))/this.ye)}))}};b.prototype.J4=function(){this.H6=!1};b.prototype.Laa=function(h){if(this.gU!=h.scale){this.J4();var d=this.gU;this.gU=h.scale;this.trigger(new m(b.Qo, 1300{zoomDelta:this.jb*this.gU/d-this.jb}))}};b.prototype.Kaa=function(h){0!=h.delta&&(this.J4(),this.trigger(new m(b.Qo,{zoomDelta:this.jb*h.CY*.1})))};b.Mo="position change";b.Qo="zoom change";b.U2a="vieport navigation";b.T2a="relative navigation";b.S2a="relative exponential navigation";b.R2a="dragging";return b});define("jO",["require"],function(){return{z1:"rotateClockwise",A1:"rotateCounterClockwise",Ht:"zoomIn",It:"zoomOut",Gf:"stop"}}); 1301define("nE","require lx cB gp mm gt gy jO oR".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("mm"),b=a("gt"),h=a("gy"),d=a("jO");a("oR");var c=e.extend(m,function(f,g){m.call(this);this.j=f;this.ha=g;this.Hr=this.fW=this.W=!1;this.La=this.Ia=.5;this.cd=0;this.jb=1;this.ye=this.ze=100;this.Af=l.Xz;this.cc=new b;this.mb=new h;this.j.Jn?(this.mb.pQ(c.Y1),this.cc.r_(c.Z1)):(this.mb.pQ(0),this.cc.r_(1));this.mb.bind(h.Mo,this.ANa,this,!0);this.mb.bind(h.Qo,this.ty,this,!0)});c.prototype.clear= 1302function(){this.mb.unbind(h.Mo,this.V3a,this,!0);this.mb.unbind(h.Qo,this.ty,this,!0);this.mb.Jl();this.j=this.ha=this.cc=this.mb=null};c.prototype.Mj=function(f){switch(f){case d.z1:this.Kc(0,0,+c.T1,0,0,0,0,0);break;case d.A1:this.Kc(0,0,-c.T1,0,0,0,0,0);break;case d.Ht:this.Kc(0,0,0,+c.LJ,0,0,0,0);break;case d.It:this.Kc(0,0,0,-c.LJ,0,0,0,0);break;case d.Gf:this.Kc(0,0,0,0,0,0,0,0)}};c.prototype.setPosition=function(f,g,p,q,n,r){this.Ia=f;this.La=g;this.cd=p;this.jb=q;this.ze=n;this.ye=r;this.mb.Id(this.cd, 1303this.jb,this.ze,this.ye)};c.prototype.bf=function(){return this.W&&this.cc.bf()};c.prototype.Cb=function(f){this.cc.Cb(f);this.ha.setPosition(this.Ia+this.cc.R3,this.La+this.cc.S3,this.cd+this.cc.P3,this.jb+this.cc.HS);this.Ia=this.ha.getX();this.La=this.ha.getY();this.cd=this.ha.gI();this.jb=this.ha.Gq()};c.prototype.tQ=function(f){this.Hr=f;this.mb.v0a(!this.Hr)};c.prototype.Wb=function(f){(this.W=f)?this.mb.Qq(this.j.getParent()):this.mb.Jl()};c.prototype.ANa=function(f){this.Kc(0,0,0,0,f.data.xDelta, 1304f.data.yDelta,0,0)};c.prototype.ty=function(f){this.Kc(0,0,0,0,0,0,0,f.data.zoomDelta)};c.prototype.Kc=function(f,g,p,q,n,r,t,u){this.cc.GAa(f,g,p,q,n,r,t,u);this.Qh()};c.prototype.Qh=function(){this.trigger(new k(c.rh))};c.rh="position change request";c.Y1=7;c.Z1=.2;c.LJ=.5;c.T1=30;return c}); 1305define("mS","require lx cB gp ou bG gt gy jO oR".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("ou"),b=a("bG"),h=a("gt"),d=a("gy"),c=a("jO");a("oR");var f=e.extend(m,function(g,p){m.call(this);this.j=g;this.ha=p;this.W=!1;this.La=this.Ia=.5;this.cd=0;this.jb=1;this.ye=this.ze=100;this.V=null;this.E4=!0;this.Tc=null;this.DV=0;this.ns=this.Ek=this.yv=void 0;this.cc=new h;this.mb=new d;this.j.Jn?(this.mb.pQ(f.Y1),this.cc.r_(f.Z1)):(this.mb.pQ(0),this.cc.r_(1));this.mb.bind(d.Qo,this.ty, 1306this,!0)});f.prototype.b0a=function(g,p){this.ze=g;this.ye=p;this.AH()};f.prototype.nw=function(g){this.Tc!=g&&(this.Tc=g,this.DV=void 0,this.AH())};f.prototype.kn=function(g,p){this.Tc==g&&(this.DV=p,this.AH())};f.prototype.AH=function(){if(this.Tc&&void 0!=this.DV){var g=this.Tc.get("x",0)/this.ze;var p=this.Tc.get("y",0)/this.ye;var q=-(this.DV+this.Tc.get("angle",0))}else q=p=g=void 0;this.ns!=q&&(this.ns=q,this.Qh());if(this.yv!=g||this.Ek!=p)this.yv=g,this.Ek=p,this.$La(),this.Qh()};f.prototype.$La= 1307function(){this.E4=!0;this.Qh()};f.prototype.XC=function(){if(this.E4||this.V&&this.V.Oe())if(this.E4=!1,this.V=null,void 0!=this.yv&&void 0!=this.Ek&&void 0!=this.ns){for(var g=this.ns-this.cd;180<g;)g-=360;for(;-180>g;)g+=360;this.Ia!=this.yv||this.La!=this.Ek?this.V=new l("quad_in_out",[new b("x",this.Ia,this.yv,1),new b("y",this.La,this.Ek,1),new b("angleDif",g,g,360)],500):this.ns!=this.cd&&(this.V=new l("quad_in_out",[new b("x",this.Ia,this.Ia,1),new b("y",this.La,this.La,1),new b("angleDif", 1308g,0,360)],500))}};f.prototype.clear=function(){this.mb.unbind(d.Qo,this.ty,this,!0);this.mb.Jl();this.j=this.ha=this.V=this.cc=this.mb=null};f.prototype.Mj=function(g){switch(g){case c.Ht:this.Kc(+f.LJ,0);break;case c.It:this.Kc(-f.LJ,0);break;case c.Gf:this.Kc(0,0)}};f.prototype.setPosition=function(g,p,q,n,r,t){this.Ia=g;this.La=p;this.cd=q;this.jb=n;this.mb.Id(this.cd,this.jb,r,t)};f.prototype.bf=function(){return this.W&&(this.V||this.cc.bf()||void 0!=this.yv&&this.Ia!=this.yv||void 0!=this.Ek&& 1309this.La!=this.Ek||void 0!=this.ns&&this.cd!=this.ns)?!0:!1};f.prototype.Cb=function(g){this.XC();this.V?(this.V.Cb(g),this.Ia=this.V.fb("x"),this.La=this.V.fb("y"),this.cd=this.ns-this.V.fb("angleDif")):(void 0!=this.yv&&(this.Ia=this.yv),void 0!=this.Ek&&(this.La=this.Ek),void 0!=this.ns&&(this.cd=this.ns));this.cc.Cb(g);this.ha.setPosition(this.Ia,this.La,this.cd,this.jb+this.cc.HS);this.Ia=this.ha.getX();this.La=this.ha.getY();this.cd=this.ha.gI();this.jb=this.ha.Gq()};f.prototype.Wb=function(g){(this.W= 1310g)?(this.mb.Qq(this.j.getParent()),this.AH()):this.mb.Jl()};f.prototype.ty=function(g){this.Kc(0,g.data.zoomDelta)};f.prototype.Kc=function(g,p){this.cc.GAa(0,0,0,g,0,0,0,p);this.Qh()};f.prototype.Qh=function(){this.trigger(new k(f.rh))};f.rh="position change request";f.Y1=7;f.Z1=.2;f.LJ=.5;f.T1=30;return f}); 1311define("ob","require lx cB gp kg mm kK nE mS oR".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("kg"),b=a("mm"),h=a("kK"),d=a("nE"),c=a("mS"),f=a("oR"),g=e.extend(m,function(p){m.call(this);this.j=p;this.j.bind(f.lc,this.hc,this);this.Hm=l.Xz;this.Tc=null;this.La=this.Ia=.5;this.cd=0;this.jb=1;this.Qa=null;this.uW=this.tW=this.ys=this.xs=!1;this.Wm=!0;this.W=!1;this.ha=new h;this.ha.Uq(this.Hm);this.Ub=new d(this.j,this.ha);this.Ub.bind(d.rh,this.Kp,this,!0);this.si=new c(this.j,this.ha); 1312this.si.bind(c.rh,this.Kp,this,!0);this.hW()});g.prototype.clear=function(){this.Ub.unbind(d.rh,this.Kp,this);this.Ub.clear();this.Ub=null;this.si.unbind(c.rh,this.Kp,this);this.si.clear();this.Qa=this.ha=this.si=null;this.j.unbind(f.lc,this.hc,this);this.j=null};g.prototype.stop=function(){this.be=this.Qa=null;this.W=!1;this.Ub.Wb(!1);this.si.Wb(!1);this.ov(0,0,0)};g.prototype.start=function(p){var q=p.Qa,n=q.get("width",100),r=q.get("height",100),t=q.get("scaleMode",b.sh),u=q.get("minimumZoomFactor", 13131),v=q.get("maximumZoomFactor",1),w=q.get("initialZoomFactor",1);this.Qa=q;this.W=!0;this.be=p.getItem();this.ov(0,0,0);this.si.b0a(n,r);this.ha.setConfiguration(n,r,t,u,v);this.ha.setPosition(.5,.5,0,w);this.j.uQ(this.be,this.ha.getX(),this.ha.getY(),this.ha.gI(),this.ha.Gq());this.hW()};g.prototype.Mj=function(p){this.Ub.Mj(p);this.si.Mj(p)};g.prototype.Uq=function(p){this.Hm!=p&&(this.Hm=p,this.ha.Uq(p),this.hW())};
1313g.prototype.nw=function(p){this.Tc!=p&&(this.Tc=p,this.si.nw(p),this.hW())};g.prototype.tQ= 1314function(p){this.Ub&&this.Ub.tQ(p)};g.prototype.kn=function(p,q,n,r){this.si.kn(p,q,n,r)};g.prototype.dw=function(p){this.W&&(this.si.bf()?(this.si.Cb(p),this.Al(this.si.Ia,this.si.La,this.si.cd,this.si.jb),this.Na()):this.Ub.bf()?(this.Ub.Cb(p),this.Al(this.Ub.Ia,this.Ub.La,this.Ub.cd,this.Ub.jb),this.Na()):this.ov(0,0,0))};g.prototype.vd=function(){if(this.be){var p=this.j.tP(this.be),q=this.j.uP(this.be),n=this.j.$Y(this.be),r=this.j.fwa(this.be),t=this.j.sP(this.be),u=this.j.rP(this.be),v=p-this.Ia, 1315w=q-this.La,x=r-this.jb;this.Ia=p;this.La=q;this.cd=n;this.jb=r;this.ov(v,w,x);this.si.setPosition(p,q,n,r,t,u);this.Ub.setPosition(p,q,n,r,t,u)}};g.prototype.hW=function(){this.Hm==l.F1&&null!=this.Tc&&this.Tc.get("map")==this.Qa?(this.Ub.Wb(!1),this.si.Wb(!0)):(this.Ub.Wb(!0),this.si.Wb(!1))};g.prototype.Kp=function(){this.Na()};g.prototype.hc=function(){this.ha.setSize(this.j.Xa(),this.j.Ab());this.Na()};g.prototype.Na=function(){this.trigger(new k(g.Hb))};g.prototype.Al=function(p,q,n,r){this.j.uQ(this.be, 1316p,q,n,r)};g.prototype.ov=function(p,q,n){p=!1;this.ys!=0>n&&(this.ys=!this.ys,p=!0);this.xs!=0<n&&(this.xs=!this.xs,p=!0);this.tW!=0<this.IA&&(this.tW=!this.tW,p=!0);this.uW!=0>this.IA&&(this.uW=!this.uW,p=!0);this.Wm!=(0==n)&&(this.Wm=!this.Wm,p=!0);p&&this.trigger(new k(g.Pj,{rotatingClockwise:this.tW,rotatingCounterClockwise:this.uW,zoomingIn:this.xs,zoomingOut:this.ys,stopped:this.Wm}))};g.Hb="request frame";g.Pj="movement change";return g}); 1317define("jS","require lx cB gp mm kK".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("mm"),b=a("kK"),h=e.extend(m,function(d,c){m.call(this);this.M=d;this.j=c;this.ha=new b;this.wg=[];this.qa=h.xh;this.pp=this.ij=this.Zk=null;this.Ng=this.M.get("transitionDuration");this.xg=void 0});h.prototype.Uq=function(d){this.ha.Uq(d)};h.prototype.eP=function(d){d.LP()&&this.l3();this.wg.push(d);this.iV()};h.prototype.hide=function(){this.l3();this.wg.push(null);this.iV()};h.prototype.clear=function(){this.qa= 1318h.xh;this.l3();this.dPa();this.m9();this.j=null};h.prototype.vd=function(d){this.qa==h.xh||this.qa!=h.vn&&this.qa!=h.Xw||(this.xg+=d,d=Math.min(1,this.xg/this.Ng),this.qa==h.vn?this.j.Sq(this.pp,d):this.j.Sq(this.LS,1-d),this.xg<this.Ng?this.Na():this.qa==h.vn?this.SIa():this.UIa())};h.prototype.iV=function(){if(this.qa==h.xh){for(;0<this.wg.length&&this.gFa(this.wg[0],this.ij);)this.wg.shift();0<this.wg.length&&this.ep()}};h.prototype.gFa=function(d,c){return d==c||!!d&&!!c&&d.isEqual(c)};h.prototype.ep= 1319function(){!this.ij||this.wg[0]&&!this.wg[0].LP()||this.ij.Qa==(this.wg[0]&&this.wg[0].Qa)||this.trigger(new k(h.$z,{map:this.ij.Qa}));"fade_out_fade_in"!=this.M.get("transitionMode","blending")||!this.ij||this.wg[0]&&!this.wg[0].LP()?(this.pp=(this.Zk=this.wg.shift())&&this.Zk.getItem(),this.Zk?this.ZJ():this.ij&&this.hx()):this.hx()};h.prototype.ZJ=function(){this.DEa();this.Zk.LP()&&this.ZPa();this.xg=0;this.qa=h.vn;this.Na()};h.prototype.SIa=function(){this.m9();this.ij=this.Zk;this.LS=this.pp; 1320this.pp=this.Zk=null;this.Lx()};h.prototype.hx=function(){this.xg=0;this.qa=h.Xw;this.Na()};h.prototype.UIa=function(){this.m9();this.ij=null;this.Lx()};h.prototype.Lx=function(){this.qa=h.xh;this.ij&&this.ij.LP()&&this.trigger(new k(h.aA,{map:this.ij.Qa}));0==this.wg.length?this.ij?this.trigger(new k(h.G0,{level:this.ij})):this.trigger(new k(h.r0)):this.ep()};h.prototype.ZPa=function(){var d=this.Zk.Qa;this.Zk.Gj();this.ha.setConfiguration(d.get("width",100),d.get("height",100),d.get("scaleMode", 1321l.sh),d.get("minimumZoomFactor",1),d.get("maximumZoomFactor",1));this.ha.setPosition(.5,.5,0,d.get("initialZoomFactor",1));this.j.uQ(this.pp,this.ha.getX(),this.ha.getY(),this.ha.gI(),this.ha.Gq())};h.prototype.Na=function(){this.trigger(new k(h.Hb))};h.prototype.l3=function(){for(;0<this.wg.length;){var d=this.wg.shift();d&&this.j.cj(d.getItem())}};h.prototype.DEa=function(){this.Zk&&(this.j.nba(this.pp),this.j.zba(this.pp),this.j.Sq(this.pp,0),this.trigger(new k(h.F0,{level:this.Zk})))};h.prototype.m9= 1322function(){this.ij&&(this.j.removeItem(this.LS),this.trigger(new k(h.eR,{level:this.ij})),this.j.cj(this.LS),this.LS=this.ij=null)};h.prototype.dPa=function(){this.Zk&&(this.j.removeItem(this.pp),this.trigger(new k(h.eR,{level:this.Zk})),this.j.cj(this.pp),this.pp=this.Zk=null)};h.xh="stopped";h.vn="blending";h.Xw="disolving";h.Hb="request frame";h.F0="level added";h.eR="level removed";h.G0="level fully displayed";h.r0="all pending maps hidden";h.aA="map show";h.$z="map hide";return h}); 1323define("kJ",["require","exports","lx","y"],function(a,e,k,m){var l=function(){return function(){}}();return function(){function b(){}b.ga=function(h,d,c,f){this.Wha(h,d,c,f,!1)};b.hD=function(h,d,c,f){this.Wha(h,d,c,f,!0)};b.Wha=function(h,d,c,f,g){function p(){for(var r=[],t=0;t<d.length;t++)try{r.push(h.get(d[t]))}catch(u){r.push(void 0),k.QP("BindingsHandler._addBinding",u)}c.apply(this,r)}d=k.toArray(d);g&&(p=k.Bo(p));var q=[];d.forEach(function(r){(r=m.$s(h,r,p,this,!g))&&q.push(r)},this);var n= 1324new l;n.v2a=q;n.host=h;n.properties=d;n.GP=c;this.uba.push(n);f&&p()};b.ca=function(h,d,c){var f=[];this.uba.forEach(function(g){g.GP==c&&g.host==h&&k.CXa(g.properties,k.toArray(d))?g.v2a.forEach(function(p){p.Mz(
1324)}):f.push(g)});this.uba=f};b.uba=[];return b}()}); 1325define("lh",["require"],function(){function a(e,k){this.Qa=e;this.Ra=e.get("image");this.$e=k;this.D6=void 0}a.prototype.getItem=function(){switch(this.$e){case a.oR:return this.Qa.qwa();default:return this.Qa.Hj()}};a.prototype.Gj=function(){switch(this.$e){case a.oR:return this.Qa.xD();default:return this.Qa.Eq()}};a.prototype.LP=function(){return void 0===this.D6?0==this.getIndex():this.D6};a.prototype.N_a=function(e){this.D6=e};a.prototype.MP=function(){return this.$e==a.Ufa};a.prototype.isEqual= 1326function(e){return e&&this.Qa==e.map&&this.$e==e.type};a.prototype.getIndex=function(){return this.$e==a.oR||this.Qa.uI()?0:1};a.prototype.Uva=function(){return this.Qa.uI()?2:1};a.oR="preload";a.Ufa="load";return a}); 1327define("iZ","require lx kJ oR cB gp lh v".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("cB"),b=a("gp"),h=a("lh"),d=a("v"),c=e.extend(b,function(f){b.call(this);this.j=f;this.wg=[];this.yK=this.VB=this.Eg=null;this.NB=!1;this.hU=null;this.aV=e.Bo(this.aV,this)});c.prototype.clear=function(){this.stop();this.j=null};c.prototype.Qxa=function(f,g){if(this.hU!=f||g)this.stop(),this.Qa=f,this.Qa.UZa(),k.hD(this.Qa,"image.levels.url",this.aV),g=[],f.uI()&&d.lb()&&g.push(new h(f,h.oR)),g.push(new h(f, 1328h.Ufa)),g=g.filter(function(p){return p.getItem().ui()}),g.length&&(this.wg=this.wg.concat(g),this.iV())};c.prototype.aV=function(){this.reload()};c.prototype.reload=function(){this.Qxa(this.Qa,!0)};c.prototype.stop=function(){k.ca(this.Qa,"image.levels.url",this.aV);this.hU=this.Qa=null;this.wg=[];this.vsa();this.NB&&(this.NB=!1,this.X$(),this.j.cj(this.Eg.getItem()),this.Eg=null,this.trigger(new l(c.fR)))};c.prototype.iV=function(){this.NB||this.f7()};c.prototype.f7=function(){0<this.wg.length? 1329(this.Eg=this.wg.shift(),this.NB||(this.NB=!0,this.trigger(new l(c.dR,{level:this.Eg,percent:0}))),this.LFa(),this.j.dn(this.Eg.getItem()),this.j.I_(this.Eg.getItem())&&this.K7()):this.NB&&(this.NB=!1,this.trigger(new l(c.fR)))};c.prototype.K7=function(){this.X$();this.wRa();this.Eg=null;this.f7()};c.prototype.wRa=function(){this.vsa();this.VB=this.Eg;var f=this;this.yK=setTimeout(function(){f.yK=null;f.mNa()},500)};c.prototype.mNa=function(){var f=this.VB.Qa;this.VB.N_a(f!=this.hU);this.hU=f;this.trigger(new l(c.H0, 1330{level:this.VB}));this.VB=null};c.prototype.vsa=function(){null!=this.yK&&(clearTimeout(this.yK),this.yK=null,this.j.cj(this.VB.getItem()),this.VB=null)};c.prototype.Una=function(){this.X$();this.Eg=null;this.f7()};c.prototype.Vna=function(f){this.trigger(new l(c.dR,{level:this.Eg,percent:f.Sg}))};c.prototype.LFa=function(){var f=this.Eg.getItem();f.bind(m.Z,this.K7,this);f.bind(m.uc,this.Una,this);f.bind(m.ec,this.Vna,this)};c.prototype.X$=function(){var f=this.Eg.getItem();f.unbind(m.Z,this.K7, 1331this);f.unbind(m.uc,this.Una,this);f.unbind(m.ec,this.Vna,this)};c.dR="level loading progress";c.H0="level loaded";c.fR="load stopped";return c}); 1332define("nJ",["require","exports"],function(){return function(){function a(){}a.$Za=function(e,k){if(a.xxa(e)){var m=a.Lq(e),l,b=256;k.forEach(function(h){if(a.xxa(h)){var d=a.Rza(m,a.Lq(h));d<b&&(l=h,b=d)}});if(l&&5>=b)return l}return e};a.WY=function(e,k){return a.Rza(a.Lq(e),a.Lq(k))};a.xxa=function(e){return!!e&&0===e.indexOf("#")};a.Lq=function(e){return[parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16)]};a.Rza=function(e,k){return Math.max(Math.abs(e[0]-k[0]),Math.abs(e[1]- 1333k[1]),Math.abs(e[2]-k[2]))};a.hE=function(e){e=a.Lq(e);return e[0]<<16|e[1]<<8|e[2]<<0};return a}()});define("cN",["require"],function(){function a(e,k){this.x=e;this.y=k}a.prototype.rotate=function(e){var k=Math.cos(e);e=Math.sin(e);var m=this.x*e+this.y*k;this.x=this.x*k-this.y*e;this.y=m;return this};a.prototype.translate=function(e,k){this.x+=e;this.y+=k;return this};a.prototype.scale=function(e,k){this.x*=e;this.y*=k;return this};return a}); 1334define("mK",["require","mm","mZ"],function(a){function e(l,b,h){this.ig=l;this.jsa=b;this.hsa=h;this.Af=k.Jw;this.fl=m.De;this.Hl=m.fe}var k=a("mm"),m=a("mZ");e.prototype.Kz=function(l){this.Af=l};e.prototype.UI=function(l){this.fl=l};e.prototype.$I=function(l){this.Hl=l};e.prototype.aI=function(l,b,h){var d=this.jsa,c=this.hsa,f;switch(this.Af){case k.NONE:var g=f=1;break;case k.sh:f=g=Math.min(b/d,h/c);break;case k.Zq:f=g=Math.max(b/d,h/c);break;case k.Ro:f=g=b/d;break;case k.Rj:f=g=h/c;break;default:f= 1335b/d,g=h/c}var p=Math.min(this.jsa*f,b);f=Math.min(b/f,d);switch(this.fl){case m.Ya:d=b=0;break;case m.rb:b-=p;d-=f;break;default:b=.5*(b-p),d=.5*(d-f)}var q=Math.min(this.hsa*g,h);g=Math.min(h/g,c);switch(this.Hl){case m.vc:c=h=0;break;case m.oc:h-=q;c-=g;break;default:h=.5*(h-q),c=.5*(c-g)}l.drawImage(this.ig,Math.round(d),Math.round(c),Math.round(f+d-Math.round(d)),Math.round(g+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}); 1336define("mt","require oR id cN kF mK".split(" "),function(a){function e(d,c,f,g){this.j=d;this.Qa=c;this.ze=this.Qa.get("width");this.ye=this.Qa.get("height");this.be=this.Qa.Hj();this.Zla=f;this.Gn=g;this.CB=null;if(this.Gn){if(this.XG=this.Zla.XG,this.ja=this.Gn.get("width"),this.wa=this.Gn.get("height"),this.Ia=this.Gn.get("x",0),this.La=this.Gn.get("y",0),this.Lu=this.Gn.get("offsetX",0),this.Mu=this.Gn.get("offsetY",0),this.Za=this.Gn.Eq())this.Ih=new b(m.Sk),this.Ih.load(this.Za.get("url")), 1337this.Ih.bind(k.Z,this.Coa,this)}else this.Ih=null}var k=a("oR"),m=a("id"),l=a("cN"),b=a("kF"),h=a("mK");e.prototype.clear=function(){this.Gn=this.Zla=this.be=this.Qa=this.j=null;this.Ih&&(this.Ih.unbind(k.Z,this.Coa,this),this.Ih.cancel(),this.Ih=null);this.CB=null};e.prototype.hwa=function(d,c){this.$la=void 0;if(this.CB&&void 0!=d&&void 0!=c){var f=.5*this.j.Xa(),g=.5*this.j.Ab(),p=this.j.$Y(this.be)*Math.PI/180,q=this.j.sP(this.be),n=this.j.rP(this.be),r=this.j.tP(this.be),t=this.j.uP(this.be); 1338d=new l(d,c);d.translate(-f,-g);d.rotate(-p);d.scale(1/q,1/n);d.translate(r,t);d.scale(this.ze,this.ye);d.translate(-this.Ia,-this.La);this.XG||(d.rotate(p),d.scale(q/this.ze,n/this.ye));d.translate(this.Lu,this.Mu);f=Math.round(d.x);g=Math.round(d.y);0<=f&&f<this.CB.width&&0<=g&&g<this.CB.height&&(f=4*(this.CB.width*g+f),g=this.CB.data,this.$la=0<g[f+3]?"#"+this.Y2(g[f+0])+this.Y2(g[f+1])+this.Y2(g[f+2]):"transparent")}return this.$la};e.prototype.Coa=function(){var d=new h(this.Ih.rf(),this.Za.get("width"), 1339this.Za.get("height"));d.Kz(this.Gn.get("scaleMode"));d.UI(this.Gn.get("horizontalAlign"));d.$I(this.Gn.get("verticalAlign"));var c=document.createElement("canvas");c.width=Math.round(this.ja);c.height=Math.round(this.wa);var f=c.getContext("2d");d.aI(f,c.width,c.height);this.CB=f.getImageData(0,0,c.width,c.height);c.width=c.height=0};e.prototype.Y2=function(d){for(d=d.toString(16);2>d.length;)d="0"+d;return d};return e}); 1340define("lb","require ek lx oR cB gp nJ mt bd ou bG".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("gp"),h=a("nJ"),d=a("mt"),c=a("bd"),f=a("ou"),g=a("bG"),p=k.extend(b,function(q,n,r){b.call(this);this.j=q;this.Qa=n;this.dc=r;this.ya=this.dc.getItem();this.bq=this.dc.twa();this.cq=this.dc.uwa();this.Bu=this.In=void 0;this.M=this.j.getParent();this.M.bind(m.kc,this.jf,this);this.M.bind(m.ac,this.sM,this);this.M.bind(m.wb,this.ik,this);this.M.bind(m.Zb,this.Pn,this);this.M.bind(m.ra, 1341this.Or,this);r.bind(m.G("selected"),this.ppa,this);r.bind(m.G("enabled"),this.Hp,this);this.rU=new d(this.j,this.Qa,this.dc,this.dc.get("map",null));this.tU=new d(this.j,this.Qa,this.dc,this.dc.get("rollOverMap",this.dc.get("map",null)));this.uU=new d(this.j,this.Qa,this.dc,this.dc.get("selectedMap",this.dc.get("rollOverMap",this.dc.get("map",null))));this.ET=new d(this.j,this.Qa,this.dc,this.dc.get("image",null));this.FT=new d(this.j,this.Qa,this.dc,this.dc.get("rollOverImage",this.dc.get("image", 1342null)));this.GT=new d(this.j,this.Qa,this.dc,this.dc.get("selectedImage",this.dc.get("rollOverImage",this.dc.get("image",null))));this.$c=this.Zc=void 0;this.uH=null;this.Nt=[];this.sr=[];this.jK=[];this.zh={};this.Tma=[];this.vu=!1;this.Naa=this.dc.get("useHandCursor");this.V=null;this.lH=void 0;this.FW=this.rW=this.$T=0;q=this.dc.get("areas",[]);for(n=0;n<q.length;n++){r=q[n];var t=r.get("mapColor");t&&(t=t.toLowerCase(),void 0===this.zh[t]&&(this.zh[t]=[],this.Tma.push(t)),this.zh[t].push(r))}this.ya&& 1343(this.j.jY(this.Qa.Hj(),this.ya),this.j.Sq(this.ya,this.$T));this.bq&&(this.j.jY(this.Qa.Hj(),this.bq),this.j.Sq(this.bq,this.rW));this.cq&&(this.j.jY(this.Qa.Hj(),this.cq),this.j.Sq(this.cq,this.FW));this.HN("none");this.jaa();this.Bra(!1);this.Cra(this.dc.get("selected"))});p.prototype.clear=function(){this.M.unbind(m.kc,this.jf,this);this.M.unbind(m.ac,this.sM,this);this.M.unbind(m.wb,this.ik,this);this.M.unbind(m.Zb,this.Pn,this);this.M.unbind(m.ra,this.Or,this);this.M=null;this.rU&&this.rU.clear(); 1344this.rU=null;this.tU&&this.tU.clear();this.tU=null;this.uU&&this.uU.clear();this.uU=null;this.ET&&this.ET.clear();this.ET=null;this.FT&&this.FT.clear();this.FT=null;this.GT&&this.GT.clear();this.GT=null;this.Nt=[];this.In=!1;this.jaa();this.sr=[];this.jK=[];this.zh={};this.Asa();this.AO();this.Qa=this.j=null;this.dc.unbind(m.G("selected"),this.ppa,this);this.cq=this.bq=this.ya=this.dc=null};p.prototype.match=function(q){return this.dc==q};p.prototype.vd=function(q){this.RF(!1);
1344this.V&&(this.V.Cb(q), 1345this.$T=this.V.fb("itemAlpha"),this.rW=this.V.fb("rollOverItemAlpha"),this.FW=this.V.fb("selectedItemAlpha"),this.ya&&this.j.Sq(this.ya,this.$T),this.bq&&this.j.Sq(this.bq,this.rW),this.cq&&this.j.Sq(this.cq,this.FW),this.V.Oe()?this.V=null:this.Na())};p.prototype.ik=function(q){this.Zc=q.x-this.M.Kl();this.$c=q.y-this.M.Is();this.RF(!0);this.sr=this.Nt.slice()};p.prototype.jf=function(q){this.Zc=q.x-this.M.Kl();this.$c=q.y-this.M.Is();this.RF(!0)};p.prototype.Pn=function(q){this.Zc=q.x-this.M.Kl(); 1346this.$c=q.y-this.M.Is();this.RF(!0);this.jK=e.intersection(this.sr,this.Nt);this.sr=[]};p.prototype.Or=function(){this.jK&&(this.R$(this.jK,"click"),this.jK=[])};p.prototype.sM=function(){this.$c=this.Zc=void 0;this.RF(!0);this.sr=this.Nt.slice()};p.prototype.ppa=function(){this.Cra(this.dc.get("selected"))};p.prototype.Hp=function(){this.RF(!0);this.kg();this.Na()};p.prototype.RF=function(q){this.oma=!0;q?this.tH():this.qMa()||this.QRa()};p.prototype.QRa=function(){this.Asa();var q=this;this.uH= 1347setTimeout(function(){q.uH=null;q.tH()},200)};p.prototype.qMa=function(){return this.uH?!0:!1};p.prototype.Asa=function(){this.uH&&(clearTimeout(this.uH),this.uH=null)};p.prototype.tH=function(){if(this.oma){this.oma=!1;var q=this.Nt,n=this.DJa();this.Nt=n;this.M.Jn||(this.R$(e.difference(n,q),"rollOver"),this.Bra(0<n.length),this.R$(e.difference(q,n),"rollOut"),this.AO())}};p.prototype.AO=function(){for(var q="",n=0;n<this.Nt.length&&!q;n++){var r=this.Nt[n];r.get("toolTip")&&(q=r.get("toolTip"))}this.Ob!= 1348q&&(this.Ob&&this.j.rZa(this.Ob),(this.Ob=q)&&this.j.xZa(this.Ob))};p.prototype.jaa=function(){var q=this.In&&(!1!==this.Naa||e(this.Nt).any(function(n){return!0===n.get("useHandCursor")}));this.vu!=q&&((this.vu=q)?this.j.n_(c.Ee):this.j.LI(c.Ee))};p.prototype.DJa=function(){if(!1===this.dc.get("enabled"))return[];var q=[],n=this.Bu?this.uU:this.In?this.tU:this.rU;n&&(n=n.hwa(this.Zc,this.$c))&&(this.zh.any&&(q=q.concat(this.zh.any)),"transparent"==n&&this.zh.transparent&&(q=q.concat(this.zh.transparent)), 1349"transparent"!=n&&(q=this.zh[n]?q.concat(this.zh[n]):q.concat(this.zh[h.$Za(n,this.Tma)]||[]),this.zh.image&&(q=q.concat(this.zh.image))));if(n=this.Bu?this.GT:this.In?this.FT:this.ET)if(n=n.hwa(this.Zc,this.$c))this.zh.any&&(q=q.concat(this.zh.any)),"transparent"==n&&this.zh.transparent&&(q=q.concat(this.zh.transparent)),"transparent"!=n&&this.zh.image&&(q=q.concat(this.zh.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.R$=function(q,n){if(q)for(var r= 13500;r<q.length;r++)q[r].trigger(new l(n))};p.prototype.Bra=function(q){this.In!=q&&(this.In=q,this.trigger(new l(p.B0)),this.kg(),this.jaa(),this.Na())};p.prototype.Cra=function(q){this.Bu!=q&&(this.Bu=q,this.kg(),this.Na())};p.prototype.kg=function(){!this.In&&1==this.dc.get("rollOverDisplay")||!1===this.dc.get("enabled")?this.HN("none"):this.Bu?this.HN("selected"):this.In?this.HN("roll over"):this.HN("visible")};p.prototype.HN=function(q){if(this.lH!=q){this.lH=q;var n;if(e(["selected"]).contains(this.lH)&& 1351this.cq){var r=1;q=n=0}else e(["selected","roll over"]).contains(this.lH)&&this.bq?(n=1,q=r=0):e(["selected","roll over","visible"]).contains(this.lH)?(q=1,r=n=0):q=r=n=0;var t=this.$T,u=this.rW,v=this.FW,w=Math.max(200*Math.abs(q-t),200*Math.abs(n-u),200*Math.abs(r-v));this.V=new f("none"==this.lH?"quad_out":"quad_in",[new g("itemAlpha",t,q),new g("rollOverItemAlpha",u,n),new g("selectedItemAlpha",v,r)],w)}};p.prototype.Na=function(){this.trigger(new l(p.Hb))};p.Hb="request frame";p.B0="is over update"; 1352return p});define("mY",["require","lx","kb"],function(a){var e=a("lx"),k=a("kb");a=e.extend(k,function(m,l,b,h,d,c,f){k.call(this,k.Zga,m,l);this.QLa=b;this.RLa=h;this.pOa=d;this.qOa=c;this.Cc=f;this.CO=[]});a.prototype.yD=function(){return this.Cc};return a}); 1353define("fI","require lx oR cB gp cN mY".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("cN"),h=a("mY"),d=e.extend(l,function(c,f,g){l.call(this);this.j=c;this.M=this.j.getParent();this.M.bind(k.wb,this.ik,this,!0);this.M.bind(k.kc,this.jf,this,!0);this.M.bind(k.Uo,this.sM,this,!0);this.Qa=f;this.ze=this.Qa.get("width");this.ye=this.Qa.get("height");this.VOa=Math.sqrt(this.ze*this.ze+this.ye*this.ye)*this.Qa.get("fieldOfViewOverlayRadiusScale",1);this.be=this.Qa.Hj();this.Tc= 1354g;this.BG=this.Tc.get("x",0);this.CG=this.Tc.get("y",0);this.CV=this.Tc.get("angle",0);this.ya=this.MHa();this.Hr=!1;this.Ea=0;this.Ma=.5*Math.PI;this.Nd=!1;this.$c=this.Zc=void 0;this.j.jY(this.Qa.Hj(),this.ya)});d.prototype.IAa=function(c,f){this.Ea=c+this.CV-90;this.Ma=f;this.Na()};d.prototype.clear=function(){this.M.unbind(k.wb,this.ik,this);this.M.unbind(k.kc,this.jf,this);this.M.unbind(k.Uo,this.sM,this);this.M=null;this.j.GZa(this.Qa.Hj(),this.ya);this.ya=this.Tc=this.be=this.Qa=this.j=null}; 1355d.prototype.vd=function(){this.j.Q_a(this.ya,this.Ea,this.Ma)};d.prototype.MHa=function(){return new h(this.BG,this.CG,this.Qa.get("fieldOfViewOverlayInsideColor","#FFFFFF"),this.Qa.get("fieldOfViewOverlayInsideOpacity",0),this.Qa.get("fieldOfViewOverlayOutsideColor","#000000"),this.Qa.get("fieldOfViewOverlayOutsideOpacity",0),this.Qa.get("fieldOfViewOverlayRadiusScale",1))};d.prototype.Na=function(){this.trigger(new m(d.Hb))};d.prototype.maa=function(){var c=!1;if(void 0!=this.Zc&&void 0!=this.$c){var f= 1356.5*this.j.Xa(),g=.5*this.j.Ab(),p=this.j.$Y(this.be)*Math.PI/180,q=this.j.sP(this.be),n=this.j.rP(this.be),r=this.j.tP(this.be),t=this.j.uP(this.be);c=new b(this.Zc,this.$c);c.translate(-f,-g);c.rotate(-p);c.scale(1/q,1/n);c.translate(r,t);c.scale(this.ze,this.ye);c.translate(-this.BG,-this.CG);c.rotate(-this.Ea*Math.PI/180);f=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.VOa&&Math.abs(f)<.5*this.Ma}this.Hr!=c&&(this.Hr=c,this.trigger(new m(d.i1,{inFOV:this.Hr})))}; 1357d.prototype.IXa=function(){return this.Hr};d.prototype.ik=function(c){this.Zc=c.x;this.$c=c.y;this.Nd=!0;this.maa()};d.prototype.jf=function(c){this.Nd||(this.Zc=c.x,this.$c=c.y,this.maa())};d.prototype.sM=function(){this.$c=this.Zc=void 0;this.Nd=!1;this.maa()};d.Hb="request frame";d.i1="mouse in fov change";return d}); 1358define("oD","require ek lx cB gp it lb fI".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("cB"),l=a("gp"),b=a("it"),h=a("lb"),d=a("fI"),c=k.extend(l,function(f){l.call(this);this.j=f;this.JL=[];this.yu=[];this.wm=[];this.Nm=this.Tc=null});c.prototype.clear=function(){for(var f=0;f<this.yu.length;f++)this.yu[f].clear();for(f=0;f<this.wm.length;f++)this.wm[f].clear();this.j=this.JL=this.Tc=this.wm=this.yu=null};c.prototype.eP=function(f){f.MP()&&this.OEa(f.Qa)};c.prototype.vca=function(f){f.MP()&& 1359this.nPa(f.Qa)};c.prototype.nw=function(f){this.Tc!=f&&(this.Tc&&this.o9(this.Tc.get("map")),this.Tc=f,this.Nm=null,this.Tc&&(f=this.Tc.get("map"),this.F6(f)&&this.Zha(f)))};c.prototype.kn=function(f,g,p,q){this.Nm={yaw:g,pitch:p,hfov:q};for(p=0;p<this.wm.length;p++){var n=this.wm[p];if(n.Tc==f){n.IAa(g,q);break}}};c.prototype.OEa=function(f){this.F6(f)&&(this.Gqa(f),this.o9(f));this.JL.push(f);this.GEa(f);this.Zha(f)};c.prototype.nPa=function(f){var g=this.JL.indexOf(f);0<=g&&this.JL.splice(g,1); 1360this.F6(f)||(this.Gqa(f),this.o9(f))};c.prototype.F6=function(f){return 0<=e(this.JL).indexOf(f)};c.prototype.vd=function(f){for(var g=0;g<this.yu.length;g++)this.yu[g].vd(f);for(g=0;g<this.wm.length;g++)this.wm[g].vd(f)};c.prototype.GEa=function(f){for(var g=f.get("overlays",[]),p=0;p<g.length;p++){var q=g[p];q instanceof b&&(q=new h(this.j,f,q),q.bind(h.Hb,this.Na,this,!0),q.bind(h.B0,this.zma,this,!0),this.yu.push(q))}};c.prototype.Zha=function(f){this.Tc&&this.Tc.get("map")==f&&!1!==this.Tc.get("visible")&&
1361(f=new d(this.j,f,this.Tc),f.bind(d.Hb,this.Na,this,!0),f.bind(d.i1,this.WU,this,!0),this.wm.push(f),this.Nm&&f.IAa(this.Nm.yaw,this.Nm.hfov));this.WU()};c.prototype.Gqa=function(f){f=f.get("overlays",[]);for(var g=0;g<f.length;g++)for(var p=f[g],q=0;q<this.yu.length;q++){var n=this.yu[q];if(n.match(p)){n.unbind(h.Hb,this.Na,this);n.unbind(h.B0,this.zma,this);n.clear();this.yu.splice(q,1);break}}};c.prototype.o9=function(f){for(var g=0;g<this.wm.length;g++){var p=this.wm[g];if(p.Qa==f){p.unbind(d.Hb, 1362this.Na,this);p.unbind(d.i1,this.WU,this);p.clear();this.wm.splice(g,1);break}}this.WU()};c.prototype.zma=function(){};c.prototype.Na=function(){this.trigger(new m(c.Hb))};c.prototype.WU=function(){for(var f=!1,g=0;g<this.wm.length;g++)this.wm[g].IXa()&&(f=!0);this.trigger(new m(c.A0,{inFOV:f}))};c.Hb="request frame";c.A0="in fov change";return c}); 1363define("J","require lx oR cB gp kg cN".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("kg"),h=a("cN"),d=e.extend(l,function(c){l.call(this);this.j=c;this.M=this.j.getParent();this.M.bind(k.kc,this.jf,this,!0);this.M.bind(k.wb,this.ik,this,!0);this.M.bind(k.Zb,this.Pn,this,!0);this.Qa=null;this.be=this.ye=this.ze=void 0;this.Tc=null;this.CV=this.CG=this.BG=void 0;this.Hr=!1;this.$c=this.Zc=this.Hm=void 0;this.Nd=!1;this.Ea=0});d.prototype.clear=function(){this.M.unbind(k.kc, 1364this.jf,this);this.M.unbind(k.wb,this.ik,this);this.M.unbind(k.Zb,this.Pn,this);this.j=this.Tc=this.be=this.Qa=this.M=null};d.prototype.tQ=function(c){this.Hr=c;this.faa()};d.prototype.eP=function(c){c.MP()&&this.Fra(c.Qa)};d.prototype.vca=function(c){c.MP()&&this.Qa==c.Qa&&this.Fra(null)};d.prototype.Fra=function(c){this.Qa!=c&&((this.Qa=c)?(this.ze=this.Qa.get("width"),this.ye=this.Qa.get("height"),this.be=this.Qa.Hj()):(this.ye=this.ze=void 0,this.be=null))};d.prototype.nw=function(c){this.Tc!= 1365c&&((this.Tc=c)?(this.BG=this.Tc.get("x",0),this.CG=this.Tc.get("y",0),this.CV=this.Tc.get("angle",0)):this.CV=this.CG=this.BG=void 0)};d.prototype.kn=function(c,f){this.Tc==c&&(this.Ea=f)};d.prototype.Uq=function(c){this.Hm=c};d.prototype.ik=function(c){this.Zc=c.x;this.$c=c.y;this.Nd=!0;this.faa()};d.prototype.jf=function(c){this.Zc=c.x;this.$c=c.y;this.ai&&(c=this.Dla(),this.trigger(new m(d.Qj,{yawDelta:c-this.cd})),this.cd=c)};d.prototype.Pn=function(c){this.Zc=c.x;this.$c=c.y;this.Nd=!1;this.faa()}; 1366d.prototype.faa=function(){var c=this.Nd&&this.Tc&&this.Qa&&(this.Hm==b.F1||this.Hr);this.ai!=c&&(this.ai=c)&&(this.cd=this.Dla())};d.prototype.Dla=function(){var c=.5*this.j.Xa(),f=.5*this.j.Ab(),g=new h(this.Zc,this.$c);g.translate(-c,-f);if(this.Hm==b.F1)return 180*-Math.atan2(g.y,g.x)/Math.PI;c=this.j.$Y(this.be)*Math.PI/180;f=this.j.sP(this.be);var p=this.j.rP(this.be),q=this.j.tP(this.be),n=this.j.uP(this.be);g.rotate(-c);g.scale(1/f,1/p);g.translate(q,n);g.scale(this.ze,this.ye);g.translate(-this.BG, 1367-this.CG);return 180*Math.atan2(g.y,g.x)/Math.PI};d.Qj="request yaw change";return d}); 1368define("mR",["require","lx","cB","gp","bh"],function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("bh"),b=e.extend(m,function(h){m.call(this);this.W=!0;this.uB=!1;this.j=h});b.prototype.clear=function(){this.W=!1;this.j=null};b.prototype.requestFrame=function(){this.uB||(this.uB=!0,l.requestFrame(this.vj,this))};b.prototype.vj=function(h){this.W&&(this.uB=!1,this.trigger(new k(b.No,{frameTime:h})),this.trigger(new k(b.Oo,{frameTime:h})),this.j.render())};b.No="frameStart";b.Oo="positionSet";return b}); 1369define("dA","require lx oR cB gp ob jS iZ oD J mR".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("ob"),h=a("jS"),d=a("iZ"),c=a("oD"),f=a("J"),g=a("mR"),p=e.extend(l,function(q,n){l.call(this);this.M=q;this.j=n;this.j.set("visible",!1);this.IV=null;this.hg=new g(this.j);this.oe=new d(this.j);this.Ja=new h(this.M,this.j);this.eb=new b(this.j);this.Pp=new c(this.j);this.Sr=new f(this.j);this.M.bind(k.ld,this.tV,this,!0);this.hg.bind(g.No,this.vy,this,!0);this.hg.bind(g.Oo,this.wy, 1370this,!0);this.oe.bind(d.fR,this.oM,this);this.oe.bind(d.H0,this.qoa,this);this.oe.bind(d.dR,this.roa,this);
1370this.Ja.bind(h.Hb,this.Je,this,!0);this.Ja.bind(h.F0,this.ooa,this,!0);this.Ja.bind(h.eR,this.soa,this,!0);this.Ja.bind(h.G0,this.poa,this,!0);this.Ja.bind(h.$z,this.Ou,this,!0);this.Ja.bind(h.aA,this.qy,this,!0);this.Ja.bind(h.r0,this.Bna,this,!0);this.eb.bind(b.Hb,this.Je,this,!0);this.eb.bind(b.Pj,this.Ip,this);this.Pp.bind(c.Hb,this.Je,this,!0);this.Pp.bind(c.A0,this.doa,this,!0);this.Sr.bind(f.Qj, 1371this.FM,this,!0);this.yka=!1});p.prototype.Uq=function(q){this.eb.Uq(q);this.Ja.Uq(q);this.Sr.Uq(q)};p.prototype.clear=function(){this.yka=!0;this.oe.clear();this.hg.clear();this.eb.clear();this.Ja.clear();this.Pp.clear();this.Sr.clear();this.M.unbind(k.ld,this.tV,this);this.oe.unbind(d.fR,this.oM,this);this.oe.unbind(d.H0,this.qoa,this);this.oe.unbind(d.dR,this.roa,this);this.hg.unbind(g.No,this.vy,this);this.hg.unbind(g.Oo,this.wy,this);this.Ja.unbind(h.Hb,this.Je,this);this.Ja.unbind(h.F0,this.ooa, 1372this);this.Ja.unbind(h.eR,this.soa,this);this.Ja.unbind(h.G0,this.poa,this);this.Ja.unbind(h.$z,this.Ou,this);this.Ja.unbind(h.aA,this.qy,this);this.Ja.unbind(h.r0,this.Bna,this);this.eb.unbind(b.NCa,this.Je,this);this.eb.unbind(b.Pj,this.Ip,this);this.Pp.unbind(c.Hb,this.Je,this);this.Pp.unbind(c.A0,this.doa,this);this.Sr.unbind(f.Qj,this.FM,this);this.M=this.j=this.Sr=this.Pp=this.Ja=this.eb=this.hg=this.oe=null};p.prototype.tV=function(){this.IV&&(this.CAa(this.IV),this.IV=null)};p.prototype.CAa= 1373function(q){this.j.set("visible",!0);this.M.Zx?this.oe.Qxa(q):(this.oe.stop(),this.eb.stop(),this.Ja.hide(),this.IV=q)};p.prototype.iw=function(){this.oe.stop();this.eb.stop();this.Ja.hide()};p.prototype.Mj=function(q){this.eb.Mj(q)};p.prototype.nw=function(q){this.yka||(this.eb.nw(q),this.Pp.nw(q),this.Sr.nw(q))};p.prototype.kn=function(q,n,r,t){this.eb.kn(q,n,r,t);this.Pp.kn(q,n,r,t);this.Sr.kn(q,n,r,t)};p.prototype.roa=function(q){var n=q.data.level;q=(q.data.percent+100*n.getIndex())/n.Uva(); 1374this.trigger(new m(p.jt,{percent:q}))};p.prototype.qoa=function(q){this.j.set("visible",!0);q=q.data.level;this.eb.stop();this.Ja.eP(q)};p.prototype.oM=function(){this.trigger(new m(p.Zz))};p.prototype.Je=function(){this.hg.requestFrame()};p.prototype.vy=function(q){this.eb.dw(q.data.frameTime)};p.prototype.wy=function(q){q=q.data.frameTime;this.Ja.vd(q);this.eb.vd(q);this.Pp.vd(q)};p.prototype.ooa=function(q){q=q.data.level;this.Pp.eP(q);this.Sr.eP(q)};p.prototype.soa=function(q){q=q.data.level; 1375this.Pp.vca(q);this.Sr.vca(q)};p.prototype.poa=function(q){q=q.data.level;q.MP()&&this.eb.start(q)};p.prototype.Bna=function(){this.j.set("visible",!1)};p.prototype.doa=function(q){q=q.data.inFOV;this.eb.tQ(q);this.Sr.tQ(q)};p.prototype.qy=function(q){this.trigger(new m(p.aA,{map:q.data.map}))};p.prototype.Ou=function(q){this.trigger(new m(p.$z,{map:q.data.map}))};p.prototype.Ip=function(q){this.trigger(new m(p.Pj,q.data))};p.prototype.FM=function(q){this.trigger(new m(p.Qj,{yawDelta:q.data.yawDelta}))}; 1376p.Pj="movementChange";p.Zz="loadingEnd";p.jt="loadingProgress";p.aA="mapShow";p.$z="mapHide";p.Qj="requestYawChange";return p});define("kR",["require","id"],function(a){function e(){this.status=e.mR;this.progress=this.SD=0;this.Eda=[]}a("id");e.LOADING="loading";e.Z="loaded";e.mR="not loaded";return e}); 1377define("lu","require ek lx cB oR kF kR".split(" "),function(a){function e(){this.Aka={};this.$d=[];this.ly=[];this.nd={}}var k=a("ek"),m=a("lx");a("cB");var l=a("oR"),b=a("kF"),h=a("kR");e.prototype.I_=function(d){d=d.Qs();for(var c=0,f=d.length;c<f;c++)if(this.TK(d[c]).status!=h.Z)return!1;return!0};e.prototype.dn=function(d,c){this.$d.push(d);this.JEa(d,c)};e.prototype.cj=function(d,c){var f=k(this.$d).indexOf(d);0>f&&m.log("Unloading item not loaded");this.$d.splice(f,1);this.kPa(d,c)};e.prototype.rf= 1378function(d,c){return this.nd[d].rf(c)};e.prototype.JEa=function(d,c){this.ly.push(d);d=d.Qs();for(var f=0,g=d.length;f<g;f++){var p=d[f],q=this.TK(p);q.SD++;q.Eda.push(c);q.status==h.mR&&(q.status=h.LOADING,this.HMa(p,Math.min.apply(Math,q.Eda)))}this.zta()};e.prototype.kPa=function(d,c){this.ly=k(this.ly).without(d);d=d.Qs();for(var f=0,g=d.length;f<g;f++){var p=d[f],q=this.TK(p);q.SD--;var n=q.Eda,r=n.indexOf(c);0<=r&&n.splice(r,1);0==q.SD&&q.status!=h.mR&&(q.status=h.mR,q.progress=0,this.ZSa(p))}}; 1379e.prototype.zta=function(d){d=(void 0==d?this.ly:this.Bla(d)).slice();for(var c=0;c<d.length;c++){for(var f=d[c],g=f.Qs(),p=0,q=0,n=g.length,r=0;r<g.length;r++){var t=this.TK(g[r]);p+=t.progress;t.status==h.Z&&q++}f.a0a(p/n);q==n&&(f.xQ(),this.ly=k(this.ly).without(f))}};e.prototype.TK=function(d){var c=this.Aka[d];c||(this.Aka[d]=c=new h);return c};e.prototype.Bla=function(d){for(var c=[],f=0;f<this.ly.length;f++){var g=this.ly[f];k(g.Qs()).contains(d)&&c.push(g)}return c};e.prototype.HMa=function(d, 1380c){c=new b(c);this.nd[d]=c;c.bind(l.Z,this.pM,this,!0);c.bind(l.uc,this.qM,this,!0);c.load(d)};e.prototype.ZSa=function(d){var c=this.nd[d];delete this.nd[d];c.unbind(l.Z,this.pM,this);c.unbind(l.uc,this.qM,this);c.cancel()};e.prototype.pM=function(d){d=d.source.ui();var c=this.TK(d);c.progress=100;c.status=h.Z;this.zta(d)};e.prototype.qM=function(d){d=d.source.ui();for(var c=this.Bla(d),f=0;f<c.length;f++){var g=c[f];this.cj(g);g.y_a()}m.log("Error loading: "+d)};return e.instance=new e}); 1381define("hG",["require","jquery.mod","v"],function(a){function e(m,l){this.ya=m;this.la=l;this.DL=0;this.cs=this.bs=.5;this.Ak=0;this.zb=1;this.jq=this.Gu=this.wa=this.ja=0;this.Cc=1;this.ST=this.UT=!0;this.oa=k("<canvas/>");this.O=this.oa.get(0);this.za=this.O.getContext("2d")}var k=a("jquery.mod");a=a("v");e.prototype.getItem=function(){return this.ya};e.prototype.iP=function(m){return this.ya==m?this:null};e.prototype.KY=function(m){return this.ya==m?[this]:[]};e.prototype.mh=function(){this.la&& 1382this.la.yba(this)};e.prototype.Se=function(m){this.LQa(m)};e.prototype.Dra=function(m){this.DL!=m&&(this.DL=m,this.la&&this.la.oZ())};e.prototype.LQa=function(m){this.zb!=m&&(this.zb=m,this.nZ())};e.prototype.OW=function(m){this.Ak!=m&&(this.Ak=m,this.nZ())};e.prototype.GN=function(m,l){if(this.ja!=m||this.wa!=l)this.ja=m,this.wa=l,this.kZ()};e.prototype.Al=function(m,l){if(this.Gu!=m||this.jq!=l)this.Gu=m,this.jq=l,this.nZ()};e.prototype.nZ=function(){this.la&&this.la.lZ()};e.prototype.ke=function(){this.UT= 1383!0};
1383e.prototype.Va=function(){this.UT&&(this.UT=!1,this.Og())};e.prototype.Og=function(){};e.prototype.kZ=function(){this.ST=!0;this.nZ()};e.prototype.N_=function(){if(this.ST){this.ST=!1;if(this.O.width!=this.ja||this.O.height!=this.wa)this.O.width=Math.round(this.ja),this.O.height=Math.round(this.wa);this.za.clearRect(0,0,this.O.width,this.O.height);this.jg()}};e.prototype.jg=function(){};e.prototype.VVa=function(m){if(0<this.zb&&1<=this.ja&&1<=this.wa){m.save();var l=Math.round(this.Gu),b=Math.round(this.jq), 1384h=Math.round(this.ja*this.bs),d=Math.round(this.wa*this.cs);m.scale(this.Cc,this.Cc);m.translate(l+h,b+d);m.rotate(this.Ak*Math.PI/180);m.globalAlpha=this.zb;m.drawImage(this.O,-h,-d);m.restore()}};e.prototype.QY=function(){this.O.width=this.O.height=1;this.UT=this.ST=!0};e.Wfa=window.devicePixelRatio||1;e.Lj=e.Wfa;e.eDa=a.zd()==a.Fi?16E6:256E6;return e}); 1385define("mQ",["require","ek","lx","hG"],function(a){var e=a("ek"),k=a("lx"),m=a("hG");a=k.extend(m,function(l,b){m.call(this,l,b);this.pc=[];this.gY=null;this.Iv=!0});a.prototype.vua=function(l){l=this.E3(l);if(!l)throw"Container renderer can't create child renderer for an item";this.pc.push(l);this.oZ();this.lZ()};a.prototype.E3=function(){};a.prototype.Jza=function(l){if(l=this.Es(l))this.pc=e.without(this.pc,l),this.oZ(),this.lZ()};a.prototype.iP=function(l){for(var b=m.prototype.iP.call(this,l), 1386h=0;h<this.pc.length&&!b;h++)b=this.pc[h].iP(l);return b};a.prototype.KY=function(l){for(var b=m.prototype.KY.call(this,l),h=0;h<this.pc.length;h++)b=b.concat(this.pc[h].KY(l));return b};a.prototype.Es=function(l){for(var b=null,h=0;h<this.pc.length&&!b;h++)this.pc[h].getItem()==l&&(b=this.pc[h]);for(h=0;h<this.pc.length&&!b;h++)this.pc[h].getItem().xXa(l)&&(b=this.pc[h]);return b};a.prototype.yba=function(l){this.pc=e.without(this.pc,l);this.pc.push(l);this.oZ();this.lZ()};a.prototype.oZ=function(){this.Iv= 1387!0;this.ke()};a.prototype.lZ=function(){this.kZ()};a.prototype.Va=function(){m.prototype.Va.call(this);for(var l=0;l<this.pc.length;l++)this.pc[l].Va()};a.prototype.Og=function(){if(this.Iv){this.Iv=!1;for(var l=[],b=0;b<this.pc.length;b++){var h=this.pc[b];l.push({l:h.DL,z:b,r:h})}l.sort(function(d,c){return d.l==c.l?d.z-c.z:d.l-c.l});this.gY=[];for(b=0;b<l.length;b++)this.gY.push(l[b].r);this.kZ()}m.prototype.Og.call(this)};a.prototype.N_=function(){for(var l=0;l<this.pc.length;l++)this.pc[l].N_(); 1388m.prototype.N_.call(this)};a.prototype.jg=function(){for(var l=0;l<this.gY.length;l++)this.gY[l].VVa(this.za);m.prototype.jg.call(this)};a.prototype.QY=function(){for(var l=0;l<this.pc.length;l++)this.pc[l].QY();m.prototype.QY.call(this)};return a});define("Q",["require","lx","hG"],function(a){var e=a("lx"),k=a("hG");a=e.extend(k,function(m,l){k.call(this,m,l)});a.prototype.u_=function(){};return a}); 1389define("iL",["require","lx","Q","v"],function(a){var e=a("lx"),k=a("Q"),m=a("v");a=e.extend(k,function(l,b){k.call(this,l,b);this.HV=this.la.getItem().yd();this.GV=this.la.getItem().je();this.Cc=2;this.pF=0;this.Ma=.5*Math.PI;this.z6=this.A6=!0;this.jl=1;this.TT=!0;this.Dra(1)});a.prototype.u_=function(l,b){this.jl!=b&&(this.jl=b,this.TT=!0,this.ke())};a.prototype.dea=function(l,b){this.Ma!=b&&(this.Ma=b,this.A6=!0,this.ke());this.pF!=l&&(this.pF=l,this.z6=!0,this.ke())};a.prototype.Og=function(){this.A6&& 1390(this.A6=!1,this.kZ());if(this.TT||this.z6){this.z6=this.TT=!1;this.Cc=Math.max(1,Math.ceil(Math.sqrt(this.HV*this.HV+this.GV*this.GV))/(m.zd()==m.Fi?1024:4096));var l=this.jl/this.Cc,b=this.ya.getX()*l,h=this.ya.getY()*l,d=Math.max(b,l*this.HV-b);l=Math.max(h,l*this.GV-h);d=2*Math.ceil(Math.sqrt(d*d+l*l));var c=this.pF*Math.PI/180;l=Math.cos(c);c=Math.sin(c);b=b-this.bs*d-(.5-this.bs)*d*l+(.5-this.cs)*d*c;h=h-this.cs*d-(.5-this.cs)*d*l-(.5-this.bs)*d*c;this.TT=!1;this.Al(b,h);this.GN(d,d);this.OW(this.pF)}k.prototype.Og.call(this)}; 1391a.prototype.jg=function(){var l=this.ya.RLa,b=this.ya.qOa;if(0<b||0<l){var h=this.jl*this.HV,d=this.jl*this.GV;h=Math.ceil(Math.sqrt(h*h+d*d))*this.ya.yD()/this.Cc;d=Math.round(.5*this.ja);var c=Math.round(.5*this.wa),f=this.Ma*Math.PI/180,g=.5*-f;f=g+f;0<b&&(this.za.fillStyle=this.ya.pOa,this.za.globalAlpha=b,this.za.rect(0,0,this.ja,this.wa),this.za.fill(),this.za.globalCompositeOperation="destination-out",this.za.fillStyle="#FFFFFF",this.za.globalAlpha=1,this.za.beginPath(),this.za.moveTo(d,c), 1392this.za.arc(d,c,h,g,f,!1),this.za.lineTo(d,c),this.za.closePath(),this.za.fill(),this.za.globalCompositeOperation="source-over");0<l&&(this.za.fillStyle=this.ya.QLa,this.za.globalAlpha=l,this.za.beginPath(),this.za.moveTo(d,c),this.za.arc(d,c,h,g,f,!1),this.za.lineTo(d,c),this.za.closePath(),this.za.fill())}k.prototype.jg.call(this)};return a}); 1393define("j","require lx hG Q lu mK".split(" "),function(a){var e=a("lx"),k=a("hG"),m=a("Q"),l=a("lu"),b=a("mK");a=e.extend(m,function(h,d){m.call(this,h,d);this.Dra(this.ya.bra?0:2);this.Xb=l.rf(this.ya.ui());this.yW=new b(this.Xb,this.Xb.width,this.Xb.height);this.yW.Kz(this.ya.Af);this.yW.$I(this.ya.Hl);this.yW.UI(this.ya.fl);this.HL=0;this.jl=1;this.j7=!0});a.prototype.u_=function(h,d){if(this.HL!=h||this.jl!=d)this.HL=h,this.jl=d,this.j7=!0,this.ke()};a.prototype.Og=function(){if(this.j7){this.j7= 1394!1;var h=this.ya.getX(),d=this.ya.getY(),c=this.ya.yd(),f=this.ya.je(),g=this.ya.Lu,p=this.ya.Mu;if(this.ya.bra)this.OW(0),this.Al((h-g)*this.jl,(d-p)*this.jl),this.GN(c*this.jl,f*this.jl);else{c*=k.Lj;f*=k.Lj;g*=k.Lj;p*=k.Lj;var q=Math.cos(-this.HL*Math.PI/180),n=Math.sin(-this.HL*Math.PI/180);h=h*this.jl-this.bs*c-(g-this.bs*c)*q+(p-this.cs*f)*n;d=d*this.jl-this.cs*f-(p-this.cs*f)*q-(g-this.bs*c)*n;this.OW(-this.HL);this.Al(h,d);this.GN(c,f)}}m.prototype.Og.call(this)};a.prototype.jg=function(){this.yW.aI(this.za, 1395this.O.width,this.O.height);m.prototype.jg.call(this)};return a}); 1396define("iq","require lx mm lu dy kb iL j mQ".split(" "),function(a){var e=a("lx"),k=a("mm"),m=a("lu"),l=a("dy"),b=a("kb"),h=a("iL"),d=a("j"),c=a("mQ");a=e.extend(c,function(f,g){c.call(this,f,g,f.Sn);this.Jb=this.ya.yd();this.Tb=this.ya.je();this.Af=this.ya.Af;this.cT=this.ya.U4;this.Bd=this.sd=100;this.t3=!0;this.La=this.Ia=.5;this.cd=0;this.jb=1;this.cN=!0;this.lf=1;this.Xb=m.rf(this.ya.ui())});a.prototype.E3=function(f){if(f.getType()!=l.dha)throw"Invalid item type";switch(f.sOa){case b.Zga:f= 1397new h(f,this);break;case b.aha:f=new d(f,this);break;default:f=null}f&&f.u_(this.cd,this.lf*this.jb);return f};a.prototype.getX=function(){return this.Ia};a.prototype.getY=function(){return this.La};a.prototype.gI=function(){return this.cd};a.prototype.Gq=function(){return this.jb};a.prototype.Xa=function(){return Math.round(this.Jb*this.jb*this.lf)};a.prototype.Ab=function(){return Math.round(this.Tb*this.jb*this.lf)};a.prototype.VD=function(f,g){if(this.sd!=f||this.Bd!=g)this.sd=f,this.Bd=g,this.t3= 1398!0,this.ke()};a.prototype.setPosition=function(f,g,p,q){if(this.Ia!=f||this.La!=g||this.cd!=p||this.jb!=q)this.Ia=f,this.La=g,this.cd=p,this.jb=q,this.cN=!0,this.ke()};a.prototype.Og=function(){if(this.t3){this.t3=!1;switch(this.Af){case k.NONE:this.lf=1;break;case k.Ro:this.lf=this.sd/this.Jb;break;case k.Rj:this.lf=this.Bd/this.Tb;break;case k.Zq:this.lf=this.Jb*this.Bd>this.Tb*this.sd?this.Bd/this.Tb:this.sd/this.Jb;break;default:this.lf=this.Jb*this.Bd>this.Tb*this.sd?this.sd/this.Jb:this.Bd/ 1399this.Tb}this.cN=!0}if(this.cN){this.cN=!1;var f=this.Xa(),g=this.Ab(),p=Math.cos(this.cd*Math.PI/180),q=Math.sin(this.cd*Math.PI/180);this.Al(.5*this.sd-this.bs*f+(this.bs-this.Ia)*p*f-(this.cs-this.La)*q*g,.5*this.Bd-this.cs*g+(this.cs-this.La)*p*g+(this.bs-this.Ia)*q*f);this.OW(this.cd);this.GN(f,g);for(f=0;f<this.pc.length;f++)this.pc[f].u_(this.cd,this.lf*this.jb)}c.prototype.Og.call(this)};a.prototype.jg=function(){var f=Math.round(this.ja),g=Math.round(this.wa);this.cT?(this.za.save(),this.za.translate(f, 14000),this.za.scale(-1,1),this.za.drawImage(this.Xb,0,0,f,g),this.za.restore(
1400)):this.za.drawImage(this.Xb,0,0,f,g);c.prototype.jg.call(this)};return a}); 1401define("ha","require ek lx dy mQ iq".split(" "),function(a){a("ek");var e=a("lx"),k=a("dy"),m=a("mQ"),l=a("iq");a=e.extend(m,function(){m.call(this,null,null);this.f3=!0});a.prototype.Bc=function(){return this.oa};a.prototype.render=function(){this.Va();this.N_()};a.prototype.OWa=function(){for(var b=1,h=0;h<this.pc.length;h++){var d=this.pc[h];d=d.Xa()*d.Ab();b<d&&(b=d)}return b};a.prototype.E3=function(b){if(b.getType()!=k.cha)throw"Invalid item type";b=new l(b,this);b.VD(this.ja,this.wa);b.setPosition(.5, 1402.5,0,1);return b};a.prototype.setSize=function(b,h){this.GN(b,h);this.f3=!0;this.ke()};a.prototype.Og=function(){if(this.f3){this.f3=!1;for(var b=0;b<this.pc.length;b++)this.pc[b].VD(this.ja,this.wa)}m.prototype.Og.call(this)};return a}); 1403define("nD",["require"],function(){var a=Math.PI/180,e=180/Math.PI,k=new THREE.Euler(0,0,0,"YXZ"),m=new THREE.Quaternion;return{create:function(){return{x:0,y:0,z:0,w:0}},Pva:function(l,b,h){m.setFromEuler(k.set(b*a,-l*a,h*a,"YXZ"));l={};l.x=m.x;l.y=m.y;l.z=m.z;l.w=m.w;return l},Wea:function(l,b){k.setFromQuaternion(m.set(l.x,l.y,l.z,l.w),"YXZ");l={};l.$a=-k.y*e;l.pitch=k.x*e;l.ng=k.z*e;b||(l.pitch=Math.min(90,Math.max(-90,l.pitch)));return l},$a:function(l){k.setFromQuaternion(m.set(l.x,l.y,l.z, 1404l.w),"YXZ");return-k.y*e}}}); 1405define("nQ",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(e,k){this.x=e||0;this.y=k||0};a.Vector2.prototype={constructor:a.Vector2,set:function(e,k){this.x=e;this.y=k;return this},copy:function(e){this.x=e.x;this.y=e.y;return this},subVectors:function(e,k){this.x=e.x-k.x;this.y=e.y-k.y;return this}};a.Vector3=function(e,k,m){this.x=e||0;this.y=k||0;this.z=m||0};a.Vector3.prototype={constructor:a.Vector3,set:function(e,k,m){this.x=e;this.y=k;this.z= 1406m;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 k=this.x,m=this.y,l=this.z,b=e.x,h=e.y,d=e.z;e=e.w;var c=e*k+h*l-d*m,f=e*m+d*k-b*l,g=e*l+b*m-h*k;k=-b*k-h*m-d*l;this.x=c*e+k*-b+f*-d-g*-h;this.y=f* 1407e+k*-h+g*-b-c*-d;this.z=g*e+k*-d+c*-h-f*-b;return this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},crossVectors:function(e,k){var m=e.x,l=e.y;e=e.z;var b=k.x,h=k.y;k=k.z;this.x=l*k-e*h;this.y=e*b-m*k;this.z=m*h-l*b;return this}};a.Quaternion=function(e,k,m,l){this.x=e||0;this.y=k||0;this.z=m||0;this.w=void 0!==l?l:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(e,k,m,l){this.x=e;this.y=k;this.z=m;this.w=l;return this},copy:function(e){this.x=e.x;this.y=e.y;this.z=e.z; 1408this.w=e.w;return this},uAa:function(e,k,m){var l=Math.cos(e/2),b=Math.cos(k/2),h=Math.cos(m/2);e=Math.sin(e/2);k=Math.sin(k/2);m=Math.sin(m/2);this.x=e*b*h+l*k*m;this.y=l*k*h-e*b*m;this.z=l*b*m-e*k*h;this.w=l*b*h+e*k*m;return this},setFromAxisAngle:function(e,k){k/=2;var m=Math.sin(k);this.x=e.x*m;this.y=e.y*m;this.z=e.z*m;this.w=Math.cos(k);return this},multiply:function(e){return this.multiplyQuaternions(this,e)},multiplyQuaternions:function(e,k){var m=e.x,l=e.y,b=e.z;e=e.w;var h=k.x,d=k.y,c=k.z; 1409k=k.w;this.x=m*k+e*h+l*c-b*d;this.y=l*k+e*d+b*h-m*c;this.z=b*k+e*c+m*d-l*h;this.w=e*k-m*h-l*d-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,k){if(0===k)return this;if(1===k)return this.copy(e);var m=this.x,l=this.y,b=this.z,h=this.w,d=h* 1410e.w+m*e.x+l*e.y+b*e.z;0>d?(this.w=-e.w,this.x=-e.x,this.y=-e.y,this.z=-e.z,d=-d):this.copy(e);if(1<=d)return this.w=h,this.x=m,this.y=l,this.z=b,this;e=Math.acos(d);var c=Math.sqrt(1-d*d);if(.001>Math.abs(c))return this.w=.5*(h+this.w),this.x=.5*(m+this.x),this.y=.5*(l+this.y),this.z=.5*(b+this.z),this;d=Math.sin((1-k)*e)/c;k=Math.sin(k*e)/c;this.w=h*d+this.w*k;this.x=m*d+this.x*k;this.y=l*d+this.y*k;this.z=b*d+this.z*k;return this},setFromUnitVectors:function(){var e,k;return function(m,l){void 0=== 1411e&&(e=new a.Vector3);k=m.dot(l)+1;1E-6>k?(k=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,l);this.x=e.x;this.y=e.y;this.z=e.z;this.w=k;this.normalize();return this}}()};return a}); 1412define("ft",["require","oR","cB","gp","nQ"],function(a){function e(){f||(f=!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",l,!1),k())}function k(){if(v&&void 0!==p&&void 0!==q){v=!1;var y=c.degToRad*q;u.uAa(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= 1413!0,g.trigger(new h(b.Wc))));g.trigger(new h(b.va))}}function m(){q=window.orientation||0;v=!0;k()}function l(y){p=y;v=!0;k()}var b=a("oR"),h=a("cB"),d=a("gp"),c=a("nQ"),f=!1,g=new d,p,q,n,r,t,u,v,w=!1,x=0;e.prototype.Fq=function(){k();return u};e.prototype.bind=function(){g.bind.apply(g,arguments)};e.prototype.unbind=function(){g.unbind.apply(g,arguments)};e.prototype.stop=function(){window.removeEventListener("orientationchange",m,!1);window.removeEventListener("deviceorientation",l,!1)};return e}); 1414define("jb","require oR cB gp v nQ".split(" "),function(a){function e(q){this.iYa=q;this.Gba=new l;this.BY=new l;this.Dda=new l;this.sD=new f.Quaternion;this.Cda=new f.Quaternion;this.qua=new f.Quaternion;this.rxa=!1;this.HY=new f.Vector3;this.Wca=new f.Vector3;this.jXa=new f.Quaternion}function k(){this.deviceId="webvr-polyfill:fused";this.gya=!1;this.fya=0;this.QO=new f.Vector3;this.gZ=new f.Vector3;this.filter=new e(.98);this.sZa=new m(.04);this.xI=p.xI();this.cn=p.cn();p.$ba();this.Mca=p.TXa(); 1415this.JY=new f.Quaternion;p.cn()?this.JY.setFromAxisAngle(new f.Vector3(1,0,0),Math.PI/2):this.JY.setFromAxisAngle(new f.Vector3(1,0,0),-Math.PI/2);this.pZ=new f.Quaternion;this.iJ=new f.Quaternion;this.bza=new f.Quaternion;this.bza.setFromAxisAngle(new f.Vector3(0,0,1),-window.orientation*Math.PI/180);this.OAa();p.nxa()&&this.JY.multiply(this.pZ);this.Ys=new f.Quaternion;this.xI=p.xI();this.cn=p.cn();this.SXa=66<=p.$ba();this.ND=this.ND.bind(this);this.ZP=this.ZP.bind(this);this.YP=this.YP.bind(this); 1416screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change",this.ND):window.addEventListener("orientationchange",this.ND);this.Mca?window.addEventListener("deviceorientation",this.ZP):window.addEventListener("devicemotion",this.YP)}function m(q){this.tZa=q;this.k_=new f.Quaternion;this.NI=null;this.lva=new f.Quaternion;this.bQ=new f.Quaternion}function l(q,n){this.set(q,n)}var b=a("oR"),h=a("cB"),d=a("gp"),c=a("v"),f=a("nQ"),g=new d;e.prototype.EUa= 1417function(q,n){this.Gba.set(q,n)};e.prototype.JUa=function(q,n){this.BY.set(q,n);p.hYa(n-this.Dda.K_)&&this.YZa();this.Dda.copy(this.BY)};e.prototype.YZa=function(){if(this.rxa){var q=this.kXa(this.BY.sample,this.BY.K_-this.Dda.K_);this.jXa.multiply(q);this.sD.copy(this.Cda);this.sD.multiply(q);q=new f.Quaternion;q.copy(this.sD);q.inverse();this.HY.set(0,0,-1);this.HY.applyQuaternion(q);this.HY.normalize();this.Wca.copy(this.Gba.sample);this.Wca.normalize();q=new f.Quaternion;q.setFromUnitVectors(this.HY, 1418this.Wca);q.inverse();var n=new f.Quaternion;n.copy(this.sD);n.multiply(q);this.sD.slerp(n,1-this.iYa);this.Cda.copy(this.sD)}else this.qua=this.DUa(this.Gba.sample),this.Cda.copy(this.qua),this.rxa=!0};e.prototype.Fq=function(){return this.sD};e.prototype.DUa=function(q){var n=new f.Vector3;n.copy(q);n.normalize();q=new f.Quaternion;q.setFromUnitVectors(new f.Vector3(0,0,-1),n);q.inverse();return q};e.prototype.kXa=function(q,n){var r=new f.Quaternion,t=new f.Vector3;t.copy(q);t.normalize();r.setFromAxisAngle(t, 1419q.length()*n);return r};k.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&&screen.orientation.removeEventListener("change",this.ND);window.removeEventListener("orientationchange",this.ND);window.removeEventListener("deviceorientation",this.ZP);window.removeEventListener("devicemotion",this.YP)};k.prototype.Mk=function(){return null};k.prototype.Fq=function(){var q=void 0;if(this.Mca&&this.KS){this.nva=this.nva||function(){var r=(new f.Quaternion).setFromAxisAngle(new f.Vector3(0, 14200,-1),0),t=new f.Quaternion;"landscape-secondary"==this.DW?t.setFromAxisAngle(new f.Vector3(0,1,0),Math.PI/-2):t.setFromAxisAngle(new f.Vector3(0,1,0),Math.PI/2);return r.multiply(t)}();this.mva=this.mva||function(){var r=new f.Quaternion;r.setFromAxisAngle(new f.Vector3(1,0,0),-Math.PI/2);return r}();q=this.KS;var n=new f.Quaternion;n.copy(q);n.multiply(this.mva);n.multiply(this.Ys);n.multiply(this.iJ);n.multiplyQuaternions(this.nva,n);this.a4a&&(n.x=0,n.z=0,n.normalize());this.c_[0]=n.x;this.c_[1]= 1421n.y;this.c_[2]=n.z;this.c_[3]=n.w;return this.c_}q=this.filter.Fq();q=this.sZa.XWa(q,this.gZ,this.NI);n=new f.Quaternion;n.copy(this.JY);n.multiply(this.Ys);n.multiply(q);n.multiply(this.iJ);return n};
1421k.prototype.resetPose=function(){this.Ys.copy(this.filter.Fq());this.Ys.x=0;this.Ys.y=0;this.Ys.z*=-1;this.Ys.normalize();p.nxa()&&this.Ys.multiply(this.pZ);this.Ys.multiply(this.bza)};k.prototype.ZP=function(q){this.KS=this.KS||new f.Quaternion;var n=q.alpha,r=q.beta;q=q.gamma;n=(n||0)*Math.PI/180; 1422r=(r||0)*Math.PI/180;q=(q||0)*Math.PI/180;this.KS.uAa(r,n,-q)};k.prototype.YP=function(q){var n=q.rotationRate;if(n){var r=q.accelerationIncludingGravity;q=q.timeStamp/1E3;this.xI&&(q/=1E3);var t=q-this.NI;t<=p.$fa||t>p.Xfa?this.NI=q:(this.QO.set(-r.x,-r.y,-r.z),this.gZ.set(n.alpha,n.beta,n.gamma),(this.cn||this.xI||this.SXa)&&this.gZ.multiplyScalar(Math.PI/180),this.filter.EUa(this.QO,q),this.filter.JUa(this.gZ,q),this.NI=q,this.gya||(this.fya++,5<=this.fya&&(this.gya=!0,g.trigger(new h(b.Wc)))), 1423this.DW!=this.Tva()&&this.ND(),g.trigger(new h(b.va)))}else this.Mca=!0,window.addEventListener("deviceorientation",this.ZP),window.removeEventListener("devicemotion",this.YP)};k.prototype.bind=function(){g.bind.apply(g,arguments)};k.prototype.unbind=function(){g.unbind.apply(g,arguments)};k.prototype.ND=function(){this.OAa();g.trigger(new h(b.va))};k.prototype.OAa=function(){this.iJ.set(0,0,0,1);this.DW=this.Tva();switch(this.DW){case "landscape-primary":this.iJ.setFromAxisAngle(new f.Vector3(0, 14240,1),-Math.PI/2);break;case "landscape-secondary":this.iJ.setFromAxisAngle(new f.Vector3(0,0,1),Math.PI/2)}this.pZ.copy(this.iJ);this.pZ.inverse()};k.prototype.Tva=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.QO.z||-4.9>this.QO.z?q=this.DW||q:0<this.QO.x&&(q="landscape-secondary")); 1425return q};m.prototype.XWa=function(q,n,r){if(!this.NI)return this.k_.copy(q),this.NI=r,q;r=new f.Vector3;r.copy(n);r.normalize();n=n.length();if(n<20*f.degToRad)return this.bQ.copy(q),this.k_.copy(q),this.bQ;this.lva.setFromAxisAngle(r,n*this.tZa);this.bQ.copy(this.k_);this.bQ.multiply(this.lva);this.k_.copy(q);return this.bQ};l.prototype.set=function(q,n){this.sample=q;this.K_=n};l.prototype.copy=function(q){this.set(q.sample,q.K_)};var p={$fa:.001,Xfa:1,hYa:function(q){return isNaN(q)||q<=p.$fa|| 1426q>p.Xfa?!1:!0}};p.cn=function(){var q=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return q}}();p.L3a=function(){var q=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return q}}();p.xI=function(){var q=-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return q}}();p.$ba=function(){var q=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),n=q?parseInt(q[1],10):null;return function(){return n}}();p.TXa= 1427function(){var q=!1;if(65===p.$ba()){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.$l&&c.mP()&&c.ic()==c.$Q&&(q=!0);return function(){return q}}();p.nxa=function(){return 90==window.orientation||-90==window.orientation};return k}); 1428define("hP","require lx oR cB gp nD v ft jb ms".split(" "),function(a){function e(){function w(){q=!0;g.trigger(new m(k.va))}function x(){var I;!B||!y&&C?C&&(I=z):I=A;n!=I&&(n&&(n.unbind(k.va,w),n.stop()),n=I)&&(n.bind(k.va,w,this,!0),w())}var y=h.zd()==h.Fi||f.Yi("debug")&&"deviceorientation"==f.getQueryParameter("sensor"),z=new c,C=!1;z.bind(k.Wc,function(){C=!0;x()},this,!0);var A=new d,B=!1;A.bind(k.Wc,function(){B=!0;x()},this,!0)}a("lx");var k=a("oR"),m=a("cB"),l=a("gp"),b=a("nD"),h=a("v"), 1429d=a("ft"),c=a("jb"),f=a("ms"),g=new l,p={},q=!1,n,r=[],t=!1,u=!1;p.Kda=function(w){w&&r.push(w);if(!p.disabled)for(;r.length;)r.pop()();else if(h.zd()==h.Fi&&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()()}; 1430x()}};p.bind=function(w,x){g.bind(k.va,w,x)};p.unbind=function(w,x){g.unbind(k.va,w,x)};p.eZa=function(){return q};p.Fq=function(){q=!1;if(n){var w=n.Fq();w=b.Wea(w);return{yaw:w.$a,pitch:w.pitch,roll:w.ng}}return{yaw:0,pitch:0,roll:0}};if(h.zd()==h.wR||h.zd()==h.Vfa||h.zd()==h.Tfa)p.Dj=!1,p.disabled=!1;else if(h.zd()==h.Rz&&h.browser()==h.$l&&"https:"!=window.location.protocol&&"localhost"!=window.location.hostname)p.Dj=!0,p.disabled=!0;else if(h.zd()==h.Fi)if(p.Dj=!0,p.disabled=!0,window.DeviceMotionEvent&& 1431DeviceMotionEvent.requestPermission)p.Kda();else{var v=function(){window.removeEventListener("deviceorientation",v,!1);p.disabled=!1;e()};window.addEventListener("deviceorientation",v,!1)}else p.Dj=void 0!=window.DeviceMotionEvent,p.disabled=!1;p.Dj&&!p.disabled&&e();return p}); 1432define("gC","require exports v lQ hP cy ms".split(" "),function(a,e,k,m,l,b,h){return function(){function d(){}d.initialize=function(c){this.Cca||(this.Cca=this.K1a().then(function(f){(this.
1432XR.jE=f)&&m.Z0a();return f}.bind(this)).catch(function(){return this.XR.jE=!1}.bind(this)));this.Cca.then(function(){c()})};d.K1a=function(){return this.M1a().then(function(c){return c?Promise.resolve(!0):this.N1a()}.bind(this))};d.M1a=function(){return navigator.xr&&"cardboard"!=h.getQueryParameter("vr_mode")? 1433this.O1a():Promise.resolve(!1)};d.N1a=function(){return this.XUa()?this.SUa():Promise.resolve(!1)};d.O1a=function(){return navigator.xr&&navigator.xr.isSessionSupported?navigator.xr.isSessionSupported("immersive-vr"):navigator.xr&&navigator.xr.supportsSession?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};d.XUa=function(){return l.Dj&&k.lb()&&k.oz()!=k.qE};d.SUa=function(){var c=this;return new Promise(function(f){b.jha.load(function(){var g;c.qZa=new window.WebXRPolyfill({overwriteNativeXR:!0, 1434cardboardConfig:{BUFFER_SCALE:null===(g=c.XR)||void 0===g?void 0:g.i_,CARDBOARD_UI_DISABLED:!1,ROTATE_INSTRUCTIONS_DISABLED:!0,MOBILE_WAKE_LOCK:!1}});c.XR.AI=!0;f(!0)})})};d.Cca=null;d.qZa=null;return d}()});define("three.mod",["require","exports"],function(){return window.THREE}); 1435define("pp",["require","exports","oR","three.mod"],function(a,e,k,m){var l=function(){function n(){}n.initialize=function(){this.XR.xq=new m.Group;this.XR.ba.bind(k.rn,this.MD,this,!0)};n.setPosition=function(r){var t;this.Wxa(this.U_,h);this.Wxa(p.copy(this.U_).premultiply(this.XR.xq.matrixWorld),b);var u=this.XR.xq.matrix;u.identity();u.multiply(p.makeTranslation(void 0===r.x?b.x:r.x,void 0===r.y?b.y:r.y,void 0===r.z?b.z:r.z));u.multiply(p.makeRotationY((void 0===r.yaw?b.yaw:-r.yaw*q)-h.yaw));u.multiply(p.makeTranslation(-h.x, 1436-h.y,-h.z));this.XR.xq.matrixAutoUpdate=!1;this.XR.xq.updateMatrixWorld(!0);null===(t=this.camera)||void 0===t?void 0:t.updateMatrixWorld(!0);this.cCa()};n.MD=function(){var r,t;this.Lz(this.XR.Ada);this.setCamera(this.XR.j_);
1436var u=null===(r=this.XR.$i)||void 0===r?void 0:r.xr.getFrame();if(r=(r=u&&this.XR.referenceSpace&&u.getViewerPose(this.XR.referenceSpace))&&r.transform)this.U_.fromArray(r.matrix),null===(t=this.camera)||void 0===t?void 0:t.updateMatrixWorld(!0),this.cCa()};n.cCa=function(){p.copy(this.U_).premultiply(this.XR.xq.matrixWorld).decompose(this.XR.Aba, 1437this.XR.TO,g)};n.Lz=function(r){this.scene!==r&&(this.scene&&this.scene.remove(this.XR.xq),(this.scene=r)&&this.scene.add(this.XR.xq))};n.setCamera=function(r){this.camera!==r&&(this.camera&&this.camera.parent===this.XR.xq&&this.XR.xq.remove(this.camera),(this.camera=r)&&this.XR.xq.add(this.camera))};n.Wxa=function(r,t){r.decompose(f,d,g);t.yaw=c.setFromQuaternion(d,"YXZ").y;t.x=f.x;t.y=f.y;t.z=f.z};n.U_=new m.Matrix4;n.scene=null;n.camera=null;return n}();new m.Matrix4;var b={x:void 0,y:void 0,z:void 0, 1438$a:void 0},h={x:void 0,y:void 0,z:void 0,$a:void 0},d=new m.Quaternion,c=new m.Euler,f=new m.Vector3,g=new m.Vector3,p=new m.Matrix4,q=Math.PI/180;window.Vl=function(n){l.setPosition({x:void 0,y:void 0,z:void 0,$a:n})};return l});define("bO",["require","exports"],function(){return{sE:"gaze",vJ:"laser"}}); 1439define("iT",["require","exports"],function(){return function(){function a(){}a.M_a=function(e,k,m,l){var b=this.XR.aj.indexOf(e);-1<b&&b!==this.XR.aj.length-1&&(this.XR.aj.splice(b,1),this.XR.aj.splice(this.XR.aj.length,0,e),this.XR.gda=e);this.XR.Jda.set(e,k);this.XR.QI.set(e,l);this.XR.Ida.set(e,m);e===this.XR.$i&&(this.XR.Ada=k,this.XR.j_=m)};a.add=function(e){this.remove(e);this.XR.aj.push(e);this.XR.gda=e};a.remove=function(e){var k=this.XR.aj.indexOf(e);-1!=k&&(this.XR.aj.splice(k,1),this.XR.gda= 14400==this.XR.aj.length?null:this.XR.aj[this.XR.aj.length-1],this.XR.Jda.delete(e),this.XR.Ida.delete(e),this.XR.QI.delete(e))};return a}()});define("iw",["require","exports"],function(){return{Dga:"Panorama",L2a:"Model3D"}});define("jk",["require","exports"],function(){return{sE:"gaze",VCa:"gaze_click"}});define("E",["require","exports"],function(){return{Rk:"Cardboard",c3a:"WebVR",fEa:"WebXR"}}); 1441define("nh",["require","exports","oR","mE","hl"],function(a,e,k,m,l){return function(){function b(){}b.initialize=function(){this.$v=this.$v.bind(this);this.b_=this.b_.bind(this);this.XR.ba.bind(k.va,this.$v,this,!0);window.addEventListener("vrdisplayblur",function(){l.Gea(!0)},!0);window.addEventListener("vrdisplayfocus",function(){l.Gea(!1)},!0)};b.$v=function(){this.XR.session?(this.Qz=this.XR.session,this.Qz.addEventListener("visibilitychange",this.b_)):(this.Qz&&this.Qz.removeEventListener("visibilitychange", 1442this.b_),this.Qz=null);l.t_(this.XR.isPresenting)};b.b_=function(){l.Gea(!this.Qz||"visible"!=this.Qz.visibilityState);m.OCa&&"visible"!=this.Qz.visibilityState&&this.XR.Tba()};b.Qz=null;return b}()}); 1443define("dv",["require","exports","v"],function(a,e,k){return function(){function m(){}m.initialize=function(){-1<[k.ft,k.Cw].indexOf(k.ic())&&(this.MBa(),document.addEventListener("visibilitychange",function(){document.hidden||this.MBa()}.bind(this),!1))};m.MBa=function(){this.pVa();this.qba=0;this.lBa()};m.lBa=function(){this.qba++;this.J_=setTimeout(this.aZa.bind(this),1E3*this.qba)};m.pVa=function(){this.J_&&(clearTimeout(this.J_),this.J_=null)};m.aZa=function(){this.J_=null;5<this.qba?window.location.reload(): 1444document.hidden||m.XR.isPresenting||(m.XR.GY(),this.lBa())};return m}()}); 1445define("fK",["require","exports","nJ","three.mod"],function(a,e,k,m){a=function(){function h(d,c){this.dot=this.ray=this.pa=null;this.pa=new m.Group;this.ray=new l(d,c);this.pa.add(this.ray.pa);this.dot=new b(d,c);this.pa.add(this.dot.pa)}h.prototype.update=function(){this.ray.update();this.dot.update()};h.prototype.dispose=function(){var d;this.pa&&(this.ray.dispose(),this.ray=null,this.dot.dispose(),this.dot=null,null===(d=this.pa.parent)||void 0===d?void 0:d.remove(this.pa),this.pa=null)};return h}(); 1446var l=function(){function h(d,c){this.xo=this.material=this.pa=null;this.color="#ffffff";this.Pe=d;this.Vc=c;this.Bea();this.pa=new m.Mesh(new m.CylinderGeometry(5E-4,5E-4,.35,8),this.material);this.pa.renderOrder=999;this.pa.position.z=-.175;this.pa.position.y=-.001;this.pa.rotation.copy(new m.Euler(-Math.PI/2,0,0,"YXZ"));this.pa.updateMatrix()}h.prototype.update=function(){this.SQ();this.jfa()};h.prototype.dispose=function(){var d;this.pa&&(this.pa.geometry.dispose(),this.Pea(),null===(d=this.pa.parent)|| 1447void 0===d?void 0:d.remove(this.pa),this.pa=null)};h.prototype.Bea=function(){if(!this.material){var d=document.createElement("canvas");d.width=d.height=256;this.xo=d.getContext("2d");this.material=new m.MeshBasicMaterial;this.material.map=new m.Texture(d);this.material.transparent=!0;this.SQ()}};h.prototype.Pea=function(){var d,c;if(this.material){var f=null===(d=this.material.map)||void 0===d?void 0:d.image;f.width=f.height=1;null===(c=this.material.map)||void 0===c?void 0:c.dispose();this.material.map= 1448null;this.material.dispose();this.xo=this.material=null}};h.prototype.jfa=function(){this.pa.visible=!this.Pe.hidden};h.prototype.SQ=function(){var d=this.jI();if(this.color!==d){this.color=d;d=k.Lq(this.color).join(", ");var c=this.material.map.image,f=this.xo.createLinearGradient(0,0,0,c.height);f.addColorStop(0,"rgba("+d+", 0)");f.addColorStop(.5,"rgba("+d+", 1)");f.addColorStop(1,"rgba("+d+", 1)");this.xo.fillStyle=f;this.xo.clearRect(0,0,c.width,c.height);this.xo.fillRect(0,0,c.width,c.height); 1449this.material.map.needsUpdate=!0;this.material.needsUpdate=!0}};h.prototype.jI=function(){return this.Pe.pressed?this.Vc.get("vrPointerSelectionColor"):this.Pe.HI?this.Vc.get("vrPointerOverColor"):this.Vc.get("vrPointerColor")};return h}(),b=function(){function h(d,c){this.xo=this.zs=this.material=this.border=this.dot=this.pa=null;this.color="#ffffff";this.Pe=d;this.Vc=c;this.P0a();this.Bea();this.pa=new m.Group;this.pa.renderOrder=999;this.border=new m.Mesh(new m.SphereGeometry(.0046,32,32),this.zs);
1450this.dot=new m.Mesh(new m.SphereGeometry(.004,32,32),this.material);this.pa.add(this.dot);this.pa.add(this.border);this.SBa()}h.prototype.update=function(){this.SQ();this.SBa();this.jfa()};h.prototype.dispose=function(){var d;this.pa&&(this.pa.remove(this.dot),this.dot.geometry.dispose(),this.Pea(),this.pa.remove(this.border),this.border.geometry.dispose(),this.E1a(),null===(d=this.pa.parent)||void 0===d?void 0:d.remove(this.pa),this.pa=null)};h.prototype.P0a=function(){if(!this.zs){var d=document.createElement("canvas"); 1451d.width=d.height=256;var c=d.getContext("2d");c.fillStyle="rgba(0, 0, 0, 0.75)";c.clearRect(0,0,d.width,d.height);c.fillRect(0,0,d.width,d.height);c=new m.MeshBasicMaterial;c.map=new m.Texture(d);c.map.needsUpdate=!0;c.transparent=!0;c.side=m.BackSide;this.zs=c;this.zs.needsUpdate=!0}};h.prototype.E1a=function(){var d,c;if(this.zs){var f=null===(d=this.zs.map)||void 0===d?void 0:d.image;f.width=f.height=1;null===(c=this.zs.map)||void 0===c?void 0:c.dispose();this.zs.map=null;this.zs.dispose();this.zs= 1452null}};h.prototype.Bea=function(){if(!this.material){var d=document.createElement("canvas");d.width=d.height=256;this.xo=d.getContext("2d");var c=new m.MeshBasicMaterial;c.map=new m.Texture(d);c.transparent=!0;this.material=c;this.SQ()}};h.prototype.Pea=function(){var d,c;if(this.material){var f=null===(d=this.material.map)||void 0===d?void 0:d.image;f.width=f.height=1;null===(c=this.material.map)||void 0===c?void 0:c.dispose();this.material.map=null;this.material.dispose();this.xo=this.material= 1453null}};h.prototype.jfa=function(){this.pa.visible=!this.Pe.hidden};h.prototype.SBa=function(){var d=this.Pe.fza||500;this.pa.position.z=-d;this.pa.scale.set(d,d,d);this.pa.updateMatrix()};h.prototype.SQ=function(){var d=this.jI();this.color!==d&&(this.color=d,d=this.material.map.image,this.xo.fillStyle=this.color,this.xo.clearRect(0,0,d.width,d.height),this.xo.fillRect(0,0,d.width,d.height),this.material.map.needsUpdate=!0,this.material.needsUpdate=!0)};h.prototype.jI=function(){return this.Pe.pressed? 1454this.Vc.get("vrPointerSelectionColor"):this.Pe.HI?this.Vc.get("vrPointerOverColor"):this.Vc.get("vrPointerColor")};return h}();new m.Matrix4;return a});define("jc",["require","exports","three.mod"],function(a,e,k){return function(){function m(){this.id=0;this.ray=new k.Ray;this.handedness="";this.Co=this.HI=!1;this.gZa=0;this.fza=void 0;this.hidden=this.yq=this.pressed=!1;this.S1a=this.FBa=0;this.id=m.ida++}m.ida=0;return m}()}); 1455define("hy","require exports oR v fK jc three.mod".split(" "),function(a,e,k,m,l,b,h){var d=[0,1];a=function(){function f(){}f.initialize=function(){this.XR.ba.bind(k.va,this.$v.bind(this),this,!0);this.XR.ba.bind(k.rn,this.MD.bind(this),this,!0);this.Zv=this.Zv.bind(this);this.Yv=this.Yv.bind(this);this.QZ=this.QZ.bind(this);this.SZ=this.SZ.bind(this);this.RZ=this.RZ.bind(this)};f.Wb=function(g){this.enabled=g};f.isConnected=function(){return this.xY.some(function(g){return g})};f.HAa=function(g){var p; 1456if(0<this.Ts.length!==g)if(g){var q=new h.DirectionalLight(16777215,1);q.position.set(1,1,0).normalize();null===(p=this.Rl)||void 0===p?void 0:p.add(q);this.Ts.push(q)}else for(;this.Ts.length;)p=this.Ts.pop(),null===(q=this.Rl)||void 0===q?void 0:q.remove(p)};f.TAa=function(g){this.M_!==g&&((this.M_=g)?this.Mv.forEach(this.eya.bind(this)):this.Mv.forEach(this.Qza.bind(this)))};f.d_a=function(g){this.UWa(g)};f.$v=function(){this.XR.isPresenting?d.forEach(function(g){this.R0a(g);this.S0a(g)}.bind(this)): 1457d.forEach(function(g){this.I1a(g);this.H1a(g);this.G1a(g)}.bind(this))};f.MD=function(){this.n0a(this.enabled&&this.XR.xq||null);this.gfa();this.a2a()};f.gfa=function(){if(this.enabled){for(;this.XR.Bg.length;)this.XR.Bg.pop();d.forEach(function(g){var p=this.controllers[g];if(p&&this.xY[g]){var q=this.mD[g];this.RBa(g);q.ray.origin.setFromMatrixPosition(p.matrixWorld);q.ray.direction.set(0,0,-1).applyMatrix4(c.extractRotation(p.matrixWorld));g=(g=(g=this.Mv[g].motionController)&&g.components["xr-standard-thumbstick"])&& 1458g.values;q.FBa=g&&g.xAxis||0;q.S1a=g&&g.yAxis||0;this.XR.Bg.push(q)}}.bind(this))}};f.a2a=function(){this.enabled&&d.forEach(function(g){g=this.bP[g];
1458null===g||void 0===g?void 0:g.update()}.bind(this))};f.V0a=function(){if(!this.Qba){var g=new h.RoomEnvironment(this.XR.$i);this.Qba=(new h.PMREMGenerator(this.XR.$i)).fromScene(g).texture}};f.R0a=function(g){var p=this.XR.$i.xr.getController(g);this.controllers[g]!=p&&(p.addEventListener("selectstart",this.Zv),p.addEventListener("selectend",this.Yv), 1459p.addEventListener("connected",this.QZ),p.addEventListener("disconnected",this.SZ),this.controllers[g]=p,this.mD[g]=new b)};f.G1a=function(g){var p=this.controllers[g];p&&(p.removeEventListener("selectstart",this.Zv),p.removeEventListener("selectend",this.Yv),p.removeEventListener("connected",this.QZ),p.removeEventListener("disconnected",this.SZ),this.controllers[g]=null)};f.S0a=function(g){if(!this.lD[g]){var p=this.XR.$i.xr.getControllerGrip(g);this.wY||(this.wY=new h.XRControllerModelFactory); 1460this.wY.path=h.vR;var q=this.wY.createControllerModel(p,this.w2a);q.addEventListener("loaded",this.RZ);this.Mv[g]=q;p.add(q);this.lD[g]=p}};f.w2a=function(g){g=Array.from(g.profiles);if(m.GD())g=["meta-quest-touch-plus"].concat(g);else if(m.BI())g=["oculus-touch-v3"].concat(g);else if(m.uxa())g=["generic-trigger"].concat(g);else if(m.vxa()||0<=g.indexOf("pico-phoenix")||0<=g.indexOf("pico-4"))g=["pico-4"].concat(g);else if(m.Axa()||0<=g.indexOf("htc-vive-focus-3")||0<=g.indexOf("htc-vive-focus-3-plus"))g= 1461["htc-vive-focus-3"].concat(g);else if(m.dYa()||m.aYa()||m.pxa()||0<=g.indexOf("pico-g2")||0<=g.indexOf("pico-neo2")||0<=g.indexOf("pico-neo3"))g=["generic-trigger"].concat(g);return g};f.H1a=function(g){var p,q=this.lD[g];if(q){var n=this.Mv[g];this.Mv[g]=null;n.removeEventListener("loaded",this.RZ);q.remove(n);this.lD[g]=null;null===(p=q.parent)||void 0===p?void 0:p.remove(q)}};f.T0a=function(g){if(!this.bP[g]){var p=this.XR.QI.get(this.XR.$i);p=new l(this.mD[g],p);this.bP[g]=p;this.controllers[g].add(p.pa)}}; 1462f.I1a=function(g){var p=this.bP[g];p&&(p.dispose(),this.bP[g]=null)};f.n0a=function(g){this.Rl!==g&&(this.Rl=g,this.g2a())};f.g2a=function(){this.controllers.forEach(function(g){var p,q;g&&g.parent!=this.Rl&&(null===(p=g.parent)||void 0===p?void 0:p.remove(g),null===(q=this.Rl)||void 0===q?void 0:q.add(g))}.bind(this));this.lD.forEach(function(g){var p,q;g&&g.parent!=this.Rl&&(null===(p=g.parent)||void 0===p?void 0:p.remove(g),null===(q=this.Rl)||void 0===q?void 0:q.add(g))}.bind(this));this.Ts.forEach(function(g){var p, 1463q;g.parent!==this.Rl&&(null===(p=g.parent)||void 0===p?void 0:p.remove(g),null===(q=this.Rl)||void 0===q?void 0:q.add(g))}.bind(this))};f.Zv=function(g){g=this.UY(g.target);g=this.mD[g];g.pressed=!0;this.XR.ba.trigger(k.uA,{pointerState:g})};f.Yv=function(g){g=this.UY(g.target);g=this.mD[g];g.pressed=!1;this.XR.ba.trigger(k.uA,{pointerState:g});this.XR.ba.trigger(k.$f,{pointerState:g})};f.QZ=function(g){var p,q;if("gaze"!=g.data.targetRayMode){var n=this.UY(g.target);this.T0a(n);null===(p=this.Rl)|| 1464void 0===p?void 0:p.add(this.controllers[n]);null===(q=this.Rl)||void 0===q?void 0:q.add(this.lD[n]);this.xY[n]=!0;this.eva[n]=g.data.gamepad;this.mD[n].handedness=g.data.handedness;this.XR.ba.trigger(k.ufa)}};f.Ica=function(g){return g.profiles.some(function(p){return 0<=p.indexOf("hand")})};f.SZ=function(g){var p,q;g=this.UY(g.target);null===(p=this.Rl)||void 0===p?void 0:p.remove(this.controllers[g]);null===(q=this.Rl)||void 0===q?void 0:q.remove(this.lD[g]);this.xY[g]=!1;this.eva[g]=null;this.XR.ba.trigger(k.vfa)}; 1465f.RZ=function(g){var p=this.sWa(g.target),q=this.Mv[p];this.V0a();q.setEnvironmentMap(this.Qba);this.M_?this.eya(q):this.Qza(q);q.userData.Ica=this.Ica(g.target.motionController.xrInputSource);q.userData.Vh=!0;this.RBa(p)};f.RBa=function(g){var p=this.Mv[g];p.userData.Vh&&(g=this.mD[g],p.visible=p.userData.Ica||g.hidden?!1:!0)};f.eya=function(g){g&&g.traverse(function(p){if("isMesh"in p&&p.material){var q=p.material;if(!q.userData.Kq){var n=q.userData.rYa;n||(n=q.clone(),q.userData.rYa=n,n.userData.Kq= 1466q,n.transparent||(n.transparent=!0,n.opacity=1,"map"in n&&n.map&&(n.map=this.wVa(n.map)),n.needsUpdate=!0))}p.material=n;void 0===p.userData.rda&&(p.userData.rda=p.renderOrder);p.renderOrder=1E3}}.bind(this))};f.Qza=function(g){g&&g.traverse(function(p){if("isMesh"in p&&p.material){var q=p.material;q.userData.Kq&&(p.material=q.userData.Kq);void 0==p.userData.rda&&(p.renderOrder=p.userData.rda)}}.bind(this))};f.wVa=function(g){if(!g)return null;var p=document.createElement("canvas");p.width=g.image.width; 1467p.height=g.image.height;var q=p.getContext("2d");
1467q.drawImage(g.image,0,0);for(var n=q.getImageData(0,0,p.width,p.height),r=n.data,t=0;t<r.length;t+=4)r[t+3]=255;q.putImageData(n,0,0);g=(new h.Texture).copy(g);g.image=p;g.needsUpdate=!0;return g};f.UY=function(g){return this.controllers.indexOf(g)};f.sWa=function(g){return this.Mv.indexOf(g)};f.UWa=function(g){this.XR.Bg.indexOf(g)};f.enabled=!0;f.controllers=[null,null];f.xY=[!1,!1];f.lD=[null,null];f.Mv=[null,null];f.wY=null;f.bP=[null,null];f.eva= 1468[null,null];f.Ts=[];f.M_=!1;f.mD=[];f.Rl=null;f.Qba=null;return f}();var c=new h.Matrix4;return a}); 1469define("lT",["require","exports"],function(){return function(){function a(e){this.qc=this.Fr(e.get("vrPointerColor"));this.nv=this.Fr(e.get("vrPointerSelectionColor"));this.Av=this.zk([0,0,0],0);this.UW=this.zk([0,0,0],.125);this.CIa=this.zk(this.qc,1);this.DIa=this.zk(this.nv,1);this.FGa=this.zk(this.nv,1);this.EGa=this.zk(this.qc,.5);this.CGa=this.zk(this.qc,1);this.DGa=this.zk(this.nv,1);this.Ah=this.uf=64;this.u2=4E3;this.gka=.1;this.Xk=.16;this.co=.04;this.eja=this.qS=.68-this.co;this.pS=1-this.co; 1470this.O=document.createElement("canvas");this.O.width=this.uf;this.O.height=this.Ah;this.za=this.O.getContext("2d");this.ad=this.Wt=!1;this.$F=this.wV=void 0;this.KA=0}a.prototype.Fr=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.zk=function(e,k){return"rgba("+e.join(",")+", "+k+")"};a.prototype.$D=function(e,k){this.ad=e;this.wV=k};a.prototype.jw=function(e){this.Wt=e};a.prototype.yd=function(){return this.uf}; 1471a.prototype.je=function(){return this.Ah};a.prototype.Xf=function(){return this.O};a.prototype.update=function(e){return this.Wt?this.GIa(e):this.ad?this.LIa():this.KIa()};a.prototype.dispose=function(){this.za=null;this.O.width=this.O.height=1};a.prototype.aF=function(){var e;null===(e=this.za)||void 0===e?void 0:e.clearRect(0,0,this.uf,this.Ah)};a.prototype.KIa=function(){if(this.$F==a.Sfa)return!1;this.aF();this.mka(this.CIa);this.$F=a.Sfa;return!0};a.prototype.LIa=function(){if(void 0===this.wV){if(this.$F== 1472a.U)return!1;this.aF();this.mka(this.DIa)}else this.rOa(this.wV);this.$F=a.U;return!0};a.prototype.GIa=function(e){for(this.KA+=e;this.KA>this.u2;)this.KA-=this.u2;this.zGa(this.KA/this.u2);this.$F=a.bR;return!0};a.prototype.mka=function(e){this.lj(this.gka+this.co,0,this.Av,this.UW,0,2*Math.PI);this.lj(this.gka,0,this.Av,e,0,2*Math.PI)};a.prototype.MIa=function(e){this.lj(this.qS-.5*(this.Xk+this.co),this.Xk+this.co,this.UW,this.Av,0,2*Math.PI);this.lj(this.qS-.5*this.Xk,this.Xk,this.EGa,this.Av, 14730,2*Math.PI);this.lj(this.qS-.5*this.Xk,this.Xk,this.FGa,this.Av,.5*Math.PI,(.5+2*e)*Math.PI)};a.prototype.HIa=function(e,k){this.lj(this.eja-.5*(this.Xk+this.co),this.Xk+this.co,this.UW,this.Av,0,2*Math.PI);this.lj(this.eja-.5*this.Xk,this.Xk,this.CGa,this.Av,0,2*Math.PI);e=(.5+2*e)*Math.PI;for(k=(.5+2*k)*Math.PI;k<e;)k+=2*Math.PI;var m=e-this.co/(2*this.pS*Math.PI),l=k+this.co/(2*this.pS*Math.PI);Math.abs(l-m+2*Math.PI)<2*this.co&&(m=0,l=k);this.lj(this.pS-.5*(this.Xk+this.co),this.Xk+this.co,this.UW, 1474this.Av,m,l);this.lj(this.pS-.5*this.Xk,this.Xk,this.DGa,this.Av,e,k)};a.prototype.lj=function(e,k,m,l,b,h){var d=Math.round(.5*this.uf),c=Math.round(.5*this.Ah),f=Math.min(d,c);e=Math.round(e*f);var g=this.za;g&&(g.imageSmoothingEnabled=!0,g.lineWidth=k*f,g.strokeStyle=m,g.fillStyle=l,g.beginPath(),g.arc(d,c,e,b,h,!1),g.stroke(),g.fill())};a.prototype.zGa=function(e){this.aF();if(.25>e){var k=e/.25;e=.5*k}else.5>e?(k=(e-.25)/.25,e=.5+k,k=1+.5*k):.75>e?(k=(e-.5)/.25,e=.5+.5*k,k=.5+k):(e=k=(e-.75)/ 1475.25,k=.5+.5*k);this.HIa(e,k)};a.prototype.rOa=function(e){this.aF();this.MIa(e)};a.Sfa="initial";a.bR="changing";a.U="over";return a}()});define("mM",["require"],function(){return{W2a:"single",FRONT:"front",Ya:"left",BACK:"back",rb:"right",vc:"top",oc:"bottom"}}); 1476define("hc",["require","mM"],function(a){a=a("mM");var e={},k=Math.PI/180,m=new THREE.Matrix4;new THREE.Matrix4;var l=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];e.qg=500;e.j0=.5*e.qg;e.KDa=e.qg;e.Tga=[a.FRONT,a.rb,a.BACK,a.Ya,a.vc,a.oc];e.hva=function(b,h){for(var d=e.qg,c=e.j0,f=b*h,g=this.$t(),p=[],q=0,n=6*f;q<n;q++)p.push(q);q=[];var r=f;q.push(this.LE(g,b,h,-c,+c,-c,+d,0,-d,0,p.slice(0,r)));n=r;r+=f;q.push(this.LE(g,b,h,+c,+c, 1477-c,0,+d,-d,0,p.slice(n,r)));n=r;r+=f;q.push(this.LE(g,b,h,+c,+c,+c,-d,0,-d,0,p.slice(n,r)));n=r;r+=f;q.push(this.LE(g,b,h,-c,+c,+c,0,-d,-d,0,p.slice(n,r)));n=r;r+=f;q.push(this.LE(g,b,h,-c,+c,+c,+d,0,0,-d,p.slice(n,r)));q.push(this.LE(g,b,h,-c,-c,-c,+d,0,0,+d,p.slice(r,r+f)));g.mergeVertices();g.computeFaceNormals();g.userData.type="cube";g.userData.Ywa=b;g.userData.fCa=h;g.userData.nZa=q;return e.fO(g)};e.XH=function(){var b=this.$t();this.cia(b,-.5,.5,0,1,0,0,0,-1,0,0);b.mergeVertices();b.computeFaceNormals(); 1478b.userData.type="plane";return e.fO(b)};e.gva=function(b,h,d,c,f,g,p,q,n,r,t,u){var v=this.$t();v.vertices.push(new THREE.Vector3(b,h,d));v.vertices.push(new THREE.Vector3(c,f,g));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, 14791),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);v.mergeVertices();v.computeFaceNormals();v.userData.type="quad";return e.fO(v)};e.JAa=function(b,h,d,c,f){b=e.J$(b);var g=b.faceVertexUvs[0][0];g[0].x=h;g[0].y=d+f;g[1].x=h;g[1].y=d;g[2].x=h+c;g[2].y=d;g=b.faceVertexUvs[0][1];g[0].x=h;g[0].y=d+f;g[1].x=h+c;g[1].y=d;g[2].x=h+c;g[2].y=d+f;b.uvsNeedUpdate=!0;return e.fO(b,!0)};e.Dq=function(){return e.j0};e.mca=function(b,h){return 2*b*Math.tan(.5*h*k)};e.nca=function(b,h){return 2*b*Math.tan(.5*h*k)}; 1480e.Ls=function(b){return Math.max(Math.min(3.539647*b-6.669366*b*b+4.7454*b*b*b,e.j0),.1)};e.$t=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.TH&&b.userData.TH.dispose(),b.dispose())};e.fO=function(b,h){if(b.isBufferGeometry)return b;if(b.isGeometry){if(!b.userData.TH||h)b.userData.TH&&b.userData.TH.dispose(),h=b.toBufferGeometry(),(h.userData= 1481{}).geometry=b,b.userData.TH=h;return b.userData.TH}return null};e.J$=function(b){return b.isGeometry?b:b.isBufferGeometry&&b.userData&&b.userData.geometry?b.userData.geometry:null};e.LE=function(b,h,d,c,f,g,p,q,n,r,t){for(var u={},v=0,w=0;w<d;w++){u[w]={};for(var x=0;x<h;x++)this.cia(b,c+p*x/h+0*w/d,f+0*x/h+n*w/d,g+q*x/h+r*w/d,p/h,0/h,q/h,0/d,n/d,r/d,t[v]),u[w][x]=b.faces.slice(b.faces.length-2,b.faces.length),v+=1}return u};e.F3a=function(b,h,d){h=.5*h/Math.tan(.5*d);m.copy(b);b=l[0];b.x=0;b.y= 14820;b.z=0;
1482b.applyMatrix4(m);d=Math.sqrt(b.x*b.x+b.y*b.y+b.z*b.z);var c=h/b.z,f=l[1];f.x=b.x*c;f.y=b.y*c;f.z=h;return d/Math.sqrt(f.x*f.x+f.y*f.y+f.z*f.z)};e.MWa=function(b,h,d){b=e.J$(b);m.copy(h.matrixWorldInverse).multiply(d);switch(b.userData.type){case "cube":return e.cLa(b,m,h.projectionMatrix);default:return e.dLa(b)}};e.IWa=function(b,h,d){b=e.J$(b);switch(b.userData.type){case "plane":return e.HKa(b,h,d);case "quad":return e.qla(b,1,h,d)||e.qla(b,0,h,d);default:return null}};e.cia=function(b, 1483h,d,c,f,g,p,q,n,r,t){var u=b.vertices.length;b.vertices.push(new THREE.Vector3(h,d,c));b.vertices.push(new THREE.Vector3(h+q,d+n,c+r));b.vertices.push(new THREE.Vector3(h+f+q,d+g+n,c+p+r));b.vertices.push(new THREE.Vector3(h+f,d+g,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, 14840),new THREE.Vector2(1,1)])};e.HKa=function(b,h,d){var c=b.faces[0],f=b.faces[1],g=l[0],p=l[1],q=l[2];g.copy(b.vertices[c.a]).applyMatrix4(h);p.copy(b.vertices[f.c]).applyMatrix4(h);q.copy(b.vertices[c.b]).applyMatrix4(h);h=p.x-g.x;f=p.y-g.y;var n=p.z-g.z;p=q.x-g.x;var r=q.y-g.y;q=q.z-g.z;var t=f*q-n*r,u=n*p-h*q,v=h*r-f*p,w=d.direction.x*t+d.direction.y*u+d.direction.z*v;if(0!=w&&(v=-(t*(d.origin.x-g.x)+u*(d.origin.y-g.y)+v*(d.origin.z-g.z))/w,!(0>=v||(t=d.origin.x+d.direction.x*v-g.x,u=d.origin.y+ 1485d.direction.y*v-g.y,g=d.origin.z+d.direction.z*v-g.z,d=(h*t+f*u+n*g)/(h*h+f*f+n*n),g=(p*t+r*u+q*g)/(p*p+r*r+q*q),h=b.faceVertexUvs[0][0][0],f=b.faceVertexUvs[0][1][2],b=b.faceVertexUvs[0][0][1],0>d||1<d||0>g||1<g))))return{NBa:h.x+(f.x-h.x)*d+(b.x-h.x)*g,dCa:h.y+(f.y-h.y)*d+(b.y-h.y)*g,materialIndex:c.materialIndex}};e.qla=function(b,h,d,c){var f=b.faces[h],g=l[0],p=l[1],q=l[2];g.copy(b.vertices[f.a]).applyMatrix4(d);p.copy(b.vertices[f.b]).applyMatrix4(d);q.copy(b.vertices[f.c]).applyMatrix4(d); 1486d=p.x-g.x;var n=p.y-g.y,r=p.z-g.z;p=q.x-g.x;var t=q.y-g.y;q=q.z-g.z;var u=n*q-r*t,v=r*p-d*q,w=d*t-n*p,x=c.direction.x*u+c.direction.y*v+c.direction.z*w;if(0!=x&&(w=-(u*(c.origin.x-g.x)+v*(c.origin.y-g.y)+w*(c.origin.z-g.z))/x,!(0>=w))){u=c.origin.x+c.direction.x*w-g.x;v=c.origin.y+c.direction.y*w-g.y;c=c.origin.z+c.direction.z*w-g.z;if(0!=(g=t*d-p*n))d=(v*d-u*n)/g,n=(v*p-u*t)/-g;else if(0!=(g=q*d-p*r))d=(v*d-u*n)/g,n=(v*p-u*t)/-g;else if(0!=(g=q*n-t*r))d=(c*n-v*r)/g,n=(c*t-v*q)/-g;else return;if(!(0> 1487n||1<n||0>d||1<d||1<n+d))return p=b.faceVertexUvs[0][h][0],t=b.faceVertexUvs[0][h][1],b=b.faceVertexUvs[0][h][2],{NBa:p.x+(t.x-p.x)*n+(b.x-p.x)*d,dCa:p.y+(t.y-p.y)*n+(b.y-p.y)*d,materialIndex:f.materialIndex}}};e.cLa=function(b,h,d){var c=Array.prototype.concat.apply([],b.userData.nZa.map(function(f){return e.Ila(h,d,f,b.vertices,0,0,b.userData.Ywa,b.userData.fCa).map(function(g){return g.materialIndex})}));return e.Sla(c)};e.dLa=function(b){b=b.faces.map(function(h){return h.materialIndex});return e.Sla(b)}; 1488e.Sla=function(b){var h={};b.forEach(function(c){h[c]=!0});b=[];for(var d in h)b.push(d);return b};e.Ila=function(b,h,d,c,f,g,p,q){var n=[];if(e.kSa(b,h,c[d[g][f][0].a],c[d[g+q-1][f][0].b],c[d[g+q-1][f+p-1][0].c],c[d[g][f+p-1][1].c]))if(1==p&&1==q)n.push(d[g][f][0]);else for(g=1<q?[g,g+Math.ceil(.5*q),g+q]:[g,g+q],f=1<p?[f,f+Math.ceil(.5*p),f+p]:[f,f+p],p=1;p<g.length;p++){q=g[p-1];for(var r=g[p]-q,t=1;t<f.length;t++){var u=f[t-1];n=n.concat(e.Ila(b,h,d,c,u,q,f[t]-u,r))}}return n};e.kSa=function(b, 1489h,d,c,f,g){var p=[null,null,null,null,null];l[0].copy(d).applyMatrix4(b);l[1].copy(c).applyMatrix4(b);l[2].copy(f).applyMatrix4(b);l[3].copy(g).applyMatrix4(b);d=0;c=4;for(b=0;4>b;b++){f=l[(b+3)%4];g=l[b];var q=l[(b+1)%4];if(0>=g.z)p[d++]=g;else{if(0>=f.z){var n=l[c++],r=f.z/(f.z-g.z);n.x=f.x+(g.x-f.x)*r;n.y=f.y+(g.y-f.y)*r;n.z=-1E-5;p[d++]=n}0>=q.z&&(n=l[c++],r=g.z/(g.z-q.z),n.x=g.x+(q.x-g.x)*r,n.y=g.y+(q.y-g.y)*r,n.z=-1E-5,p[d++]=n)}}if(2<d){for(b=0;b<d;b++)p[b].applyMatrix4(h);b=0;for(h=d-2;b< 1490h;b++)if(d=p[b],c=p[b+1],f=p[b+2],!(1<d.x&&1<c.x&&1<f.x||-1>
1490d.x&&-1>c.x&&-1>f.x||1<d.y&&1<c.y&&1<f.y||-1>d.y&&-1>c.y&&-1>f.y))return!0}return!1};e.iva=function(b,h,d,c,f,g,p,q,n){var r=b*k,t=.5*-r+.5*Math.PI,u=h*k,v=.5*(Math.PI-u)-d*k,w=.5*e.KDa,x=64/Math.PI,y=Math.max(2,Math.ceil(r/c*x));x=Math.max(2,Math.ceil(u/f*x));for(var z=c*y,C=f*x,A=this.$t(),B=0,I=[],E=0;E<=C;E++){for(var G=[],F=v+E*u/C,N=0;N<=z;N++){var R=-(t+N*r/z);A.vertices.push(new THREE.Vector3(-w*Math.cos(R)*Math.sin(F),+w*Math.cos(F), 1491+w*Math.sin(R)*Math.sin(F)));G.push(B++)}I.push(G)}for(t=r=0;t<f;t++)for(u=t*x,v=0;v<c;v++){w=v*y;for(E=0;E<x;E++)for(z=p+(1-E/x)*n,C=p+(1-(E+1)/x)*n,N=0;N<y;N++){B=g+N/y*q;G=g+(N+1)/y*q;F=I[u+E][w+N];R=I[u+E+1][w+N+1];var S=I[u+E][w+N+1];A.faces.push(new THREE.Face3(F,I[u+E+1][w+N],R,null,null,r));A.faceVertexUvs[0].push([new THREE.Vector2(B,z),new THREE.Vector2(B,C),new THREE.Vector2(G,C)]);A.faces.push(new THREE.Face3(F,R,S,null,null,r));A.faceVertexUvs[0].push([new THREE.Vector2(B,z),new THREE.Vector2(G, 1492C),new THREE.Vector2(G,z)])}r++}A.mergeVertices();A.computeFaceNormals();A.userData.type="sphere";A.userData.Be=b;A.userData.Xq=h;A.userData.pitch=d;A.userData.Ywa=c;A.userData.fCa=f;return e.fO(A)};return e}); 1493define("cE","require exports three.mod lT bh hc".split(" "),function(a,e,k,m,l,b){a=function(){function d(c,f){this.Nv=this.Eo=null;this.Pe=c;this.Vc=f;this.canvas=new m(f);this.DVa();this.zVa();this.pa=new k.Group;this.pa.add(this.Eo);this.pa.add(this.Nv)}d.prototype.update=function(){this.canvas.update(l.Nva)&&(this.Eo.material.map.needsUpdate=!0);var c=b.Ls(this.Vc.get("vrPointerDistance",2)),f=2*c*Math.tan(d.ZCa/2);this.pa.matrixAutoUpdate=!1;this.pa.matrixWorldNeedsUpdate=!1;this.pa.matrix.identity(); 1494this.pa.matrix.multiply(h.makeTranslation(0,0,-c));this.pa.matrix.multiply(h.makeScale(f,f,f));this.pa.updateMatrixWorld(!0)};d.prototype.Se=function(c){this.Eo.material.opacity=c};d.prototype.$D=function(c,f){void 0===f&&(f=void 0);this.canvas.$D(c,f)};d.prototype.jw=function(c){this.canvas.jw(c)};d.prototype.dispose=function(){var c;this.SVa();this.PVa();this.canvas.dispose();null===(c=this.pa.parent)||void 0===c?void 0:c.remove(this.pa);this.pa=null};d.prototype.PVa=function(){var c;if(this.Nv){this.Nv.geometry.dispose(); 1495var f=this.Nv.material.map.source;f.width=f.height=1;this.Nv.material.map.dispose();null===(c=this.Nv.parent)||void 0===c?void 0:c.remove(this.Nv);this.Nv=null}};d.prototype.zVa=function(){var c=document.createElement("canvas");c.width=c.height=256;var f=c.getContext("2d");f.fillStyle="rgba(0, 0, 0, 0)";f.fillRect(0,0,256,256);f=new k.Texture;f.image=c;f.generateMipmaps=!0;f.minFilter=k.LinearMipMapLinearFilter;f.needsUpdate=!0;c=new k.MeshBasicMaterial({map:f,transparent:!0});c.map.needsUpdate=!0; 1496c.needsUpdate=!0;c=new k.Mesh(new k.PlaneGeometry,c);c.renderOrder=1E4;this.Nv=c};d.prototype.SVa=function(){var c;this.Eo&&(this.Eo.geometry.dispose(),this.Eo.material.map.dispose(),this.Eo.material.dispose(),null===(c=this.Eo.parent)||void 0===c?void 0:c.remove(this.Eo),this.Eo=null)};d.prototype.DVa=function(){var c=new k.PlaneGeometry,f=new k.Texture;this.canvas.update(10);f.image=this.canvas.Xf();f.generateMipmaps=!0;f.minFilter=k.LinearMipMapLinearFilter;f.needsUpdate=!0;f=new k.MeshBasicMaterial({map:f, 1497transparent:!0});this.Eo=new k.Mesh(c,f);this.Eo.renderOrder=1E4};d.ZCa=6*Math.PI/180;return d}();var h=new k.Matrix4;return a}); 1498define("jf","require exports oR jc cE jk bh three.mod".split(" "),function(a,e,k,m,l,b,h,d){a=function(){function c(){}c.initialize=function(){this.Zv=this.Zv.bind(this);this.Yv=this.Yv.bind(this);this.XR.ba.bind(k.va,this.$v.bind(this),this,!0);this.XR.ba.bind(k.rn,this.MD.bind(this),this,!0);this.XR.ba.bind(k.Yo,this.SYa.bind(this),this,!0)};c.Wb=function(f){this.enabled=f;this.UBa()};c.$v=function(){this.UBa()};c.MD=function(){this.setCamera(this.enabled&&this.XR.j_||null);this.gfa();this.k2a()}; 1499c.SYa=function(){this.XR.Pda==b.$ga&&this.XR.ba.trigger(k.$f,{pointerState:this.Pe})};c.UBa=function(){this.XR.isPresenting&&this.enabled?this.Fea():this.Tea()};c.setCamera=function(f){this.camera!==f&&(this.camera=f,this.m2a())};c.gfa=function(){this.XR.tD.origin.copy(this.XR.Aba);this.XR.tD.direction.set(0,0,-1).applyQuaternion(this.XR.TO);if(this.enabled){if(1!=this.XR.Bg.length&&this.XR.Bg[0]!==this.Pe){for(;this.XR.Bg.length;)this.XR.Bg.pop();this.XR.Bg.push(this.Pe)}this.Pe.ray.copy(this.XR.tD)}}; 1500c.m2a=function(){this.me&&this.me.pa.parent!==this.camera&&(this.me.pa.parent&&this.me.pa.parent.remove(this.me.pa),this.camera.add(this.me.pa))};c.Fea=function(){var f;
1500this.me||(this.me=new l(this.Pe,this.XR.QI.get(this.XR.$i)),null===(f=this.camera)||void 0===f?void 0:f.add(this.me.pa),this.controller=this.XR.$i.xr.getController(0),this.controller.addEventListener("selectstart",this.Zv),this.controller.addEventListener("selectend",this.Yv))};c.Tea=function(){this.me&&(this.me.dispose(),this.me= 1501null,this.controller.removeEventListener("selectstart",this.Zv),this.controller.removeEventListener("selectend",this.Yv),this.controller=null)};c.k2a=function(){var f,g,p,q;if(this.enabled){this.Co!=this.Pe.Co&&(this.Co=this.Pe.Co)&&(this.kBa=h.Wd);if(this.XR.Pda==b.sE){var n=this.Co?h.Wd-this.kBa:0;var r=this.XR.QI.get(this.XR.$i).get("vrPointerSelectionTime");this.gza<r&&n>=r&&this.XR.ba.trigger(k.$f,{pointerState:this.Pe});this.gza=n;null===(f=this.me)||void 0===f?void 0:f.$D(this.Co&&this.Pe.HI, 1502Math.min(1,n/r))}else null===(n=this.me)||void 0===n?void 0:n.$D(this.Pe.HI);this.Pe.Co||this.Pe.yq?this.HP=void 0:void 0==this.HP&&(f=this.XR.QI.get(this.XR.$i).get("vrGazePointerHideTime"),void 0!==f&&(this.HP=h.Wd+f));f=(void 0!==this.HP?this.HP:Infinity)-h.Wd;null===(g=this.me)||void 0===g?void 0:g.Se(this.Pe.hidden?0:Math.max(.01,Math.min(1,f/500)));null===(p=this.me)||void 0===p?void 0:p.jw(this.Pe.yq);null===(q=this.me)||void 0===q?void 0:q.update()}};c.Zv=function(){this.Pe.pressed=!0;this.XR.ba.trigger(k.uA, 1503{pointerState:this.Pe})};c.Yv=function(){this.Pe.pressed=!1;this.XR.ba.trigger(k.uA,{pointerState:this.Pe});this.XR.ba.trigger(k.$f,{pointerState:this.Pe})};c.Pe=new m;c.enabled=!1;c.camera=null;c.me=null;c.Co=!1;c.kBa=0;c.gza=0;c.HP=void 0;c.controller=null;return c}();new d.Matrix4;return a}); 1504define("km","require exports oR bO hy jf".split(" "),function(a,e,k,m,l,b){return function(){function h(){}h.w0a=function(d){this.xza=d};h.initialize=function(){this.XR.ba.bind(k.va,this.$v.bind(this),this,!0);this.XR.ba.bind(k.rn,this.MD.bind(this),this,!0);this.XR.ba.bind(k.ufa,this.DYa.bind(this),this,!0);this.XR.ba.bind(k.vfa,this.EYa.bind(this),this,!0)};h.$v=function(){this.hfa()};h.MD=function(){};h.DYa=function(){this.hfa()};h.EYa=function(){this.hfa()};h.hfa=function(){var d=this.XR.isPresenting?
1505this.xza===m.vJ&&l.isConnected()?m.vJ:m.sE:null;this.pointerType!==d&&(this.pointerType=d,l.Wb(d===m.vJ),b.Wb(d===m.sE))};h.xza=m.vJ;h.pointerType=null;return h}()}); 1506define("cf",["require"],function(){return{Rk:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAckAAACACAMAAABXwWJTAAAAYFBMVEUAAACAgICAgICAgIDzbUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUTzbUSAgIBEWPGZAAAAHnRSTlMAgL9AgBDvn2Aw388gj69wUO8QRb9gn98gzzCvcI9pmC3GAAAPKUlEQVR42uyc65raIBBABxAISUiy6rq3Vt7/LXvb7YATIEmxX9ScX7YiZnMyyGUANu6O1+fdbfH8ChuU55fz7XE8wEbI+9v5NjkujEvRW87dT2resaGFe+H5fLM8vcNcZNUpF9JYA/fA4XzDzFXZauXGqCsJq8J9wmAyr0/nW+ZtP8uji6IYrIkFJk/n22YHk2EuSS1gPcw3+Xq+cZ6mBqVpXA67niZ2vsnv51vnGSZRuQk0q+nHzjd5qwMQ5ART0G4Sai292PkmzzfP2yKR3LJf6MaFWFgHj2jyPFuksgLfkoP/poaVsJkcxYZDR7hAMrU2kZvJbGdH9TCC1CsTuZkcw6gJnVOhViVyMzlGM+lnsG04rIjNJIUlRSJyPdMCm8kxpFpfx3QzOc7UAUgDN8Rm8pIWe62rmYnbTEaY+CvZwy2xmbxEuU9quCk2kxcM7osKborN5AW6VEia3vJfdExISCKY5r+wvclVqT9rnGFSDuzrOh7LZF1kjaNltfPoqrhG7Txq20IE6VdZMwlg+R+qhEnROUTZ9nFMYs/VwGKkHkngGvfISUlOXeKcPaIG4OguYtKQ6tnDmKzcJwoWUyk3AjdUT+fGYEAw9UixrEnmKI15EJPMfdLBUrQbR1VpPUgjpyWipE1KHUlyeAyTHd6QZcjGRanIiksEZYjI+SZ5tPKHMMmTYxDuonBahFKlRSKqJSLnmtSJyh/KpJhpUmGyQQKsVdYOSTawxi0x2QcXxzn3K99MpgIOfiEcUv8ZHg5aef8nsRlHukoCQFv51dsx5coKTCRKmmy9L9Xmdz0VVsQ2kzmT9VjSiOyooGG0Nyk8a4Z2QK3EpOqMST1Wvcb2dTMZxwR3vTGRLksLF8o1GZcEnec20mHSSZNt0EzTD9kHMsnmmhToB1tRqtJehKQmXxE6t6FIpEuZtIFI+pOr5N2btHjH58ck+jHRelWooYlnLNhwaYaRggmT9WgfmHvxffcmGY4q5v9Oagw0KsiXLF28Ea8CyQOJclqQmjT4j8hMcH33JoVnhmIEQWN5jJ828Ygw3w9PzeFLP5b7eEFqssdGFOfpA1R77ybBfTHAJDpsNdvETF/4JkvNP1g/XjlqJdioSY3fheMPj6a6/x4P8Jl5dQ1Gl8D4SYRak/EDwneSSg4boia595pur9fmEWYGvLkRCROQXv+ETRvBeK9VpEpqUgOljZps/l7IwF1I3cvFM+jH42m3Ox5figt5OR53u9PxWNQkjsTYrO2yVc4kGzHJc3kcInkxEZP4uqtdSDcsXZ98+4ZHbewPp6diFp9Ohz0eD7R7KWYSuDfmQrKlW8+VXIvJEMXapdkfp1cI2X97KRONZIP54VjKZOVmLFEK/B3LxaRdYtIsM6kchZPe1b+dR7XfFYhH9Oi7fCtjEuoZ3Vc+OrYYkkXD15R26u+kyfV4EKUNEGbe7vInpR33MM6ujMmKrsnmi7Z+gNpUHi33pxBMqtJ+ed+V9nJG+OejqPYf1zrv4fBUwiQ0ZBEqglFhQ5xKsBz86OpRFkWPjifbeEFqkjkPLf4l3/XtFRKcrnUEy/tTCZMitw+WrhyK8BEQCT8VAJiEc5zJI1NDIVJFTQ5eOmX8LyhxONzyqPwOSd5LmARLkl4yO5+77KStCJc46nhQ2qBSE+9JMxc1KROD4mqWyYxI2C/9rfwocswl5KDruJRKkcSY1sUEySaUbPGjUeUVBM478iDFTUIX7SlZTKgtcjLc+9UOKvsoYbJVudPpWu4c9cbzi4kVkJXgcT/qMmWAkWcjbrKKXUjlpTOUOblo2WDkAFn2TwVMgkkPxQY0E0SL8O0ikvurSTQ7AxEK/ZAd1haQtklnf9TjKpmf517kfsP+Zcn4A8o8I/MPrVO6Ml+SK62iecaeYS7GctKHkahnEs8gpd3m3vsmQfYWxEwO3oPW4t6FIMuozP2Gb8tCskhQzt4SgLmGKp0wLpX/DhuECL13ACgI6XohBOvG8ym5Q2qLVSZNQhdciBBisPXFhSwdJ9AbPpe3UoddQop8ZjEViYjJhbVLwcjTQUiblCp7IdleydUO/P1W6gDaxfsCKN2cLRzKTK1ek2dqrkkwKi0yb/Ljasfiv8I0XpaZpDCXowdClRWZV6lJ8zDfJBiVFgmFIgf2sxdAip0lDFNpuSNktzoOKlJaTt3VxSad/qzqhEn6KdqO5LslhUKHBnupaIfpCB73KGL+u6nn3w+1ozQCCNLSYoYnTNJP0eT4YrfpeK2T6A8FTQK0VjmK0mKWf91CaqsyUlfTqtQSoiaRVpPrllDc5Me1TL6XuUREMB6Ggx0gg7FNuIMnyqAVatRDqso6XG4MTbJPBAS0vXchvJcA5U3uyh5EX/QSKUb0n3fKwDSkqNhPBpEPe8F+0os2W3BgP/mapECTGfwLWYPJQzmT9wGPJM3+99t0ulbr+vogJn+0d6bbbcJAFNZibQgBDt5iJ/X7v2Xt1OogRmx2RFyX+6enwYiTfB6BRsMdSAdN0//6xPMMEtqK7ioEkYjk8aVWIc+grypy11mFYEkiktsXygw8gzSLF2+Zh8287quYwqqTZeveX4mk6yj/EPYxM6//KYP+HMphsWmiIDOSiuSv+od3tVYvRZK4IM+GrSV0OpKb8Y8lSVaU69ciKWTTxaXihPPAVZLcrW/6gyer/vj49VokBzaveUqSm3+/IuuppHtAOpKAJOgjVa/n/ZgqyZcj2YNSkbQk18dU7Uh3w7ffFyRJdAqQ5DtiZ9d95mm1Wp3W94b7cf2SJInJ4nvGD2l8q/npIHc+mOvTvW/4vCZJQqiMbF4nJAkoj5NA4nPq9YSohHNeliQRmiHr+4QkQeuaxHV47wrIt3FvAZ3eutcfL0zyIsEpdUxRygFjKpLDf/GP9cDDzDDKfR39hmx+vTpJpLQkQesVYrndd07HU94d2dSI42XKXkgmIOl12jZg1p/rae/THXuejj+PDYzbSzwuJNOQBL1vVlftNndkbz56Q37zubrqy7NpIZmE5HR9PlQhspB8GpLrt969xoXkVf8EyW1/JcdC8qp/geT7wNbGT5E0pbfws0oL8h3K+UXGm/4KMqv4VSIlyXpgu/FnSGp7DlRw8rio9/9gsLk4m2BDMxHJzfCW9PwkdXZGKvKFZK/qoX2q+UkKdo5JVgvJ/pCcOSgnbSJljDX+pxeSvSE5c1CONouwvnMyd56mXkj2hOTcQTkSJOMRWxe7kOwJybmDcpTnhyxjvXjVMrs+Uoi3n5Wk6zSRVGe1PPE8VBy7nZMkB5BIelmFPPg+0H5GkqzbynzJDPS/fzV/UA6HpBubehtbtsF7SMJhLMNNZ+otH+uQkM9AckfGaT8bSTWyVQhX2fkqWWgRJFWFd/7Ibm1WdCHB9wWTrG6HCzQN6FvWNys0CSRK5k1IgLNP6Iqv6zEn/ljQ2NtySiQmeSDjtJ2NpBwVkoahulOPiUNj17JlnsQMIsmzLktgnXW59FAZ8+m6DVxJMPoVKnB2QiTnDUkoWp+xa6GZaBlaiAZJ8IsT7V7qUvOQpEY2eF3pQiY6jsiqQTLo32uy1ggsHckDGas6PUmAkU0u7rdwMtjWqYgzXRiT6LDyuGynoyg+UgFJCsb52IGQIZKJQzJ9HcjQbbIY55KeKUoZhMCNJIQMv0ak/6TzPweSXozSApKBAUjrqLMBSgcnqcy74nuSVsIlhMTDJyN5IONVz0OSjTCdKpp3NUGheQQF43QjeEl4kPUTDpME72x+A2YauFQemM85eFnd+ZMgkuFtWS5MxW8XkH74LCXJHZmizdOQVNJHSGOuVQ2SOujQpUK/eiAZZiCE+nuMwzDBdM49O93KLF6JtyZhjYZPSPJApqh+GpJElJnMW/dWCSQrhNiLt0lKg2K
1506d+2OagDS4qPMgZyik/2gIkmRoeJaM5I5M0+ZpSF5k0Mol9yQdjIVac9EWyRI7CiiSR5ITrtFcS4j2iFe0YSMZHhs+FckDmab6mUhCgVNjlU+DXmYisp8pQpKSgCC4y5j9DpAJK7u4HzCcAFzkGdwlIvlJpmozF0k3xr/X/n0u5bRJ0oZTqcBPS0DSxbx3TAFMQKrxQ11IMGwNSFZ9v4dJQxKKlecPyuEM94CEChfnTZIKDdWdQa9iTUwr5mMZdQJn2HJbBiRzlCxPn0FfEfJjQTm46BeTW4kASYruYE21cjzRuR1T8CfKuA0+kCRe+NfA10wekumDctBcTA+BHE2SfivJM4AcQ5IkJQkh+XNBOdiwkI1p5Kyq/Iq+UnOS1L5f79dxXtoEJNOFJKhOT7Lsd56CNTeHOLbdJBk6eZBkmflDyJfX+mSDQPdPTBJvBLQGnjEksXbJSQo51KC5QKyLKEkdS8a7gGQZfSRBKyH4XhjUctYgkgBNo77BiGT6kEz5Ft6a9In2eRZdg0Gi41mUpInFRRaQZDE/bOH8YgadSEvUfVvHSRaRnQDdIrlOHJLpg3IzxrtRxRcfVhD0TFTF75OAHMRbOZ4cT64WxkMncrzpZuMkdXT4cNzTjCGJdUiXkwAwGCWkq61o58FE1kHSISLCtkiy4MJ+ZJjgw2tkkOKF22ScpMDD63bedZs4JNMH5XGcN67l0UIB6ydIoNNBMkdJcoX2QlR7cSOFn+CtaF+DoglSo1WIl8LDt0m+rWcMSaxDsskVu/4rjo3lzy78GxnbXk+iGmgOnfMQSWhgWco/tCDKrQmbMmei/eWg506SuUTDI0PYjzlDEms3Q620gkZXJb+IFo2SDu6LpHIiKtWZGQAiZ3b9KHcyutMsHSck918UG5jzqkp8XQMYMPiOmTLDmQGQbgxv/PBAEq3PE5i0Jg7Kz4d6iOomBC+GSHZmg2xAEh2WAjDgSwNjEEMkvVS8YSVHNmSTBeavj2k7x64oz2IcrYm1QNYUkexCaaswg+6nZtR+QGOQ0e+YFYhkJ0qNsxFvmzlBYpQpIxJ3hsRFp3kAQJMOkvijSrSydYKhSsj4VynjUcZWkE6ScG/0t2sg2esjONot9HHV+3sn9nqSDWcRtOCsCIhmjWpkotlF/l8dMSyAyizDLnKEEHc7p7IQr+jEaOGyKYI+s35AdhXq4wQfFXDNQG/b0x0wT1vykODq73dg3NVkqnhJFWOKaoOOUMcYLfNRZjDoo+iwK03sCC1YgS+ea1owRSsyLFHdPrroZfUb1yq7sW9wtnAAAAAASUVORK5CYII=",WCa:"data:image/png;base64,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", 1507GDa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUsAAAFLCAMAAABoaV6sAAADAFBMVEUAAAAJCQkDAwMDAwMLCwsFBQXb29qgoKDg4ODy8vJRUVHBwcH19fWXl5fZ2djW1tX5+fny8vLY2Njp6el5eXnV1dSwsK/v7+/Ly8vu7u6goKDu7u7ExMO1tbTOzs10dHO6urnJycnAwL/Z2djQ0dDIyMja2tktnuotmez09PQso+koYMf8/Pwule3v7+8sp+cvke/6UFPOFR4nZcWsrKwrr+Urq+br7OwqtOMvi/EnasQncMfn6Ocoe8zj4+MqueLDw8QndckoeMongMwnbMYog8/d3dwojtModM3g4OAohtApktUomNUni9ApndgpsOAofNApptspq94qqOEocMssmOUqmdowh/EpcdEpodkpd9Eqf9cqitgqj9kro+MqdNYpidQpldkrnuMretgse90rbdUpbMwqa9Epf9MoZ8krmd8qhtsqg9kqnd4qot4tlegrkt8theUqZ88skeQrjd0pZMwtf+QugOkteOIsjeIphdUshuAsgd4ti+YrcNktkOgsdN4uiesqetQsdtru8vUujusvgu7Hx8jR0tMog9MveufMzc0snecrgdsWQG8sieEolNEqktvg6/UrleHM4fXn7/UobMnX5/W7v8Z3uPIqitwaS4AuhenA3PRcqfCcyvMgd6ao0PSEvvJPp+9Hm++11fORxfNts/FskMk5mO8caI9lr/Cwucijs8sklcOEn8mZq8hTne8ecZo2bsgwaMcbXIQ7n+1EpO5GeMo/cshhicmvv9SaueSpwuNnldXGzNMkhMEnoM4/gdl1pOZlnOfM1d9Vg8shYaq1yeNNfMdAhuV4l8kdUpTe5OrS3OeOpcpAju62trcghq3gMDY4d9IkY7gijrcifLRUkOhKjdmBrd0fWp+8xdKJsejAzd7E0+aTsNZ5oNTwVlrDHid8hZ4wWX1bjtVCpdSpqquINUgldb2sJTOipaqIlaFefZfMZXNrjLRLaoo1aI1kRl6an6W5b3s+UnLdWmPlu7ybdpBVmr+yhYlYU3CLmraxbYKtSmBvYR20AAAAJnRSTlMADRUdLSTtHFmoOi7dUODF681AbUnWbL+wlWSAmnm8NIajjKeLetZ4Pp0AAF5LSURBVHja7JpLbuJAEIbDChBeGHuBEAdIWspIs+UkuVCf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", 1508CJ:"data:image/png;base64,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", 1509PDa:"data:image/png;base64,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", 1510i0:"data:image/png;base64,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", 1511Tw:"data:image/png;base64,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", 1512v1:115,ADa:115,CE:"data:image/png;base64,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", 1513wDa:115,vDa:115,$Da:"data:image/png;base64,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", 1514aEa:115,a3a:117,cEa:"data:image/png;base64,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", 1515yA:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}}); 1516define("nj","require jquery.mod lx oR cB gp v".split(" "),function(a){var e=a("jquery.mod"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("gp");a=a("v");if(a.ic()!=a.lJ){var h=function(r){return r.requestFullscreen||r.msRequestFullscreen||r.mozRequestFullScreen||r.webkitRequestFullscreen},d=function(){return document.exitFullscreen||document.msExitFullscreen||document.mozCancelFullScreen||document.webkitExitFullscreen},c=document.createElement("div");if(!(a=!(!h(c)&&!d())))try{a=window.self===window.top}catch(r){a= 1517!1}if(a){var f=k.extend(b,function(r){b.call(this);this.oa=r;this.Zr=h(r);this.VA=d(r);this.W=this.o5();var t=this;e(document).bind("msfullscreenchange webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){t.A$()});e(window).bind("resize",function(){t.A$()})});f.cea=function(){};f.prototype.Dj=function(){return!(!h(this.oa||c)&&!d())};f.prototype.FY=function(){this.enabled()||this.toggle()};f.prototype.Aq=function(){this.enabled()&&this.toggle()};f.prototype.toggle=function(){this.enabled()? 1518this.VA.call(document):this.Zr.call(this.oa);this.A$()};f.prototype.enabled=function(){return this.W&&this.o5()};f.prototype.o5=function(){return this.oa===f.fullscreenElement()};f.prototype.A$=function(){var r=this.o5();this.W!=r&&(this.W=r,this.trigger(new l(m.va)))};f.enabled=function(){return!!f.fullscreenElement()};f.fullscreenElement=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement};f.Aq=function(){f.enabled()&& 1519d().call(document)}}else{f=k.extend(b,function(r){b.call(this);this.oa=r});var g=!0;f.cea=function(r){g="out_of_frame"==r};f.prototype.Dj=function(){return g};f.prototype.FY=function(){this.toggle()};f.prototype.Aq=function(){};f.prototype.toggle=function(){g&&window.open(window.self.location.href,"_blank")};f.prototype.enabled=function(){return f.enabled()};f.enabled=function(){return!1};f.fullscreenElement=function(){return null};f.Aq=function(){}}}else{f=k.extend(b,function(r){b.call(this);this.oa= 1520r});f.prototype.Dj=function(){return!0};f.prototype.FY=function(){this.enabled()||this.toggle()};f.prototype.Aq=function(){this.enabled()&&this.toggle()};f.prototype.toggle=function(){if(this.enabled())p("fullscreen"),f.Mx=null;else{f.Mx&&f.Mx.Aq();p("fullscreen");var r=q();r.push("fullscreen");n(r);f.Mx=this}this.trigger(new l(m.va))};f.prototype.enabled=function(){return this==f.Mx};f.enabled=function(){return!!f.fullscreenElement()};f.fullscreenElement=function(){return f.Mx&&f.Mx.oa};f.Aq=function(){f.enabled()&& 1521f.Mx.Aq()};f.cea=function(){};f.Mx=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 f}); 1522define("dx",["require"],function(){var a={};a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){var e=!0;break a}}catch(m){}e=!1}if(e)a.setItem=function(m,l){window.localStorage.setItem(m,l)},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 k={};a.setItem=function(m,l){k[m]=l}; 1523a.getItem=function(m){return k[m]};a.removeItem=function(m){delete k[m]};a.clear=function(){k={}}}return a}); 1524define("iX","require jquery.mod lx oP v ms po cf nj dx".split(" "),function(a){function e(Q,W){this.vUa=Q;this.gHa=W;this.w$=[];this.fj=null;this.LN=!1}var k=a("jquery.mod"),m=a("lx"),l=a("oP"),b=a("v"),h=a("ms"),d=a("po"),c=a("cf"),f=a("nj"),g=
1524a("dx"),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= 1525"vertical-align:middle; padding:0;",v='<img style="width:33vmin;" src="'+c.Rk+'"/>',w='<img style="width:24vmin;" src="'+c.Rk+'"/>',x='<img style="width:34vmin;" src="'+c.i0+'"/>',y='<img style="width:34vmin;" src="'+c.WCa+'"/>',z='<img style="width:24vmin;" src="'+c.GDa+'"/>';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;", 1526u+=" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"):t+=" font-size:19px; padding:17px 34px;";q+=p;e.prototype.I3=function(){this.fj||(this.fj=k("<div/>"),this.fj.css({position:"fixed","z-index":d.cDa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.fj.html(this.gHa),k(this.fj).find("button").on("click",function(Q){this.iNa(k(Q.currentTarget).attr("id"))}.bind(this)))};e.prototype.L9=function(Q,W){var H={},L;for(L in W)H[L]=Q.css(L); 1527this.w$.push({$el:Q,css:H});Q.css(W)};e.prototype.EPa=function(){for(;this.w$.length;){var Q=this.w$.pop();Q.$el.css(Q.css)}};e.prototype.show=function(Q,W,H){Q||(Q=function(){});W||(W=function(){});if(this.LN){var L=this.AS;this.AS=function(){L();Q()};var T=this.lS;this.lS=function(){T();W()}}else{this.I3();this.AS=Q;this.lS=W;var O=this.bKa();if(void 0===O){this.LN=!0;var V=this;O=f.fullscreenElement()||document.body;O=k(O);!0!==H?O.children().each(function(){V.L9(k(this),{visibility:"hidden"})}): 1528(this.L9(O,{overflow:"hidden"}),O.children().each(function(){V.L9(k(this),{position:"absolute","z-index":0})}));O.append(this.fj)}else this.LN=!1,O?this.AS():this.lS()}};e.prototype.hide=function(){this.LN&&(this.LN=!1,this.fj.detach(),this.EPa())};e.prototype.bKa=function(){var Q=g.getItem(this.kla());if("true"==Q)return!0;if("false"==Q)return!1};e.prototype.wra=function(Q){g.setItem(this.kla(),Q?"true":"false")};e.prototype.kla=function(){return this.vUa+"DontDisplay:"+window.location.pathname}; 1529e.prototype.iNa=function(Q){var W=k("#tdvvriw_dontdisplay").is(":checked");this.hide();"tdvvriw_continue"==Q?(this.AS(),W&&this.wra(!0)):"tdvvriw_cancel"==Q&&(this.lS(),W&&this.wra(!1))};a=m.extend(e,function(){var Q=['<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+'">'+l("use-cardboard-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">'+ 1530l("use-cardboard")+"</button></div>","</div>",'<hr style="'+n+'">',"<div>",'<div style="'+q+'">','<div style="margin-bottom:2vmin;">'+l("samsung-internet-vr-app-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_cancel">'+l("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">'+ 1531l("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"ChromeAppInfoWindow",Q)});var C=m.extend(e,function(){var Q=['<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+'">'+l("use-cardboard-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div>",'<hr style="'+n+'">',"<div>",'<div style="'+q+'">', 1532'<div style="margin-bottom:2vmin;">'+l("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">'+l("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"SamsungInternetInfoWindow",Q)}),A=m.extend(e,function(){e.call(this,"SamsungInternetForGearVRInfoWindow", 1533['<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"))}),B=m.extend(e,function(){var Q= 1534['<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">'+l("exit-vr")+"</button></div>","</div></div>"].join("\n");e.call(this,"ExternalVRDisplayVRInfoWindow",Q)});B.prototype.I3=function(){e.prototype.I3.call(this);!0===h.Qg("vrv")&& 1535this.fj.css({background:"none"})};var I=m.extend(e,function(){var Q=b.browser()==b.Wh?"https:"!=window.location.protocol?"<div>"+l("giroscope-disabled-http")+"</div>":window.DeviceMotionEvent.requestPermission?l("giroscope-disabled-safari-request-permission").map(function(W){return"<div>"+W+"</div>"}).join("\n"):l("giroscope-disabled-safari-toggle-on"):"<div>"+l("giroscope-disabled-http")+"</div>";Q=['<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>', 1536'<div style="'+q+'">',Q,"</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">'+l("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"GiroscopeDisabledInfoWindow",Q)}),E=m.extend(e,function(){var Q=['<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>', 1537v,'<div style="'+q+'">'+l("use-cardboard-info")+'</div><div><button style="'+t+'" id="tdvvriw_continue">'+l("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", 1538Q)}),G=m.extend(e,function(){var Q=['<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;">'+l("cardboard-v1")+"</div>",'<div><button style="'+t+'" id="tdvvriw_cancel">'+l("use-default-cardboard")+"</button></div>","</div>",'<hr style="'+r+'">',"<div>",'<div style="'+p+' margin-bottom:2vmin;">'+l("cardboard-v2")+"</div>",'<div><button style="'+ 1539t+'" id="tdvvriw_continue">'+l("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">'+l("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"CardboardV2InfoWindow",Q)}),F=m.extend(e,function(){var Q=['<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;">', 1540'<div style="'+q+'"></div>','<div style="text-align:center;"><button style="'+t+'" id="tdvvriw_continue">'+l("enter-vr")+"</button></div>","</div></div>"].join("\n");e.call(this,"EnterVRInfoWindow",Q)}),N=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"))}), 1541R=m.extend(e,function(){var Q=['<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+'">'+l("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; '+ 1542q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+l("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"UseSafariVRInfoWindow",Q)});m=m.extend(e,function(){var Q=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+c.Rk+'"/>','</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;">', 1543'<img style="width:22vmin" src="'+c.CJ+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+l("rotate-device")+"</div>","</div>\n</div>"].join("\n");e.call(this,"RotateVRInfoWindow",Q)});var S={};S.HDa=new C;S.V2a=new A;S.Jfa=new B;S.A2a=new E;S.E2a=new F;S.P2a=new N;S.hha=new R;S.CJ=new m;S.Nfa=new I;S.nCa=new a;S.i0=new G;return S}); 1544define("dV","require lx jquery.mod ek oP cf oR v e nz nU".split(" "),function(a){function e(){this.Kb=!1;this.cO=null;this.wa=this.ja=100;this.k6=this.di=void 0;this.l6=100;this.oa=document.createElement("div");this.oa.style.opacity=0;this.oa.style.display="none";this.oa.style.transition="opacity 0.3s";this.oa.addEventListener("transitionend",this.P$.bind(this));this.ge=document.createElement("div");this.jAa(!0);this.ge.style.position="absolute";this.ge.style.left=0;this.ge.style.top=0;this.ge.style.right= 15450;this.ge.style.bottom=0;this.oa.appendChild(this.ge);this.Xb=document.createElement("img");this.Xb.style.cursor="pointer";this.Xb.style.position="absolute";this.Xb.style.left="50%";this.Xb.style.top="50%";this.Xb.style.transform="translate(-50%, -50%)";this.oa.appendChild(this.Xb);this.O1=l(this.oa)}function k(t,u){this.reason=t;this.so=u}var m=a("lx"),l=a("jquery.mod");a("ek");a("oP");var b=a("cf"),h=a("oR"),d=a("v"),c=a("e"),f=a("nz"),g=a("nU"),p=m.extend(c,function(){c.call(this);this.Ae("UserInteractionWindow"); 1546this.dc=null;this.$r=[];var t=new f;t.set("duration",500);t.set("easing","cubic_in");var u=new g;u.set("duration",500);u.set("easing","cubic_out");this.ka({contentOpaque:!0,left:0,top:0,right:0,bottom:0,hideEffect:u,showEffect:t,visible:!1});this.bind(h.lc,this.Qaa,this,!0);this.bind(h.ra,this.kUa,this,!0)});p.prototype.Qaa=function(){this.dc&&this.dc.setSize(this.qf(),this.pf())};p.prototype.kUa=function(){var t=this.$r.slice();this.$r=[];this.OX();
1546t.forEach(function(u){u.so.call(u.context)})};p.prototype.Db= 1547function(){c.prototype.Db.call(this);this.dc||(this.dc=new e,this.dc.setSize(this.qf(),this.pf()),this.dc.tf(!0),this.Fb().append(this.dc.Bc().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"})),this.OX())};p.prototype.ap=function(){c.prototype.ap.call(this);this.getParent().bind(h.lc,this.Qaa,this,!0);p.IEa(this)};p.prototype.Tm=function(){this.getParent().unbind(h.lc,this.Qaa,this,!0);c.prototype.Tm.call(this);p.jPa(this)};p.prototype.RZa=function(t){this.Zr(n,t)};p.prototype.jQ= 1548function(t){this.Zr(q,t)};p.prototype.Zr=function(t,u){this.$r.push(new k(t,u));this.$r.sort(function(v,w){return r[v.reason]-r[w.reason]});this.OX()};p.prototype.hVa=function(t){this.cancel(n,t)};p.prototype.eVa=function(){this.cancel(q,void 0)};p.prototype.cancel=function(t,u){t=this.TKa(t,u);0<=t&&this.uPa(t)};p.prototype.Jia=function(){this.MR(!0)};p.prototype.WR=function(){this.MR(!1)};p.prototype.TKa=function(t,u){for(var v=0;v<this.$r.length;v++){var w=this.$r[v];if(w.reason==t&&w.so==u)return v}return-1}; 1549p.prototype.OX=function(){if(this.dc){var t=this.eLa();if(t){switch(t.reason){case q:this.dc.iea(e.Pfa);break;case n:this.dc.iea(e.c1)}this.set("visible",!0)}else this.set("visible",!1)}};p.prototype.uPa=function(t){this.$r.splice(t,1);t==this.$r.length&&this.OX()};p.prototype.eLa=function(){return 0<this.$r.length?this.$r[0]:null};var q="vr",n="play",r={};r[q]=0;r[n]=1;e.prototype.Bc=function(){return this.O1};e.prototype.setSize=function(t,u){if(this.ja!==t||this.wa!==u)this.ja=t,this.wa=u,this.PX()}; 1550e.prototype.jAa=function(t){this.ge.style.backdropFilter=t?"blur(8px)":"none"};e.prototype.tf=function(t){this.Kb!=t&&(this.Kb=t,this.cO&&(clearTimeout(this.cO),this.cO=null),this.Kb?(this.oa.style.display="block",this.oa.style.opacity=0,this.cO=setTimeout(function(){this.cO=null;this.oa.style.opacity=1}.bind(this),30)):this.oa.style.opacity=0)};e.prototype.iea=function(t){this.di!=t&&(this.di=t,this.wTa())};e.prototype.P$=function(){this.Kb||(this.oa.style.display="none")};e.prototype.wTa=function(){switch(this.di){case e.c1:this.k6= 1551b.Tw;this.l6=b.v1;break;case e.Pfa:this.k6=b.$Da,this.l6=b.aEa}this.Xb.src=this.k6;this.PX()};e.prototype.PX=function(){d.lb()?(this.Xb.style.maxWidth=Math.round(.5*this.ja)+"px",this.Xb.style.width="20vmin"):(this.Xb.style.maxWidth=Math.round(.33*this.ja)+"px",this.Xb.style.width=this.l6+"px")};e.c1="play";e.Pfa="vr";p.Aga=e;p.Yc=[];p.x8=[];p.IEa=function(t){p.Yc.push(t);p.x8.forEach(function(u){p.lma(t,u)});p.x8=[]};p.jPa=function(t){p.Yc.splice(p.Yc.indexOf(t),1)};p.ready=function(){return 0<p.Yc.length}; 1552p.jQ=function(t){p.Yc.length?p.Yc.forEach(function(u){p.lma(u,t)}):p.x8.push(t)};p.lma=function(t,u){t.jQ(function(){p.Yc.forEach(function(v){v!=t&&v.eVa()});u()})};return p}); 1553define("dc",["require","exports"],function(){return function(){function a(){}a.addParameter=function(e){this.removeParameter(e);var k=this.toArray();k.push(e);this.HBa(k)};a.removeParameter=function(e){var k=this.toArray().filter(function(m){return m!=e});this.HBa(k)};a.toArray=function(){var e=window.location.hash.substring(1);return e.length?e.split("&"):[]};a.HBa=function(e){window.location.hash="#"+(e.length?e.join("&"):"")};return a}()}); 1554define("bc","require exports v hP iX e nj me dV dc jk ms".split(" "),function(a,e,k,m,l,b,h,d,c,f,g,p){var q=!1;d.wait(function(){setTimeout(function(){q=!0},10)});return function(){function n(){}n.dE=function(r){this.wva(r)};n.wva=function(r){function t(){v.wva(r)}function u(){v.g1a(r)}var v=this;this.XR.AI?m.disabled?l.Nfa.show(function(){m.Kda(t)}):h.enabled()||!b.sZ()?(h.Aq(),c.jQ(t)):u():k.ID()?u():k.ic()==k.Io||k.ic()==k.dt?q?u():b.sZ()?setTimeout(u,10):c.jQ(function(){setTimeout(u,10)}):b.sZ()? 1555u():c.jQ(u)};n.g1a=function(r){function t(){u.a_a(r)}var u=this;k.ic()==k.oE?(f.removeParameter("vr"),l.nCa.show(t,function(){f.addParameter("vr")}.bind(this))):k.mP()&&k.ic()==k.mJ?l.HDa.show(t):k.ic()==k.YQ?l.hha.show(t):k.ic()==k.ZQ?l.hha.show():t()};n.a_a=function(r){function t(){v.XR.Pda=g.VCa;r()}function u(){v.XR.Pda=g.sE;r()}var v=this;!k.lb()||k.Of()?u():"1"==p.getQueryParameter("cardboard_version")?u():"2"==p.getQueryParameter("cardboard_version")?t():l.i0.show(t,u)};return n}()}); 1556define("t",["require","jquery.mod","nj"],function(a){function e(){g.get(0)==document.body&&h.height(window.innerHeight)}function k(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.oa=n}
1556var l=a("jquery.mod"),b=a("nj");m.prototype.FY=function(){this.enabled()||this.toggle()};m.prototype.Aq=function(){this.enabled()&&this.toggle()};m.prototype.toggle=function(){this.enabled()?m.cancel():m.request(this.oa)};m.prototype.enabled=function(){return m.enabled(this.oa)}; 1557var h=l("<div/>").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),d=l("<div/>"),c=null,f=null,g=null,p=[],q=null;m.request=function(n){if(n!==c){m.cancel();c=n;var r=b.fullscreenElement()||document.body;f=l(n);g=l(r);d.insertAfter(f);f.appendTo(h);g.children().each(function(){k(l(this),{visibility:"hidden"})});k(f,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});r==document.body?k(h,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0, 1558padding:0}):k(h,{position:"absolute",left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});h.appendTo(g);e();q=setInterval(e,300)}};m.cancel=function(){if(c){h.detach();f.insertBefore(d);for(d.detach();p.length;){var n=p.pop();n.$el.css(n.css)}g=f=c=null;p=[];clearInterval(q)}};m.enabled=function(n){return c==n};return m}); 1559define("lq","require lx oR cB gp oP cf".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("oP");a=a("cf");var h=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+a.Rk+'"/>','</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"),d=h+['<img style="width:22vmin" src="'+a.CJ+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+ 1560b("rotate-device")+"</div>"].join("\n")+"</div>\n</div>",c=h+['<img style="width:13vmin; vertical-align:middle;" src="'+a.PDa+'"/>','<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(l,function(){l.call(this);this.sl=this.$g=this.Cn=this.AL=this.BL=this.X6=this.Y6=void 0; 1561this.NT=!1;this.Py=this.K8=this.W6=this.vf=null;this.Nka=[];this.x6=this.$p=!1;this.hc=this.hc.bind(this)});e.prototype.request=function(){this.$p||(this.$p=!0,this.H3(),window.addEventListener("resize",this.hc),document.body.appendChild(this.vf),document.body.appendChild(this.Py),this.XRa=document.documentElement.style.overflow,this.WRa=document.body.style.overflow,document.documentElement.style.overflow="auto",document.body.style.overflow="auto",this.GM())};e.prototype.cancel=function(){this.$p&& 1562(this.$p=!1,window.removeEventListener("resize",this.hc),document.body.style.overflow=this.WRa,document.documentElement.style.overflow=this.XRa,document.body.removeChild(this.vf),document.body.removeChild(this.Py),this.Ara(!1))};e.prototype.enabled=function(){return this.NT};e.prototype.H3=function(){this.vf||(this.vf=this.ES({position:"fixed",top:0,left:0,zIndex:9999998},!0),this.vf.id="tdvminuictr",this.K8=this.ES({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,d),this.vf.appendChild(this.K8), 1563this.W6=this.ES({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,c),this.vf.appendChild(this.W6),this.Py=this.ES({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},!1),this.Py.id="tdvminuiscrl",this.Py.addEventListener("touchend",this.hc))};e.prototype.ES=function(f,g,p){var q=document.createElement("div");this.yN(q,f);void 0!==p&&this.EQa(q,p);g&&this.Nka.push(q);return q};e.prototype.hc=function(){[0,250,1E3,2E3].forEach(function(f){setTimeout(this.b8.bind(this), 1564f)}.bind(this))};e.prototype.b8=function(){this.Cn==window.innerWidth&&this.$g==window.innerHeight||this.GM()};e.prototype.GM=function(){this.Cn=window.innerWidth;this.$g=window.innerHeight;this.sl=this.Cn>this.$g?"landscape":"portrait";if("landscape"==this.sl){this.Y6&&this.X6&&this.tMa(this.Y6,this.X6)&&(!this.BL&&!this.AL||this.uMa(this.BL,this.AL))&&(this.BL=this.Cn,this.AL=this.$g);this.oMa()&&(this.BL=this.Cn,this.AL=this.$g);this.Y6=this.Cn;this.X6=this.$g;var f=this.BL==this.Cn&&this.AL== 1565this.$g}else f=!1;
1565this.Nka.forEach(function(n){n.style.height=this.$g+"px";n.style.width=this.Cn+"px"}.bind(this));var g=this.$p&&"portrait"==this.sl,p=this.$p&&"landscape"==this.sl&&!f,q=this.$p&&"landscape"==this.sl;this.yN(this.vf,{display:g||p?"block":"none"});this.yN(this.K8,{display:g?"block":"none"});this.yN(this.W6,{display:p?"block":"none"});this.yN(this.Py,{display:q?"block":"none",right:p?0:"99.9%"});this.Ara(f)};e.prototype.Ara=function(f){null!=this.IW&&(clearTimeout(this.IW),this.IW= 1566null);this.NT!=f&&(this.IW=setTimeout(function(){this.IW=null;(this.NT=f)?this.trigger(new m(k.Yq)):this.trigger(new m(k.vb));this.trigger(new m(k.va))}.bind(this),f?1E3:0))};e.prototype.oMa=function(){var f=window.innerWidth,g=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*f*q[1]/(g*q[0])))});return 1>=p?!0:!1};e.prototype.tMa=function(f, 1567g){return f*window.innerHeight>g*window.innerWidth};e.prototype.uMa=function(f,g){return f*window.innerHeight>=g*window.innerWidth};e.prototype.yN=function(f,g){for(var p in g)f.style[p]=g[p]};e.prototype.EQa=function(f,g){f.innerHTML=g};return new e}); 1568define("oW",["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}()}); 1569define("kC",["require","jquery.mod","oP","cf"],function(a){function e(){this.fj=null;this.W=!1;this.hc=this.hc.bind(this);this.$g=this.Cn=this.sl=void 0}var k=a("jquery.mod"),m=a("oP"),l=a("cf");e.prototype.$t=function(){this.fj||(this.fj=k("<div/>"),this.fj.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.fj.html(['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+ 1570l.Rk+'"/>','</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="'+l.CJ+'"/>','<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.W||(this.W=!0,this.$t(), 1571k(b).append(this.fj),k(window).on("resize",this.hc),this.GM())};e.prototype.hide=function(){this.W&&(this.W=!1,k(window).off("resize",this.hc),this.fj.detach())};e.prototype.hc=function(){[0,250,1E3,2E3].forEach(function(b){setTimeout(this.b8.bind(this),b)}.bind(this))};e.prototype.b8=function(){this.Cn==window.innerWidth&&this.$g==window.innerHeight||this.GM()};e.prototype.GM=function(){this.Cn=window.innerWidth;this.$g=window.innerHeight;this.sl=this.Cn>this.$g?"landscape":"portrait";this.fj.toggle("landscape"!= 1572this.sl)};return new e}); 1573define("hC","require exports oR v iX dc nj t lq oW kC bh".split(" "),function(a,e,k,m,l,b,h,d,c,f,g,p){function q(n,r){n?setTimeout(r,200):r()}return function(){function n(){}n.request=function(){this.XR.isPresenting||this.XR.NP||!(this.Sl=this.XR.gda)||(this.XR.NP=!0,this.yYa(),q(!1,function(){this.requestSession().then(function(r){this.WYa(r);this.Sl.xr.setReferenceSpaceType("local");this.Sl.xr.setFoveation(0);return this.Sl.xr.setSession(r)}.bind(this)).then(function(){this.XR.referenceSpace=this.Sl.xr.getReferenceSpace(); 1574this.XR.NP=!1;this.XYa()}.bind(this)).catch(function(r){console.error(r);this.XR.NP=!1;this.VYa()}.bind(this))}.bind(this)))};n.end=function(){this.XR.session&&this.XR.session.end()};n.requestSession=function(){return navigator.xr.requestSession("immersive-vr",{optionalFeatures:["local-floor","bounded-floor","hand-tracking","layers"]})};n.yYa=function(){p.oea(!0);this.E_a(this.Sl);this.f1a()};n.WYa=function(r){this.pda||(this.pda=this.UYa.bind(this));this.qda||(this.qda=this.YYa.bind(this));r.addEventListener("end", 1575n.pda);r.addEventListener("select",n.qda)};n.VYa=function(){p.oea(!1);this.sBa()};n.XYa=function(){var r;null===(r=this.Sl)||void 0===r?void 0:r.setAnimationLoop(this.xYa.bind(this));p.NAa(this.requestFrame.bind(this),this.iVa.bind(this));p.oea(!1);this.MAa(this.Sl);this.Sl=null;m.ic()!=m.kJ&&g.show(h.fullscreenElement());m.lb()||l.Jfa.show(this.XR.Tba.bind(this.XR))};n.UYa=function(){var r;this.XR.session&&(this.XR.session.removeEventListener("end",n.pda),this.XR.session.removeEventListener("select", 1576n.qda),null===(r=this.Sl)||void 0===r?void 0:r.setAnimationLoop(null),p.VZa(),this.sBa(),this.MAa(null))};n.YYa=function(){this.XR.ba.trigger(k.Yo)};n.MAa=function(r){this.XR.$i!==r&&(this.XR.$i=r,this.XR.session=r?r.xr.getSession():null,this.XR.isPresenting=!!r,this.XR.Ada=r?this.XR.Jda.get(r)||null:null,this.XR.j_=r?this.XR.Ida.get(r)||null:null,this.VBa(),q(!this.XR.isPresenting,function(){this.XR.ba.trigger(k.va)}.bind(this)))};n.E_a=function(r){var t=void 0;
1576m.VXa()?t=1:m.GD()?t=1.2545454545454546: 1577m.Of()?t=1.4222222222:m.lb()&&this.XR.AI&&(t=this.XR.i_);t&&r.xr.setFramebufferScaleFactor(t)};n.f1a=function(){var r;d.request(null===(r=this.Sl)||void 0===r?void 0:r.domElement);this.XR.AI&&(this.Sl.domElement.width=this.Sl.domElement.height=100,m.ic()==m.lJ?b.addParameter("vr"):f.enable(),m.ic()==m.kJ&&c.request())};n.sBa=function(){d.cancel();g.hide();m.lb()||l.Jfa.hide();this.XR.AI&&(b.removeParameter("vr"),c.cancel(),f.disable())};n.xYa=function(r){var t;null!==(t=this.XR.$i)&&void 0!==t&&t.xr.getFrame()&& 1578(this.VBa(),this.lP&&(t=this.lP,this.lP=null,t(r),this.XR.ba.trigger(k.rn)))};n.VBa=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)}}; 1579n.requestFrame=function(r){this.lP=r;return 0};n.iVa=function(){this.lP=null};n.Sl=null;n.lP=null;return n}()}); 1580define("kt","require exports lx gp gC pp bO iT iw jk E nh dv hy jf km bc hC three.mod".split(" "),function(a,e,k,m,l,b,h,d,c,f,g,p,q,n,r,t,u,v,w){a=function(){function x(){}x.initialize=function(y){l.initialize(function(){this.aj.forEach(function(z){z.xr.enabled=this.jE}.bind(this));p.initialize();q.initialize();n.initialize();r.initialize();t.initialize();b.initialize();this.exa=!0;y()}.bind(this))};x.getType=function(){return this.AI?this.Et.Rk:this.Et.fEa};x.GY=function(){this.exa?!this.jE||this.isPresenting|| 1581this.NP||this.dE(v.request.bind(v)):this.initialize(x.GY.bind(x))};x.Tba=function(){v.end()};x.VAa=function(y){t.w0a(y)};x.setPosition=function(y){b.setPosition(y)};x.y0a=function(y,z,C,A,B){d.M_a(y,z,C,A);switch(B){case c.Dga:n.TAa(!0);n.HAa(!0);break;default:n.TAa(!1),n.HAa(!1)}};x.OUa=function(y){y.xr.enabled=this.jE;d.add(y)};x.NZa=function(y){d.remove(y)};x.LAa=function(y,z,C,A){void 0===A&&(A=void 0);y.Co=z;y.HI=C;y.fza=A;z&&(y.gZa=Date.now())};x.hAa=function(y){n.d_a(y)};x.s0a=function(y,z){y.yq= 1582z};x.KAa=function(y,z){y.hidden=z};x.log=function(){k.log("VR: "+(this.jE?"available":"not available"))};x.dE=function(y){u.dE(y)};x.Iga=h;x.Et=g;x.FDa=c;x.jE=!0;x.AI=!1;x.$i=null;x.Ada=null;x.j_=null;x.isPresenting=!1;x.NP=!1;x.session=null;x.framebufferWidth=void 0;x.framebufferHeight=void 0;x.TO=new w.Quaternion;x.Aba=new w.Vector3;x.i_=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));x.aj=[];x.QI=new Map;x.Jda=new Map;x.Ida=new Map;x.ba=new m;x.referenceSpace=null; 1583x.exa=!1;x.Bg=[];x.tD=new w.Ray;return x}();l.XR=a;b.XR=a;d.XR=a;p.XR=a;q.XR=a;n.XR=a;r.XR=a;t.XR=a;u.XR=a;return v.XR=a}); 1584define("kD","require ek lx oR id lu hG ha kt bd e".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("id"),b=a("lu"),h=a("hG"),d=a("ha"),c=a("kt"),f=a("bd"),g=a("e");a=k.extend(g,function(){g.call(this);this.Ae("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",f.pt);this.Fx=[];this.VC=[];this.Ob="";this.gh=new d;this.Fb().append(this.gh.Bc());this.bind(m.lc,this.hc,this,!0);this.bind(m.ld,this.mk,this,!0);this.bind(m.hd,this.hk,this,!0);c.ba.bind(m.va,this.yaa,this,!0);this.BC= 1585this.u9=!1});a.prototype.dn=function(p){b.dn(p,l.Sk)};a.prototype.I_=function(p){return b.I_(p)};a.prototype.cj=function(p){b.cj(p,l.Sk)};a.prototype.nba=function(p){this.gh.vua(p)};a.prototype.removeItem=function(p){this.gh.Jza(p)};a.prototype.jY=function(p,q){this.gh.Es(p).vua(q);this.vaa()};a.prototype.GZa=function(p,q){(p=this.gh.Es(p))&&p.Jza(q)};a.prototype.zba=function(p){this.gh.iP(p).mh()};a.prototype.Sq=function(p,q){this.gh.KY(p).forEach(function(n){n.Se(q)})};a.prototype.uQ=function(p, 1586q,n,r,t){this.gh.Es(p).setPosition(q,n,r,t);this.vaa()};a.prototype.vaa=function(){var p=this.gh.OWa();p&&(h.Lj=Math.min(h.Wfa,h.Lj*Math.sqrt(h.eDa/p)),this.Ata())};a.prototype.Q_a=function(p,q,n){this.gh.iP(p).dea(q,n)};a.prototype.tP=function(p){return this.gh.Es(p).getX()};a.prototype.uP=function(p){return this.gh.Es(p).getY()};a.prototype.$Y=function(p){return this.gh.Es(p).gI()};a.prototype.fwa=function(p){return this.gh.Es(p).Gq()};a.prototype.sP=function(p){return this.gh.Es(p).Xa()/h.Lj}; 1587a.prototype.rP=function(p){return this.gh.Es(p).Ab()/h.Lj};a.prototype.render=function(){this.BC&&this.gh.render()};a.prototype.n_=function(p){this.Fx.push(p);this.rta()};a.prototype.LI=function(p){p=e(this.Fx).lastIndexOf(p);0<=p&&this.Fx.splice(p,1);this.rta()};a.prototype.rta=function(){var p=0<this.Fx.length?this.Fx[this.Fx.length-1]:f.te;this.getParent().set("cursor",p)};a.prototype.sS=function(){0<this.Fx.length&&(this.getParent().set("cursor",f.te),this.Fx=[])};a.prototype.xZa=function(p){this.VC.push(p); 1588this.AO()};a.prototype.rZa=function(p){p=e(this.VC).lastIndexOf(p);0<=p&&this.VC.splice(p,1);this.AO()};a.prototype.AO=function(){var p=0==this.VC.length?"":this.VC[this.VC.length-1]||"";this.Ob!=p&&(this.Ob=p,this.getParent().set("toolTip",this.Ob))};a.prototype.QGa=function(){this.Ob&&this.getParent().set("toolTip","");this.Ob="";this.VC=[]};a.prototype.Tm=function(){this.QGa();this.sS();g.prototype.Tm.call(this)};a.prototype.hc=function(){this.Ata();this.vaa()};a.prototype.Ata=function(){this.gh.Bc().css({transform:1!= 1589h.Lj?"scale("+(1/h.Lj).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.gh.setSize(this.Xa()*h.Lj,this.Ab()*h.Lj);this.render()};a.prototype.mk=function(){this.u9=!0;this.yaa()};a.prototype.hk=function(){this.u9=!1;this.yaa()};a.prototype.yaa=function(){var p=this.u9&&!c.isPresenting;this.BC!=p&&((this.BC=p)?this.render():this.gh.QY())};return a}); 1590define("R","require lx cB nH jP dg dA jO kD oR eh gR".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("nH"),l=a("jP"),b=a("dg"),h=a("dA"),d=a("jO"),c=a("
1590kD"),f=a("oR"),g=a("eh"),p=a("gR"),q=m.define("MapPlayer",b,function(){b.call(this,"map");this.KU=this.i7=this.Sh=!1;this.Nm=this.Tc=this.L=this.j=null;this.lx={};for(var n in q.Jt)this.lx[n]=this.qHa(n);this.Zd=e.Bo(this.Og,this)});q.prototype.stop=function(){this.Kc(d.Gf)};q.prototype.rotateClockwise=function(){this.Kc(d.z1)};q.prototype.rotateCounterClockwise= 1591function(){this.Kc(d.A1)};q.prototype.zoomIn=function(){this.Kc(d.Ht)};q.prototype.zoomOut=function(){this.Kc(d.It)};q.prototype.set=function(n,r){if(this.get(n)!=r){switch(n){case "map":this.i7=!0;this.Zd();break;case "viewerArea":this.Sh=!0;this.Zd();break;case "panoramaMapLocation":this.w8=!0;this.Zd();break;case "movementMode":this.KU=!0,this.Zd()}b.prototype.set.call(this,n,r)}};q.prototype.qHa=function(n){var r=q.Jt[n];n=new l(this,n,g.Fe);n.bind(f.wb,function(){this.Kc(r.movement)},this);r.stopOnRelease&& 1592n.bind(f.Zb,function(){this.Kc(d.Gf)},this);return n};q.prototype.NUa=function(n){this.Nm=null;this.set("map",n.get("map"));this.set("panoramaMapLocation",n)};q.prototype.LZa=function(n){this.get("panoramaMapLocation")==n&&(this.set("panoramaMapLocation",null),this.Nm=null)};q.prototype.kn=function(n,r,t,u){this.L&&this.L.kn(n,r,t,u);this.Nm={yaw:r,pitch:t,hfov:u}};q.prototype.Og=function(){this.Sh&&(this.Sh=!1,this.fu(),this.get("viewerArea")&&this.cu(),this.IN(this.get("viewerArea")));if(this.L){if(this.i7){this.i7= 1593!1;var n=this.get("map");n?(this.RI(),this.L.CAa(n)):this.L.iw();this.w8=this.KU=!0}this.w8&&(this.w8=!1,n=this.get("panoramaMapLocation"),this.L.nw(n),n&&this.Nm&&this.L.kn(n,this.Nm.yaw,this.Nm.pitch,this.Nm.hfov));this.KU&&(this.KU=!1,this.L.Uq(this.get("movementMode")))}};q.prototype.mH=function(){this.set("map",null)};q.prototype.cu=function(){var n=this.get("viewerArea");this.j=new c;this.j.ka({left:0,top:0,bottom:0,right:0});n.Wa(this.j);this.L=new h(n,this.j);this.L.bind(h.Pj,this.Ip,this); 1594this.L.bind(h.jt,this.ji,this);this.L.bind(h.Zz,this.rG,this);this.L.bind(h.aA,this.qy,this);this.L.bind(h.$z,this.Ou,this);this.L.bind(h.Qj,this.FM,this,!0)};q.prototype.fu=function(){this.j&&(this.L.unbind(h.Pj,this.Ip,this),this.L.unbind(h.jt,this.ji,this),this.L.unbind(h.Zz,this.rG,this),this.L.unbind(h.aA,this.qy,this),this.L.unbind(h.$z,this.Ou,this),this.L.unbind(h.Qj,this.FM,this),this.L.clear(),this.j.getParent().removeChild(this.j),this.j=null)};q.prototype.qy=function(n){this.PL(n.data.map)}; 1595q.prototype.Ou=function(n){this.OL(n.data.map)};q.prototype.Ip=function(n){for(var r in q.Jt)this.lx[r].set("state",n.data[q.Jt[r].pressedOn]?p.qb:p.te);this.trigger(new k(f.dga,n.data))};q.prototype.FM=function(n){this.trigger(new k(q.Qj,{yawDelta:n.data.yawDelta}))};q.prototype.ji=function(n){this.j.getParent().ka({progressPercent:n.data.percent,progressVisible:!0})};q.prototype.rG=function(){this.j.getParent().set("progressVisible",!1)};q.prototype.Kc=function(n){this.L&&this.L.Mj(n)};q.Jt={buttonRotateClockwise:{movement:d.z1, 1596pressedOn:"rotatingClockwise",stopOnRelease:!0},buttonRotateCounterClockwise:{movement:d.A1,pressedOn:"rotatingCounterClockwise",stopOnRelease:!0},buttonZoomIn:{movement:d.Ht,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:d.It,pressedOn:"zoomingOut",stopOnRelease:!0}};q.Qj="requestYawChange";return q}); 1597define("ir",["require","lZ","oR","cB","nH"],function(a){var e=a("lZ"),k=a("oR"),m=a("cB");a=a("nH").define("PlayListItem",e,function(){e.call(this);this.A="stopped"});a.prototype.get=function(l,b){return"state"==l?this.A:e.prototype.get.call(this,l,b)};a.prototype.start=function(){this.V1a()};a.prototype.V1a=function(){if("stopped"==this.A||"stopping"==this.A)this.A="starting",this.trigger(new m(k.sn))};a.prototype.jz=function(){this.KBa()};a.prototype.KBa=function(){if("starting"==this.A||"stopping"== 1598this.A)this.A="playing",this.trigger(new m(k.Yq))};a.prototype.stop=function(){this.gJ()};a.prototype.gJ=function(){if("playing"==this.A||"starting"==this.A)this.A="stopping",this.trigger(new m(k.Gf))};a.prototype.end=function(){this.LBa()};a.prototype.LBa=function(){if("stopping"==this.A||"starting"==this.A)this.A="stopped",this.trigger(new m(k.vb))};return a}); 1599define("pu",["require","nH","dg","ir"],function(a){var e=a("nH"),k=a("dg"),m=a("ir");a=e.define("MapPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var l=this.get("player");l&&(l.bind(k.Vg,this.qy,this),l.set("map",this.get("media")))};a.prototype.stop=function(){var l=this.get("player");l&&l.get("map")==this.get("media")&&l.set("map",null);m.prototype.stop.call(this)};a.prototype.qy=function(){this.get("player").unbind(k.Vg,this.qy,this);this.get("player").bind(k.cm, 1600this.Ou,this);this.jz();this.get("player").get("map")!=this.get("media")&&this.Ou()};a.prototype.Ou=function(){this.get("player").unbind(k.cm,this.Ou,this);this.stop();this.end()};return a}); 1601define("gf",["require","oR","nH","jW"],function(a){var e=a("oR"),k=a("nH"),m=a("jW"),l=k.define("MeasureModel3DObject",m,function(){m.call(this);this.bind(e.G("mode"),function(){this.trigger(l.GCa)},this,!0);this.bind(e.G("distance"),function(){this.trigger(l.CCa)},this,!0)});l.GCa="modeChange";l.CCa="distanceChange";return l});define("dp",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("MeasureModel3DObjectPoint",e,function(){e.call(this)})}); 1602define("ei",["require","nH","gc"],function(a){var e=a("nH"),k=a("gc");return e.define("OrbitModel3DCamera",k,function(){k.call(this)})}); 1603define("pl",["require","exports","oR","gp"],function(a,e,k,m){var l=function(){return function(b){this.dva=b;this.Sg=0;this.finished=!1}}();return function(b){function h(d){var c=b.call(this)||this;c.Am=new Map;c.wF=d||c;return c}Z(h,b);h.prototype.z_a=function(d){if(this.wF=d)this.Bj(),this.qaa()};h.prototype.cva=function(){this.Am.forEach(function(d,c){this.iW(c)}.bind(this));this.Am=new Map};h.prototype.Vh=function(){var d=0;this.Am.forEach(function(c){c.finished&&d++});return d==this.Am.size}; 1604h.prototype.dispose=function(){this.cva();this.Am.clear();this.wF=void 0};h.prototype.NH=function(d,c){void 0===c&&(c=1);if(this.Am.has(d))return d;this.Am.set(d,new l(c));this.LEa(d);return d};h.prototype.OI=function(d){this.Am.has(d)&&(this.Am["delete"](d),this.iW(
1604d))};h.prototype.mz=function(d){void 0===d&&(d=1);var c=new m;return this.NH(c,d)};h.prototype.od=function(d){d=d.source;var c=this.Am.get(d);c&&(this.iW(d),c.Sg=100,c.finished=!0,this.Bj(),this.qaa())};h.prototype.ji=function(d){this.Am.get(d.source).Sg= 1605d.data.percent;this.Bj()};h.prototype.Mf=function(d){d=d.source;this.iW(d);d=this.Am.get(d);d.finished=!0;d.Sg=100;this.wF.trigger(k.uc);this.Bj();this.qaa()};h.prototype.Bj=function(){var d=0,c=0;this.Am.forEach(function(f){c+=f.dva;d+=f.Sg*f.dva});this.wF.trigger(k.ec,{percent:d/c})};h.prototype.qaa=function(){this.Vh()&&this.wF.trigger(k.Z)};h.prototype.LEa=function(d){d.bind(k.Z,this.od,this,!0);d.bind(k.ec,this.ji,this,!0);d.bind(k.uc,this.Mf,this,!0)};h.prototype.iW=function(d){d.unbind(k.Z, 1606this.od,this);d.unbind(k.ec,this.ji,this);d.unbind(k.uc,this.Mf,this)};return h}(m)}); 1607define("bX","require oR kX nH er ei pl".split(" "),function(a){function e(r,t){Array.isArray(t)?r.fromArray(t):r.copy(t);return r}function k(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 l=a("oR"),b=a("kX"),h=a("nH"),d=a("er"),c=a("ei"),f=a("pl");a=h.define("Model3D",d,function(){d.call(this);this.set("camera",new c);this.set("geometryQuery",void 0);this.set("objectQuery",void 0);this.set("preload", 1608!0)});a.prototype.Mda=function(){this.pi&&(this.pi.unbind(l.Z,this.EM,this),this.pi.dispose());this.pi=new f;this.pi.bind(l.Z,this.EM,this,!0);this.xe&&this.xe.dispose();this.xe=new f(this)};a.prototype.EM=function(){this.trigger(l.BJ)};a.prototype.aZ=function(){this.xe||this.Mda();return this.xe};a.prototype.dZ=function(){this.pi||this.Mda();return this.pi};a.prototype.pause=function(){this.get("state")==b.X&&this.set("state",b.Ib)};a.prototype.play=function(){this.set("state",b.X)};a.prototype.stop= 1609function(){this.set("state",b.T)};a.prototype.worldPositionToLocal=function(r,t){k(g,r);e(q,t);q.invert();g.applyMatrix4(q);return m(g,r)};a.prototype.getMatrixWorld=function(r){var t=this.get("objectQuery");return t&&t.jwa(r)};a.prototype.worldDirectionToLocal=function(r,t){k(g,r);e(n,t);q.extractRotation(n);q.invert();g.applyMatrix4(q);return m(g,r)};a.prototype.testIntersection=function(r,t){var u=this.get("geometryQuery");if(u)return k(g,r),k(p,t),u.vBa(g,p)};a.prototype.getDistanceToFloor=function(r){var t= 1610this.get("geometryQuery");if(t)return k(g,r),t.vWa(g)};a.prototype.pick=function(r,t){var u=this.get("picker");if(u)return u.g_(r,t)};a.prototype.getScreenPosition=function(r,t){var u=this.get("projectionQuery");if(u)return u.qca(k(g,r),t)};var g=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Matrix4,n=new THREE.Matrix4;a.prototype.Os=function(){return[]};return a}); 1611define("bf",["require","lZ","kX","oR","nH"],function(a){var e=a("lZ"),k=a("kX"),m=a("oR");a=a("nH").define("Model3DAnimation",e,function(){e.call(this);this.bind(m.G("state"),function(){this.trigger(m.ne)},this,!0)});a.prototype.pause=function(){this.get("state")==k.X&&this.set("state",k.Ib)};a.prototype.play=function(){this.set("currentDirection","forward");this.set("state",k.X)};a.prototype.reverse=function(){this.set("currentDirection","backward");this.set("state",k.X)};a.prototype.stop=function(){this.set("currentTime", 16120);this.set("state",k.T)};return a}); 1613define("gW",["require","lZ","kX","nH","oR"],function(a){var e=a("lZ"),k=a("kX"),m=a("nH"),l=a("oR");a=m.define("Model3DCameraSequence",e,function(){e.call(this);this.set("state",k.T);this.bind(l.G("state"),function(){this.trigger(l.ne)},this,!0)});a.prototype.play=a.prototype.play=function(){this.set("state",k.X)};a.prototype.pause=a.prototype.pause=function(){this.get("state")==k.X&&this.set("state",k.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",k.T)};return a}); 1614define("iE","require lx oR cB jP dg kX eh gR".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("jP"),b=a("dg"),h=a("kX"),d=a("eh"),c=a("gR");a=e.extend(b,function(){b.call(this,!0);this.Ur=!1;this.kH=!0;this.A=h.T;this.SA=new l(this,"buttonPlayPause",d.Uj);this.SA.bind(k.Sj,this.LNa,this,!0);this.SA.bind(k.fm,this.MNa,this,!0);this.UE=new l(this,"buttonPause",d.Fe);this.UE.bind(k.ra,this.kC,this,!0);this.VE=new l(this,"buttonPlay",d.Fe);
1614this.VE.bind(k.ra,this.lC,this,!0);this.XE=new l(this, 1615"buttonStop",d.Fe);this.XE.bind(k.ra,this.Ay,this,!0);this.kGa=new l(this,"buttonRestart",d.Fe);this.kGa.bind(k.ra,this.xy,this,!0);this.pma=e.Bo(this.LTa,this);this.pma()});a.prototype.set=function(f,g){"state"!=f&&b.prototype.set.call(this,f,g)};a.prototype.get=function(f,g){switch(f){case "state":return this.A}return b.prototype.get.call(this,f,g)};a.prototype.LTa=function(){this.kH&&(this.kH=!1,this.UE.set("state",this.A==h.Ib?c.qb:c.te),this.VE.set("state",this.A==h.X||this.A==h.Ib?c.qb:c.te), 1616this.SA.set("pressed",this.A==h.X),this.XE.set("state",this.A==h.T?c.qb:c.te))};a.prototype.Uy=function(f){this.Ur!=f&&((this.Ur=f)||this.Ac(h.T))};a.prototype.Ac=function(f){var g=this.A;this.A=f;b.prototype.set.call(this,"state",f);g!=this.A&&(this.kH=!0,this.pma(),this.trigger(new m(k.ne,{oldState:g,state:this.A})))};a.prototype.kC=function(){this.Ur&&(this.A==h.Ib?this.rk():this.Qp())};a.prototype.lC=function(){this.Ur&&this.rk()};a.prototype.LNa=function(){this.Ur&&this.rk()};a.prototype.MNa= 1617function(){this.Ur&&this.Qp()};a.prototype.Ay=function(){this.Ur&&this.ho()};a.prototype.xy=function(){this.Ur&&(this.ho(),this.rk())};a.prototype.rk=function(){};a.prototype.Qp=function(){};a.prototype.ho=function(){};return a}); 1618define("eM",["require","lx","bh","cB","gp"],function(a){var e=a("lx"),k=a("bh"),m=a("cB"),l=a("gp"),b=e.extend(l,function(h,d){l.call(this);this.M=h;this.j=d;this.Rp=null;this.qa=b.xh;this.Fg=this.bh=null;this.xg=this.Ng=void 0;this.P7=[]});b.prototype.display=function(h){this.Rp=null;if(this.Fg!=h||this.qa!=b.xh)this.Rp=h,this.Qoa()};b.prototype.hide=function(){this.Rp="none";this.Qoa()};b.prototype.clear=function(){this.qa=b.xh;this.Rp=null;this.ePa();this.Cqa();this.j=null};b.prototype.nh=function(h){for(;this.P7.length;)this.P7.shift()(); 1619this.qa==b.xh||this.qa!=b.vn&&this.qa!=b.Xw&&this.qa!=b.FA||(this.xg+=h,h=Math.min(1,this.xg/this.Ng),this.qa==b.vn?this.bh.set("opacity",h):this.qa==b.FA?(this.bh.set("opacity",Math.min(1,2*h)),this.Fg.set("opacity",Math.min(1,2*(1-h)))):this.Fg.set("opacity",1-h),this.xg<this.Ng?this.Na():this.Lx())};b.prototype.vP=function(){return this.Fg&&this.j.vP(this.Fg)||void 0};b.prototype.Qoa=function(){this.Rp&&this.qa==b.xh&&this.ep()};b.prototype.ep=function(){this.Fg&&this.trigger(new m(b.bA,{model:this.Fg})); 1620"fade_out_fade_in"==this.M.get("transitionMode","blending")&&this.Fg?this.hx():(this.bh="none"==this.Rp?null:this.Rp,this.Rp=null,this.bh?this.Fg?this.P2():this.ZJ():this.Fg&&this.hx())};b.prototype.ZJ=function(){this.Xha();this.j.mea(this.bh,!1);this.xg=0;this.Ng=this.M.get("transitionDuration");this.qa=b.vn;this.Na()};b.prototype.P2=function(){this.Xha();this.j.mea(this.bh,!1);this.j.mea(this.Fg,!0);this.xg=0;this.Ng=2*this.M.get("transitionDuration");this.qa=b.FA;this.Na()};b.prototype.hx=function(){this.bh= 1621null;this.xg=0;this.Ng=this.M.get("transitionDuration");this.qa=b.Xw;this.Na()};b.prototype.Lx=function(){this.Rp!=this.Fg&&this.Cqa();this.Fg=this.bh;this.bh=null;this.qa=b.xh;this.Fg?this.trigger(new m(b.cA,{model:this.Fg})):this.Rp||this.trigger(new m(b.s0));this.Rp&&this.ep()};b.prototype.Na=function(){k.requestFrame(this.nh,this)};b.prototype.Xha=function(){if(this.bh){this.bh.set("opacity",.01);this.bh.set("zIndex",1);this.Fg&&this.Fg.set("zIndex",0);this.bh.set("currentTime",0);this.j.xua(this.bh); 1622this.trigger(new m(b.I0,{model:this.bh}));var h=this.bh;this.P7.push(function(){this.trigger(new m(b.dA,{model:h}))}.bind(this))}};b.prototype.Cqa=function(){this.Fg&&(this.j.Hda(this.Fg),this.trigger(new m(b.gR,{model:this.Fg})),this.Fg=null)};b.prototype.ePa=function(){this.bh&&(this.j.Hda(this.bh),this.trigger(new m(b.gR,{model:this.bh})),this.bh=null)};b.xh="stopped";b.vn="blending";b.FA="double blending";b.Xw="disolving";b.Hb="request frame";b.I0="model added";b.gR="model removed";b.dA="model start"; 1623b.cA="model show";b.bA="model hide";b.s0="all pending models hidden";return b}); 1624define("cT",["require","lx","gp","oR"],function(a){var e=a("lx"),k=a("gp"),m=a("oR");a=e.extend(k,function(l,b){k.call(this);this.M=l;this.j=b;this.Jh=null});a.prototype.clear=function(){this.stop();this.j=null};a.prototype.load=function(l){l!=this.Jh&&(this.stop(),this.j.uXa(l)?(this.cta(l),this.CX(l)):(this.Jh=l,this.Jh.set("opacity",0),this.PFa(),this.j.xua(this.Jh)))};a.prototype.stop=function(){this.Jh&&(this.Z$(),this.j.Hda(this.Jh),this.Jh=null)};a.prototype.EM=function(){this.cta(this.Jh)}; 1625a.prototype.od=function(){this.Z$();var l=this.Jh;this.Jh=null;this.M.set("progressVisible",!1);this.CX(l)};a.prototype.Mf=function(){this.Z$();this.Jh=null;this.M.set("progressVisible",!1)};a.prototype.ji=function(l){this.M.ka({progressPercent:l.data.percent,progressVisible:!0})};a.prototype.PFa=function(){this.Jh.bind(m.BJ,this.EM,this,!0);this.Jh.bind(m.Z,this.od,this,!0);this.Jh.bind(m.ec,this.ji,this,!0);
1625this.Jh.bind(m.uc,this.Mf,this,!0)};a.prototype.Z$=function(){this.Jh.unbind(m.BJ,this.EM, 1626this,!0);this.Jh.unbind(m.Z,this.od,this,!0);this.Jh.unbind(m.ec,this.ji,this,!0);this.Jh.unbind(m.uc,this.Mf,this,!0)};a.prototype.cta=function(l){this.trigger(m.BJ,{model:l})};a.prototype.CX=function(l){this.trigger(m.Z,{model:l})};a.Ifa=m.BJ;a.Ffa=m.Z;return a}); 1627define("hh","require lx oR cB gp kX".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("kX"),h=e.extend(l,function(){l.call(this);this.ea=null;this.A=b.T});h.prototype.start=function(d){this.ea=d;this.ea.bind(k.G("camera"),this.H7,this,!0);this.ea.bind(k.G("state"),this.f8,this,!0);this.ea.bind(k.G("currentTime"),this.pV,this,!0);this.ea.bind(k.G("duration"),this.pV,this,!0);this.f8();this.H7()};h.prototype.end=function(){this.stop();this.Fa&&(this.Fa.unbind(k.G("state"),this.dM, 1628this,!0),this.Fa=null);this.ea&&(this.ea.unbind(k.G("camera"),this.H7,this,!0),this.ea.unbind(k.G("state"),this.f8,this,!0),this.ea.unbind(k.G("currentTime"),this.pV,this,!0),this.ea.unbind(k.G("duration"),this.pV,this,!0),this.ea=null)};h.prototype.clear=function(){this.end()};h.prototype.play=function(){this.ea&&this.ea.set("state",b.X)};h.prototype.pause=function(){this.ea&&this.ea.set("state",b.Ib)};h.prototype.stop=function(){this.ea&&this.ea.set("state",b.T)};h.prototype.setTime=function(d){this.ea&& 1629this.ea.set("currentTime",d)};h.prototype.getTime=function(){return this.ea&&this.ea.get("currentTime")||void 0};h.prototype.f8=function(){var d=this.ea.get("state");this.A!=d&&(this.A=d,this.Fa&&this.Fa.set("state",d),this.trigger(new m(h.Ec,{state:this.A})))};h.prototype.pV=function(){this.trigger(new m(h.dj,{model:this.ea,time:this.ea.get("currentTime"),duration:this.ea.get("duration")}));this.dM()};h.prototype.H7=function(){this.Fa&&this.Fa.unbind(k.G("state"),this.dM,this,!0);(this.Fa=this.ea.get("camera"))&& 1630this.Fa.bind(k.G("state"),this.dM,this,!0);this.dM()};h.prototype.dM=function(){0===this.ea.get("duration")&&this.ea.set("state",this.Fa?this.Fa.get("state"):b.T)};h.Ec="playback state change";h.dj="time change";return h}); 1631define("dZ","require lx kX cB gp eM cT hh".split(" "),function(a){var e=a("lx"),k=a("kX"),m=a("cB"),l=a("gp"),b=a("eM"),h=a("cT"),d=a("hh"),c=e.extend(l,function(f,g){l.call(this);this.M=f;this.j=g;this.j.set("visible",!1);this.oe=new h(this.M,this.j);this.Ja=new b(this.M,this.j);this.Ka=new d(this.j);this.oe.bind(h.Ifa,this.Hoa,this,!0);this.oe.bind(h.Ffa,this.Qu,this,!0);this.Ja.bind(b.bA,this.sy,this,!0);this.Ja.bind(b.cA,this.pl,this,!0);this.Ja.bind(b.dA,this.rM,this,!0);this.Ja.bind(b.I0,this.Eoa, 1632this,!0);this.Ja.bind(b.gR,this.Ioa,this,!0);this.Ja.bind(b.s0,this.Cna,this,!0);this.Ka.bind(d.Ec,this.Ve,this,!0);this.Ka.bind(d.dj,this.Lp,this,!0)});c.prototype.clear=function(){this.oe.clear();this.Ja.clear();this.Ka.clear();this.oe.unbind(h.Ifa,this.Hoa,this);this.oe.unbind(h.Ffa,this.Qu,this);this.Ja.unbind(b.bA,this.sy,this);this.Ja.unbind(b.cA,this.pl,this);this.Ja.unbind(b.dA,this.rM,this);this.Ja.unbind(b.I0,this.Eoa,this);this.Ja.unbind(b.gR,this.Ioa,this);this.Ja.unbind(b.s0,this.Cna, 1633this);this.Ka.unbind(d.Ec,this.Ve,this);this.Ka.unbind(d.dj,this.Lp,this);this.M=this.j=this.Ka=this.Ja=this.oe=null};c.prototype.e0a=function(f){this.j.set("visible",!0);this.oe.load(f)};c.prototype.iw=function(){this.Ja.hide();this.Ka.end()};c.prototype.play=function(){this.Ka.play()};c.prototype.stop=function(){this.Ka.stop()};c.prototype.pause=function(){this.Ka.pause()};c.prototype.setTime=function(f){this.Ka.setTime(f)};c.prototype.getTime=function(){return this.Ka.getTime()};c.prototype.vP= 1634function(){return this.Ja.vP()};c.prototype.Hoa=function(f){this.Ja.display(f.data.model)};c.prototype.Qu=function(){};c.prototype.Eoa=function(f){this.Ka.start(f.data.model)};c.prototype.rM=function(f){this.trigger(new m(c.dA,{model:f.data.model}))};c.prototype.Ioa=function(){};c.prototype.pl=function(f){f=f.data.model;f.get("autoplay")&&f.get("state")!=k.X&&f.set("state",k.X);this.trigger(new m(c.cA,{model:f}))};c.prototype.sy=function(f){this.trigger(new m(c.bA,{model:f.data.model}))};c.prototype.Cna= 1635function(){this.j.set("visible",!1)};c.prototype.Lp=function(f){this.trigger(new m(c.J0,f.data))};c.prototype.Ve=function(f){this.trigger(new m(c.Ec,{state:f.data.state}))};c.cA="modelShow";c.bA="modelHide";c.G2a="modelEnd";c.dA="modelStart";c.J0="videoTimeChange";c.Ec="playbackStateChange";return c}); 1636define("kn",["require","jquery.mod","v"],function(a){function e(){this.oa=k("<div/>");this.oa.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.oa.hide()}var k=a("jquery.mod"),m=a("v");e.prototype.Bc=function(){return this.oa};e.prototype.trigger=function(){m.browser()!=m.Wh&&this.oa.fadeIn(100).fadeOut(100)};return e}); 1637define("mg",["require","exports"],function(){return function(){function a(e,k){this.R=e;this.tag=k||"Entity";this.id=this.tag+"_"+a.ida++;this.components={};this.iQ={};this.Mea=0}a.prototype.getComponent=function(e){return this.components[e.id]};a.prototype.J=function(e,k){void 0===k&&(k=!1);var m=this.components[e.id];m?this.R.kVa(this,e):k&&(m=this.H(e));return m};a.prototype.H=function(e){if(e.id in this.components)return this.components[e.id];e.vZ&&this.Mea++;var k=this.components[e.id]=new e; 1638this.R.HUa(this,e);return k};a.prototype.na=function(e){var k;void 0===k&&(k=!1);e.id in this.components&&(e.vZ&&this.Mea--,k?this.components[e.id].clear():this.iQ[e.id]=this.components[e.id],delete this.components[e.id],this.R.Mza(this,e,k))};a.prototype.nVa=function(){for(var e in this.iQ)this.iQ[e].clear(),delete this.iQ[e]};a.prototype.EZa=function(){for(var e in this.components){var k=this.components[e].constructor;k.vZ||(this.iQ[e]=this.components[e],delete this.components[e],this.R.Mza(this, 1639k,!1))}};
1639a.ida=0;return a}()});define("cd",["require"],function(){function a(){this.id=a.C7++;this.C=[]}a.C7=0;return a});define("kS",["require"],function(){function a(e,k){this.id=a.C7++;this.name=k;this.C=e.C;this.de=e.C.slice();this.Ua=[];this.mg=[]}a.prototype.lVa=function(){!this.de.length||(this.de=[]);!this.Ua.length||(this.Ua=[]);!this.mg.length||(this.mg=[])};a.C7=0;return a}); 1640define("bq",["require","cd","kS"],function(a){function e(){this.BXa={};this.K={};this.RD={};this.cI={};this.Pv={};this.QD={};this.$O={};this.PD={}}function k(d){return"string"==typeof d?d:d.id}function m(d,c){0>d.indexOf(c)&&d.push(c);return d}function l(d,c){c=d.indexOf(c);0<=c&&d.splice(c,1);return d}var b=a("cd"),h=a("kS");e.prototype.ta=function(d){this.$O[d.id]={};this.$O[d.not]={}};e.prototype.GVa=function(d,c){d=this.RKa(d);c=new h(d,c);this.RD[d.id].push(c);return c};e.prototype.RKa=function(d){var c= 1641this.SKa(d);if(c=this.BXa[c])return c;c=new b;this.K[c.id]=c;d=d.map(k);this.PD[c.id]={};for(var f=0;f<d.length;f++){var g=d[f];this.PD[c.id][g]=!0;this.$O[g][c.id]=!0}this.QD[c.id]={};this.RD[c.id]=[];return c};e.prototype.SKa=function(d){d=d.map(k);d.sort();return d.join("-")};e.prototype.FYa=function(d){this.cI[d.id]={};this.Pv[d.id]={}};e.prototype.GYa=function(d){delete this.cI[d.id];delete this.Pv[d.id]};e.prototype.AYa=function(d,c){var f=c.id,g=c.not;c=d.id;this.cI[c][f]=!0;for(var p in this.Pv[c])if(g in 1642this.PD[p]){delete this.QD[p][c];delete this.Pv[c][p];l(this.K[p].C,d);for(var q=this.RD[p],n=0,r=q.length;n<r;n++){var t=q[n];m(t.mg,d);l(t.de,d);l(t.Ua,d)}}for(p in this.$O[f])if(!(c in this.QD[p])){f=!0;for(var u in this.PD[p])if(g="!"!=u[0],(g?u:u.slice(1))in this.cI[c]!=g){f=!1;break}if(f)for(this.QD[p][c]=!0,this.Pv[c][p]=!0,m(this.K[p].C,d),q=this.RD[p],n=0,r=q.length;n<r;n++)t=q[n],m(t.de,d),l(t.mg,d),l(t.Ua,d)}};e.prototype.CYa=function(d,c){var f=c.id,g="!"+f;c=d.id;delete this.cI[c][f]; 1643for(var p in this.Pv[c])if(f in this.PD[p]){delete this.QD[p][c];delete this.Pv[c][p];l(this.K[p].C,d);for(var q=this.RD[p],n=0,r=q.length;n<r;n++){var t=q[n];m(t.mg,d);l(t.de,d);l(t.Ua,d)}}for(p in this.$O[g])if(!(c in this.QD[p])){f=!0;for(var u in this.PD[p])if(g="!"!=u[0],(g?u:u.slice(1))in this.cI[c]!=g){f=!1;break}if(f)for(this.QD[p][c]=!0,this.Pv[c][p]=!0,this.K[p].C.push(d),q=this.RD[p],n=0,r=q.length;n<r;n++)t=q[n],m(t.de,d),l(t.mg,d),l(t.Ua,d)}};e.prototype.BYa=function(d,c){c=c.id;var f= 1644d.id,g;for(g in this.Pv[f])if(c in this.PD[g]){f=this.RD[g];for(var p=0,q=f.length;p<q;p++)m(f[p].Ua,d)}};return e}); 1645define("lp",["require","bh","mg","bq"],function(a){function e(b){this.sc=b;this.W=!0;this.eh={};this.zK=[];this.aHa={};this.ZN=[];this.yC=new l;this.ZS=[];this.Hy=!1;this.Lka=void 0}var k=a("bh"),m=a("mg"),l=a("bq");e.prototype.s_=function(b){this.Lka=b};e.prototype.ta=function(b){this.aHa[b.id]=b;this.yC.ta(b);return this};e.prototype.Hd=function(b,h){var d=new b(this,h);d.order=this.ZN.length;this.ZN.push(d);for(var c in b.K)d[c]=this.yC.GVa(b.K[c],h+"."+c);this.ZN.sort(function(f,g){return f.priority- 1646g.priority||f.order-g.order});return this};e.prototype.bd=function(b){b=new m(this,b);this.eh[b.id]=b;this.yC.FYa(b);this.bb();return b};e.prototype.Ne=function(b){b.id in this.eh&&(delete this.eh[b.id],this.zK.push(b),b.EZa(),this.bb())};e.prototype.HUa=function(b,h){this.yC.AYa(b,h);this.bb()};e.prototype.Mza=function(b,h,d){this.yC.CYa(b,h);d||this.ZS.push(b);this.bb()};e.prototype.kVa=function(b,h){this.yC.BYa(b,h);this.bb()};e.prototype.Wb=function(b){this.W=b;this.bb()};e.prototype.bb=function(){this.W&& 1647!this.Hy&&(this.Hy=!0,k.requestFrame(this.update,this,this.Lka))};e.prototype.update=function(b){b=b||0;this.Hy=!1;for(var h=(new Date).getTime(),d=0;d<this.ZN.length;d++){var c=this.ZN[d];c.xd(b,h);for(var f in c.constructor.K)c[f].lVa()}for(d=0;d<this.ZS.length;d++)this.ZS[d].nVa();this.ZS.length=0;for(d=this.zK.length-1;0<=d;d--)0==this.zK[d].Mea&&(this.yC.GYa(this.zK[d]),this.zK.splice(d,1))};return e}); 1648define("eq",["require","exports"],function(){return function(){function a(){}a.prototype.clear=function(){};a.Sb=function(e){this.id=e+"Component";this.not="!"+this.id};a.Ic=function(e){this.Sb(e+"SystemState");this.vZ=!0};a.vZ=!1;return a}()}); 1649define("fF",["require","exports","eq"],function(a,e,k){var m;(function(l){var b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.bias=0;f.uva=500;f.intensity=1;f.scale=100;f.Bxa=25;f.aya=0;f.wba=4;f.output=null;return f}Z(c,d);return c}(k);l.lE=b;b.Sb("AmbientOcclusionEffect");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.properties=null;return f}Z(c,d);return c}(k);l.Animation=b;b.Sb("Animation");b=function(d){function c(){var f=null!==d&&d.apply(this, 1650arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.bt=b;b.Ic("Animation");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Qva=!1;f.jBa=!1;f.LQ=2;return f}Z(c,d);return c}(k);l.Tz=b;b.Sb("AntialiasEffect");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.C=[];f.renderOrder=null;f.ba=null;return f}Z(c,d);return c}(k);l.Zl=b;b.Sb("Area");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.C=[];return f}Z(c,d);return c}(k); 1651l.Aw=b;b.Ic("Area");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.qY=[];return f}Z(c,d);return c}(k);l.Uz=b;b.Ic("AreaPoint");b=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.Dw=b;b.Sb("Beacon");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.position=null;return f}Z(c,d);return c}(k);l.Ew=b;b.Ic("Beacon");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.ba=null;return f} 1652Z(c,d);return c}(k);l.qn=b;b.Sb("BeaconTracker");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.position=null;return f}Z(c,d);return c}(k);l.gt=b;b.Ic("BeaconTracker");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.lg=null;f.Yza=null;f.yz=!0;f.properties=null;f.enabled=!0;f.ZH=!0;return f}Z(c,d);return c}(k);var h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.source=null;f.HQ=null;f.opacity=1;f.isSprite=!1;f.hidden= 1653!1;f.depthTest=!0;return f}Z(c,d);return c}(k);l.Xh=h;h.Sb("CanvasMaterial");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.Fw=h;h.Ic("CanvasMaterial");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.color="#000000";f.opacity=.5;return f}Z(c,d);return c}(k);l.cR=h;h.Sb("ColorEffect");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.sJ=h;h.Sb("Data");h=function(d){function c(){var f= 1654null!==d&&d.apply(this,arguments)||this;f.ba=null;f.direction=null;f.min=null;return f}Z(c,d);return c}(k);l.Jo=h;h.Sb("Draggable");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Lba=null;return f}Z(c,d);return c}(k);l.Gw=h;h.Ic("Draggable");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.Hw=h;h.Sb("Dragging");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(b);l.nA=h;h.Sb("FirstPersonControls"); 1655h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.mt=h;h.Ic("FirstPersonControls");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.distance=0;f.IP=!1;f.x=0;
1655f.y=0;f.z=0;return f}Z(c,d);return c}(k);l.nt=h;h.Sb("FloorTransform");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.$q=h;h.Ic("FloorTransform");h=function(d){function c(){return null!== 1656d&&d.apply(this,arguments)||this}Z(c,d);return c}(b);l.oA=h;h.Sb("FlyOverControls");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.ot=h;h.Ic("FlyOverControls");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.geometry=null;return f}Z(c,d);return c}(k);l.Geometry=h;h.Sb("Geometry");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.group=null;return f}Z(c,d);return c}(k);l.Group= 1657h;h.Sb("Group");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.group=null;return f}Z(c,d);return c}(k);l.vE=h;h.Ic("Group");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.properties=null;f.yca=null;f.ba=null;f.wo=null;f.priority=void 0;f.isSprite=!1;return f}Z(c,d);return c}(k);l.dm=h;h.Sb("ImageMaterial");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.Nw=h;h.Ic("ImageMaterial"); 1658h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Uza=7;f.intensity=1;return f}Z(c,d);return c}(k);l.xJ=h;h.Sb("MotionBlurEffect");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.properties=null;f.target=null;f.Xd=null;return f}Z(c,d);return c}(k);l.Light=h;h.Sb("Light");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.R3a=null;return f}Z(c,d);return c}(k);l.qt=h;h.Ic("Light");h=function(d){function c(){var f=null!==d&& 1659d.apply(this,arguments)||this;f.line=null;f.renderOrder=0;return f}Z(c,d);return c}(k);l.Line=h;h.Sb("Line");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.line=null;return f}Z(c,d);return c}(k);l.Pw=h;h.Ic("Line");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.color="#ffffff";f.opacity=1;f.width=1;f.depthTest=!0;return f}Z(c,d);return c}(k);l.Wg=h;h.Sb("LineMaterial");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this; 1660f.manager=null;return f}Z(c,d);return c}(k);l.Ow=h;h.Ic("LineMaterial");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Y=null;f.position=null;return f}Z(c,d);return c}(k);l.ar=h;h.Sb("LineToTransform");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.Qw=h;h.Ic("LineToTransform");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.material=null;return f}Z(c,d);return c}(k);l.Material=h;h.Sb("Material"); 1661h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.name=null;return f}Z(c,d);return c}(k);l.st=h;h.Sb("MaterialVariant");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.Vo=h;h.Ic("MaterialVariant");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.yo=null;f.renderOrder=0;return f}Z(c,d);return c}(k);l.Mesh=h;h.Sb("Mesh");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)|| 1662this;f.yo=null;return f}Z(c,d);return c}(k);l.dr=h;h.Ic("Mesh");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.properties=null;f.$ca=null;f.yza=null;f.wo=null;f.ba=null;f.sca=null;return f}Z(c,d);return c}(k);l.uh=h;h.Sb("Model");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.tt=h;h.Ic("Model");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.zJ=h;h.Sb("NotCollidable"); 1663h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.pDa=h;h.Ic("NotCollidable");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.$ea=!0;f.afa=!0;return f}Z(c,d);return c}(k);l.Wo=h;h.Sb("NotSelectable");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.sA=h;h.Ic("NotSelectable");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.pa=null;return f}Z(c,d);return c}(k); 1664l.Object3D=h;h.Sb("Object3D");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.id=null;f.container=null;return f}Z(c,d);return c}(k);l.BE=h;h.Sb("Object3DId");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.ut=h;h.Ic("Object3DId");h=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.RO=0;f.castShadow=void 0;f.receiveShadow=void 0;f.envMapIntensity=1;f.opacity=1;f.ba=null;return f} 1665Z(c,d);return c}(k);
1665l.Yh=h;h.Sb("ObjectTransform");h=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.Rw=h;h.Ic("ObjectTransform");b=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(b);l.tA=b;b.Sb("OrbitControls");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.vt=b;b.Ic("OrbitControls");b=function(d){function c(){var f=null!==d&&d.apply(this, 1666arguments)||this;f.width=100;f.height=100;return f}Z(c,d);return c}(k);l.OrthographicCamera=b;b.Sb("OrthographicCamera");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.camera=null;f.width=void 0;f.height=void 0;return f}Z(c,d);return c}(k);l.Sw=b;b.Ic("OrthographicCamera");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Y=null;f.attach=!1;f.id=null;return f}Z(c,d);return c}(k);l.kb=b;b.Sb("Parent");b=function(d){function c(){var f=null!==d&&d.apply(this, 1667arguments)||this;f.parent=null;f.wd=null;f.id=void 0;f.attach=!1;return f}Z(c,d);return c}(k);l.er=b;b.Ic("Parent");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.width=100;f.height=100;f.fov=75;f.near=.01;f.far=100;f.Jua=!1;f.Kua=0;return f}Z(c,d);return c}(k);l.PerspectiveCamera=b;b.Sb("PerspectiveCamera");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.camera=null;f.scene=null;f.boundingBox=null;f.xba=null;f.e_=!1;f.width=void 0;f.height=void 0; 1668f.fov=void 0;f.near=void 0;f.far=void 0;return f}Z(c,d);return c}(k);l.fr=b;b.Ic("PerspectiveCamera");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Df=1;f.Qf=1;f.oh=1;f.scale=1;f.zz=void 0;f.Az=void 0;return f}Z(c,d);return c}(k);l.ej=b;b.Sb("PixelScaleTransform");b=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.vA=b;b.Ic("PixelScaleTransform");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.renderOrder= 1669null;return f}Z(c,d);return c}(k);l.Plane=b;b.Sb("Plane");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.xt=b;b.Ic("Plane");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.ba=null;f.enabled=!0;return f}Z(c,d);return c}(k);l.df=b;b.Sb("Pointer");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Y=null;f.rotate=!0;f.ba=null;return f}Z(c,d);return c}(k);l.Tj=b;b.Sb("PointerOverTransform"); 1670b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.gr=b;b.Ic("PointerOverTransform");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.yt=b;b.Ic("PointerDragging");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.zt=b;b.Ic("PointerSelection");b=function(d){function c(){var f=null!==d&&d.apply(this, 1671arguments)||this;f.bJ=null;f.B_=null;f.E_=null;return f}Z(c,d);return c}(k);l.hr=b;b.Sb("ProjectedMaterial");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.bJ=null;f.pa=null;f.aJ=null;f.material=null;f.FI=null;return f}Z(c,d);return c}(k);l.At=b;b.Ic("ProjectedMaterial");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.bI=null;f.canvas=null;f.antialias=!0;f.shadowMap=!1;f.renderer=null;f.nQ=[];return f}Z(c,d);return c}(k);l.vh=b;b.Sb("Renderer"); 1672b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.jr=b;b.Ic("Renderer");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.opacity=1;f.locked=!1;f.enabled=!0;f.scene=null;f.ie=null;f.backgroundColor=null;f.rba=null;f.Lua=null;f.Ava=null;f.Pba=null;f.outputEncoding=null;f.ba=null;return f}Z(c,d);return c}(k);l.Scene=b;b.Sb("Scene");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.scene= 1673null;f.manager=null;return f}Z(c,d);return c}(k);l.lr=b;b.Ic("Scene");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.ba=null;f.PQ=!1;f.Lv=!0;f.gw=!1;f.hJ=!1;return f}Z(c,d);return c}(k);l.md=b;b.Sb("Selectable");
1673b=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.wA=b;b.Ic("Selectable");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.color="#ffffff";f.opacity=1;f.depthTest=!0;f.doubleSided=!1;return f} 1674Z(c,d);return c}(k);l.Fc=b;b.Sb("SolidMaterial");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.Ct=b;b.Ic("SolidMaterial");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.radius=1;f.widthSegments=32;f.heightSegments=16;f.renderOrder=0;return f}Z(c,d);return c}(k);l.Sphere=b;b.Sb("Sphere");b=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}Z(c,d);return c}(k);l.xA=b;b.Ic("Sphere"); 1675b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.OH=.5;f.PH=.5;f.height=100;f.width=100;f.scale=1;f.sizeAttenuation=!1;f.o1a=null;f.renderOrder=0;return f}Z(c,d);return c}(k);l.Sprite=b;b.Sb("Sprite");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.mr=b;b.Ic("Sprite");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Jv=!1;f.positionX=0;f.positionY=0;f.positionZ=0;f.Qe=0;f.re= 16760;f.Re=0;f.Zf="XYZ";f.scale=1;f.Df=1;f.Qf=1;f.oh=1;f.translationX=0;f.translationY=0;f.cf=0;f.easing=0;f.ba=null;return f}Z(c,d);return c}(k);l.Aa=b;b.Sb("Transform");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.Jv=!1;f.positionX=0;f.positionY=0;f.positionZ=0;f.Qe=0;f.re=0;f.Re=0;f.Zf="XYZ";f.scale=1;f.Df=1;f.Qf=1;f.oh=1;f.translationX=0;f.translationY=0;f.cf=0;return f}Z(c,d);return c}(k);l.Hf=b;b.Ic("Transform");b=function(d){function c(){return null!==d&&d.apply(this, 1677arguments)||this}Z(c,d);return c}(k);l.zA=b;b.Ic("TransformEasing");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.properties=null;f.lfa=null;f.ba=null;return f}Z(c,d);return c}(k);l.un=b;b.Sb("VideoMaterial");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.manager=null;return f}Z(c,d);return c}(k);l.Vw=b;b.Ic("VideoMaterial");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.ie=null;f.width=null;f.height=null;return f} 1678Z(c,d);return c}(k);l.gm=b;b.Sb("Viewport");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.ie=null;f.properties=null;return f}Z(c,d);return c}(k);l.Ww=b;b.Sb("ViewportPlaneGeometry");b=function(d){function c(){var f=null!==d&&d.apply(this,arguments)||this;f.geometry=null;f.$Aa=void 0;f.YAa=void 0;f.Xwa=void 0;f.verticalAlign=void 0;f.Vza=void 0;f.zIndex=void 0;return f}Z(c,d);return c}(k);l.Ft=b;b.Ic("ViewportPlaneGeometry");b=function(d){function c(){var f=null!==d&&d.apply(this, 1679arguments)||this;f.eza=1;f.fxa=.5;f.color="#000000";f.opacity=.5;return f}Z(c,d);return c}(k);l.FE=b;b.Sb("VignetteEffect")})(m||(m={}));return m});define("lH",["require"],function(){function a(e,k){this.R=e;this.name=k;this.priority=0}a.prototype.xd=function(){};return a}); 1680define("cg",["require","oR","kX"],function(a){function e(l,b,h,d,c){this.m=l;this.dd=b;this.ag=h;this.Xj=d;this.Ca=c;this.RW()}var k=a("oR"),m=a("kX");e.prototype.getAnimations=function(){return this.ag};e.prototype.oP=function(){return this.Xj};e.prototype.frame=function(l){this.A==m.X&&(this.fs(this.yh.time+l/1E3),this.Ca())};e.prototype.dispose=function(){this.tX();this.Zw=this.JA=this.yh=this.Ca=this.Xj=this.ag=this.dd=this.m=null};e.prototype.RW=function(){this.yh=new THREE.AnimationMixer(this.dd); 1681this.sb=0;this.Eb=!1;this.JA=[];this.Zw=[];for(var l=0;l<this.ag.length;l++){var b=this.ag[l],h="alternate"==b.get("animationDirection"),d=this.sb;this.sb+=this.Xj[l].duration*(h?2:1);this.Zw.push({start:d,end:this.sb});d=this.yh.clipAction(this.Xj[l]);h?d.setLoop(THREE.LoopPingPong,2):d.setLoop(THREE.LoopOnce,1);this.JA.push(d);b.set("state",m.T);b.set("currentTime",0);b.set("duration",this.Xj[l].duration)}this.A=m.T;this.Vk=void 0;this.m.bind(k.G("state"),this.yf,this,!0);this.m.bind(k.G("currentTime"), 1682this.bC,this,!0);this.m.bind(k.G("animationDirection"),this.Xna,this,!0);this.m.set("duration",this.sb);this.fs(0);this.m.get("autoplay")&&this.m.set("state",m.X)};e.prototype.tX=function(){this.m.unbind(k.G("state"),this.yf,this,!0);this.m.unbind(k.G("currentTime"),this.bC,this,!0);this.m.unbind(k.G("animationDirection"),this.Xna,this,!0);this.m.set("state",m.T);for(var l=0;l<this.ag.length;l++)this.JA[l].stop(),this.yh.uncacheClip(this.Xj[l]),this.ag[l].set("state",m.T),this.ag[l].set("currentTime", 16830);this.m.set("duration",void 0);this.m.set("currentTime",void 0)};e.prototype.Xna=function(){this.tX();this.RW()};e.prototype.yf=function(){var l=this.m.get("state");this.A!=l&&(this.A==m.T?l==m.Ib?this.m.set("state",m.T):l==m.X&&(this.A=m.X,this.Eb=!1,this.fs(0),this.Ca()):this.A==m.X?l==m.T?(this.A=m.T,this.Eb&&"last"==this.m.get("finalFrame")?this.fs(this.sb):this.fs(0)):l==m.Ib&&(this.A=m.Ib):this.A==m.Ib&&(l==m.X?(this.A=m.X,this.Ca()):l==m.T&&(this.A=m.T,this.fs(0))),void 0!==this.Vk&&this.ag[this.Vk].set("state", 1684this.A),this.m.set("state",this.A))};e.prototype.bC=function(){var l=this.m.get("currentTime");this.yh.time!=l&&(this.A!=m.T&&this.fs(l),this.m.set("currentTime",this.yh.time))};e.prototype.fs=function(l){if(this.yh.time!=l||void 0===this.Vk)if(l>this.sb)this.m.get("loop")?this.m.set("currentTime",l%this.sb):(this.Eb=!0,this.m.trigger(k.vb),this.m.set("state",m.T));else{for(var b=this.Vk||0;l>this.Zw[b].end;)b++;for(;l<this.Zw[b].start;)b--;if(this.Vk!==b){for(var h=this.Vk||0;h<b;h++){var d=this.ag[h], 1685c=this.JA[h],f=this.Zw[h];"last"==d.get("finalFrame")&&"normal"==d.get("animationDirection")?(c.reset(),c.startAt(f.start),d.set("currentTime",d.get("duration")),c.clampWhenFinished=!0,c.play()):(d.set("currentTime",0),c.stop(),c.clampWhenFinished=!1);d.set("state",m.T)}d=this.ag[b];c=this.JA[b];f=this.Zw[b];c.reset();c.startAt(f.start);c.clampWhenFinished="last"==d.get("finalFrame")&&"normal"==d.get("animationDirection");c.play();for(h=this.Vk||0;h>b;h--)d=this.ag[h],c=this.JA[h],d.set("currentTime", 16860),c.stop();this.Vk=b}else c=this.JA[this.Vk],l<this.yh.time&&(c.reset(),c.startAt(this.Zw[this.Vk].start)),c.paused=!1;this.yh.update(l-this.yh.time);d=this.ag[this.Vk];d.set("state",this.A);l=this.yh.time-this.Zw[this.Vk].start;d=d.get("duration");b=l>d;this.ag[this.Vk].set("currentTime",b?2*d-l:l);this.ag[this.Vk].set("currentDirection",b?"backward":"forward");this.m.set("currentTime",this.yh.time);this.Ca()}};return e}); 1687define("oJ",["require","oR","kX"],function(a){function e(l,b,h,d,c){this.m=l;this.dd=b;this.ag=h;this.Xj=d;this.Ca=c;this.U7=this.U7.bind(this);this.O7=this.O7.bind(this);this.RW()}var k=a("oR"),m=a("kX");e.prototype.dispose=function(){this.tX();this.Ca=this.Xj=this.ag=this.dd=this.m=null};e.prototype.getAnimations=function(){return this.ag};e.prototype.oP=function(){return this.Xj};e.prototype.frame=function(l){0<this.Lt.length&&(this.yh.update(l/1E3),this.Lt.forEach(function(b){this.lia(b)}.bind(this)), 1688this.Ca())};e.prototype.RW=function(){this.yh=new THREE.AnimationMixer(this.dd);this.yh.addEventListener("loop",this.U7);this.yh.addEventListener("finished",this.O7);this.rr=new Map;this.KR=new Map;this.Lt=[];for(var l=0;l<this.ag.length;l++){var b=this.ag[l],h=this.Xj[l];this.KR.set(b,h);var d=this.yh.clipAction(h);this.rr.set(b,d);b.set("duration",h.duration);
1688b.set("currentTime",b.get("currentTime")||0);b.set("currentDirection","forward");b.bind(k.G("state"),this.Lna,this,!0);b.bind(k.G("animationDirection"), 1689this.Ina,this,!0);b.bind(k.G("currentTime"),this.Hna,this,!0);b.bind(k.G("currentDirection"),this.Gna,this,!0);b.bind(k.G("loop"),this.Kna,this,!0);b.bind(k.G("finalFrame"),this.Jna,this,!0);this.sH(b)}this.Ca()};e.prototype.tX=function(){for(var l=0;l<this.ag.length;l++){var b=this.ag[l];b.unbind(k.G("state"),this.Lna,this,!0);b.unbind(k.G("animationDirection"),this.Ina,this,!0);b.unbind(k.G("currentTime"),this.Hna,this,!0);b.unbind(k.G("currentDirection"),this.Gna,this,!0);b.unbind(k.G("loop"), 1690this.Kna,this,!0);b.unbind(k.G("finalFrame"),this.Jna,this,!0);this.rr.get(b).stop();this.rr["delete"](b);this.yh.uncacheClip(this.KR.get(b));this.KR["delete"](b);this.ag[l].set("state",m.T);this.ag[l].set("currentTime",0)}this.yh=this.KR=this.rr=null};e.prototype.U7=function(l){this.rr.forEach(function(b,h){l.action==b&&h.get("loop")&&h.trigger(k.ir)})};e.prototype.O7=function(l){this.rr.forEach(function(b,h){l.action==b&&(this.lia(h),h.set("state",m.T),"alternate"==h.get("animationDirection")&& 1691h.set("currentDirection","forward"==h.get("currentDirection")?"backward":"forward"),h.trigger(k.vb))}.bind(this))};e.prototype.Ina=function(l){this.sH(l.source)};e.prototype.Kna=function(l){this.sH(l.source)};e.prototype.Jna=function(l){this.sH(l.source)};e.prototype.Gna=function(l){var b=l.source,h=this.rr.get(b),d=h.time,c=b.get("duration");b.get("loop")||0==d||d==c||h.reset();this.sH(l.source)};e.prototype.Hna=function(l){this.sH(l.source)};e.prototype.lia=function(l){this.jia=!0;var b=this.rr.get(l), 1692h="alternate"==l.get("animationDirection");h=0<b._loopCount&&1==b._loopCount%2&&h;l.set("currentDirection",h?"backward":"forward");b=b.time;var d=l.get("duration");h?l.set("currentTime",d-b):l.set("currentTime",b);this.jia=!1};e.prototype.sH=function(l){if(!this.jia){var b=this.rr.get(l),h="alternate"==l.get("animationDirection"),d="backward"==l.get("currentDirection")&&h,c=l.get("loop"),f="last"==l.get("finalFrame"),g=l.get("currentTime");l=l.get("duration");c?(b.loop=h?THREE.LoopPingPong:THREE.LoopRepeat, 1693b.repetitions=Infinity,b.clampWhenFinished=!1):d?(b.loop=THREE.LoopPingPong,b.repetitions=2,b.clampWhenFinished=!1):(b.loop=THREE.LoopOnce,b.repetitions=1,b.clampWhenFinished=f||h);h=h&&-1==b._loopCount?d?l+l-g:g:h&&1==b._loopCount%2?l-g:g;b.time!=h&&(b.time=h,b.paused&&b.enabled&&0==h&&b.stop());this.Ca()}};e.prototype.Lna=function(l){this.aTa(l.source)};e.prototype.aTa=function(l){var b=this.rr.get(l),h=l.get("state");var d=0<=this.Lt.indexOf(l)?m.X:b.paused&&b.enabled&&b.time<l.get("duration")? 1694m.Ib:m.T;d!=h&&(d==m.X?h==m.Ib?(this.Lt.splice(this.Lt.indexOf(l),1),b.paused=!0):h==m.T&&(this.Lt.splice(this.Lt.indexOf(l),1),!b.paused&&b.enabled&&b.stop()):d==m.Ib?h==m.X?(this.Lt.push(l),b.paused=!1):h==m.T&&b.stop():d==m.T&&(h==m.X?(this.Lt.push(l),b.paused&&b.enabled&&"alternate"==l.get("animationDirection")&&"backward"==l.get("currentDirection")?b.paused=!1:(b.reset(),b.play(),b.fadeIn(.1))):h==m.Ib&&(h=m.T)),l.set("state",h),this.Ca())};return e}); 1695define("cp",["require","exports","fF","three.mod"],function(a,e,k,m){return function(){function l(){}l.Bb=function(b){return b?b.constructor==m.Object3D?b:(b=b.getComponent(k.Object3D))?b.pa:null:null};l.getWorldPosition=function(b,h){h=h||new m.Vector3;b=this.Bb(b);if(!b)return null;h.setFromMatrixPosition(b.matrixWorld);return h};l.yQ=function(b,h){(b=b.getComponent(k.Object3D))&&null!==b.pa&&(b=b.pa,b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!1,h.Jv&&b.parent?(b.parent.updateWorldMatrix(!0, 1696!1),b.matrix.copy(b.parent.matrixWorld).invert()):b.matrix.identity(),b.matrix.multiply(this.EZ.makeTranslation(h.translationX,h.translationY,h.cf)),b.matrix.multiply(this.EZ.makeRotationFromEuler(this.XVa.set(h.Qe*this.DE,h.re*this.DE,h.Re*this.DE,h.Zf))),b.matrix.multiply(this.EZ.makeTranslation(h.positionX,h.positionY,h.positionZ)),b.matrix.multiply(this.EZ.makeScale(h.scale*h.Df,h.scale*h.Qf,h.scale*h.oh)),b.updateMatrixWorld(!0))};l.oP=function(b){if(!b)return[];b=b.getComponent(k.uh);return(b= 1697null===b||void 0===b?void 0:b.sca)?b.animations||[]:[]};
1697l.Xba=function(b){return b.getComponent(k.OrthographicCamera)||b.getComponent(k.PerspectiveCamera)};l.Jj=function(b){return this.oI(this.Bb(b))};l.oI=function(b){for(;b&&!b.isScene;)b=b.parent;return b};l.B0a=function(b,h){b.userData.camera=h};l.E0a=function(b,h,d){b.userData.width=h;b.userData.height=d};l.C0a=function(b,h){b.userData.encoding!==h&&(b.userData.encoding=h,this.ifa(b))};l.D0a=function(b,h){b.userData.Rva!==h&&(b.userData.Rva=h, 1698this.ifa(b))};l.Ps=function(b){return b.userData.camera};l.eZ=function(b){return b.userData.width};l.rI=function(b){return b.userData.height};l.xP=function(b){return b.userData.encoding};l.x_=function(b,h){b.userData.background!==h&&(b.userData.background=h,this.ifa(b))};l.ifa=function(b){if(b&&b.userData){var h=b.userData.background,d=b.userData.encoding,c=b.userData.Rva;h&&h.isColor?b.background=d==m.sRGBEncoding&&c?h.clone().convertSRGBToLinear():h:(h&&h.isTexture&&(h.encoding=d==m.sRGBEncoding? 1699m.sRGBEncoding:m.LinearEncoding),b.background=h)}};l.GUa=function(b,h){var d=b.userData.Jea||(b.userData.Jea=[]);0<=d.indexOf(h)||(d.push(h),b.add(h),this.cfa(b))};l.Hza=function(b,h){var d=b.userData.Jea;if(d){var c=d.indexOf(h);0>c||(d.splice(c,1),b.remove(h))}};l.cfa=function(b){var h=b.userData.Jea;if(h){var d=.99*-b.far;h.forEach(function(c){c.position.z=d})}};l.uua=function(b,h){var d=b.userData.Hea||(b.userData.Hea=[]);0<=d.indexOf(h)||(d.push(h),b.add(h),this.QBa(b))};l.Iza=function(b,h){var d= 1700b.userData.Hea;if(d){var c=d.indexOf(h);0>c||(d.splice(c,1),b.remove(h))}};l.QBa=function(b){var h=b.userData.Hea;if(h){var d=.99*b.far;h.forEach(function(c){c.scale.x=c.scale.y=c.scale.z=d})}};l.pI=function(b){if((b=this.Bb(b))&&b.parent){var h=this.oI(b);if(h){var d=this.Ps(h);if(d)return b.matrixWorld.decompose(this.objectPosition,this.vYa,this.VP),this.objectPosition.applyMatrix4(d.matrixWorldInverse),this.VP.setFromMatrixScale(b.parent.matrixWorld),2*Math.abs(this.objectPosition.z)*Math.tan(d.fov* 1701this.DE/2)/(this.rI(h)*Math.max(this.VP.x,this.VP.y,this.VP.z))}}};l.qz=function(b,h){if(b.userData.id===h)return b;var d=null;if(b.children)for(var c=0;c<b.children.length&&!d;c++)d=this.qz(b.children[c],h);if(!d&&b.skeleton)for(c=0;c<b.skeleton.bones.length&&!d;c++)d=this.qz(b.skeleton.bones[c],h);return d};l.cca=function(){this.Mba||(this.Mba=new m.WebGLRenderer);return this.Mba};l.EZ=new m.Matrix4;l.XVa=new m.Euler;l.objectPosition=new m.Vector3;l.vYa=new m.Quaternion;l.VP=new m.Vector3;l.DE= 1702Math.PI/180;l.Mba=null;return l}()}); 1703define("C","require kJ kX fF bf cg oJ cp".split(" "),function(a){function e(g){this.o=g;this.Xj=this.dd=null;this.LR={};this.TS=new Map;this.Mr=this.Wk=this.m=null;this.Wf=!1;this.bM=this.bM.bind(this);this.update()}function k(g,p){if(g==p||!(null!=g&&0!=g.length||null!=p&&0!=p.length))return!0;if(null==g||null==p||g.length!=p.length)return!1;for(var q=0;q<g.length;q++)if(g[q]!=p[q])return!1;return!0}var m=a("kJ"),l=a("kX"),b=a("fF"),h=a("bf"),d=a("cg"),c=a("oJ"),f=a("cp");e.prototype.update=function(){var g= 1704this.o.getComponent(b.Animation);this.Bl(g&&g.properties)};e.prototype.frame=function(g,p){this.AH();this.Wf&&(this.Wf=!1,this.Wk&&this.Wk.frame(g,p),this.Mr&&this.Mr.frame(g,p))};e.prototype.dispose=function(){this.Bl(null)};e.prototype.Bl=function(g){this.m!=g&&(this.m&&(m.ca(this.m,["animations.autoplay"],this.bM),this.BPa()),(this.m=g)&&m.hD(this.m,["animations.autoplay"],this.bM),this.bM())};e.prototype.bM=function(){this.pta()};e.prototype.AH=function(){if(!this.dd){var g=f.Bb(this.o),p=f.oP(this.o); 1705if(this.dd!=g||this.Xj!=p)this.dd=g,this.Xj=p,this.LR={},this.Xj.forEach(function(q){q.name&&(this.LR[q.name]=q)}.bind(this)),this.pta()}};e.prototype.pta=function(){var g=this.m&&this.m.get("animations")||[],p=this.Xj||[],q=p.slice(),n=[],r=[],t=[],u=[];g.length&&p.length&&g.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.LR&&(y=this.LR[x]);0<=q.indexOf(y)&&(q.splice(q.indexOf(y),1),v.get("autoplay")?(n.push(y),r.push(v)):(t.push(y), 1706u.push(v)))}.bind(this));this.m&&0==r.length&&0<q.length&&(r=q.map(function(v){if(this.TS.has(v))return this.TS.get(v);var w=new h;this.TS.set(v,w);return w}.bind(this)),n=q);k(this.Wk&&this.Wk.getAnimations()||[],r)&&k(this.Wk&&this.Wk.oP()||[],n)||(this.Wk&&(this.Wk.dispose(),this.Wk=null),0<r.length&&(this.Wk=new d(this.m,this.dd,r,n,this.Ca.bind(this))));k(this.Mr&&this.Mr.getAnimations()||[],u)&&k(this.Mr&&this.Mr.oP()||[],t)||(this.Mr&&(this.Mr.dispose(),this.Mr=null),0<u.length&&(this.Mr=new c(this.m, 1707this.dd,u,t,this.Ca.bind(this))))};e.prototype.BPa=function(){(this.m&&this.m.get("animations")||[]).forEac
1707h(function(g){g.set("state",l.T);g.set("currentTime",0)});this.TS.clear()};e.prototype.Ca=function(){this.Wf||(this.Wf=!0,this.o.R.bb())};e.Pb=function(g){g.H(b.bt).manager=new e(g)};e.gb=function(g){var p=g.getComponent(b.bt);p.manager.dispose();p.manager=null;g.na(b.bt)};e.update=function(g){g.getComponent(b.bt).manager.update()};e.frame=function(g,p,q){g.getComponent(b.bt).manager.frame(p, 1708q)};return e}); 1709define("ng",["require","lx","lH","fF","C"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("C");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(b,h){this.Dua.C.length&&this.Dua.C.slice().forEach(l.Pb);this.animations.Ua.length&&this.animations.Ua.slice().forEach(function(d){l.update(d,b,h)});this.animations.C.length&&this.animations.C.slice().forEach(function(d){l.frame(d,b,h)});this.Eua.C.length&&this.Eua.C.slice().forEach(l.gb)};a.K={};a.K.Dua=[m.Animation,m.bt.not]; 1710a.K.Eua=[m.Animation.not,m.bt];a.K.animations=[m.Animation,m.bt];return a}); 1711define("fe",["require"],function(){function a(v,w,x,y,z){for(var C,A=0,B=w,I=x-y;B<x;B+=y)A+=(v[I]-v[B])*(v[B+1]+v[I+1]),I=B;if(z===0<A)for(z=w;z<x;z+=y)C=r(z,v[z],v[z+1],C);else for(z=x-y;z>=w;z-=y)C=r(z,v[z],v[z+1],C);C&&c(C,C.next)&&(t(C),C=C.next);return C}function e(v,w){if(!v)return v;w||(w=v);do{var x=!1;if(v.mBa||!c(v,v.next)&&0!==d(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 k(v,w,x,y,z,C,A){if(v){if(!A&&C){var B=v,I=B;do 0=== 1712I.z&&(I.z=b(I.x,I.y,y,z,C)),I.Pq=I.prev,I=I.Ql=I.next;while(I!==B);I.Pq.Ql=null;I.Pq=null;B=I;var E,G,F,N,R=1;do{I=B;var S=B=null;for(G=0;I;){G++;var Q=I;for(E=F=0;E<R&&(F++,Q=Q.Ql,Q);E++);for(N=R;0<F||0<N&&Q;)0!==F&&(0===N||!Q||I.z<=Q.z)?(E=I,I=I.Ql,F--):(E=Q,Q=Q.Ql,N--),S?S.Ql=E:B=E,E.Pq=S,S=E;I=Q}S.Ql=null;R*=2}while(1<G)}for(B=v;v.prev!==v.next;){I=v.prev;Q=v.next;if(C)S=m(v,y,z,C);else a:{var W=v;S=W.prev;N=W.next;if(0<=d(S,W,N))S=!1;else{G=S.x;F=W.x;R=N.x;E=S.y;W=W.y;var H=N.y,L=G<F?G<R?G:R: 1713F<R?F:R,T=E<W?E<H?E:H:W<H?W:H,O=G>F?G>R?G:R:F>R?F:R,V=E>W?E>H?E:H:W>H?W:H;for(N=N.next;N!==S;){if(N.x>=L&&N.x<=O&&N.y>=T&&N.y<=V&&h(G,E,F,W,R,H,N.x,N.y)&&0<=d(N.prev,N,N.next)){S=!1;break a}N=N.next}S=!0}}if(S)w.push(I.zg/x|0),w.push(v.zg/x|0),w.push(Q.zg/x|0),t(v),B=v=Q.next;else if(v=Q,v===B){if(A)if(1===A){v=e(v);A=w;B=x;I=v;do Q=I.prev,S=I.next.next,!c(Q,S)&&f(Q,I,I.next,S)&&q(Q,S)&&q(S,Q)&&(A.push(Q.zg/B|0),A.push(I.zg/B|0),A.push(S.zg/B|0),t(I),t(I.next),I=v=S),I=I.next;while(I!==v);v=e(I); 1714k(v,w,x,y,z,C,2)}else{if(2===A)a:{A=v;do{for(B=A.next.next;B!==A.prev;){if(I=A.zg!==B.zg){I=A;Q=B;if(S=I.next.zg!==Q.zg&&I.prev.zg!==Q.zg){b:{S=I;do{if(S.zg!==I.zg&&S.next.zg!==I.zg&&S.zg!==Q.zg&&S.next.zg!==Q.zg&&f(S,S.next,I,Q)){S=!0;break b}S=S.next}while(S!==I);S=!1}S=!S}if(S){if(S=q(I,Q)&&q(Q,I)){S=I;G=!1;F=(I.x+Q.x)/2;R=(I.y+Q.y)/2;do S.y>R!==S.next.y>R&&S.next.y!==S.y&&F<(S.next.x-S.x)*(R-S.y)/(S.next.y-S.y)+S.x&&(G=!G),S=S.next;while(S!==I);S=G}S=S&&(d(I.prev,I,Q.prev)||d(I,Q.prev,Q))||c(I, 1715Q)&&0<d(I.prev,I,I.next)&&0<d(Q.prev,Q,Q.next)}I=S}if(I){v=n(A,B);A=e(A,A.next);v=e(v,v.next);k(A,w,x,y,z,C,0);k(v,w,x,y,z,C,0);break a}B=B.next}A=A.next}while(A!==v)}}else k(e(v),w,x,y,z,C,1);break}}}}function m(v,w,x,y){var z=v.prev,C=v.next;if(0<=d(z,v,C))return!1;var A=z.x,B=v.x,I=C.x,E=z.y,G=v.y,F=C.y,N=A<B?A<I?A:I:B<I?B:I,R=E<G?E<F?E:F:G<F?G:F,S=A>B?A>I?A:I:B>I?B:I,Q=E>G?E>F?E:F:G>F?G:F,W=b(N,R,w,x,y);w=b(S,Q,w,x,y);x=v.Pq;for(v=v.Ql;x&&x.z>=W&&v&&v.z<=w;){if(x.x>=N&&x.x<=S&&x.y>=R&&x.y<=Q&& 1716x!==z&&x!==C&&h(A,E,B,G,I,F,x.x,x.y)&&0<=d(x.prev,x,x.next))return!1;x=x.Pq;if(v.x>=N&&v.x<=S&&v.y>=R&&v.y<=Q&&v!==z&&v!==C&&h(A,E,B,G,I,F,v.x,v.y)&&0<=d(v.prev,v,v.next))return!1;v=v.Ql}for(;x&&x.z>=W;){if(x.x>=N&&x.x<=S&&x.y>=R&&x.y<=Q&&x!==z&&x!==C&&h(A,E,B,G,I,F,x.x,x.y)&&0<=d(x.prev,x,x.next))return!1;x=x.Pq}for(;v&&v.z<=w;){if(v.x>=N&&v.x<=S&&v.y>=R&&v.y<=Q&&v!==z&&v!==C&&h(A,E,B,G,I,F,v.x,v.y)&&0<=d(v.prev,v,v.next))return!1;v=v.Ql}return!0}function l(v,w){return v.x-w.x}function b(v,w,x,y, 1717z){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;
1717w=(w|w<<2)&858993459;return(v|v<<1)&1431655765|((w|w<<1)&1431655765)<<1}function h(v,w,x,y,z,C,A,B){return(z-A)*(w-B)>=(v-A)*(C-B)&&(v-A)*(y-B)>=(x-A)*(w-B)&&(x-A)*(C-B)>=(z-A)*(y-B)}function d(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 f(v,w,x,y){var z=p(d(v,w,x)),C=p(d(v,w,y)),A=p(d(x,y,v)),B=p(d(x,y,w)); 1718return z!==C&&A!==B||0===z&&g(v,x,w)||0===C&&g(v,y,w)||0===A&&g(x,v,y)||0===B&&g(x,w,y)?!0:!1}function g(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>d(v.prev,v,v.next)?0<=d(v,w,v.next)&&0<=d(v,v.prev,w):0>d(v,w,v.prev)||0>d(v,v.next,w)}function n(v,w){var x=new u(v.zg,v.x,v.y),y=new u(w.zg,w.x,w.y),z=v.next,C=w.prev;v.next=w;w.prev=v;x.next=z;z.prev=x;y.next=x;x.prev=y;C.next= 1719y;y.prev=C;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.Pq&&(v.Pq.Ql=v.Ql);v.Ql&&(v.Ql.Pq=v.Pq)}function u(v,w,x){this.zg=v;this.x=w;this.y=x;this.next=this.prev=null;this.z=0;this.Ql=this.Pq=null;this.mBa=!1}return function(v,w,x){x=x||2;var y=w&&w.length,z=y?w[0]*x:v.length,C=a(v,0,z,x,!0),A=[];if(!C||C.next===C.prev)return A;var B;if(y){var I=C;var E=x;C=[];var G; 1720y=0;for(G=w.length;y<G;y++){var F=w[y]*E;var N=y<G-1?w[y+1]*E:v.length;F=a(v,F,N,E,!1);F===F.next&&(F.mBa=!0);N=C;var R=N.push,S=F,Q=F;do{if(S.x<Q.x||S.x===Q.x&&S.y<Q.y)Q=S;S=S.next}while(S!==F);R.call(N,Q)}C.sort(l);for(y=0;y<C.length;y++){E=void 0;w=C[y];b:{G=I;F=w.x;N=w.y;R=-Infinity;do{if(N<=G.y&&N>=G.next.y&&G.next.y!==G.y&&(S=G.x+(N-G.y)*(G.next.x-G.x)/(G.next.y-G.y),S<=F&&S>R&&(R=S,E=G.x<G.next.x?G:G.next,S===F)))break b;G=G.next}while(G!==I);if(E){Q=E;var W=E.x,H=E.y,L=Infinity;G=E;do{if(F>= 1721G.x&&G.x>=W&&F!==G.x&&h(N<H?F:R,N,W,H,N<H?R:F,N,G.x,G.y)){S=Math.abs(N-G.y)/(F-G.x);var T;if((T=q(G,w))&&!(T=S<L)&&(T=S===L)&&!(T=G.x>E.x)&&(T=G.x===E.x)){T=E;var O=G;T=0>d(T.prev,T,O.prev)&&0>d(O.next,T,T.next)}T&&(E=G,L=S)}G=G.next}while(G!==Q)}else E=null}E&&(w=n(E,w),e(w,w.next),I=e(E,E.next))}C=I}if(v.length>80*x){var V=B=v[0];var Y=y=v[1];for(I=x;I<z;I+=x)w=v[I],E=v[I+1],w<V&&(V=w),E<Y&&(Y=E),w>B&&(B=w),E>y&&(y=E);B=Math.max(B-V,y-Y);B=0!==B?32767/B:0}k(C,A,x,V,Y,B,0);return A}}); 1722define("nO",["require","exports"],function(){return function(){function a(){}a.PWa=function(e){return e.userData.Kq||e.material};a.iz=function(e,k){if(e.material!=k&&e.userData.Kq!=k){var m=e.userData.TP;this.Nda(e);e.material=k;m&&this.Oba(e);e.needsUpdate=!0}};a.Oba=function(e){e.userData.TP||(e.userData.TP=!0,e.userData.Kq=e.material,e.material=this.sVa(e.material))};a.Nda=function(e){e.userData.TP&&(this.RVa(e.material),e.material=e.userData.Kq,delete e.userData.Kq,delete e.userData.TP)};a.$1a= 1723function(e){if(e.userData.TP){var k=e.userData.Kq;e=e.material;e.side=k.side;e.depthTest=k.depthTest;e.map&&k.map&&(e.map.encoding=k.map.encoding);e.emissiveMap&&k.emissiveMap&&(e.emissiveMap.encoding=k.emissiveMap.encoding)}};a.sVa=function(e){return Array.isArray(e)?e.map(function(k){return k.clone()}):e?e.clone():e};a.RVa=function(e){Array.isArray(e)?e.forEach(function(k){k.dispose()}):e&&e.dispose()};return a}()}); 1724define("o","require lx oR fe lH fF cp nO".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("fe"),l=a("lH"),b=a("fF"),h=a("cp"),d=a("nO");a=e.extend(l,function(){l.apply(this,arguments);this.se=this.se.bind(this);this.Ce=this.Ce.bind(this);this.Uc=this.Uc.bind(this);this.O_=this.O_.bind(this)});a.prototype.xd=function(){this.Gua.C.length&&this.Gua.C.slice().forEach(this.se);this.Fua.Ua.length&&this.Z1a(this.Fua.Ua.slice());this.areas.Ua.length&&this.areas.Ua.slice().forEach(this.Ce);this.Hua.C.length&& 1725this.Hua.C.slice().forEach(this.Uc);this.Iua.C.length&&this.Iua.C.slice().forEach(this.Uc)};a.prototype.se=function(F){F.H(b.Aw);this.Ce(F)};a.prototype.Ce=function(F){this.d2a(F);this.YBa(F)};a.prototype.Z1a=function(F){var N=[];F.forEach(function(R){R.getComponent(b.Uz).qY.forEach(function(S){-1===N.indexOf(S)&&N.push(S)})});
1725N.forEach(this.O_)};a.prototype.d2a=function(F){this.h2a(F);this.O_(F)};a.prototype.h2a=function(F){var N=F.getComponent(b.Zl),R=N&&N.C||[],S=(N=F.getComponent(b.Aw))&&N.C|| 1726[];S.forEach(function(Q){if(-1===R.indexOf(Q)){var W=Q.getComponent(b.Uz).qY.filter(function(H){return H!==H});0==W.length?Q.na(b.Uz):Q.J(b.Uz).qY=W}});R.forEach(function(Q){-1===S.indexOf(Q)&&Q.J(b.Uz,!0).qY.push(F)})};var c=new THREE.Matrix4,f=[];a.prototype.O_=function(F){var N=F.getComponent(b.Zl);for(N=N&&N.C||[];f.length<N.length;)f.push(new THREE.Vector3);var R=N.map(function(L,T){return L.getComponent(b.Object3D).pa.getWorldPosition(f[T])});R=R.filter(function(L,T){return 1E-4<L.distanceTo(R[(T+ 17271)%R.length])});N=this.dXa(R);if(0===N.length)this.bka(F),this.Usa(F);else{this.DQa(F,3*N.length);this.i2a(F,f,N);c.copy(F.getComponent(b.Object3D).pa.matrixWorld).invert();f.forEach(function(L){L.applyMatrix4(c)});F=F.getComponent(b.Geometry);for(var S=F.geometry.attributes.position.array,Q=0,W=0;Q<N.length;){var H=f[N[Q++]];S[W++]=H.x;S[W++]=H.y;S[W++]=H.z;H=f[N[Q++]];S[W++]=H.x;S[W++]=H.y;S[W++]=H.z;H=f[N[Q++]];S[W++]=H.x;S[W++]=H.y;S[W++]=H.z}F.geometry.attributes.position.needsUpdate=!0}};var g= 1728new 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.dXa=function(F){if(3>F.length)return[];var N=F[0];for(var R=Number.NEGATIVE_INFINITY,S=1;S<F.length;++S){var Q=N.distanceToSquared(F[S]);if(!(Q<=R)){R=Q;var W=F[S]}}if(0>=R)return[];r.set(N,W);R=Number.NEGATIVE_INFINITY;for(S=0;S<F.length;++S)if(Q=r.closestPointToPoint(F[S],!0,t).distanceToSquared(F[S]), 1729!(Q<=R)){R=Q;var H=F[S]}if(0>=R)return[];g.setFromCoplanarPoints(N,W,H);for(S=0;S<F.length;++S)if(R=F[S],R!==N&&R!==W&&R!==H){u.copy(N).sub(R).normalize();v.copy(W).sub(R).normalize();w.copy(H).sub(R).normalize();R=u.dot(v);Q=u.dot(w);var L=v.dot(w);R<Q&&R<L?x.copy(u).cross(v):Q<L?x.copy(u).cross(w):x.copy(v).cross(w);x.normalize();R=Math.abs(Math.acos(x.dot(g.normal)));R>.5*Math.PI&&(R=Math.PI-R);if(R>y)return[]}q.copy(F[1]).sub(F[0]).normalize();n.copy(g.normal).cross(q).normalize();N=[];for(S= 17300;S<F.length;++S)g.projectPoint(F[S],p),N.push(p.dot(q),p.dot(n));return m(N,null,2)};var z=new THREE.Vector3,C=new THREE.Vector3,A=new THREE.Vector3,B=new THREE.Vector3,I=new THREE.Vector3,E=new THREE.Vector3,G=new THREE.Vector3;a.prototype.i2a=function(F,N,R){var S=0;z.set(0,0,0);for(var Q=0;Q<R.length;){A.copy(N[R[Q++]]);B.copy(N[R[Q++]]);I.copy(N[R[Q++]]);C.copy(A).add(B).add(I).divideScalar(3);var W=.5*G.subVectors(I,A).cross(E.subVectors(B,A)).length();C.multiplyScalar(W);z.add(C);S+=W}z.divideScalar(S); 1731N=F.J(b.Aa,!0);N.positionX=z.x;N.positionY=z.y;N.positionZ=z.z;h.yQ(F,N);this.Usa(F,S)};a.prototype.Usa=function(F,N){(F=(F=F.J(b.Zl))&&F.ba)&&F.trigger(k.va,{area:N})};a.prototype.YBa=function(F){var N=F.getComponent(b.Object3D);if(N=N&&N.pa){var R=F.getComponent(b.Material).material;R&&d.iz(N,R);N.renderOrder=F.getComponent(b.Zl).renderOrder}};a.prototype.bka=function(F){var N=F.getComponent(b.Geometry);N&&(N.geometry&&N.geometry.dispose(),F.na(b.Geometry),F.getComponent(b.Object3D).pa.geometry= 1732null);if(N=F.getComponent(b.Object3D))N.pa&&N.pa.parent&&N.pa.parent.remove(N.pa),F.na(b.Object3D)};a.prototype.DQa=function(F,N){var R=F.getComponent(b.Geometry);R&&R.geometry&&R.geometry.attributes.position.array.length===3*N||(R=F.J(b.Geometry,!0),R.geometry&&R.geometry.dispose(),R.geometry=this.pHa(N),N=F.getComponent(b.Object3D),N||(N=F.H(b.Object3D),N.pa=new THREE.Mesh,this.YBa(F)),N.pa.geometry=R.geometry)};a.prototype.pHa=function(F){var N=new THREE.BufferGeometry,R=N.setAttribute,S=THREE.Float32BufferAttribute; 1733F*=3;for(var Q=[],W=0;W<F;W++)Q.push(0);R.call(N,"position",new S(Q,3));return N};a.prototype.Uc=function(F){this.bka(F);F.na(b.Aw);F.na(b.Object3D)};a.K={};a.K.Gua=[b.Material,b.Zl,b.Aw.not];a.K.Fua=[b.Object3D,b.Aa,b.Uz];a.K.areas=[b.Zl,b.Material,b.Aw];a.K.Hua=[b.Zl.not,b.Aw];a.K.Iua=[b.Material.not,b.Aw];return a}); 1734define("na","require lx oR lH fF cp".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("lH"),l=a("fF"),b=a("cp");a=e.extend(m,function(){m.apply(this,arguments);this.Aea=this.Aea.bind(this);this.G_=this.G_.bind(this);this.zea=this.zea.bind(this);this.F_=this.F_.bind(this);this.SO=new Map;this.oya=new Map;this.rY=new Map;this.pya=new Map});a.prototype.xd=function(){this.Mua.C.length&&this.Mua.C.slice().forEac
1734h(this.Aea);this.Nua.C.length&&this.Nua.C.slice().forEach(this.G_);this.Oua.C.length&&this.Oua.C.slice().forEach(this.G_); 1735this.Pua.C.length&&this.Pua.C.slice().forEach(this.zea);this.Qua.C.length&&this.Qua.C.slice().forEach(this.F_);this.Rua.C.length&&this.Rua.C.slice().forEach(this.F_);this.frame()};a.K={};a.K.Mua=[l.Object3D,l.qn,l.gt.not];a.K.VUa=[l.Object3D,l.qn,l.gt];a.K.Nua=[l.Object3D.not,l.gt];a.K.Oua=[l.qn.not,l.gt];a.K.Pua=[l.Object3D,l.Dw,l.Ew.not];a.K.Qua=[l.Object3D.not,l.Ew];a.K.Rua=[l.Dw.not,l.Ew];a.prototype.frame=function(){0!=this.VUa.C.length&&this.rY.forEach(function(h,d){var c=this.SO.get(d)||[]; 1736c.forEach(function(f){var g=f.getComponent(l.Object3D).pa;f.getComponent(l.Ew).position.set(0,0,0).applyMatrix4(g.matrixWorld)});h.forEach(function(f){var g=f.getComponent(l.Object3D).pa;f.getComponent(l.gt).position.set(0,0,0).applyMatrix4(g.matrixWorld)});h.forEach(function(f){var g=f.getComponent(l.qn).ba;f=this.pP(c,f.getComponent(l.gt).position);g.trigger(k.va,{beacons:f})}.bind(this))}.bind(this))};a.prototype.lWa=function(h){return function(d){var c=this.SO.get(h.R)||[];return this.pP(c,d)}.bind(this)}; 1737a.prototype.pP=function(h,d){h=h.map(function(c){return{entity:c,distance:d.distanceTo(c.getComponent(l.Ew).position)}});h.sort(function(c,f){return c.distance-f.distance});return h};a.prototype.Aea=function(h){h.H(l.gt).position=new THREE.Vector3;this.pya.set(h,b.Bb(h));var d=this.rY.get(h.R);d||this.rY.set(h.R,d=[]);0>d.indexOf(h)&&d.push(h);h.getComponent(l.qn).pP=this.lWa(h)};a.prototype.G_=function(h){var d=this.rY.get(h.R),c=d.indexOf(h);0<=c&&d.splice(c,1);this.pya["delete"](h);h.na(l.gt)}; 1738a.prototype.zea=function(h){h.H(l.Ew).position=new THREE.Vector3;this.oya.set(h,b.Bb(h));var d=this.SO.get(h.R);d||this.SO.set(h.R,d=[]);0>d.indexOf(h)&&d.push(h)};a.prototype.F_=function(h){var d=this.SO.get(h.R),c=d.indexOf(h);0<=c&&d.splice(c,1);this.oya["delete"](h);h.na(l.Ew)};return a}); 1739define("kY",["require","exports"],function(){return function(){function a(){}a.Ll=function(e,k,m){return this.nD(e,k,m)};a.Wq=function(e,k,m){return this.nD(e,m,k)};a.nD=function(e,k,m){return 2*Math.atan(m*Math.tan(e*this.DE*.5)/k)*this.UDa};a.UDa=180/Math.PI;a.DE=Math.PI/180;return a}()}); 1740define("ic","require lx lH fF kY cp".split(" "),function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("kY"),b=a("cp");a=e.extend(k,function(){k.apply(this,arguments);this.Cea=this.Cea.bind(this);this.Dea=this.Dea.bind(this);this.P_=this.P_.bind(this);this.Q_=this.Q_.bind(this);this.Qea=this.Qea.bind(this);this.Rea=this.Rea.bind(this)});a.prototype.xd=function(){this.cza.C.length&&this.cza.C.slice().forEach(this.Cea);this.hza.C.length&&this.hza.C.slice().forEach(this.Dea);this.OD.Ua.length&&this.OD.Ua.slice().forEach(this.P_); 1741this.Vs.Ua.length&&this.Vs.Ua.slice().forEach(this.Q_);this.dza.C.length&&this.dza.C.slice().forEach(this.Qea);this.iza.C.length&&this.iza.C.slice().forEach(this.Rea)};a.prototype.Cea=function(g){var p=g.J(m.OrthographicCamera),q=g.H(m.Sw);g.H(m.Object3D).pa=q.camera=p.camera=new THREE.OrthographicCamera;this.P_(g)};a.prototype.Dea=function(g){var p=g.J(m.PerspectiveCamera),q=g.H(m.fr);q.boundingBox=new THREE.Box3;q.e_=!0;g.H(m.Object3D).pa=q.camera=p.camera=new THREE.PerspectiveCamera;this.Q_(g)}; 1742a.prototype.P_=function(g){var p=g.getComponent(m.OrthographicCamera);g=g.getComponent(m.Sw);g.width=p.width;g.height=p.height;g=g.camera;g.left=-.5*p.width;g.right=.5*p.width;g.top=.5*p.height;g.bottom=-.5*p.height;g.updateProjectionMatrix()};a.prototype.Q_=function(g){var p=g.getComponent(m.PerspectiveCamera);g=g.getComponent(m.fr);g.width=p.width;g.height=p.height;g.fov=p.fov;g.near=p.near;g.far=p.far;g=g.camera;g.aspect=p.width/p.height;g.fov=p.width>p.height?l.Ll(p.fov,p.width,p.height):p.fov; 1743g.near=p.near;g.far=p.far;b.cfa(g);g.updateProjectionMatrix()};a.prototype.Qea=function(g){var p=g.getComponent(m.Sw);p.camera.parent&&p.camera.parent.remove(p.camera);p.camera=null;g.na(m.Sw);g.na(m.Object3D)};a.prototype.Rea=function(g){var p=g.getComponent(m.fr);p.camera.parent&&p.camera.parent.remove(p.camera);p.camera=null;g.na(m.fr);g.na(m.Object3D)};a.K={};
1743a.K.cza=[m.OrthographicCamera,m.Sw.not];a.K.dza=[m.OrthographicCamera.not,m.Sw];a.K.hza=[m.PerspectiveCamera,m.fr.not];a.K.iza=[m.PerspectiveCamera.not, 1744m.fr];a.K.OD=[m.OrthographicCamera,m.Sw];a.K.Vs=[m.PerspectiveCamera,m.fr];a.mE=e.extend(k,function(){k.apply(this,arguments);this.vda=this.vda.bind(this)});a.mE.prototype.xd=function(){this.Vs.C.length&&this.Vs.C.slice().forEach(this.vda)};a.mE.prototype.vda=function(g){var p=g.getComponent(m.PerspectiveCamera);if(p.Jua){var q=g.getComponent(m.fr),n=q.scene||b.Jj(g),r=q.camera;if(n&&r){var t=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,v=!1;q.e_&&(q.boundingBox=this.s3(n,q.boundingBox),q.e_= 1745!1,v=!0);n=q.boundingBox;n=[[n.min.x,n.max.x],[n.min.y,n.max.y],[n.min.z,n.max.z]];for(var w=0;2>w;w++)for(var x=0;2>x;x++)for(var y=0;2>y;y++)f.set(n[0][w],n[1][x],n[2][y]).applyMatrix4(r.matrixWorldInverse),-f.z>u&&(u=-f.z),-f.z<t&&(t=-f.z);n=Math.max(p.Kua||0,0);w=.5*(t+u);t+=(t-w)*n;u+=(u-w)*n;u=Infinity==u||isNaN(u)?2E3:u;t=0<t?t:20<u?.1:.01;if(Math.abs(p.near-t)>d||Math.abs(p.far-u)>d)r.far=q.far=p.far=u,r.near=q.near=p.near=t,b.cfa(r),b.QBa(r),r.updateProjectionMatrix();v||q.xba||(q.xba=setTimeout(function(){q.xba= 1746null;q.e_=!0;g.R&&g.R.bb()},h))}}};a.mE.prototype.s3=function(g,p){p||(p=new THREE.Box3);p.makeEmpty();g.traverse(function(q){if(q.geometry&&!q.isSprite&&(!q.material||q.material.visible)){q.updateWorldMatrix(!1,!1);var n=q.geometry;null===n.boundingBox&&n.computeBoundingBox();c.copy(n.boundingBox);c.applyMatrix4(q.matrixWorld);p.union(c)}});return p};var h=500,d=1E-4,c=new THREE.Box3,f=new THREE.Vector3;a.mE.K={};a.mE.K.Vs=[m.PerspectiveCamera,m.fr];return a}); 1747define("bn",["require","exports"],function(){var a={Vj:38,Bi:40,rb:39,Ya:37,Oga:32,mn:65,xR:90,Gt:87,Bt:83,ht:68,Q:81,E:69,Dfa:27,ua:{}};a.ua.Vj="ArrowUp";a.ua.Bi="ArrowDown";a.ua.rb="ArrowRight";a.ua.Ya="ArrowLeft";a.ua.mn="KeyA";a.ua.xR="KeyZ";a.ua.Gt="KeyW";a.ua.Bt="KeyS";a.ua.ht="KeyD";a.ua.Q="KeyQ";a.ua.E="KeyE";a.ua.Dfa="Escape";a.ua.Oga="Space";return a}); 1748define("lk",["require"],function(){return{k3a:function(){},l3a:function(){},WT:function(){return this.Ze&&this.Ze.yxa()||this.m&&!this.m.get("keyboardEnabled")?!0:!1},Hn:function(){return this.Ze&&this.Ze.yxa()||this.m&&(!this.m.get("mouseEnabled")||this.m.get("mouseDisabled"))?!0:!1},rma:function(){return this.m&&this.m.get("doubleClickDisabled")?!0:!1},koa:function(){this.VF()||this.qu||this.aua()},joa:function(){this.VF()||this.qu||this.$ta()},uG:function(){this.tma()||this.aua()},tG:function(){this.tma()|| 1749this.$ta()},aua:function(){this.Ze&&this.Ze.Oz();this.m&&this.m.set("userInteracting",!0)},$ta:function(){this.Ze&&this.Ze.kfa();this.m&&this.m.set("userInteracting",!1)}}}); 1750define("fv",["require","exports","cp","three.mod"],function(a,e,k,m){return function(){function l(b){this.matrixWorld=new m.Matrix4;this.fda=!1;this.timeout=null;this.Y=b}l.prototype.qea=function(b){if(this.eJ!=b||"moving"!=this.propertyName)this.eJ&&this.eJ.set(this.propertyName,!1),this.eJ=b,this.propertyName="moving",this.eJ&&this.eJ.set(this.propertyName,this.fda)};l.prototype.efa=function(){var b=k.Bb(this.Y),h=!!b&&!b.matrixWorld.equals(this.matrixWorld);h&&this.matrixWorld.copy(b.matrixWorld); 1751this.mw(h);this.timeout&&(clearTimeout(this.timeout),this.timeout=null);h&&(this.timeout=setTimeout(function(){this.timeout=null;this.mw(!1)}.bind(this),l.nDa))};l.prototype.gb=function(){this.mw(!1);this.timeout&&clearTimeout(this.timeout)};l.prototype.mw=function(b){this.fda!=b&&(this.fda=b,this.eJ.set(this.propertyName,b))};l.nDa=100;return l}()}); 1752define("og",["require"],function(){function a(k){this.m=k;this.gy=!0}function e(k,m,l){if(isNaN(k))throw"invalid value";void 0!==m&&k<m&&(k=m);void 0!==l&&k>l&&(k=l);return k}a.prototype.Z_a=function(){this.gy=!1};a.prototype.dea=function(k){this.m.set("fov",this.gy?e(k,this.m.get("minFov",.1),this.m.get("maxFov",180)):k)};a.prototype.Vl=function(k){var m=this.m,l=m.set;if(this.gy){var b=this.m.get("minYaw"),h=this.m.get("maxYaw");if(void 0!==b)if(180<k)k=180;else{for(;-180>=k;)k+=360;k<b&&(k=b)}if(void 0!== 1753h)if(-180>k)k=-180;else{for(;180<k;)k-=360;k>h&&(k=h)}}for(;-180>k;)k+=360;for(;180<=k;)k-=360;l.call(m,"yaw",k)};a.prototype.ow=function(k){this.m.set("pitch",this.gy?e(k,this.m.get("minPitch",-90),this.m.get("maxPitch",90)):k)};a.prototype.setX=function(k){this.m.set("x",this.gy?e(k,this.m.get("minX"),this.m.get("maxX")):k)};a.prototype.setY=function(k){this.m.set("y",this.gy?e(k,this.m.get("minY"),this.m.get("maxY")):k)};a.prototype.setZ=function(k){this.m.set("z",this.gy?e(k,this.m.get("minZ"), 1754this.m.get("maxZ")):k)};a.prototype.WD=function(k){this.m.set("distance",this.gy?e(k,this.m.get("minDistance"),this.m.get("maxDistance")):k)};a.prototype.xi=function(k){this.m.set("easing",k)};return a}); 1755define("dR","require oR kX nH fF og ou bG".split(" "),function(a){function e(f,g,p){this.o=f;this.m=g;this.Pa=p;this.Ba=new h(this.m);this.Ba.Z_a();this.CC=0;this.pk=this.Gm=void 0;this.Pm=!1;this.KW(0);this.R4=this.bT=this.Q4=this.aT=this.A=void 0;this.Ac(m.T);this.Pa.bind(k.G("state"),this.yf,this,!0);this.Pa.bind(k.G("movementIndex"),this.iC,this,!0)}var k=a("oR"),m=a("kX"),l=a("nH"),b=a("fF"),h=a("og"),d=a("ou"),c=a("bG");e.prototype.Oz=function(){this.Pa.get("mandatory")||(this.vS(),this.Pa.get("restartMovementOnUserInteraction")? 1756this.A==m.X&&(this.YN(),this.Ac(m.Ib,!0)):this.A==m.X&&this.Ac(m.T))};e.prototype.kfa=function(){this.A==m.Ib&&this.Pm&&this.Pa.get("restartMovementOnUserInteraction")&&this.o$()};e.prototype.frame=function(f){this.A==m.X&&(this.V.Cb(f),this.sTa(),this.Ba.setX(this.V.fb("x")),this.Ba.setY(this.V.fb("y")),this.Ba.setZ(this.V.fb("z")),this.Ba.Vl(this.V.fb("yaw")),this.Ba.ow(this.V.fb("pitch")),this.Ba.WD(this.V.fb("distance")),this.Ba.dea(this.V.fb("fov")),this.Ba.xi(0),f=this.Pa.get("movements")[this.Gm],
1757f.set("position",this.V.Mk()),f.trigger(k.rn),this.V.Oe()&&(f.trigger(k.vb),this.KW((this.Gm+1)%this.Pa.get("movements").length,!0),0==this.Gm&&(this.CC++,this.Pa.trigger(k.ir),this.CC==this.Pa.get("repeat")&&(this.Fqa(),this.Ac(m.T),this.Pa.trigger(k.vb)))))};e.prototype.sTa=function(){var f=void 0!==this.aT&&void 0!==this.Q4,g=void 0!==this.bT&&void 0!==this.R4;if(f||g){var p=this.o.getComponent(b.kb).Y;if(p){var q=this.V.getTime(),n=this.V.Xi();p=p.J(b.cR,!0);f=f&&q<this.aT?1-q/this.aT:0;g=g&& 1758n-q<this.bT?1-(n-q)/this.bT:0;0<g||0<f?g>f?(p.color=this.R4,p.opacity=g):(p.color=this.Q4,p.opacity=f):(p.color="#000000",p.opacity=0)}}};e.prototype.Fqa=function(){var f=this.o.getComponent(b.kb);(f=f&&f.Y)&&f.na(b.cR)};e.prototype.dispose=function(){this.vS();this.Pa.unbind(k.G("state"),this.yf,this,!0);this.Pa.unbind(k.G("movementIndex"),this.iC,this,!0);this.Ac(m.T)};e.prototype.yf=function(){var f=this.Pa.get("state");this.A!=f&&(f==m.Ib&&this.A==m.T?this.Pa.set("state",m.T):this.Ac(f))};e.prototype.Ac= 1759function(f,g){this.A!=f&&(this.A=f,this.A==m.X?(this.vS(),this.Pm=!1,this.xx(),this.tS()):this.A==m.Ib?(this.Pm=!!g,this.YN()):this.A==m.T&&(this.Pm=!1,this.vS(),this.CC=0,f=this.V.getTime(),g=this.V.Xi(),0<f&&f<g&&this.Fqa(),this.KW(0)));this.Pa.set("state",this.A)};e.prototype.iC=function(){this.KW(this.Pa.get("movementIndex"))};e.prototype.KW=function(f,g){if(this.Gm!==f||g)this.Gm=f,this.xx(),this.Pa.set("movementIndex",this.Gm),this.Pa.get("movements")[this.Gm].set("position",0)};e.prototype.o$= 1760function(){this.oW=setTimeout(function(){this.oW=null;this.Ac(m.X)}.bind(this),this.Pa.get("restartMovementDelay"))};e.prototype.vS=function(){this.oW&&(clearTimeout(this.oW),this.oW=null)};e.prototype.xx=function(){var f=this.Pa.get("movements")[this.Gm],g=this.m.get("x",this.m.get("initialX",0)),p=this.m.get("y",this.m.get("initialY",0)),q=this.m.get("z",this.m.get("initialZ",0)),n=this.xk(this.m.get("yaw",this.m.get("initialYaw",0)),-180,180),r=this.m.get("pitch",this.m.get("initialPitch",0)), 1761t=this.m.get("distance",0),u=this.m.get("fov",this.m.get("initialFov"));if(l.Oa("TargetModel3DCameraMovement",f)){var v=f.get("targetX",g);var w=f.get("targetY",p);var x=f.get("targetZ",q);var y=f.get("targetYaw",n);var z=f.get("targetPitch",r);var C=f.get("targetFov",u);var A=f.get("targetDistance",t);switch(this.O4(f)){case "left":y=this.xk(y,n-360,n);break;case "right":y=this.xk(y,n,n+360);break;case "longest":y=this.xk(y,n-180,n+180);y=y==n?n+360:y>=n?this.xk(y,n-360,n):this.xk(y,n,n+360);break; 1762default:y=this.xk(y,n-180,n+180)}}else l.Oa("DistanceModel3DCameraMovement",f)&&(v=g+f.get("xDelta",0),w=p+f.get("yDelta",0),x=q+f.get("zDelta",0),y=n+f.get("yawDelta",0),z=r+f.get("pitchDelta",0),C=u+f.get("fovDelta",0),A=t+f.get("distanceDelta",0));this.V=new d(f.get("easing"),[new c("x",g,v,f.get("xSpeed")),new c("y",p,w,f.get("ySpeed")),new c("z",q,x,f.get("zSpeed")),new c("yaw",n,y,f.get("yawSpeed")),new c("pitch",r,z,f.get("pitchSpeed")),new c("fov",u,C,f.get("fovSpeed")),new c("distance",t, 1763A,f.get("distanceSpeed"))],f.get("duration"));this.aT=f.get("fadeFromDuration");this.Q4=f.get("fadeFromColor");this.bT=f.get("fadeToDuration");this.R4=f.get("fadeToColor")};e.prototype.tS=function(){this.pk=void 0};e.prototype.YN=function(){if(this.V){this.pk=void 0;var f=this.V&&this.V.bca("yaw");f&&(f.to>f.from?this.pk="right":f.to<f.from&&(this.pk="left"))}};e.prototype.O4=function(f){f=f.get("yawPath");"longest"==f&&this.pk&&(f=this.pk);this.pk=void 0;return f};e.prototype.xk=function(f,g,p){for(;f< 1764g;)f+=p-g;for(;f>p;)f-=p-g;return f};return e}); 1765define("ks","require kJ oR kX dR cp".split(" "),function(a){function e(d,c){this.o=d;this.m=c;this.zy=this.zy.bind(this);this.yf=this.yf.bind(this);this.Hh=this.nj=null;this.ds=[];this.rg=null;this.Rh=!1;this.Zt=new Map;k.ga(this.m,["initialSequence","idleSequence","sequences.movements"],this.zy,!0);k.ga(this.m,["state"],this.yf,!0);this.Yp=!1}var k=a("kJ"),m=a("oR"),l=a("kX"),b=a("dR"),h=a("cp");e.prototype.yxa=function(){return!!this.rg&&this.rg.get("mandatory")};e.prototype.Oz=function(){this.Rh= 1766!0;this.Dk();this.rg&&this.Zt.get(this.rg).Oz()};e.prototype.kfa=function(){this.Rh=!1;this.rg&&this.Zt.get(this.rg).kfa();!this.Hh||this.rg&&this.rg!=this.Hh||this.fq()};e.prototype.fq=function(){this.Rh||this.EB||!this.Hh||this.rg||!this.m.get("timeToIdle")||(this.EB=setTimeout(function(){this.EB=null;this.gM()}.bind(this),this.m.get("timeToIdle")))};e.prototype.Dk=function(){this.EB&&(clearTimeout(this.EB),this.EB=null)};e.prototype.gM=function(){this.Hh&&this.Hh.set("state",l.X)};e.prototype.frame= 1767function(d){if(!this.Yp){var c=h.Jj(this.o),f=0;c&&c.traverse(function(g){(g.isMesh||g.isSprite)&&f++});if(0<f)this.Yp=!0,this.wG();else return}this.rg&&this.Zt.get(this.rg).frame(d);(d=this.rg&&this.rg.get("state")==l.X)&&this.o.R.bb();return d};e.prototype.wG=function(){this.nj?this.nj.set("state",l.X):this.fq()};e.prototype.dispose=function(){k.ca(this.m,["initialSequence","idleSequence","sequences.movements"],this.zy);k.ca(this.m,["state"],this.yf);this.Dk();this.Hh&&this.qF(this.Hh);this.nj&&
1768this.qF(this.nj);this.ds.forEach(this.qF.bind(this));this.ds=null};e.prototype.yf=function(){this.rg?this.rg.set("state",this.m.get("state")):this.m.get("state")==l.X?(this.fq(),this.EB||this.m.set("state",l.T)):this.Dk()};e.prototype.zy=function(){var d=this.D9(this.m.get("initialSequence"));this.nj!=d&&(this.nj&&this.qF(this.nj),(this.nj=d)&&this.K3(this.nj));d=this.D9(this.m.get("idleSequence"));this.Hh!=d&&(this.Hh&&this.qF(this.Hh),(this.Hh=d)&&this.K3(this.Hh));var c=(this.m.get("sequences")|| 1769[]).filter(this.D9.bind(this));this.ds.forEach(function(g){0>c.indexOf(g)&&this.qF(g)}.bind(this));var f=this.ds;this.ds=c;this.ds.forEach(function(g){0>f.indexOf(g)&&this.K3(g)}.bind(this));this.rg||!this.Hh||this.EB||this.fq()};e.prototype.D9=function(d){var c=d&&d.get("movements");return c&&0!=c.length?d:null};e.prototype.tpa=function(d){d=d.source;var c=d.get("state");c==l.X?(this.Dk(),c=this.rg,this.rg=d,c&&c!=this.rg&&c.set("state",l.T),this.m.set("state",l.X),this.o.R.bb()):c==l.Ib?d==this.rg&& 1770this.m.set("state",l.Ib):c==l.T&&d==this.rg&&(this.m.set("state",l.T),this.rg=null,d!=this.Hh&&this.fq())};e.prototype.K3=function(d){if(this.Zt.has(d))this.Zt.get(d);else{d.set("state",l.T);d.bind(m.G("state"),this.tpa,this,!0);var c=new b(this.o,this.m,d);this.Zt.set(d,c)}};e.prototype.qF=function(d){this.Zt.has(d)&&(d.set("state",l.T),d.unbind(m.G("state"),this.tpa,this,!0),this.Zt.get(d).dispose(),this.Zt["delete"](d))};return e}); 1771define("pd",["require"],function(){return{S6:function(a){this.dU=this.dU.bind(this);this.eU=this.eU.bind(this);this.pK=this.Vi=!1;this.Lf={};for(var e=0;e<a.length;e++)this.Lf[a[e]]=!1;this.xL=0;this.fU=!1;this.yL(!0)},T6:function(){this.yL(!1)},yL:function(a){this.fU!=a&&(this.fU&&(document.removeEventListener("keyup",this.eU),document.removeEventListener("keydown",this.dU)),this.fU=a)&&(document.addEventListener("keyup",this.eU),document.addEventListener("keydown",this.dU))},tma:function(){return 0< 1772this.xL},eU:function(a){if(!this.WT||!this.WT()){var e=!1;this.Vi!=a.shiftKey&&(this.Vi=a.shiftKey,e=!0);this.pK!=a.ctrlKey&&(this.pK=a.ctrlKey,e=!0);!0===this.Lf[a.code]&&(this.Lf[a.code]=!1,e=!0,this.gC&&this.gC(a.code),this.xL--,0==this.xL&&this.joa&&this.joa());e&&this.nM&&this.nM()}},dU:function(a){if(!this.WT||!this.WT()){var e=!1;this.Vi!=a.shiftKey&&(this.Vi=a.shiftKey,e=!0);this.pK!=a.ctrlKey&&(this.pK=a.ctrlKey,e=!0);!1===this.Lf[a.code]&&(e=this.Lf[a.code]=!0,this.ioa&&this.ioa(a.code), 1773this.xL++,1==this.xL&&this.koa&&this.koa());e&&this.nM&&this.nM()}},v3a:function(){return this.Vi},q3a:function(){return this.pK}}}); 1774define("jR",["require","exports","bd"],function(a,e,k){a=function(){function l(){this.Le=[]}l.prototype.Qq=function(b){this.pAa(b);this.cb=b;this.a4=null};l.prototype.s_a=function(b){this.pAa(b?b.lg:null);this.cb=null;this.a4=b};l.prototype.K0a=function(b,h){this.cb&&this.cb.set("cursor",b);this.a4&&this.a4.aea(b,h)};l.prototype.pAa=function(b){this.he&&(this.he.JZa(this),this.he=void 0);b&&(this.he=m.get(b),this.he.LUa(this))};l.prototype.dispose=function(){this.Qq(null);this.Le=[]};l.prototype.push= 1775function(b){this.Le.push(b);this.he&&this.he.update()};l.prototype.pop=function(b){for(var h=this.Le.length-1;0<=h;h--)if(this.Le[h]==b){this.Le.splice(h,1);this.he&&this.he.update();break}};l.prototype.has=function(b){return 0<=this.Le.indexOf(b)};l.prototype.top=function(){if(this.Le.length)return this.Le[this.Le.length-1]};l.prototype.all=function(){return this.Le};return l}();var m=function(){function l(b){this.Mc=b;this.Yc=[]}l.prototype.LUa=function(b){this.Yc.push(b);this.update()};l.prototype.JZa= 1776function(b){this.Yc.splice(this.Yc.indexOf(b),1);this.update();0==this.Yc.length&&l.clear(this.Mc)};l.prototype.update=function(){var b=this.aFa();var h=this.P5(k.yA)?k.yA:this.P5(k.th)?k.th:this.P5(k.Ee)?k.Ee:this.jq()||k.te;this.Yc.forEach(function(d){d.K0a(h,b)})};l.prototype.P5=function(b){for(var h=this.Yc.length-1;0<=h;
1776h--)if(this.Yc[h].has(b))return!0;return!1};l.prototype.aFa=function(){var b=[];this.Yc.forEach(function(h){h.all().forEach(function(d){0>b.indexOf(d)&&b.push(d)})});return b}; 1777l.prototype.jq=function(){for(var b,h=this.Yc.length-1;0<=h&&void 0===b;h--)b=this.Yc[h].top();return b};l.get=function(b){var h=this.Qa.get(b);h||this.Qa.set(b,h=new l(b));return h};l.clear=function(b){this.Qa["delete"](b)};l.Qa=new Map;return l}();return a}); 1778define("jC",["require","exports","oR","gp"],function(a,e,k,m){return function(l){function b(h){var d=l.call(this)||this;if(h instanceof HTMLElement)d.LZ=h;else if("function"===typeof h.Bc)d.LZ=h.Bc().get(0);else if(h.length&&h.get)d.LZ=h.get(0);else throw Error("invalid element");d.XZ=d.XZ.bind(d);document.addEventListener("pointerlockchange",d.XZ.bind(d),!1);return d}Z(b,l);b.prototype.dispose=function(){document.removeEventListener("pointerlockchange",this.XZ)};b.prototype.lock=function(){if(!this.vo())return this.LZ.requestPointerLock()}; 1779b.prototype.unlock=function(){this.vo()&&document.exitPointerLock()};b.prototype.vo=function(){return document.pointerLockElement===this.LZ};b.prototype.XZ=function(){this.trigger(k.va)};b.vo=function(){return null!==document.pointerLockElement};return b}(m)}); 1780define("ie",["require","oR","jR","jC"],function(a){function e(h,d){var c=d.x-h.x;h=d.y-h.y;return Math.sqrt(c*c+h*h)}var k=a("oR"),m=a("jR"),l=a("jC"),b=180/Math.PI;return{u7:function(){this.IU=this.TL=this.qu=this.Lr=!1;this.$V=this.pe=null;this.PT=new m;this.UL=null;this.CNa=this.RMa.bind(this)},v7:function(){this.JW(null);this.PT.dispose()},fna:function(h){this.io(h);if(!this.Hn||!this.Hn()){var d=this.TF();this.Lr||(this.Lr=!0,d||this.uG&&this.uG());this.TL=!h.originalEvent||!h.originalEvent.buttons|| 17810===(h.originalEvent.buttons&2);this.$V=h;this.ik&&this.ik(h.x,h.y);this.eV&&this.eV(h.x,h.y)}},TF:function(){return this.Lr||this.qu||this.IU},VF:function(){return this.Lr},r3a:function(){return this.qu},s3a:function(){return this.TL},t3a:function(){return this.IU},hna:function(h){this.io(h);this.jf&&this.jf(h.x,h.y);if(this.Lr||this.gG.vo()){var d=void 0!==h.movementX?h.movementX:h.x-this.$V.x,c=void 0!==h.movementY?h.movementY:h.y-this.$V.y;this.gG.vo()&&(d*=-1,c*=-1);this.$V=h;this.dV&&this.dV(d, 1782c,h.x,h.y)}},FU:function(h){this.Lr&&(h&&this.io(h),this.TL=this.Lr=!1,this.Pn&&this.Pn(this.Zc,this.$c),this.hC&&this.hC(),this.TF()||this.tG&&this.tG())},bna:function(h){this.Hn&&this.Hn()||(this.io(h),this.Or&&this.Or(h.x,h.y))},cna:function(h){this.Hn&&this.Hn()||this.rma&&this.rma()||(this.io(h),this.sG&&this.sG(h.x,h.y))},ina:function(h){this.io(h);if(!this.Hn||!this.Hn()){h=h.CY/10;var d=this.TF();this.UL||(this.IU=!0,this.DNa&&this.DNa(),d||this.uG&&this.uG());this.fV&&this.fV(h);this.UL&& 1783clearTimeout(this.UL);this.UL=setTimeout(this.CNa,100)}},RMa:function(){this.UL=null;this.BNa&&this.BNa();this.IU=!1;this.TF()||this.tG&&this.tG()},ena:function(h){if(!(this.Hn&&this.Hn()||2>h.touches.length)){var d=this.TF();this.qu||(this.qu=!0,this.SMa(h.touches),d||this.uG&&this.uG());this.boa&&this.boa();this.FU()}},dna:function(h){this.Hn&&this.Hn()||2>h.touches.length||!this.qu||(this.jna(h.touches),this.Q7&&this.Q7(this.xSa,this.ySa,this.N$,this.zSa),this.aoa&&this.aoa(this.u6,this.v6,this.jO, 1784this.kO,1,this.N$,this.kL,this.M$,this.t6,this.iO))},t7:function(){this.qu&&(this.qu=!1,this.R7&&this.R7());this.TF()||this.tG&&this.tG()},SMa:function(h){this.t6=this.v6=this.u6=this.kL=this.N$=this.kO=this.jO=this.M$=this.iO=void 0;this.hO=h;this.jna(h)},jna:function(h){e(h[0],this.hO[0])+e(h[1],this.hO[1])>e(h[0],this.hO[1])+e(h[1],this.hO[0])&&(h=[h[1],h[0]]);var d=h[0];var c=h[1];d=Math.atan2(-(c.y-d.y),c.x-d.x)*b;c=e(h[0],h[1]);var f=(h[0].x+h[1].x)/2,g=(h[0].y+h[1].y)/2;this.N$=void 0!==this.kL? 1785c/this.kL:1;this.zSa=void 0!==this.iO?d-this.iO:0;this.iO=d;this.M$=c;this.xSa=void 0!==this.jO?f-this.jO:0;this.ySa=void 0!==this.kO?g-this.kO:0;this.jO=f;this.kO=g;
1785void 0!==this.u6||(this.u6=this.jO);void 0!==this.v6||(this.v6=this.kO);void 0!==this.t6||(this.t6=this.iO);void 0!==this.kL||(this.kL=this.M$);this.hO=h},gna:function(){},WIa:function(){this.FU();this.t7()},WK:function(){return this.pe?this.pe.Xa():100},zB:function(){return this.pe?this.pe.Ab():100},su:function(){return this.pe?Math.max(this.pe.Xa(), 1786this.pe.Ab()):100},JW:function(h){this.pe!=h&&(this.pe&&(this.pe.unbind(k.wb,this.fna,this,!0),this.pe.unbind(k.kc,this.hna,this,!0),this.pe.unbind(k.Zb,this.FU,this,!0),this.pe.unbind(k.ra,this.bna,this,!0),this.pe.unbind(k.em,this.cna,this,!0),this.pe.unbind(k.cr,this.ina,this,!0),this.pe.unbind(k.b1,this.dna,this,!0),this.pe.unbind(k.Kw,this.ena,this,!0),this.pe.unbind(k.tE,this.t7,this,!0),this.gG.unbind(k.va,this.gna,this,!0),this.gG.dispose(),this.gG=null),this.pe=h,this.PT.Qq(this.pe),this.pe&& 1787(this.pe.bind(k.wb,this.fna,this,!0),this.pe.bind(k.kc,this.hna,this,!0),this.pe.bind(k.Zb,this.FU,this,!0),this.pe.bind(k.ra,this.bna,this,!0),this.pe.bind(k.em,this.cna,this,!0),this.pe.bind(k.cr,this.ina,this,!0),this.pe.bind(k.b1,this.dna,this,!0),this.pe.bind(k.Kw,this.ena,this,!0),this.pe.bind(k.tE,this.t7,this,!0),this.gG=new l(this.pe),this.gG.bind(k.va,this.gna,this,!0)))},GU:function(h){h.x=-1+2*h.x/this.WK();h.y=1-2*h.y/this.zB();return h},io:function(h){this.Zc=h.x;this.$c=h.y;this.hG= 1788h.pageX;this.iG=h.pageY},wC:function(h){this.PT.push(h)},XV:function(h){this.PT.pop(h)}}}); 1789define("kz",["require","oR"],function(a){var e=a("oR");return{KPa:function(){this.BW=!1;this.ao=null;this.RB=this.YF=0;this.GC=!1;this.hra(!0)},LPa:function(){this.hra(!1);this.Rra(null)},hra:function(k){this.BW!=k&&((this.BW=k)||this.AW())},Rra:function(k){this.ao!=k&&(this.AW(),this.ao&&(this.ao.unbind(e.sn,this.ira,this,!0),this.ao.unbind(e.Gf,this.AW,this,!0),this.ao.unbind(e.va,this.gra,this,!0),this.RB=this.YF=0),this.ao=k)&&(this.ao.bind(e.sn,this.ira,this,!0),this.ao.bind(e.Gf,this.AW,this, 1790!0),this.ao.bind(e.va,this.gra,this,!0))},ira:function(){!this.GC&&this.BW&&(this.GC=!0,this.opa&&this.opa())},gra:function(){this.GC&&(this.YF=this.ao.getX(),this.RB=this.ao.getY(),this.mpa&&this.mpa())},AW:function(){this.GC&&(this.GC=!1,this.RB=this.YF=0,this.npa&&this.npa())},u3a:function(){return this.GC}}}); 1791define("dQ","require lx oR bn cp fF lk fv og ks pd ie kz bd ou bG".split(" "),function(a){function e(O){this.EK=!1;this.v4=0;this.hka=!1;this.ika=O}function k(O){this.o=O;this.Dp=new f(O);this.S6(y);this.u7();this.KPa();this.nH=.025;this.ek=.25;this.CU=this.DU=this.EU=this.nT=0;this.Ba=this.Ze=null;this.gS=this.zX=!1;this.kU=1;this.EC=null;this.wC(t.Lw);this.ZF={};[b.ua.Vj,b.ua.Bi,b.ua.Ya,b.ua.rb].forEach(function(V){this.ZF[V]=new e(300)}.bind(this));[b.ua.mn,b.ua.Bt,b.ua.ht,b.ua.Gt,b.ua.Q,b.ua.E].forEach(function(V){this.ZF[V]= 1792new e(300)}.bind(this));this.update()}var m=a("lx"),l=a("oR"),b=a("bn"),h=a("cp"),d=a("fF"),c=a("lk"),f=a("fv"),g=a("og"),p=a("ks"),q=a("pd"),n=a("ie"),r=a("kz"),t=a("bd"),u=a("ou"),v=a("bG");m.pY(k,[c,q,n,r,Screen]);k.prototype.update=function(){var O=this.o.getComponent(d.nA);this.Bl(O&&O.properties);this.Dp.qea(O&&O.properties);var V=(!O.ZH||-1==L.indexOf(this.o.R))&&O.enabled;this.JW(O&&(V?O.lg:null));this.yL(!!O&&V&&O.yz);this.Rra(!!O&&V&&O.Yza);V||this.hC();V&&O.yz||(this.Dm=this.Cm=this.ck= 1793this.pj=this.dk=0)};k.prototype.frame=function(O,V){var Y=!1;!Y&&this.Ze&&(Y=this.Ze.frame(O,V));!Y&&this.Eh&&(Y=this.eFa(O));Y||this.vTa(O);this.eUa();this.gTa();this.Dp.efa();this.GC&&this.o.R.bb();this.EC=null};var w=1E3/3600*8/1.7;k.prototype.vTa=function(O){O/=1E3;var V=this.Vi?.2:1,Y=this.kU*w;Y*=this.m.get("translationSpeed")*V;var ca=this.m.get("rotationSpeed")*V;V=this.CU;var D=this.DU,K=this.EU,P=this.nT;this.CU=this.DU=this.EU=this.nT=0;var U=(V*V+D*D)/x;U=1<U?1/Math.sqrt(U):1;V*=U;D*= 1794U;var J=B*Math.atan2(this.YF,Math.abs(this.RB));U=Math.sqrt(this.YF*this.YF+this.RB*this.RB);var M=Math.max(this.zB(),this.WK()),X=this.m.get("fov")/M*2;V=-V*X*ca;D=D*X*ca;K=25*-K*Y;X=this.VK(b.ua.mn,b.ua.ht)*Y;var aa=this.VK(b.ua.Gt,b.ua.Bt)*Y,ba=this.VK(b.ua.Q,b.ua.E)*Y,da=this.VK(b.ua.Bi,b.ua.Vj)*ca*30,ea=this.VK(b.ua.Ya,b.ua.rb)*ca*30;P=2*P*this.kU/M;ca*=J*U*.125;Y*=.5*-U*this.RB;(U=this.o.getComponent(d.Aa))&&(V||D||K||X||ba||aa||da||ea||ca||Y||P)&&(I.makeRotationFromEuler(F.set(0,U.re*A,0,U.Zf)), 1795S.set(X*O,ba*O+P,(aa+Y+K)*O).applyMatrix4(I),N.set(this.m.get("x"),this.m.get("y"),this.m.get("z")),this.DKa(N,S,R),this.Ba.setX(R.x),this.Ba.setY(R.y),this.Ba.setZ(R.z),this.Ba.Vl(this.m.get("yaw")+V+(ea+ca)*O),this.Ba.ow(this.m.get("pitch")+D+da*O),this.Ba.xi(this.ek),this.o.R.bb())};k.prototype.VK=function(O,V){O=this.ZF[O].getState();if(O===e.p0)return-3;if(O===e.Bi)return-1.5;V=this.ZF[V].getState();return V===e.p0?3:V===e.Bi?1.5:0};k.prototype.DKa=function(O,V,Y){Y.copy(O).add(V);if(!Y.equals(O)){this.$g= 1796this.DK(O);var ca=this.DK(Y);if(this.m.get("keepHeight"))if(Infinity==ca)var D=Infinity;else if(Infinity==this.$g)D=ca;else{D=this.$g+V.y;var K=this.m.get("maxStepHeight");void 0===K&&(K=Infinity!==this.$g?.25*this.$g:0);if(ca<D-K){Y.copy(O);return}Y.y+=D-ca}else D=ca;Q.copy(V).normalize().multiplyScalar(.1*this.kU);Y.add(Q);this.m.get("collisionDetection")&&this.nma(O,Y)?Y.copy(O):(this.$g=D,Infinity!==this.$g&&(this.kU=this.$g),Y.sub(Q))}};k.prototype.ioa=function(O){this.o.R.bb();this.ZF[O].IYa()}; 1797k.prototype.gC=function(O){this.ZF[O].JYa()};k.prototype.eV=function(){this.ai=!0;this.wC(t.th)};k.prototype.sG=function(O,V){if("translate"==this.m.get("doubleClickAction")){var Y=h.Jj(this.o),ca=h.Bb(this.o);if(ca&&Y&&(this.GU(H.set(O,V)),O=this.mL(H,ca),0!=O.length&&(Y=O[0],Y.face&&Y.face.normal))){ca=N.set(this.m.get("x"),this.m.get("y"),this.m.get("z"));O=R.copy(Y.point);V=this.DK(N);
1797if(Math.abs(Math.acos(Y.face.normal.dot(W)))<.25*Math.PI)O.y+=V;else{S.copy(O).sub(ca);Y=S.length();ca=2*V;if(Y< 1798ca)return;O.sub(S.multiplyScalar(ca/Y));R.y+=V-this.DK(R)}this.nma(N,R)||Math.abs(V-this.DK(R))>.05*V||(this.Eh=new u("cubic_in_out",[new v("x",N.x,R.x),new v("y",N.y,R.y),new v("z",N.z,R.z)],1500),this.o.R.bb())}}};k.prototype.eFa=function(O){if(!this.Eh)return!1;this.Eh.Cb(O);this.Ba.setX(this.Eh.fb("x"));this.Ba.setY(this.Eh.fb("y"));this.Ba.setZ(this.Eh.fb("z"));this.Ba.xi(0);this.Eh.Oe()&&(this.Eh=null);this.o.R.bb();return!0};var x=2500;k.prototype.dV=function(O,V){this.ai&&(this.CU+=O,this.DU+= 1799V,this.o.R.bb())};k.prototype.hC=function(){this.ai=!1;this.XV(t.th);this.o.R.bb()};k.prototype.fV=function(O){this.EU+=O;this.o.R.bb()};k.prototype.Q7=function(O,V){this.nT+=V;this.o.R.bb()};k.prototype.opa=function(){this.WIa();this.wC(t.th)};k.prototype.mpa=function(){this.o.R.bb()};k.prototype.npa=function(){this.XV(t.th)};k.prototype.Bl=function(O){this.m!=O&&(this.m&&(this.Ze&&(this.Ze.dispose(),this.Ze=null),this.Ba=null,z.forEach(function(V){this.m.unbind(l.G(V),this.h8,this,!0)}.bind(this)), 1800C.forEach(function(V){this.m.unbind(l.G(V),this.I7,this,!0)}.bind(this)),this.m.set("userInteracting",!1)),this.m=O)&&(this.Ba=new g(this.m),this.lL(),z.forEach(function(V){this.m.bind(l.G(V),this.h8,this,!0)}.bind(this)),this.h8(),C.forEach(function(V){this.m.bind(l.G(V),this.I7,this,!0)}.bind(this)),this.I7(),this.Ze=new p(this.o,this.m),this.m.set("userInteracting",!1))};k.prototype.lL=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y", 1801this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")))};k.prototype.h8=function(){this.zX||(this.zX=!0,this.o.R.bb())};k.prototype.eUa=function(){if(this.zX&&this.o&&this.m){this.zX=!1;var O=this.o.J(d.Aa,!0);O.translationX=this.m.get("x");O.translationY=this.m.get("y");O.cf=this.m.get("z");O.re=-this.m.get("yaw");O.Qe=this.m.get("pitch");O.Re=0;O.Zf="YXZ";O.positionX=0;O.positionY=0;O.positionZ=0;O.easing= 1802this.m.get("easing")}};k.prototype.I7=function(){this.gS||(this.gS=!0,this.o.R.bb())};k.prototype.gTa=function(){this.gS&&this.o&&this.m&&(this.gS=!1,this.o.J(d.PerspectiveCamera,!0).fov=this.m.get("fov"))};k.prototype.DK=function(O){if(this.zIa===O.x&&this.AIa===O.y&&this.BIa===O.z)return this.yIa;G.far=Infinity;G.ray.origin.copy(O);G.ray.direction.copy(E);var V=G.intersectObjects(this.L5(),!1);if(0===V.length)return Infinity;V=V[0].distance;this.zIa=O.x;this.AIa=O.y;this.BIa=O.z;return this.yIa= 1803V};k.prototype.nma=function(O,V){G.far=O.distanceTo(V);G.ray.origin.copy(O);G.ray.direction.copy(V).sub(O).normalize();return 0<G.intersectObjects(this.L5(),!1).length};k.prototype.mL=function(O,V){G.far=V.far;G.setFromCamera(O,V);return G.intersectObjects(this.L5(),!1)};k.prototype.QT=function(O,V){G.ray.origin.copy(O);G.ray.direction.copy(V).sub(O).normalize();return G.intersectObjects(this.p3a(),!1)};k.prototype.L5=function(){if(this.EC)return this.EC;var O=this.o&&h.Jj(this.o);if(!O)return this.EC= 1804[];var V=[];(T.get(this.o.R)||[]).forEach(function(ca){(ca=h.Bb(ca))&&V.push(ca)});this.EC=[];for(O=[O];0<O.length;){var Y=O.pop();Y.isSprite||Y.isLine||Y.isSkinnedMesh||Y.material&&!Y.material.visible||-1!==V.indexOf(Y)||(Y.children&&O.push.apply(O,Y.children),this.EC.push(Y))}return this.EC};var y=[b.ua.Vj,b.ua.Bi,b.ua.Ya,b.ua.rb,b.ua.mn,b.ua.Bt,b.ua.ht,b.ua.Gt,b.ua.Q,b.ua.E],z="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),C=["minFov", 1805"maxFov","fov"],A=Math.PI/180,B=180/Math.PI,I=new THREE.Matrix4,E=new THREE.Vector3(0,-1,0),G=new THREE.Raycaster,F=new THREE.Euler,N=new THREE.Vector3,R=new THREE.Vector3,S=new THREE.Vector3,Q=new THREE.Vector3,W=new THREE.Vector3(0,1,0),H=new THREE.Vector2;k.prototype.dispose=function(){this.Bl(null);this.T6();this.v7();this.LPa();this.Dp.gb()};k.Pb=function(O){O.H(d.mt).manager=new k(O)};k.gb=function(O){var V=O.getComponent(d.mt);V.manager.dispose();V.manager=null;O.na(d.mt)};
1805k.update=function(O){O.getComponent(d.mt).manager.update()}; 1806k.frame=function(O,V,Y){O.getComponent(d.mt).manager.frame(V,Y)};var L=[];k.oQ=function(O){L=[];O.forEach(function(V){0>L.indexOf(V.R)&&L.push(V.R)})};var T=new Map;k.g0a=function(O){T.clear();O.forEach(function(V){T.has(V.R)||T.set(V.R,[]);T.get(V.R).push(V)})};e.prototype.IYa=function(){this.EK||(this.EK=!0,this.hka=Date.now()-this.v4<this.ika,this.v4=Date.now())};e.prototype.JYa=function(){this.EK&&(this.EK=!1)};e.prototype.getState=function(){return this.EK||Date.now()-this.v4<this.ika?this.hka? 1807e.p0:e.Bi:e.Vj};e.Vj=0;e.Bi=1;e.p0=2;return k}); 1808define("ca","require lx oR bn kY cp fF lk fv og ks pd ie bd ou bG".split(" "),function(a){function e(J){this.o=J;this.S6(S);this.u7();this.Dp=new g(J);this.Sc=w;this.Up=this.Ni=null;this.nH=.025;this.ek=.25;this.Ph=void 0;this.RC=1;this.dk=this.pj=this.ck=this.Dm=this.Cm=0;this.uk=[];this.KB=this.LB=this.MB=this.IB=this.HB=this.Jx=this.Mi=this.ku=this.lu=this.nu=this.mu=this.ju=void 0;this.r6=1E3;this.dL=void 0;this.LF=0;this.Ba=this.Ze=null;this.wC(t.Lw);this.update()}function k(J,M){J=M-J;180<J? 1809J-=360:-180>J&&(J+=360);return J}function m(){return(new Date).getTime()}var l=a("lx"),b=a("oR"),h=a("bn");a("kY");var d=a("cp"),c=a("fF"),f=a("lk"),g=a("fv"),p=a("og"),q=a("ks"),n=a("pd"),r=a("ie"),t=a("bd"),u=a("ou"),v=a("bG");l.pY(e,[f,n,r]);e.prototype.update=function(){var J=this.o.getComponent(c.oA);this.Bl(J&&J.properties);this.Dp.qea(J&&J.properties);var M=(!J.ZH||-1==U.indexOf(this.o.R))&&J.enabled;this.JW(J&&(M?J.lg:null));this.yL(!!J&&M&&J.yz);M||this.hC();M&&J.yz||(this.Dm=this.Cm=this.ck= 1810this.pj=this.dk=0)};e.prototype.frame=function(J,M){this.Ze&&this.Ze.frame(J,M)&&this.aq();this.Eh&&(this.Eh.Cb(J),this.Ba.setX(this.Eh.fb("x")),this.Ba.setY(this.Eh.fb("y")),this.Ba.setZ(this.Eh.fb("z")),this.Ba.WD(this.Eh.fb("distance")),this.Ba.xi(0),this.Eh.Oe()&&(this.Eh=null));this.sg&&(this.sg=Math.max(0,this.sg-J/this.r6),this.Ba.setX(this.m.get("x")+this.KB*this.sg),this.Ba.setY(this.m.get("y")+this.LB*this.sg),this.Ba.setZ(this.m.get("z")+this.MB*this.sg),this.Ba.Vl(this.m.get("yaw")+this.IB* 1811this.sg),this.Ba.ow(this.m.get("pitch")+this.HB*this.sg),this.Ba.xi(0),this.o.R.bb(),0==this.sg&&this.kN());if(this.Dm||this.Cm||this.ck||this.pj||this.dk)M=J/1E3,this.y7(this.ck*M,this.pj*M,this.dk*M,this.Dm*M,this.Cm*M);if(this.Sc==w&&void 0!==this.Ek&&!this.pj&&this.m.get("keepHeight")&&void 0!==this.dL&&Math.abs(this.Ek-this.m.get("y"))>O){this.LF=Math.max(this.LF-J,0);M=this.m.get("y");var X=this.Ek-M;this.Ba.setY(M+Math.min(J*this.dL,Math.abs(X))*(0<X?1:-1));this.o.R.bb()}this.Sc!=w||!this.Up|| 1812this.sg||this.Eh||(this.aB(),this.o.R.bb());this.Dp.efa()};e.prototype.nM=function(){this.naa()};e.prototype.naa=function(){var J=0!=this.dk||0!=this.pj||0!=this.ck;this.Dm=this.Cm=this.dk=this.pj=this.ck=0;var M=this.Lf[h.ua.mn]?1:this.Lf[h.ua.ht]?-1:0,X=this.Lf[h.ua.Gt]?1:this.Lf[h.ua.Bt]?-1:0,aa=this.Lf[h.ua.Q]?1:this.Lf[h.ua.E]?-1:0,ba=this.Lf[h.ua.Vj]?1:this.Lf[h.ua.Bi]?-1:0,da=this.Lf[h.ua.Ya]?1:this.Lf[h.ua.rb]?-1:0;if(ba||da||M||X||aa){var ea=this.Vi?.2:1;M&&(this.ck=-M*ea*this.m.get("translationSpeed")); 1813aa&&(this.pj=-aa*ea*this.m.get("translationSpeed"));X&&(this.dk=-X*ea*this.m.get("translationSpeed"));da&&(this.Dm=-da*ea*100*this.m.get("rotationSpeed"));ba&&(this.Cm=ba*ea*100*this.m.get("rotationSpeed"));this.aB();this.o.R.bb();this.j9();this.VIa();M=0!=this.dk||0!=this.pj||0!=this.ck;!J&&M&&this.kN()}};e.prototype.eV=function(){this.ai=!0;this.Sc==B||this.Sc==I||m()<this.Rka+500||(this.wC(t.th),this.Sc=w)};e.prototype.dV=function(J,M,X,aa){if(this.ai&&!(this.Sc==B||this.Sc==I||m()<this.Rka+500)){var ba= 1814(J*J+M*M)/2500;ba=1<ba?1/Math.sqrt(ba):1;J*=ba;M*=ba;ba=this.zKa();this.Sc!=ba?(this.Sc=ba,this.Sc==x?this.yRa(X,aa):this.Sc==y?this.msa():this.Sc==z?this.LRa():this.Sc==A&&this.JRa()):this.Sc!=w&&(this.Sc==x?this.pTa(J,M,X,aa):this.Sc==y?this.TTa(J,M):this.Sc==z?this.VTa(J,M):this.Sc==A&&this.STa(J,M))}};e.prototype.hC=function(){this.XV(t.th);this.ai=!1;this.Sc!=w&&(this.Sc=w,this.Ni=null,this.ksa(),this.j9(),this.hma(),this.o.R.bb())};e.prototype.fV=function(J){this.Sc!=C?(this.Sc=C,this.GRa()): 1815this.ETa(J);this.x7&&clearTimeout(this.x7);this.x7=setTimeout(function(){this.x7=null;this.Sc==C&&(this.Sc=w,this.aq())}.bind(this),1E3)};e.prototype.aoa=function(J,M,X,aa,ba,da,ea,ia,fa,ha){this.Sc!=B&&this.Sc!=I?(J=.05<Math.abs(da-ba),X=5<k(fa,ha),M=Math.abs(aa-M)>.02*this.zB(),fa=10>Math.min(Math.abs(fa),180-Math.abs(fa),Math.abs(ha),180-Math.abs(ha)),ea=.2>ea/this.su(),(J||M)&&(fa||ea)?(this.Sc=I,this.KRa()):!X&&!J||fa&&ea||(this.Sc=B,this.MRa())):this.Sc==B?this.WTa(ba,da,fa,ha):this.Sc==I&& 1816this.UTa(M,aa,ba,da)};e.prototype.R7=function(){this.Ni=null;this.Sc==B&&this.ksa();this.Sc=w;this.Rka=m();this.j9();this.hma();this.o.R.bb()};e.prototype.sG=function(J,M){if("zoom"==this.m.get("doubleClickAction")){var X=d.Jj(this.o),aa=d.Bb(this.o);
1816aa&&X&&(D.set(J,M),this.GU(D),J=this.mL(D,aa),0!=J.length&&(this.aq(),this.aB(),J=J[0].point,E.setFromMatrixPosition(aa.matrixWorld),this.Eh=new u("quad_in_out",[new v("x",E.x,.5*(J.x+E.x)),new v("y",E.y,.5*(J.y+E.y)),new v("z",E.z,.5*(J.z+E.z)),new v("distance", 18170,0)],500)))}};e.prototype.zKa=function(){return this.TL?this.Vi?y:x:this.VF()?this.Vi?A:z:w};e.prototype.yRa=function(J,M){this.TG();this.aB();this.lFa(J,M);this.m.get("keepHeight")&&this.mX();this.o.R.bb()};e.prototype.pTa=function(J,M,X,aa){var ba=d.Bb(this.o);ba&&(E.setFromMatrixPosition(ba.matrixWorld),this.Ni?(G.set(X,aa,0),this.GU(G),G.unproject(ba),J=this.Ni.x-E.x,M=this.Ni.z-E.z,-2<Math.atan2(this.Ni.y-E.y,Math.sqrt(M*M+J*J))*T?(N.copy(this.Ni).applyMatrix4(ba.matrixWorldInverse),R.copy(G).applyMatrix4(ba.matrixWorldInverse), 1818J=N.z/R.z,F.copy(R).multiplyScalar(J).applyMatrix4(ba.matrixWorld).sub(this.Ni),0!=F.y&&this.aq()):(J=(this.Ni.y-E.y)/(G.y-E.y),F.copy(G).sub(E).multiplyScalar(J).add(E).sub(this.Ni)),F.multiplyScalar(-1)):(V.makeRotationFromEuler(K.set(0,-this.m.get("yaw")*L,0,"YXZ")),Y.set(-J*this.m.get("translationSpeed")/this.su(),0,-M*this.m.get("translationSpeed")/this.su()).applyMatrix4(V),F.copy(Y).multiplyScalar(10*this.RC)),this.Ba.setX(E.x+F.x),this.Ba.setY(E.y+F.y),this.Ba.setZ(E.z+F.z),this.xH(F.x,F.y, 1819F.z,0,0),this.Ba.xi(this.ek))};e.prototype.msa=function(){this.TG();this.Ni=null;this.I2();this.aq();this.o.R.bb()};e.prototype.TTa=function(J,M){var X;X||(X=1);J=360*J/this.WK()*this.m.get("rotationSpeed");M=180*-M/this.zB()*this.m.get("rotationSpeed");this.Ba.Vl(this.m.get("yaw")+J);this.Ba.ow(this.m.get("pitch")+M);this.Ba.WD(this.A8/X);this.xH(0,0,0,J,M);this.Ba.xi(this.ek);this.o.R.bb()};e.prototype.LRa=function(){this.msa()};e.prototype.VTa=function(J,M){var X=d.Bb(this.o),aa=this.m.get("distance")|| 1820this.Ph||1;M=M*aa*2*Math.tan(X.fov*L/2)/this.zB();0!=M&&this.aq();this.Ba.setY(this.m.get("y")+M);J=360*J/this.WK()*this.m.get("rotationSpeed");this.Ba.Vl(this.m.get("yaw")+J);this.xH(0,M,0,J,0);this.Ba.xi(this.ek)};e.prototype.JRa=function(){this.TG();this.aB();this.aq();this.o.R.bb()};e.prototype.STa=function(J,M){J=360*-J/this.WK()*this.m.get("rotationSpeed");M=180*M/this.zB()*this.m.get("rotationSpeed");this.Ba.Vl(this.m.get("yaw")+J);this.Ba.ow(this.m.get("pitch")+M);this.xH(0,0,0,J,M);this.Ba.xi(this.ek); 1821this.o.R.bb()};e.prototype.GRa=function(){this.aq();this.TG();this.Ni=null;this.aB();this.m.get("keepHeight")&&this.mX();this.o.R.bb()};e.prototype.ETa=function(J){this.CQa(Y);Y.multiplyScalar(-J*this.m.get("translationSpeed")*(this.RC||1));this.Ph&&this.ria(this.Ph+Y.y);this.Ba.setX(this.m.get("x")+Y.x);this.Ba.setY(this.m.get("y")+Y.y);this.Ba.setZ(this.m.get("z")+Y.z);this.Ba.xi(this.nH)};e.prototype.MRa=function(){this.TG();this.Ni=null;this.I2();this.aq();this.o.R.bb();this.Wr=void 0};e.prototype.WTa= 1822function(J,M,X,aa){void 0!==this.Wr||(this.Wr=X);X=k(this.Wr,aa);this.Wr=aa;this.Ba.Vl(this.m.get("yaw")+X);this.Ba.WD(this.A8*J/M);this.xH(0,0,0,X,0);this.Ba.xi(this.ek);this.o.R.bb()};e.prototype.KRa=function(){this.TG();this.Ni=null;this.I2();this.aq();this.o.R.bb();this.bW=void 0};e.prototype.UTa=function(J,M,X,aa){void 0!==this.bW||(this.bW=J);J=180*-(M-this.bW)/this.zB();this.bW=M;this.Ba.ow(this.m.get("pitch")+J);this.Ba.WD(this.A8*X/aa);this.xH(0,0,0,0,J);this.Ba.xi(this.ek);this.o.R.bb()}; 1823e.prototype.lFa=function(J,M){var X=d.Jj(this.o),aa=d.Bb(this.o);this.Ni=null;aa&&X&&(D.set(J,M),this.GU(D),J=this.mL(D,aa),J.length&&(this.Ni=J[0].point))};e.prototype.I2=function(){this.Up=null;var J=d.Jj(this.o),M=d.Bb(this.o);M&&J&&(D.set(0,0),J=this.mL(D,M),J.length&&(this.Up=J[0].point),this.Up||(this.Up=(new THREE.Vector3).setFromMatrixPosition(M.matrixWorld)),this.m.set("distance",E.setFromMatrixPosition(M.matrixWorld).distanceTo(this.Up)),this.A8=this.m.get("distance"),this.m.set("x",this.Up.x), 1824this.m.set("y",this.Up.y),this.m.set("z",this.Up.z),this.m.set("easing",0))};e.prototype.aB=function(){this.Up&&(this.Up=null,E.setFromMatrixPosition(d.Bb(this.o).matrixWorld),this.m.set("distance",0),this.m.set("x",E.x),this.m.set("y",E.y),this.m.set("z",E.z),this.m.set("easing",0))};var w="none",x="dragging",y="rotating",z="rotating yaw dragging y",C="moving front",A="rotating around camera",B="rotating yaw gesture",I="rotating pitch gesture",E=new THREE.Vector3,G=new THREE.Vector3,F=new THREE.Vector3, 1825N=new THREE.Vector3,R=new THREE.Vector3;e.prototype.Bl=function(J){this.m!=J&&(this.m&&(this.Ze&&(this.Ze.dispose(),this.Ze=null),this.Ba=null,Q.forEach(function(M){this.m.unbind(b.G(M),this.Cta,this,!1)}.bind(this)),W.forEach(function(M){this.m.unbind(b.G(M),this.Hv,this,!1)}.bind(this)),H.forEach(function(M){this.m.unbind(b.G(M),this.nq,this,!1)}.bind(this)),this.m.set("userInteracting",!1)),this.m=J)&&(this.Ba=new p(this.m),this.lL(),Q.forEach(function(M){this.m.bind(b.G(M),this.Cta,this,!1)}.bind(this)), 1826W.forEach(function(M){this.m.bind(b.G(M),this.Hv,this,!1)}.bind(this)),H.forEach(function(M){this.m.bind(b.G(M),this.nq,this,!1)}.bind(this)),this.Hv(),this.nq(),this.Ze=new q(this.o,this.m),this.m.set("userInteracting",!1))};e.prototype.lL=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")))}; 1827e.prototype.Hv=function(){if(this.o&&this.m){var J=this.o.J(c.Aa,!0);J.translationX=this.m.get("x");var M=this.m.get("y")-J.translationY;Math.abs(M)>O&&(J.translationY=this.m.get("y"),this.Sc!=w||this.ck||this.pj||this.dk||this.Dm||this.Cm||this.Eh||this.sg||this.aq());J.cf=this.m.get("z");J.re=-this.m.get("yaw");J.Qe=this.m.get("pitch");J.Re=0;J.Zf="YXZ";J.positionX=0;J.positionY=0;J.positionZ=this.m.get("distance");J.easing=this.m.get("easing");(void 0!==this.m.get("minHeight")||this.m.get("keepHeight"))&& 1828this.Pta()}};e.prototype.nq=function(){this.o&&this.m&&(this.o.J(c.PerspectiveCamera,!0).fov=this.m.get("fov"))};e.prototype.y7=function(J,M,X,aa,ba){var da=this.o.getComponent(c.Aa);
1828da&&(V.makeRotationFromEuler(K.set(0,da.re*L,0,da.Zf)),Y.set(J,M,X).applyMatrix4(V).multiplyScalar(this.RC),void 0!==this.Ph&&(this.Ph+=Y.y,this.kN()),this.Ba.setX(this.m.get("x")+Y.x),this.Ba.setY(this.m.get("y")+Y.y),this.Ba.setZ(this.m.get("z")+Y.z),this.Ba.Vl(this.m.get("yaw")+aa),this.Ba.ow(this.m.get("pitch")+ba), 1829this.Ba.xi(this.ek))};e.prototype.CQa=function(J){var M=this.o.getComponent(c.Aa);M&&(V.makeRotationFromEuler(K.set(M.Qe*L,M.re*L,M.Re*L,M.Zf)),J.set(0,0,1).applyMatrix4(V))};e.prototype.TG=function(){this.Jx=m();this.Mi=1;this.ku=this.lu=this.nu=this.mu=this.ju=0;this.sg=this.KB=this.LB=this.MB=this.IB=this.HB=void 0};e.prototype.xH=function(J,M,X,aa,ba){var da=m();this.Mi=da-this.Jx;this.Jx=da;this.ku=J;this.lu=M;this.nu=X;this.mu=aa;this.ju=ba};e.prototype.ksa=function(){this.Mi&&(this.KB=this.ku/ 1830this.Mi,this.LB=this.lu/this.Mi,this.MB=this.nu/this.Mi,this.IB=this.mu/this.Mi,this.HB=this.ju/this.Mi,this.sg=1)};e.prototype.Cta=function(){void 0!==this.m.get("minHeight")&&(void 0===this.Ph&&this.mX(),void 0!==this.Ph&&this.Ph<this.m.get("minHeight")&&(this.Ph=this.m.get("minHeight")),this.Pta())};e.prototype.aq=function(){this.Ph=this.Ek=void 0;this.lN&&(clearTimeout(this.lN),this.lN=null)};e.prototype.hma=function(){this.LF=2E3;this.dL=void 0;this.o.R.bb()};e.prototype.VIa=function(){this.LF= 18310;this.dL=Infinity;this.o.R.bb()};e.prototype.j9=function(){this.Ni||void 0!==this.Ph||this.lN||(this.lN=setTimeout(function(){this.lN=null;this.mX()}.bind(this),0))};e.prototype.mX=function(){var J=this.vla();void 0!==J?this.ria(J):this.kN()};e.prototype.ria=function(J){var M=this.m.get("minHeight")||J;this.Ph=Math.max(J,M);this.kN();this.Ek=this.m.get("y")+this.Ph-J};e.prototype.kN=function(){if(this.Ph)this.RC=Math.min(10,Math.max(this.Ph||0,.1));else{this.sp(Y);this.hKa(ca);var J=this.QT(Y,ca); 1832this.RC=J.length?Y.distanceTo(J[0].point):Y.y-(this.m.get("minY")||0)}this.RC=Math.max(Math.abs(this.RC||0),.1)};e.prototype.Pta=function(){this.Qta||void 0===this.Ph||(this.Qta=setTimeout(function(){this.Qta=null;var J=this.vla();void 0!==J&&void 0!==this.Ph&&(J=this.Ph-J,this.dL=0==this.LF?Infinity:Math.abs(J/this.LF),this.Ek=this.m.get("y")+J,0!==J&&this.o.R.bb())}.bind(this),0))};e.prototype.vla=function(){if(this.m)return this.sp(Y),this.JKa(Y.x,Y.y,Y.z)};e.prototype.JKa=function(J,M,X){var aa= 1833this.QT(Y.set(J,M,X),ca.set(0,-1,0));if(0<aa.length)return aa[0].distance;aa=this.QT(Y.set(J,M+1E3,X),ca.set(0,-1,0));if(0<aa.length)return aa[aa.length-1].distance-1E3};e.prototype.QT=function(J,M){P.ray.origin.copy(J);P.ray.direction.copy(M);return P.intersectObjects(this.YK(),!1)};e.prototype.mL=function(J,M){P.setFromCamera(J,M);return P.intersectObjects(this.YK(),!1)};e.prototype.YK=function(){var J=this.o&&d.Jj(this.o);if(!J)return[];var M=[];J.traverse(function(X){X.isSprite||X.isLine||M.push(X)}); 1834return M};e.prototype.sp=function(J){J.set(0,0,0);
1834this.m&&(J.applyMatrix4(V.makeTranslation(0,0,this.m.get("distance"))),J.applyMatrix4(V.makeRotationFromEuler(K.set(this.m.get("pitch")*L,-this.m.get("yaw")*L,0*L,"YXZ"))),J.applyMatrix4(V.makeTranslation(this.m.get("x"),this.m.get("y"),this.m.get("z"))))};e.prototype.hKa=function(J){this.m?(V.makeRotationFromEuler(K.set(this.m.get("pitch")*L,-this.m.get("yaw")*L,0,"YXZ")),J.set(0,0,-1).applyMatrix4(V)):J.set(0,0,-1)};var S=[h.ua.Vj,h.ua.Bi,h.ua.Ya, 1835h.ua.rb,h.ua.mn,h.ua.Bt,h.ua.ht,h.ua.Gt,h.ua.Q,h.ua.E],Q=["minHeight"],W="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),H=["minFov","maxFov","fov"],L=Math.PI/180,T=180/Math.PI,O=1E-6,V=new THREE.Matrix4,Y=new THREE.Vector3(0,0,0),ca=new THREE.Vector3(0,0,0),D=new THREE.Vector2(0,0),K=new THREE.Euler,P=new THREE.Raycaster;e.prototype.dispose=function(){this.aB();this.Bl(null);this.T6();this.v7();this.Dp.gb()};e.Pb=function(J){J.H(c.ot).manager= 1836new e(J)};e.gb=function(J){var M=J.getComponent(c.ot);M.manager.dispose();M.manager=null;J.na(c.ot)};e.update=function(J){J.getComponent(c.ot).manager.update()};e.frame=function(J,M,X){J.getComponent(c.ot).manager.frame(M,X)};var U=[];e.oQ=function(J){U=[];J.forEach(function(M){0>U.indexOf(M.R)&&U.push(M.R)})};return e}); 1837define("hW","require lx oR bn fF lk fv og ks pd ie bd".split(" "),function(a){function e(z){this.o=z;this.S6(v);this.u7();this.Dp=new d(z);this.Ak=new THREE.Matrix4;this.nH=.05;this.ek=.25;this.ck=this.pj=this.dk=this.Dm=this.Cm=0;this.KB=this.LB=this.MB=this.IB=this.HB=this.Jx=this.Mi=this.ku=this.lu=this.nu=this.mu=this.ju=void 0;this.r6=1E3;this.Yqa=720;this.Ssa=4;this.Fma=720;this.U6=2;this.Ba=this.Ze=null;this.wC(q.Lw);this.update()}var k=a("lx"),m=a("oR"),l=a("bn"),b=a("fF"),h=a("lk"),d=a("fv"), 1838c=a("og"),f=a("ks"),g=a("pd"),p=a("ie"),q=a("bd");k.pY(e,[h,g,p]);e.prototype.update=function(){var z=this.o.getComponent(b.tA);this.Bl(z&&z.properties);this.Dp.qea(z&&z.properties);var C=(!z.ZH||-1==y.indexOf(this.o.R))&&z.enabled;this.JW(z&&(C?z.lg:null));this.yL(!!z&&C&&z.yz);C||this.hC();C&&z.yz||(this.Dm=this.Cm=this.ck=this.pj=this.dk=0)};e.prototype.frame=function(z,C){this.Ze&&this.Ze.frame(z,C);this.sg&&(this.sg=Math.max(0,this.sg-z/this.r6),this.Ba.setX(this.m.get("x")+this.KB*this.sg), 1839this.Ba.setY(this.m.get("y")+this.LB*this.sg),this.Ba.setZ(this.m.get("z")+this.MB*this.sg),this.Ba.Vl(this.m.get("yaw")+this.IB*this.sg),this.Ba.ow(this.m.get("pitch")+this.HB*this.sg),this.o.R.bb());if(this.Dm||this.Cm||this.ck||this.pj||this.dk)z/=1E3,this.y7(this.ck*z,this.pj*z,this.dk*z,this.Dm*z,this.Cm*z);this.Dp.efa()};e.prototype.nM=function(){this.naa()};e.prototype.naa=function(){this.Dm=this.Cm=this.dk=this.pj=this.ck=0;var z=this.Lf[l.ua.mn]?1:this.Lf[l.ua.ht]?-1:0,C=this.Lf[l.ua.Gt]? 18401:this.Lf[l.ua.Bt]?-1:0,A=this.Lf[l.ua.Q]?1:this.Lf[l.ua.E]?-1:0,B=this.Lf[l.ua.Vj]?1:this.Lf[l.ua.Bi]?-1:0,I=this.Lf[l.ua.Ya]?1:this.Lf[l.ua.rb]?-1:0;if(z||C||A||B||I){var E=this.Vi?.2:1;z&&(this.ck=-z*E*this.U6*this.m.get("translationSpeed"));A&&(this.pj=-A*E*this.U6*this.m.get("translationSpeed"));C&&(this.dk=-C*E*this.U6*this.m.get("translationSpeed"));I&&(this.Dm=I*E*this.Fma*this.m.get("rotationSpeed"));B&&(this.Cm=-B*E*this.Fma*this.m.get("rotationSpeed"));this.o.R.bb()}};e.prototype.eV=function(){this.wC(q.th); 1841this.ai=!0;this.Jx=(new Date).getTime();this.Mi=1;this.ku=this.lu=this.nu=this.mu=this.ju=0;this.sg=this.KB=this.LB=this.MB=this.IB=this.HB=void 0;this.o.R.bb()};e.prototype.dV=function(z,C){if(this.ai){var A=(z*z+C*C)/2500;A=1<A?1/Math.sqrt(A):1;z*=A;C*=A;A=(new Date).getTime();this.Mi=A-this.Jx;this.Jx=A;this.ku=this.lu=this.nu=this.mu=this.ju=0;A=this.TL;this.Vi&&(A=!A);A?(this.mu=+z*this.m.get("rotationSpeed")*this.Yqa/this.su(),this.ju=-C*this.m.get("rotationSpeed")*this.Yqa/this.su(),this.Xqa(this.mu, 1842this.ju)):(this.lla(z*this.Ssa/this.su(),C*this.Ssa/this.su(),r),this.ku=r.x,this.lu=r.y,this.nu=r.z,this.Q$(this.ku,this.lu,this.nu));this.Ba.xi(this.ek)}};e.prototype.lla=function(z,C,A){var B=this.o.getComponent(b.Aa);A.set(-z*this.m.get("translationSpeed"),+C*this.m.get("translationSpeed"),0*this.m.get("translationSpeed"));A.applyMatrix4(u.makeRotationFromEuler(t.set(B.Qe*n,B.re*n,B.Re*n,B.Zf)));A.multiplyScalar(this.m.get("distance"))};e.prototype.hC=function(){this.XV(q.th);this.ai&&(this.ai= 1843!1,this.Mi&&(this.KB=this.ku/this.Mi,this.LB=this.lu/this.Mi,this.MB=this.nu/this.Mi,this.IB=this.mu/this.Mi,this.HB=this.ju/this.Mi,this.sg=1,this.Ba.xi(this.ek)),this.Jx=void 0)};e.prototype.fV=function(z){this.Ba.WD(this.m.get("distance")-z*this.m.get("distance")*this.m.get("translationSpeed"));this.Ba.xi(this.nH)};e.prototype.boa=function(){this.ima=this.m.get("distance");this.ai=!1};e.prototype.Q7=function(z,C,A){this.lla(z/this.su(),C/this.su(),r);this.Q$(r.x,r.y,r.z);this.Ba.WD(this.ima/A); 1844this.Ba.xi(this.ek)};e.prototype.R7=function(){this.ima=this.m.get("distance")};e.prototype.y7=function(z,C,A,B,I){var E=this.o.getComponent(b.Aa);E&&(u.makeRotationFromEuler(t.set(0,E.re*n,0,E.Zf)),r.set(z,C,A).applyMatrix4(u).multiplyScalar(this.m.get("distance")),this.Q$(r.x,r.y,r.z),this.Xqa(B,I),this.Ba.xi(this.ek))};e.prototype.Q$=function(z,C,A){this.Ba.setX(this.m.get("x")+z);this.Ba.setY(this.m.get("y")+C);this.Ba.setZ(this.m.get("z")+A)};e.prototype.Xqa=function(z,C){this.Ba.Vl(this.m.get("yaw")+ 1845z);this.Ba.ow(this.m.get("pitch")+C)};e.prototype.Bl=function(z){this.m!=z&&(this.m&&(this.Ze&&(this.Ze.dispose(),this.Ze=null),this.Ba=null,w.forEac
1845h(function(C){this.m.unbind(m.G(C),this.Hv,this,!1)}.bind(this)),x.forEach(function(C){this.m.unbind(m.G(C),this.nq,this,!1)}.bind(this)),this.m.set("userInteracting",!1)),this.m=z)&&(this.m.set("userInteracting",!1),this.Ba=new c(this.m),this.lL(),w.forEach(function(C){this.m.bind(m.G(C),this.Hv,this,!1)}.bind(this)),x.forEach(function(C){this.m.bind(m.G(C), 1846this.nq,this,!1)}.bind(this)),this.Hv(),this.nq(),this.Ze=new f(this.o,this.m))};e.prototype.lL=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")),this.m.set("distance",this.m.get("initialDistance")),this.m.set("easing",this.ek))};e.prototype.Hv=function(){if(this.o&&this.m){var z= 1847this.o.J(b.Aa,!0);z.translationX=this.m.get("x");z.translationY=this.m.get("y");z.cf=this.m.get("z");z.re=-this.m.get("yaw");z.Qe=this.m.get("pitch");z.Re=0;z.Zf="YXZ";z.positionX=0;z.positionY=0;z.positionZ=this.m.get("distance");z.easing=this.m.get("easing")}};e.prototype.nq=function(){this.o&&this.m&&(this.o.J(b.PerspectiveCamera,!0).fov=this.m.get("fov"))};var n=Math.PI/180,r=new THREE.Vector3(0,1,0),t=new THREE.Euler,u=new THREE.Matrix4,v=[l.ua.Vj,l.ua.Bi,l.ua.Ya,l.ua.rb,l.ua.mn,l.ua.Bt,l.ua.ht, 1848l.ua.Gt,l.ua.Q,l.ua.E],w="easing minYaw maxYaw yaw minPitch maxPitch pitch minDistance maxDistance distance minX maxX x minY maxY y minZ maxZ z".split(" "),x=["minFov","maxFov","fov"];e.prototype.dispose=function(){this.Bl(null);this.T6();this.v7();this.Dp.gb()};e.Pb=function(z){z.H(b.vt).manager=new e(z)};e.gb=function(z){var C=z.getComponent(b.vt);C.manager.dispose();C.manager=null;z.na(b.vt)};e.update=function(z){z.getComponent(b.vt).manager.update()};e.frame=function(z,C,A){z.getComponent(b.vt).manager.frame(C, 1849A)};var y=[];e.oQ=function(z){y=[];z.forEach(function(C){0>y.indexOf(C.R)&&y.push(C.R)})};return e}); 1850define("hi","require lx lH fF dQ ca hW".split(" "),function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("dQ"),b=a("ca"),h=a("hW");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(d,c){(this.jda.de.length||this.jda.mg.length)&&l.g0a(this.jda.C);this.Kva.C.length&&this.Kva.C.slice().forEach(b.Pb);this.kP.Ua.length&&this.kP.Ua.slice().forEach(b.update);this.kP.C.length&&this.kP.C.slice().forEach(function(f){b.frame(f,d,c)});this.Lva.C.length&&this.Lva.C.slice().forEach(b.gb);this.Fva.C.length&& 1851this.Fva.C.slice().forEach(l.Pb);this.jP.Ua.length&&this.jP.Ua.slice().forEach(l.update);this.jP.C.length&&this.jP.C.slice().forEach(function(f){l.frame(f,d,c)});this.Gva.C.length&&this.Gva.C.slice().forEach(l.gb);this.Zya.C.length&&this.Zya.C.slice().forEach(h.Pb);this.aQ.Ua.length&&this.aQ.Ua.slice().forEach(h.update);this.aQ.C.length&&this.aQ.C.slice().forEach(function(f){h.frame(f,d,c)});this.$ya.C.length&&this.$ya.C.slice().forEach(h.gb);if(this.gP.de.length||this.gP.mg.length)l.oQ(this.gP.C), 1852this.jP.C.slice().forEach(l.update),b.oQ(this.gP.C),this.kP.C.slice().forEach(b.update),h.oQ(this.gP.C),this.aQ.C.slice().forEach(h.update)};a.K={};a.K.gP=[m.Hw];a.K.jda=[m.zJ];a.K.Fva=[m.nA,m.mt.not];a.K.jP=[m.nA,m.mt];a.K.Gva=[m.nA.not,m.mt];a.K.Kva=[m.oA,m.ot.not];a.K.kP=[m.oA,m.ot];a.K.Lva=[m.oA.not,m.ot];a.K.Zya=[m.tA,m.vt.not];a.K.aQ=[m.tA,m.vt];a.K.$ya=[m.tA.not,m.vt];return a}); 1853define("iU",["require","fF"],function(a){function e(m){this.o=m;this.isa=this.ia=null;this.wa=this.ja=void 0;this.update()}var k=a("fF");e.prototype.update=function(){var m=this.o.getComponent(k.Xh),l=m.source&&m.source.width||0,b=m.source&&m.source.height||0;!this.ia||!!this.ia.M3a==m.isSprite&&this.ja==l&&this.wa==b||(this.ia.map.dispose(),this.ia.dispose(),this.ia=null);this.ja=l;this.wa=b;this.ia||(m.isSprite?(this.ia=new THREE.SpriteMaterial,this.ia.sizeAttenuation=!1):this.ia=new THREE.MeshBasicMaterial, 1854this.ia.map=new THREE.Texture,this.ia.transparent=!0,this.o.H(k.Material).material=this.ia);this.ia.map.image!=m.source&&(this.ia.map.image=m.source,this.ia.map.needsUpdate=!0);this.isa!=m.HQ&&(this.isa=m.HQ,this.ia.map.needsUpdate=!0);this.ia.opacity=m.opacity||0;this.ia.depthTest=!!m.depthTest;this.ia.visible=0<this.ia.opacity&&!m.hidden;this.ia.needsUpdate=!0;this.o.R.bb()};e.prototype.dispose=function(){this.ia&&(this.ia.map.dispose(),this.ia.map=null,this.ia.dispose(),this.ia=null,this.o.na(k.Material)); 1855this.o=null};e.Pb=function(m){m.H(k.Fw).manager=new e(m)};e.gb=function(m){var l=m.getComponent(k.Fw);l.manager.dispose();l.manager=null;m.na(k.Fw)};
1855e.update=function(m){m.getComponent(k.Fw).manager.update()};return e}); 1856define("iu",["require","lx","lH","fF","iU"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("iU");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Ol.C.length&&this.Ol.C.slice().forEach(l.Pb);this.materials.Ua.length&&this.materials.Ua.slice().forEach(l.update);this.Pl.C.length&&this.Pl.C.slice().forEach(l.gb)};a.K={};a.K.Ol=[m.Xh,m.Fw.not];a.K.materials=[m.Xh,m.Fw];a.K.Pl=[m.Xh.not,m.Fw];return a}); 1857define("ee",["require","oR","fF","cp","bd"],function(a){function e(x){this.ni=x;this.he=this.Gg=null;this.GK=!1;this.update()}var k=a("oR"),m=a("fF"),l=a("cp"),b=a("bd");e.prototype.update=function(){var x=this.ni.getComponent(m.df);this.AN(x&&x.enabled?x.Sba:null);this.zN(x&&x.enabled?x.Hba:null)};e.prototype.frame=function(){this.nf()};e.prototype.AN=function(x){this.Gg!=x&&(this.Gg&&this.Gg.unbind(k.kc,this.jf,this,!0),(this.Gg=x)&&this.Gg.bind(k.kc,this.jf,this,!0))};e.prototype.zN=function(x){this.he!= 1858x&&(this.he&&this.GK&&this.he.pop(b.th),(this.he=x)&&this.GK&&this.he.push(b.th))};e.prototype.jf=function(){var x=v.get(this.ni.R);x&&0!=x.length&&this.ni.R.bb()};e.prototype.nf=function(){var x=v.get(this.ni.R),y=x&&x.length||0;this.xra(0<y);if(0!=y&&(y=this.pT())){var z=this.ni.getComponent(m.df);if(z)for(h.copy(z.origin).applyMatrix4(y.matrixWorld),d.copy(z.origin).add(z.direction).applyMatrix4(y.matrixWorld).sub(h).normalize(),y=0;y<x.length;y++){z=x[y];var C=z.getComponent(m.Jo),A=z.getComponent(m.Gw), 1859B=w.get(z);B&&C&&A&&(A.rva||(A.rva=(new THREE.Vector3).setFromMatrixPosition(B.matrixWorld)),c.copy(A.rva),f.copy(C.direction),this.BKa(c,f,h,d,g),A.Lba||(A.Lba=(new THREE.Vector3).copy(g).sub(c)),g.sub(A.Lba),C.min&&0>p.copy(g).sub(C.min).dot(C.direction)&&g.copy(C.min),g.applyMatrix4(q.copy(B.parent.matrixWorld).invert()),z=z.J(m.Aa),n.multiply(q.makeTranslation(z.translationX,z.translationY,z.cf).invert()),n.multiply(q.makeRotationFromEuler(r.set(z.Qe*u,z.re*u,z.Re*u,z.Zf)).invert()),g.applyM
1859atrix4(q), 1860z.positionX=g.x,z.positionY=g.y,z.positionZ=g.z)}}};e.prototype.xra=function(x){this.GK!=x&&(this.GK=x,this.he&&(this.GK?this.he.push(b.th):this.he.pop(b.th)))};e.prototype.BKa=function(x,y,z,C,A){t.copy(x).sub(z);z=y.dot(C);var B=C.dot(C),I=y.dot(y);C=t.dot(C);var E=t.dot(y);A.copy(x);x=z*z-B*I;0!=x&&A.addScaledVector(y,(B*E-C*z)/x)};e.prototype.pT=function(){var x=l.Bb(this.ni);return x&&x.isCamera?x:(x=l.oI(x))&&l.Ps(x)};var h=new THREE.Vector3,d=new THREE.Vector3,c=new THREE.Vector3,f=new THREE.Vector3, 1861g=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.xra(!1);this.AN(null);this.zN(null);this.o=null};e.Eea=function(x){x.H(m.yt).manager=new e(x)};e.Sea=function(x){var y=x.getComponent(m.yt);y.manager.dispose();y.manager=null;x.na(m.yt)};e.ffa=function(x){x.getComponent(m.yt).manager.update()};e.frame=function(x){x.getComponent(m.yt).manager.frame()};var v=new Map,w=new Map;e.U0a=function(x){x.H(m.Gw); 1862x.H(m.Hw);e.TBa(x)};e.TBa=function(x){var y=l.Bb(x);w.set(x,y);var z=v.get(x.R);z||v.set(x.R,z=[]);y&&(y=z,0>y.indexOf(x)&&y.push(x))};e.qBa=function(x){var y=v.get(x.R),z=y.indexOf(x);0<=z&&y.splice(z,1);w["delete"](x);x.na(m.Gw);x.na(m.Hw)};return e}); 1863define("le",["require","lx","lH","fF","ee"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("ee");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.dQ.C.length&&this.dQ.C.slice().forEach(l.Eea);this.Oq.Ua.length&&this.Oq.Ua.slice().forEach(l.ffa);this.Oq.C.length&&this.Oq.C.slice().forEach(l.frame);this.eQ.C.length&&this.eQ.C.slice().forEach(l.Sea);this.qva.C.length&&this.qva.C.slice().forEach(l.U0a);this.pva.C.length&&this.pva.C.slice().forEach(l.TBa);this.sva.C.length&& 1864this.sva.C.slice().forEach(l.qBa);this.tva.C.length&&this.tva.C.slice().forEach(l.qBa)};a.K={};a.K.dQ=[m.df,m.yt.not];a.K.Oq=[m.df,m.yt];a.K.eQ=[m.df.not,m.yt];a.K.qva=[m.Object3D,m.Jo,m.Gw.not];a.K.pva=[m.Object3D,m.Jo,m.Gw];a.K.sva=[m.Object3D.not,m.Gw];a.K.tva=[m.Jo.not,m.Gw];return a}); 1865define("kV",["require","fF","cp"],function(a){function e(w){this.o=w;this.P8=!1}var k=a("fF"),m=a("cp");e.prototype.update=function(){this.P8=!1};e.prototype.frame=function(){this.nf()};e.prototype.nf=function(){if(!this.P8&&(this.Ga=this.Ga||m.Jj(this.o))){var w=m.Bb(this.o),x=w&&w.parent;if(x&&x.matrixWorld){var y=[];this.Ga.traverse(function(B){B.isSprite||B.isLine||B==w||y.push(B)});var z=this.o.J(k.nt);g.set(z.x,z.y,z.z).applyMatrix4(x.matrixWorld);f.ray.origin.set(g.x,g.y,g.z);f.ray.direction.set(0, 1866-1,0);var C=f.intersectObjects(y,!1);if(0!=C.length){var A=C[0];h.copy(x.matrixWorld).invert();C=this.o.J(k.Aa,!0);d.setFromMatrixPosition(x.matrixWorld);l.copy(A.object.matrixWorld);c.setFromMatrixPosition(l);b.copy(l).invert();!z.IP&&A.face&&A.face.normal?n.copy(A.face.normal).applyMatrix4(l).sub(c).add(d):n.copy(d).add(r);n.applyMatrix4(h).normalize();u.setFromUnitVectors(q,n);t.setFromQuaternion(u,C.Zf);C.Qe=t.x*v;C.re=t.y*v;C.Re=t.z*v;g.copy(A.point).applyMatrix4(h);C.translationX=g.x;C.translationY= 1867g.y;C.cf=g.z;p.setFromMatrixScale(h);x=Math.max(p.x,p.y,p.z);C.positionX=0;C.positionY=0;C.positionZ=x*z.distance;this.P8=!0}}}};e.prototype.dispose=function(){};var l=new THREE.Matrix4,b=new THREE.Matrix4,h=new THREE.Matrix4,d=new THREE.Vector3,c=new THREE.Vector3,f=new THREE.Raycaster,g=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.Pb= 1868function(w){w.H(k.$q).manager=new e(w)};e.gb=function(w){var x=w.getComponent(k.$q);x.manager.dispose();x.manager=null;w.na(k.$q)};e.frame=function(w){w.getComponent(k.$q).manager.frame()};e.update=function(w){w.getComponent(k.$q).manager.update()};return e}); 1869define("hS",["require","lx","lH","fF","kV"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("kV");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Hva.C.length&&this.Hva.C.slice().forEac
1869h(l.Pb);this.LY.Ua.length&&this.LY.C.slice().forEach(l.update);this.LY.C.length&&this.LY.C.slice().forEach(l.frame);this.Iva.C.length&&this.Iva.C.slice().forEach(l.gb);this.Jva.C.length&&this.Jva.C.slice().forEach(l.gb)};a.K={};a.K.Hva=[m.Object3D,m.nt,m.$q.not];a.K.LY=[m.Object3D, 1870m.nt,m.$q];a.K.Iva=[m.Object3D.not,m.$q];a.K.Jva=[m.nt.not,m.$q];return a});define("gr",["require","fF"],function(a){var e=a("fF");return{Pb:function(k){var m=k.H(e.vE),l=k.H(e.Object3D);k.H(e.Aa);k=k.J(e.Group);l.pa=m.group=k.group=new THREE.Group},gb:function(k){k.getComponent(e.vE).group=null;k.na(e.vE);k.na(e.Object3D)}}}); 1871define("lC",["require","lx","lH","fF","gr"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("gr");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Ewa.C.length&&this.Ewa.C.slice().forEach(l.Pb);this.Fwa.C.length&&this.Fwa.C.slice().forEach(l.gb)};a.K={};a.K.Ewa=[m.Group,m.vE.not];a.K.Fwa=[m.Group.not,m.vE];return a}); 1872define("bg","require lx oR kX cB gp bh".split(" "),function(a){function e(g,p,q,n){this.zca=g;this.src=g.src;this.p_=p;this.ZO=q;this.OY=n;this.frameWidth=this.zca.width/this.ZO;this.frameHeight=this.zca.height/this.p_}var k=a("lx"),m=a("oR"),l=a("kX");a("cB");var b=a("gp"),h=a("bh");a=k.extend(b,function(g,p,q,n,r,t,u){b.call(this);this.xm=r;this.fh=new e(g,p,q,r);this.Mqa=t;this.eea(n);this.S4=u;this.O=document.createElement("canvas");this.O.width=this.fh.frameWidth;this.O.height=this.fh.frameHeight; 1873this.za=this.O.getContext("2d");this.za.globalCompositeOperation="copy";this.A=l.T;this.lW=this.rm=0;this.N3=void 0;this.Gh=d.request(this.fh);this.Gh.bind(m.va,this.lj,this,!0);this.lj()});a.prototype.eea=function(g){if(this.Ie!==g){var p=this.gO;this.Ie=g;this.gO=this.Ie*this.fh.OY;this.T4=this.gO-.1*this.Ie;void 0!==p&&(this.rm=this.rm/p*this.gO)}};a.prototype.sAa=function(g){this.S4!==g&&(this.S4=g,this.lj())};a.prototype.Id=function(g){if(this.A!=g){if(g==l.Ib){if(this.A!=l.X)return}else g== 1874l.X?this.A==l.T&&(this.rm=this.lW=0,this.lj()):g!=l.T||0==this.rm&&0!=this.lW||(this.rm=this.T4,this.lj());this.A=g;h.requestFrame(this.vj,this);this.trigger(m.ne)}};a.prototype.getState=function(){return this.A};a.prototype.vj=function(g){this.A==l.X&&(this.rm=Math.min(this.rm+g,this.Gh.Gh.length*this.Ie),this.rm>=this.gO&&(this.lW++,this.Mqa&&this.lW==this.Mqa?(this.Id(l.T),this.rm=this.T4,this.trigger(m.vb)):(this.rm%=this.gO,this.trigger(m.ir))),this.lj(),this.A==l.X&&h.requestFrame(this.vj,this))}; 1875a.prototype.clear=function(){this.Id(l.T);this.O.width=this.O.height=0;this.O=null;d.release(this.fh);this.fh=null};a.prototype.Xf=function(){return this.O};a.prototype.lj=function(){var g=this.S4&&this.rm>=this.T4?0:Math.floor(this.rm/this.Ie);this.N3!=g&&g<this.Gh.Gh.length&&(this.N3=g,this.za.drawImage(this.Gh.get(this.N3),0,0),this.trigger(m.va))};e.prototype.isEqual=function(g){return this.src==g.src&&this.p_==g.p_&&(this.ZO=g.ZO)&&(this.frameWidth=g.frameWidth)&&(this.frameHeight=g.frameHeight)&& 1876(this.OY=g.OY)};var d={rj:[],rEa:2E3,request:function(g){g=this.bi(g);g.SD++;this.wsa(g);return g.frames},release:function(g){g=this.bi(g);g.SD--;0==g.SD&&this.xRa(g)},bi:function(g){for(var p=0;p<this.rj.length;p++)if(this.rj[p].gWa.isEqual(g))return this.rj[p];p={};p.gWa=g;p.frames=new c(g);p.SD=0;this.rj.push(p);return p},xRa:function(g){this.wsa(g);g.Jba=setTimeout(function(){d.kIa(g)},d.rEa)},wsa:function(g){g.Jba&&(clearTimeout(g.Jba),g.Jba=null)},kIa:function(g){this.rj.splice(this.rj.indexOf(g), 18771);g.frames.clear()}},c=k.extend(b,function(g){b.call(this);this.fh=g;this.Gh=[];f.add(this)});c.prototype.clear=function(){f.remove(this);this.Gh.forEach(function(g){g.width=0;g.height=0});this.Gh=null};c.prototype.get=function(g){return this.Gh[g]};c.prototype.$Va=function(){var g=this.Gh.length%this.fh.ZO,p=Math.floor(this.Gh.length/this.fh.ZO)%this.fh.p_,q=document.createElement("canvas");q.width=this.fh.frameWidth;q.height=this.fh.frameHeight;var n=q.getContext("2d");n.globalCompositeOperation= 1878"copy";n.drawImage(this.fh.zca,g*this.fh.frameWidth,p*this.fh.frameHeight,this.fh.frameWidth,this.fh.frameHeight,0,0,this.fh.frameWidth,this.fh.frameHeight);c.lJa(q);this.Gh.push(q);this.trigger(m.va)};c.lJa=function(){var g=document.createElement("canvas");g.width=1;g.height=1;var p=g.getContext("2d");return function(q){p.drawImage(q,0,0,1,1,0,0,1,1)}}();var f={rj:[],H$:null,add:function(g){this.rj.push(g);this.fra()},remove:function(g){this.rj=this.rj.filter(function(p){return p!=g})},fra:function(){this.H$|| 1879(this.H$=setTimeout(function(){this.H$=null;this.HM()}
1879.bind(this),40))},HM:function(){if(0!=this.rj.length){for(var g=(new Date).getTime()+10;(new Date).getTime()<g;){var p=this.rj.filter(function(q){return 0==q.Gh.length});p=0<p.length?p[0]:this.rj[0];p.$Va();if(p.Gh.length==p.fh.OY&&(this.rj.splice(this.rj.indexOf(p),1),0==this.rj.length))return}this.fra()}}};return a}); 1880define("oM",["require","oR","kX"],function(a){function e(l,b){this.Ad=l;this.rc=b;this.Kb=!1;this.f2();this.i2();this.fC()}var k=a("oR"),m=a("kX");e.prototype.clear=function(){this.k9();this.p9();this.Ad.set("state",m.T);this.rc=this.Ad=null};e.prototype.tf=function(l){this.Kb!=l&&(this.Kb=l,this.rs())};e.prototype.fC=function(){this.rc.Id(this.Ad.get("state"))};e.prototype.kM=function(){this.rs()};e.prototype.mM=function(){this.rc.eea(this.Ad.get("frameDuration"))};e.prototype.lM=function(){this.rc.sAa("first"== 1881this.Ad.get("finalFrame"))};e.prototype.iM=function(){this.Ad.trigger(k.ir)};e.prototype.hM=function(){this.Ad.trigger(k.vb)};e.prototype.jM=function(){this.Ad.set("state",this.rc.getState())};e.prototype.rs=function(){this.Ad.get("autoplay")&&this.rc.Id(this.Kb?m.X:m.T)};e.prototype.f2=function(){this.Ad.bind(k.G("state"),this.fC,this,!0);this.Ad.bind(k.G("autoplay"),this.kM,this,!0);this.Ad.bind(k.G("frameDuration"),this.mM,this,!0);this.Ad.bind(k.G("finalFrame"),this.lM,this,!0)};e.prototype.k9= 1882function(){this.Ad.unbind(k.G("state"),this.fC,this,!0);this.Ad.unbind(k.G("autoplay"),this.kM,this,!0);this.Ad.unbind(k.G("frameDuration"),this.mM,this,!0);this.Ad.unbind(k.G("finalFrame"),this.lM,this,!0)};e.prototype.i2=function(){this.rc.bind(k.ir,this.iM,this,!0);this.rc.bind(k.vb,this.hM,this,!0);this.rc.bind(k.ne,this.jM,this,!0)};e.prototype.p9=function(){this.rc.unbind(k.ir,this.iM,this,!0);this.rc.unbind(k.vb,this.hM,this,!0);this.rc.unbind(k.ne,this.jM,this,!0)};return e}); 1883define("eH",["require","oR","nH","bg","oM"],function(a){function e(h,d,c,f){this.we=h;this.Xb=d;this.Sa=c;this.Ca=f.bind(this);m.Oa("AnimatedImageResource",this.we)?(this.rc=new l(this.Xb,this.we.get("rowCount",1),this.we.get("colCount",1),this.we.get("frameDuration"),this.we.get("frameCount",this.we.get("rowCount",1)*this.we.get("colCount",1)),this.we.get("repeat"),"first"==this.we.get("finalFrame")),this.Sa.image=this.rc.Xf(),this.rc.bind(k.va,this.iL,this,!0),this.zn=new b(this.we,this.rc)):this.Sa.image= 1884this.Xb;this.Sa.needsUpdate=!0;this.Ca()}var k=a("oR"),m=a("nH"),l=a("bg"),b=a("oM");e.prototype.tf=function(h){this.zn&&this.zn.tf(h)};e.prototype.dispose=function(){this.zn&&(this.zn.clear(),this.zn=null);this.rc&&(this.rc.unbind(k.va,this.iL,this,!0),this.rc.clear(),this.rc=null);this.Sa=this.Xb=this.we=null};e.prototype.iL=function(){this.Sa.needsUpdate=!0;this.Ca()};return e}); 1885define("eL",["require"],function(){var a={},e=null;a.Wva=function(){if(!e){var k=document.createElement("canvas");k.width=128;k.height=128;k.getContext("2d").clearRect(0,0,k.width,k.height);e=k}return e};return a}); 1886define("jH",["require","kY","mZ","mm"],function(a){var e=a("kY"),k=a("mZ"),m=a("mm"),l=180/Math.PI,b=Math.PI/180;return{XY:function(h,d,c,f,g,p,q){d||(d=h*f/c);g||(g=m.Jw);var n={};switch(g){case m.Jw:n.width=h;n.height=d;break;case m.NONE:n.width=c;n.height=f;break;case m.sh:n.width=Math.min(d*c/f,h);n.height=Math.min(h*f/c,d);break;case m.Zq:n.width=Math.max(d*c/f,h);n.height=Math.max(h*f/c,d);break;case m.Ro:n.width=h;n.height=h*f/c;break;case m.Rj:n.width=d*c/f,n.height=d}n.width>h?(n.vw=h/n.width, 1887n.QQ=p==k.Ya?0:p==k.rb?1-n.vw:.5*(1-n.vw),n.width=h):(n.QQ=0,n.vw=1);n.height>d?(n.ww=d/n.height,n.UQ=q==k.vc?1-n.ww:q==k.oc?0:.5*(1-n.ww),n.height=d):(n.UQ=0,n.ww=1);return n},lca:function(h,d,c,f,g,p,q,n){d||(d=e.Ll(h,c,f));g||(g=m.Jw);p||(p=4096/360);var r={};switch(g){case m.Jw:r.Be=h;r.Xq=d;break;case m.NONE:r.Be=2*Math.atan2(.5*c,45*p)*l;r.Xq=e.Ll(r.Be,c,f);break;case m.sh:r.Be=Math.min(e.Wq(d,c,f),h);r.Xq=Math.min(e.Ll(h,c,f),d);break;case m.Zq:r.Be=Math.max(e.Wq(d,c,f),h);r.Xq=Math.max(e.Ll(h, 1888c,f),d);break;case m.Ro:r.Be=h;r.Xq=e.Ll(h,c,f);break;case m.Rj:r.Be=e.Wq(d,c,f),r.Xq=d}r.Be>h?(r.vw=Math.tan(.5*h*b)*c/Math.tan(.5*r.Be*b)/c,r.QQ=q==k.Ya?0:q==k.rb?1-r.vw:.5*(1-r.vw),r.Be=h):(r.QQ=0,r.vw=1);r.Xq>d?(r.ww=Math.tan(.5*d*b)*f/Math.tan(.5*r.Xq*b)/f,r.UQ=n==k.vc?1-r.ww:n==k.oc?0:.5*(1-r.ww),r.Xq=d):(r.UQ=0,r.ww=1);return r}}}); 1889define("kd","require kJ oR cB nH ct lu eH eL fF ou bG jH".split(" "),function(a){function e(v){this.o=v;this.IC=this.IC.bind(this);this.Ca=this.Ca.bind(this);this.Aj=this.Aj.bind(this);v=v.getComponent(g.dm);
1889this.Kg=v.wo;this.ve=v.ba;this.m=v.properties;this.we=v.yca;this.rMa=v.isSprite;this.Wf=!1;this.tm=this.Za=null;this.ou=0;this.d$=this.g4=this.zb=this.uF=this.W=void 0;k.ga(this.m,r,this.IC,!1);k.ga(this.we,t,this.IC,!1);k.ga(this.m,u,this.Aj,!1);this.IC()}var k=a("kJ"),m=a("oR"),l=a("cB"),b= 1890a("nH"),h=a("ct"),d=a("lu"),c=a("eH"),f=a("eL"),g=a("fF"),p=a("ou"),q=a("bG"),n=a("jH"),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.tm&&(this.tm.Cb(v),this.ou=this.tm.fb("alpha"),this.taa(),this.tm.Oe()&&(this.tm=null),this.o.R.bb());this.Wf&&(this.Wf=!1)};e.prototype.IC=function(){var v=this.we&&this.we.get("levels")||[];v=v.filter(function(E){return!!E.get("url")}); 1891var w=1,x=1;b.Oa("AnimatedImageResource",this.we)&&(w=this.we.get("rowCount"),x=this.we.get("colCount"));var y=null;if(0<v.length){v.sort(function(E,G){return G.get("width")-E.get("width")});y=this.m.get("width");var z=this.m.get("height"),C=this.m.get("scaleMode","fill"),A=v[0].get("width")/x,B=v[0].get("height")/w,I=n.XY(y,z,A,B,C);y=v.reduce(function(E,G){return!E||E.get("width")>G.get("width")&&G.get("width")/x>=I.width&&G.get("height")/w>=I.height?G:E})}this.BN(y)};e.prototype.BN=function(v){this.Za!= 1892v&&(this.Za&&(this.vIa(),this.m4(),this.MS(),this.qp(),this.Wf=!1),this.Za=v)&&(this.kp(),this.bu(),this.uK(),this.Wf=!1,this.Ca())};e.prototype.uK=function(){this.ud||(this.ud=new h,this.ud.YI([this.Za.get("url")]),this.ud.bind(m.Z,this.od,this,!0),this.ud.bind(m.ec,this.uoa,this,!0),this.ud.bind(m.uc,this.Mf,this,!0),this.Xr=this.o.getComponent(g.dm).priority,d.dn(this.ud,this.Xr))};e.prototype.qp=function(){this.ud&&(this.ud.unbind(m.Z,this.od,this,!0),this.ud.unbind(m.ec,this.uoa,this,!0),this.ud.unbind(m.uc, 1893this.Mf,this,!0),d.cj(this.ud,this.Xr),this.ud=null)};e.prototype.od=function(){this.dIa();this.U$(new l(m.Z))};e.prototype.uoa=function(v){this.U$(new l(m.ec,{percent:v.Sg}))};e.prototype.Mf=function(){this.U$(new l(m.uc))};e.prototype.U$=function(v){this.Kg&&this.Kg.trigger(v)};e.prototype.Ca=function(){this.Wf||(this.Wf=!0,this.o.R.bb())};e.prototype.kp=function(){this.Sa=new THREE.Texture;this.Sa.image=f.Wva();this.Sa.generateMipmaps=!0;this.Sa.minFilter=THREE.LinearMipMapLinearFilter};e.prototype.MS= 1894function(){this.Sa&&(this.Sa.dispose(),this.Sa=null)};e.prototype.bu=function(){this.rMa?(this.ia=new THREE.SpriteMaterial({map:this.Sa}),this.ia.sizeAttenuation=!0):this.ia=new THREE.MeshBasicMaterial({map:this.Sa});this.ia.transparent=!0;this.ia.needsUpdate=!0;this.o.H(g.Material).material=this.ia;this.pia(0);this.o.J(g.Yh,!0);this.Aj(!0)};e.prototype.Aj=function(v){var w=this.m.get("enabled")&&!this.m.get("hidden")&&!!this.ko,x=this.W!==w;if(x||v){this.W=w;w=this.ou;var y=this.W?1:0,z=this.m.get("hidden")? 18950:200;this.tm=w!==y?new p("linear",[new q("alpha",w,y,void 0)],Math.abs(w-y)*z):null;this.taa()}w=this.m.get("encoding");if(this.uF!==w||v)this.uF=w,this.bUa();w=this.m.get("depthTest");if(this.g4!==w||v)this.g4=w,this.BTa();w=this.m.get("opacity");if(this.zb!==w||v)this.zb=w,this.taa();w=this.m.get("side");if(this.d$!==w||v)this.d$=w,this.CTa();x&&this.ve&&this.ve.trigger(this.W?m.ld:m.hd)};e.prototype.bUa=function(){if(this.ia&&(this.ia.map||this.ia.emissiveMap)){var v="srgb"==this.uF?THREE.sRGBEncoding: 1896THREE.LinearEncoding;this.ia.map&&(this.ia.map.encoding=v);this.ia.emissiveMap&&(this.ia.emissiveMap.encoding=v);this.ia.needsUpdate=!0}this.o.J(g.Yh,!0);this.Ca()};e.prototype.BTa=function(){this.ia&&(this.ia.depthTest=this.g4);this.o.J(g.Yh,!0);this.Ca()};e.prototype.taa=function(){this.ia&&this.pia((this.zb||0)*this.ou);this.ko&&this.ko.tf(0<this.zb);this.Ca()};e.prototype.pia=function(v){this.ia.opacity=v;this.ia.visible=0<this.ia.opacity;this.ia.isShaderMaterial&&this.ia.uniforms.opacity&&(this.ia.uniforms.opacity.value= 1897v);this.o.J(g.Yh,!0)};e.prototype.CTa=function(){if(this.ia)switch(this.d$){case "back":this.ia.side=THREE.BackSide;break;case "double":this.ia.side=THREE.DoubleSide;break;default:this.ia.side=THREE.FrontSide}this.o.J(g.Yh,!0);this.Ca()};e.prototype.m4=function(){this.ia&&(this.ia.dispose(),this.ia=null,this.o.na(g.Material))};e.prototype.dIa=function(){this.ko=new c(this.we,d.rf(this.Za.get("url")),this.Sa,this.Ca);this.Aj(!0)};e.prototype.vIa=function(){this.ko&&(this.ko.dispose(),this.ko=null)}; 1898e.prototype.dispose=function(){this.BN(null);k.ca(this.m,r,this.IC);k.ca(this.we,t,this.IC);k.ca(this.m,u,this.Aj);this.o=this.Kg=this.we=this.m=null};e.Pb=function(v){v.H(g.Nw).manager=new e(v)};e.gb=function(v){var w=v.getComponent(g.Nw);w.manager.dispose();w.manager=null;v.na(g.Nw)};e.frame=function(v,w){v.getComponent(g.Nw).manager.frame(w)};return e}); 1899define("mG",["require","lx","lH","fF","kd"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("kd");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(b,h){this.Ol.C.length&&this.Ol.C.slice().forEac
1899h(l.Pb);this.Pl.C.length&&this.Pl.C.slice().forEach(l.gb);this.materials.C.length&&this.materials.C.slice().forEach(function(d){l.frame(d,b,h)})};a.K={};a.K.Ol=[m.dm,m.Nw.not];a.K.materials=[m.dm,m.Nw];a.K.Pl=[m.dm.not,m.Nw];return a}); 1900define("K",["require","nJ","fF"],function(a){function e(l){this.o=l;this.ia=null;this.update()}var k=a("nJ"),m=a("fF");e.prototype.update=function(){this.ia||(this.ia=new THREE.LineBasicMaterial,this.ia.transparent=!0,this.o.H(m.Material).material=this.ia);var l=this.o.getComponent(m.Wg);this.ia.color=new THREE.Color(k.hE(l.color||"#ffffff"));this.ia.lineWidth=l.width||1;this.ia.opacity=l.opacity||0;this.ia.depthTest=!!l.depthTest;this.ia.visible=0<this.ia.opacity;this.ia.needsUpdate=!0};e.prototype.dispose= 1901function(){this.ia&&(this.ia.dispose(),this.ia=null,this.o.na(m.Material));this.o=null};e.Pb=function(l){l.H(m.Ow).manager=new e(l)};e.gb=function(l){var b=l.getComponent(m.Ow);b.manager.dispose();b.manager=null;l.na(m.Ow)};e.update=function(l){l.getComponent(m.Ow).manager.update()};return e}); 1902define("iY",["require","lx","lH","fF","K"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("K");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Ol.C.length&&this.Ol.C.slice().forEach(l.Pb);this.materials.Ua.length&&this.materials.Ua.slice().forEach(l.update);this.Pl.C.length&&this.Pl.C.slice().forEach(l.gb)};a.K={};a.K.Ol=[m.Wg,m.Ow.not];a.K.materials=[m.Wg,m.Ow];a.K.Pl=[m.Wg.not,m.Ow];return a}); 1903define("G","require oR fF cp nH nJ a".split(" "),function(a){function e(q){this.o=q;this.Wf=!1;this.m=this.o.getComponent(m.Light).properties;p.forEach(function(n){this.m.bind(k.G(n),this.TW,this,!1)}.bind(this));this.TW()}var k=a("oR"),m=a("fF"),l=a("cp"),b=a("nH"),h=a("nJ"),d=a("a");e.prototype.update=function(){this.TW()};var c=Math.PI/180;e.prototype.TW=function(){var q=this.o.J(m.Light);if(b.Oa("AmbientLight",q.properties)){q.Xd&&q.Xd.isAmbientLight||(this.o.J(m.Object3D,!0).pa=q.Xd=new THREE.AmbientLight); 1904var n=q.target}else if(b.Oa("OrbitLight",q.properties)){q.Xd&&q.Xd.isDirectionalLight||(this.o.J(m.Object3D,!0).pa=q.Xd=new THREE.DirectionalLight);n=d.Gs(q.properties.get("yaw")*c,q.properties.get("pitch")*c).VI(10);q.Xd.position.set(n.x,n.y,n.z);"fixed_to_target"==q.properties.get("mode","fixed_to_target")?(q.Xd.target=l.Bb(q.target),n=q.target):(q.Xd.target=new THREE.Object3D,n=q.target.getComponent(m.kb).Y.getComponent(m.Scene).ie);q.Xd.castShadow=0<q.properties.get("intensity")&&q.properties.get("castShadow"); 1905var r=q.Xd.castShadow?q.properties.get("shadowMapSize"):16;r!=q.Xd.shadow.mapSize.width&&(q.Xd.shadow.dispose(),q.Xd.shadow=q.Xd.shadow.clone(),q.Xd.shadow.mapSize.width=q.Xd.shadow.mapSize.height=r);q.Xd.shadow.radius=q.properties.get("shadowRadius");q.Xd.shadow.bias=q.properties.get("shadowBias");this.Ota()}q.Xd.color=new THREE.Color(h.hE(q.properties.get("color")));q.Xd.intensity=q.properties.get("intensity");q.Xd.visible=0<q.Xd.intensity;q=this.o.getComponent(m.kb);q&&q.Y==n||(q=this.o.J(m.kb, 1906!0),q.Y=n)};var f=new THREE.Box3,g=new THREE.Vector3;e.prototype.frame=function(){this.Ota()};e.prototype.Ota=function(){var q=this.o&&this.o.getComponent(m.Light);if(q&&q.Xd&&q.Xd.castShadow){for(var n=q.Xd.shadow.camera,r=this.s3(l.Bb(q.target),f),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 C=0;2>C;C++)for(var A=0;2>A;A++)g.set(0==z?r.min.x:r.max.x,0==C?r.min.y: 1907r.max.y,0==A?r.min.z:r.max.z).applyMatrix4(n.matrixWorldInverse),g.x<t&&(t=g.x),g.x>u&&(u=g.x),g.y>v&&(v=g.y),g.y<w&&(w=g.y),-g.z>y&&(y=-g.z),-g.z<x&&(x=-g.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.o.J(m.Light),q.Xd.shadow.camera.left=t,q.Xd.shadow.camera.top=v,q.Xd.shadow.camera.right=u,q.Xd.shadow.camera.bottom=w,q.Xd.shadow.camera.near= 1908x,q.Xd.shadow.camera.far=y,q.Xd.shadow.camera.updateProjectionMatrix(),q.Xd.shadow.needsUpdate=!0}};e.prototype.s3=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);
1908r.applyMatrix4(t.matrixWorld);n.union(r)}});return n};e.prototype.dispose=function(){this.m&&(p.forEach(function(q){this.m.unbind(k.G(q),this.TW,this,!1)}.bind(this)),this.m=null); 1909this.o&&(this.o.na(m.kb),this.o.na(m.Object3D),this.o=null)};var p="castShadow color intensity mode pitch yaw shadowBias shadowRadius shadowMapSize shadowTolerance".split(" ");e.Pb=function(q){l.Bb(q.getComponent(m.Light).target)&&(q.H(m.qt).manager=new e(q))};e.gb=function(q){var n=q.getComponent(m.qt);n.manager.dispose();n.manager=null;q.na(m.qt)};e.update=function(q){q.getComponent(m.qt).manager.update()};e.frame=function(q){q.getComponent(m.qt).manager.frame()};return e}); 1910define("cO",["require","lx","lH","fF","G"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("G");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Fxa.C.length&&this.Fxa.C.slice().forEach(l.Pb);this.Ts.Ua.length&&this.Ts.Ua.slice().forEach(l.update);this.Ts.C.length&&this.Ts.C.slice().forEach(l.frame);this.Gxa.C.length&&this.Gxa.C.slice().forEach(l.gb)};a.K={};a.K.Fxa=[m.Light,m.qt.not];a.K.Ts=[m.Light,m.qt];a.K.Gxa=[m.Light.not,m.qt];return a}); 1911define("oB","require lx lH fF cp nO".split(" "),function(a){var e=a("lx"),k=a("lH"),m=a("fF");a("cp");var l=a("nO");a=e.extend(k,function(){k.apply(this,arguments);this.se=this.se.bind(this);this.Ce=this.Ce.bind(this);this.Uc=this.Uc.bind(this)});a.prototype.xd=function(){this.Mxa.C.length&&this.Mxa.C.slice().forEach(this.se);this.lines.Ua.length&&this.lines.Ua.slice().forEach(this.Ce);this.Nxa.C.length&&this.Nxa.C.slice().forEach(this.Uc);this.Oxa.C.length&&this.Oxa.C.slice().forEach(this.Uc);this.Pxa.C.length&& 1912this.Pxa.C.slice().forEach(this.Uc)};a.prototype.se=function(b){b.H(m.Object3D).pa=new THREE.LineSegments;b.H(m.Pw);b.H(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.kxa=!0;b.H(m.Geometry).geometry=h}this.Ce(b)};a.prototype.Ce=function(b){var h=b.getComponent(m.Object3D).pa;l.iz(h,b.getComponent(m.Material).material);var d=b.getComponent(m.Geometry).geometry;h.geometry!=d&&(h.geometry&&d.userData.kxa&& 1913h.geometry.dispose(),h.geometry=d,h.needsUpdate=!0);b=b.getComponent(m.Line).renderOrder||0;h.renderOrder!=b&&(h.renderOrder=b,h.needsUpdate=!0)};a.prototype.Uc=function(b){b.na(m.Pw);b.na(m.Geometry);var h=b.getComponent(m.Object3D);h&&(h=h.pa,h.geometry&&h.geometry.userData.kxa&&h.geometry.dispose(),h.geometry=null,l.iz(h,null),b.na(m.Object3D))};a.K={};a.K.Mxa=[m.Line,m.Material,m.Pw.not];a.K.lines=[m.Line,m.Geometry,m.Material,m.Pw];a.K.Nxa=[m.Line.not,m.Pw];a.K.Oxa=[m.Material.not,m.Pw];a.K.Pxa= 1914[m.Geometry.not,m.Pw];return a}); 1915define("fT",["require","lx","lH","fF","cp"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("cp");a=e.extend(k,function(){k.apply(this,arguments);this.se=this.se.bind(this);this.Uc=this.Uc.bind(this);this.qD=this.qD.bind(this)});a.prototype.xd=function(){this.Ixa.C.length&&this.Ixa.C.slice().forEach(this.se);this.Hxa.C.length&&this.Hxa.C.slice().forEach(this.qD);this.Jxa.C.length&&this.Jxa.C.slice().forEach(this.Uc);this.Kxa.C.length&&this.Kxa.C.slice().forEach(this.Uc);this.Lxa.C.length&&this.Lxa.C.slice().forEach(this.Uc)}; 1916a.prototype.se=function(p){p.H(m.Qw)};a.prototype.Uc=function(p){p.na(m.Qw)};var b=new THREE.Matrix4,h=new THREE.Quaternion,d=new THREE.Vector3,c=new THREE.Vector3(0,0,1),f=new THREE.Euler,g=180/Math.PI;a.prototype.qD=function(p){var q=p.getComponent(m.Aa);if(q){var n=l.Bb(p);if(n&&n.parent){var r=p.getComponent(m.ar),t=r.Y;if(t){r=l.Bb(t);if(!r||!r.parent)return;d.setFromMatrixPosition(r.matrixWorld)}else if(r.position)d.copy(r.position);else return;b.copy(n.parent.matrixWorld).invert();d.applyMatrix4(b); 1917d.x-=q.translationX;d.y-=q.translationY;d.z-=q.cf;n=d.length();h.setFromUnitVectors(c,d.normalize());f.setFromQuaternion(h,q.Zf);f.x*=g;f.y*=g;f.z*=g;if(q.scale!=n||q.Qe!=f.x||q.re!=f.y||q.Re!=f.z)q=p.J(m.Aa),q.scale=n,q.Qe=f.x,q.re=f.y,q.Re=f.z,l.yQ(p,q),p.R.bb()}}};a.K={};a.K.Ixa=[m.Object3D,m.ar,m.Qw.not];a.K.Hxa=[m.Object3D,m.ar,m.Qw,m.Aa];a.K.Jxa=[m.Object3D.not,m.Qw];a.K.Kxa=[m.ar.not,m.Qw];a.K.Lxa=[m.Aa.not,m.Qw];return a}); 1918define("eW","require lx oR lH fF cp nO".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("lH"),l=a("fF"),b=a("cp"),h=a("nO");a=e.extend(m,function(){m.apply(this,arguments);this.se=this.se.bind(this);this.Uc=this.Uc.bind(this);this.Ce=this.Ce.bind(this)});a.prototype.xd=function(){this.tya.C.length&&this.tya.C.slice().forEac
1918h(this.se);this.kda.Ua.length&&this.kda.Ua.slice().forEach(this.Ce);this.uya.C.length&&this.uya.C.slice().forEach(this.Uc);this.vya.C.length&&this.vya.C.slice().forEach(this.Uc)}; 1919a.prototype.se=function(d){d.H(l.Rw);this.kda.C.forEach(function(c){this.bMa(c,d)&&this.cW(b.Bb(c))}.bind(this));this.Ce(d)};a.prototype.Ce=function(d){var c=d.getComponent(l.Yh);d=b.Bb(d);this.EFa(d,c);this.cW(d);this.Td(d,c)};a.prototype.Uc=function(d){d.na(l.Rw);var c=b.Bb(d);c&&(this.RGa(c),this.cW(c),d.na(l.Rw))};a.prototype.EFa=function(d,c){d.userData.Yya=c.opacity;d.userData.envMapIntensity=c.envMapIntensity;d.userData.RO=c.RO;d.userData.castShadow=c.castShadow;d.userData.receiveShadow=c.receiveShadow}; 1920a.prototype.RGa=function(d){d.userData.Yya=void 0;d.userData.envMapIntensity=void 0;d.userData.RO=void 0;d.userData.castShadow=void 0;d.userData.receiveShadow=void 0};a.prototype.cW=function(d){var c=this.cla(d),f=this.QJa(d),g=this.OJa(d),p=this.PJa(d),q=this.RJa(d);if(d.material){if(void 0===c&&void 0===f)h.Nda(d);else{var n=d.userData.Kq||d.material;if(void 0!==n.opacity){var r=n.opacity*(void 0===c?1:c),t=0<r,u=1>r?!0:n.transparent;if(d.material.opacity!==r||d.material.visible!==t||d.material.transparent!== 1921u)h.Oba(d),d.material.opacity=r,d.material.transparent=u,d.material.visible=t,d.material.needsUpdate=!0}void 0!==n.envMapIntensity&&(n=n.envMapIntensity*(void 0===f?1:f),d.material.envMapIntensity!==n&&(h.Oba(d),d.material.envMapIntensity=n,d.material.needsUpdate=!0));h.$1a(d)}var v=this.AJa(g);(null==d.material.map?[]:Array.isArray(d.material.map)?d.material.map:[d.material.map]).forEach(function(w){w.anisotropy!==v&&(w.anisotropy=v,w.needsUpdate=!0)})}d.isMesh&&(void 0!==p&&d.castShadow!==p&&(d.castShadow= 1922p),void 0!==q&&d.receiveShadow!==q&&(d.receiveShadow=q));d.children&&d.children.forEach(function(w){w.userData.MXa=c;w.userData.LXa=f;w.userData.JXa=g;w.userData.KXa=p;w.userData.NXa=q;this.cW(w)}.bind(this))};a.prototype.AJa=function(d){return 1+Math.round((d||0)*(b.cca().capabilities.getMaxAnisotropy()-1))};a.prototype.cla=function(d){var c=d.userData.Yya;d=d.userData.MXa;if(void 0!==d||void 0!==c)if(c=(void 0!==d?d:1)*(void 0!==c?c:1),1!==c)return c};a.prototype.QJa=function(d){var c=d.userData.envMapIntensity; 1923d=d.userData.LXa;if(void 0!==d||void 0!==c)if(c=(void 0!==d?d:1)*(void 0!==c?c:1),1!==c)return c};a.prototype.OJa=function(d){var c=d.userData.RO;if(void 0!==c)return c;d=d.userData.JXa;if(void 0!==d)return d};a.prototype.PJa=function(d){var c=d.userData.castShadow;if(void 0!==c)return c;d=d.userData.KXa;if(void 0!==d)return d};a.prototype.RJa=function(d){var c=d.userData.receiveShadow;if(void 0!==c)return c;d=d.userData.NXa;if(void 0!==d)return d};a.prototype.Td=function(d,c){var f=this.cla(d);void 0!== 1924f&&(f=0<f,d.userData.r2a!==f&&(d.userData.r2a=f,c.ba&&c.ba.trigger(f?k.ld:k.hd)))};a.prototype.bMa=function(d,c){d=b.Bb(d);c=b.Bb(c);if(!d||!c)return!1;for(c=c.parent;c;){if(c===d)return!0;c=c.parent}return!1};a.K={};a.K.tya=[l.Yh,l.Object3D,l.Rw.not];a.K.kda=[l.Yh,l.Object3D,l.Rw];a.K.uya=[l.Yh.not,l.Rw];a.K.vya=[l.Object3D.not,l.Rw];return a}); 1925define("oK",["require","fF","nO"],function(a){function e(l){this.o=l;this.Taa=this.cl=this.dd=null;this.DH=-1}var k=a("fF"),m=a("nO");e.prototype.frame=function(){if(!this.cl&&(this.cl=this.o.getComponent(k.uh).sca)){var l=this.cl.userData&&this.cl.userData.gltfExtensions&&this.cl.userData.gltfExtensions.KHR_materials_variants;this.Taa=l&&l.variants||[];this.update()}};e.prototype.update=function(){if(this.Taa){var l=this.o.getComponent(k.st).name,b=this.Taa.findIndex(function(d){return d.name==l}), 1926h=this.cl.scene;this.dd!=h?(this.dd&&this.Sqa(this.dd),this.dd=h,this.DH=b,this.dd&&this.Xra(this.dd,this.DH)):this.DH!=b&&(this.DH=b,this.dd&&this.Xra(this.dd,this.DH));this.o.R.bb()}};e.prototype.Sqa=function(l){this.sia(l,-1)};e.prototype.Xra=function(l,b){this.IMa(l,b,function(){this.dd==l&&this.DH==b&&this.sia(l,b)}.bind(this))};e.prototype.IMa=function(l,b,h){var d=[];l.traverse(function(c){var f=c.isMesh&&c.userData.gltfExtensions&&c.userData.gltfExtensions.KHR_materials_variants;if(f=f&&f.mappings){c.userData.fZa|| 1927(c.userData.fZa=m.PWa(c));c.userData.Pz||(c.userData.Pz={});for(var g=null,p=f.length-1;0<=p&&!g;--p)-1!=f[p].variants.indexOf(b)&&(g=f[p]);g&&d.push(this.cl.parser.getDependency("material",g.material).then(function(q){c.userData.Pz[b]||(c.userData.Pz[b]=q)}))}}.bind(this));Promise.all(d).then(function(){h(l,b)})};e.prototype.sia=function(l,b){l.traverse(function(h){if(h.userData.Pz){var d=h.userData.Pz[b];d&&(m.iz(h,d),this.cl.parser.assignFinalMaterial(h),this.o.J(k.Yh,!0))}}.bind(this));this.o.R.bb()}; 1928e.prototype.dispose=function(){this.dd&&(this.Sqa(this.dd),this.o.J(k.Yh,!0),this.dd=null)};e.Pb=function(l){l.H(k.Vo).manager=new e(l)};e.gb=function(l){var b=l.getComponent(k.Vo);b.manager.dispose();b.manager=null;l.na(k.Vo)};
1928e.update=function(l){l.getComponent(k.Vo).manager.update()};e.frame=function(l){l.getComponent(k.Vo).manager.frame()};return e}); 1929define("hH",["require","lx","lH","fF","oK"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("oK");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Sxa.C.length&&this.Sxa.C.slice().forEach(l.Pb);this.DZ.C.length&&this.DZ.C.slice().forEach(l.frame);this.DZ.Ua.length&&this.DZ.Ua.slice().forEach(l.update);this.Txa.C.length&&this.Txa.C.slice().forEach(l.gb);this.Uxa.C.length&&this.Uxa.C.slice().forEach(l.gb);this.Vxa.C.length&&this.Vxa.C.slice().forEach(l.gb)};a.K={}; 1930a.K.Sxa=[m.st,m.uh,m.Object3D,m.Vo.not];a.K.DZ=[m.st,m.uh,m.Object3D,m.Vo];a.K.Txa=[m.st.not,m.Vo];a.K.Uxa=[m.Object3D.not,m.Vo];a.K.Vxa=[m.uh.not,m.Vo];return a}); 1931define("hV",["require","fF"],function(a){var e=a("fF");return{Pb:function(k){var m=k.H(e.dr);k.H(e.Aa);var l=k.J(e.Mesh);k.H(e.Object3D).pa=m.yo=l.yo=new THREE.Mesh(k.getComponent(e.Geometry).geometry,k.getComponent(e.Material).material);l.yo.renderOrder=l.renderOrder},update:function(k){var m=k.J(e.dr);m.yo.geometry=k.getComponent(e.Geometry).geometry;m.yo.material=k.getComponent(e.Material).material;m.yo.renderOrder=k.getComponent(e.Mesh).renderOrder},gb:function(k){k.getComponent(e.dr).yo=null; 1932k.na(e.dr);k.na(e.Object3D)}}}); 1933define("f",["require","lx","lH","fF","hV"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("hV");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.$xa.C.length&&this.$xa.C.slice().forEach(l.Pb);this.Zxa.Ua.length&&this.Zxa.Ua.slice().forEach(l.update);this.FZ.C.length&&this.FZ.C.slice().forEach(l.gb);this.oYa.C.length&&this.FZ.C.slice().forEach(l.gb);this.pYa.C.length&&this.FZ.C.slice().forEach(l.gb)};a.K={};a.K.$xa=[m.Mesh,m.Geometry,m.Material,m.dr.not];a.K.Zxa= 1934[m.Mesh,m.Geometry,m.Material,m.dr];a.K.FZ=[m.Mesh.not,m.dr];a.K.oYa=[m.Geometry.not,m.dr];a.K.pYa=[m.Material.not,m.dr];return a}); 1935define("ll",["require","oR","nJ","fF","cp"],function(a){function e(d){this.o=d;this.m=this.o.getComponent(l.uh).properties;this.He=null;this.dT=void 0;h.forEach(function(c){this.m.bind(k.G(c),this.We,this,!0)}.bind(this));this.update()}var k=a("oR"),m=a("nJ"),l=a("fF"),b=a("cp"),h=["floorColor","floorHeight","floorOpacity","floorRadius"];e.prototype.update=function(){var d=this.m.get("floorColor");this.dT!=d&&(!d&&this.He&&(this.$ja(this.He),this.He=null),this.dT=d)&&(this.He||(this.He=this.DHa()), 1936this.KQa(this.He,this.dT));d=this.m.get("floorOpacity");this.He&&this.He.material.opacity!=d&&(this.He.material.opacity=d);d=this.m.get("floorHeight");this.He&&this.He.position.y!=d&&(this.He.position.y=d);d=this.m.get("floorRadius");this.He&&this.He.scale.x!=d&&(this.He.scale.x=this.He.scale.y=this.He.scale.z=d)};e.prototype.frame=function(){if(this.He&&!this.He.parent){for(var d=b.Bb(this.o);d&&!d.isScene;)d=d.parent;d&&d.add(this.He)}};e.prototype.dispose=function(){h.forEach(function(d){this.m.unbind(k.G(d), 1937this.We,this,!0)}.bind(this));this.He&&(this.$ja(this.He),this.He=null)};e.prototype.We=function(){this.o.R.bb();this.update()};e.prototype.DHa=function(){var d=new THREE.CircleGeometry(1,128);d=new THREE.Mesh(d);d.receiveShadow=!0;d.position.y=0;d.rotation.x=.5*-Math.PI;d.needsUpdate=!0;return d};e.prototype.KQa=function(d,c){var f=d.material;f&&(!f.isShadowMaterial&&"transparent"==c||!f.K3a&&"transparent"!=c)&&(f.dispose(),f=null);"transparent"==c?f||(f=new THREE.ShadowMaterial):(f||(f=new THREE.MeshStandardMaterial, 1938f.defines.USE_UV="",f.onBeforeCompile=function(g){var p=g.fragmentShader.lastIndexOf("}");g.fragmentShader=g.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"+g.fragmentShader.substring(p,g.fragmentShader.length)},f.roughness=1,f.metalness=0,f.envMapIntensity=0,f.transparent=!0),f.color=new THREE.Color(m.hE(c)));f.needsUpdate=!0;d.material=f;d.renderOrder=-1}; 1939e.prototype.$ja=function(d){d.parent&&d.parent.remove(d);d.material&&d.material.dispose();d.material=null;d.geometry&&d.geometry.dispose();d.geometry=null};return e}); 1940define("dN",["require","exports","oR","gp","bw"],function(a,e,k,m,l){return function(b){function h(d,c){var f=b.call(this)||this;f.Xn=null;f.Eia=null;f.ox=!1;f.bG=null;f.Fd=d;f.Xr=c;
1940f.Zr=new Request(d);f.UN=f.UN.bind(f);f.VA=f.VA.bind(f);return f}Z(h,b);h.prototype.start=function(){this.bG||(this.ox=!1,this.bG=l.add(this.Fd,this.Xr,this.UN,this.VA))};h.prototype.UN=function(){0===this.Fd.indexOf("filesystem:")?this.bJa():this.cJa()};h.prototype.bJa=function(){var d=this,c=new XMLHttpRequest;c.open("GET", 1941this.Fd,!0);c.responseType="arraybuffer";c.onload=function(){d.xoa(c.response);c.onload=c.onerror=null};c.onerror=function(){d.toa();c.onload=c.onerror=null};c.send()};h.prototype.cJa=function(){var d=this;fetch(this.Zr).then(function(c){function f(t){void 0===t&&(t=null);if(t=t||r)t.close(),r=null,d.Xn=null}function g(t){var u;return null===(u=d.Xn.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,f(t));void 0!==q&&d.trigger(k.ec, 1942{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(d.ox)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));d.Xn=c.body.getReader();var r=null;return new Response(new ReadableStream({start:function(t){d.ox?t.close(): 1943r=t},pull:function(t){return g(t)},cancel:function(){return f()}}))}).then(function(c){return c.arrayBuffer()}).then(function(c){d.xoa(c)}).catch(function(){d.toa()})};h.prototype.cancel=function(){this.bG&&(this.bG.cancel(),this.bG=null)};h.prototype.VA=function(){this.ox=!0;this.Xn&&(this.Xn.cancel(),this.Xn=null)};h.prototype.xoa=function(d){var c;this.Eia=d;null===(c=this.bG)||void 0===c?void 0:c.loaded();this.trigger(k.Z,{buffer:d})};h.prototype.toa=function(){this.cancel();this.trigger(k.uc)}; 1944h.prototype.getData=function(){return this.Eia};return h}(m)}); 1945define("co","require exports three.mod oR id gp cp dN mE ms".split(" "),function(a,e,k,m,l,b,h,d,c,f){return function(g){function p(){var q=g.call(this)||this;q.type=p.TYPE;q.mda=q.mda.bind(q);q.nda=q.nda.bind(q);q.Hq=new k.GLTFLoader;q.Iq=new k.KTX2Loader;q.Iq.setTranscoderPath(k.pfa);q.Iq.detectSupport(h.cca());q.Hq.setKTX2Loader(q.Iq);q.Hq.setMeshoptDecoder(k.MeshoptDecoder);return q}Z(p,g);p.prototype.$va=function(){return this.cl?this.cl.scene:null};p.prototype.start=function(q){this.url=q;this.Ds= 1946new d(q,l.qA);this.IUa();this.Ds.start()};p.prototype.dispose=function(){this.Ds&&(this.IZa(),this.Ds.cancel());this.Iq.dispose()};p.prototype.IUa=function(){this.Ds.bind(m.Z,this.Eya,this,!0);this.Ds.bind(m.ec,this.Gya,this,!0);this.Ds.bind(m.uc,this.Fya,this,!0)};p.prototype.IZa=function(){this.Ds.unbind(m.Z,this.Eya,this);this.Ds.unbind(m.ec,this.Gya,this);this.Ds.unbind(m.uc,this.Fya,this)};p.prototype.Eya=function(){this.Hq.parse(this.Ds.getData(),f.getDirectory(this.url),this.mda,this.nda)}; 1947p.prototype.Gya=function(q){this.trigger(m.ec,q.data)};p.prototype.Fya=function(){this.trigger(m.uc)};p.prototype.nda=function(q){c.qJ&&q&&q.message&&console.error(q.message);this.trigger(m.uc)};p.prototype.mda=function(q){this.Hq&&(q.scene.traverse(function(n){n.isMesh&&(n=n.material,n.depthWrite=!n.transparent)}),this.cl=q,this.trigger(m.INIT),this.trigger(m.Z))};p.TYPE="gltf";return p}(b)}); 1948define("nM","require exports three.mod oR gp cp nO ms".split(" "),function(a,e,k,m,l,b,h,d){a=function(n){function r(){var t=n.call(this)||this;t.type=r.TYPE;t.ee=null;t.fP=null;t.Hq=null;t.Iq=null;t.camera=null;t.ro=null;t.width=void 0;t.height=void 0;t.Vh=!1;t.nY=null;t.session=null;t.config=null;return t}Z(r,n);r.prototype.$va=function(){return this.ee?this.ee.group:null};r.prototype.q_a=function(t){this.config=t};r.prototype.start=function(t){this.nY=this.jWa(t);this.ee=new k.TDTiles.TilesRenderer(t); 1949this.fP=new k.DRACOLoader;this.fP.setDecoderPath(k.zCa);this.Hq=new k.GLTFLoader(this.ee.manager);this.Hq.setDRACOLoader(this.fP);this.Iq=new k.KTX2Loader;this.Iq.setTranscoderPath(k.pfa);this.Iq.detectSupport(b.cca());this.Hq.setKTX2Loader(this.Iq);this.Hq.setMeshoptDecoder(k.MeshoptDecoder);this.ee.manager.addHandler(/\.gltf$/,this.Hq);this.config&&(this.ee.maxDepth=this.config.maxDepth,this.ee.loadSiblings=this.config.loadSiblings,this.ee.parseQueue.maxJobs=this.config.tda,this.ee.downloadQueue.maxJobs= 1950this.config.Kba,this.ee.lruCache.minSize=this.config.Sca,this.ee.lruCache.maxSize=this.config.Rca,this.ee.errorTarget=this.config.errorTarget,this.ee.errorThreshold=this.config.errorThreshold);d.Fca(t)&&(this.ee.fetchOptions.mode="cors");this.ee.onLoadModel=this.onLoadModel.bind(this);this.ee.onDisposeModel=this.onDisposeModel.bind(this);this.ee.onLoadTileSet=this.onLoadTileSet.bind(this);this.ee.onTileVisibilityChange=this.onTileVisibilityChange.bind(this);this.ee.preprocessURL=this.RYa.bind(this); 1951this.trigger(m.INIT)};r.prototype.dispose=function(){this.ee&&(this.fP.dispose(),this.fP=null,this.Iq.dis
1951pose(),this.Hq=this.Iq=null,this.ee.dispose(),this.ee=null,this.ro&&this.ro.removeFromParent(),this.session=this.nY=null)};r.prototype.setCamera=function(t){this.camera!==t&&(this.camera=t,this.PBa(),this.updateCamera())};r.prototype.setSize=function(t,u){if(this.width!==t||this.height!==u)this.width=t,this.height=u,this.j2a()};r.prototype.update=function(){this.camera&&this.width&&this.height&& 1952(this.PBa(),this.ee.update())};r.prototype.jWa=function(t){return(new window.URL(t)).searchParams.get("key")||null};r.prototype.bXa=function(t){return(new window.URL(t)).searchParams.get("session")||null};r.prototype.updateCamera=function(){this.ee&&this.camera&&(this.ee.setCamera(this.camera),this.ee.setCamera(this.ro))};r.prototype.PBa=function(){this.camera&&(this.ro||(this.ro=new k.OrthographicCamera(-1,1,-1,1),this.ro.matrixAutoUpdate=!1),this.ro.parent!==this.camera&&this.camera.add(this.ro), 1953this.camera.updateMatrixWorld(!0),q.setFromMatrixPosition(this.camera.matrixWorld),p.copy(q).y-=this.camera.far,p.applyMatrix4(c.copy(this.camera.matrixWorld).invert()),g.random().cross(p).normalize(),this.ro.matrix.lookAt(f,p,g),this.ro.near=this.camera.near,this.ro.far=this.camera.far)};r.prototype.j2a=function(){this.ee&&this.camera&&this.width&&this.height&&(this.ee.setResolution(this.camera,this.width,this.height),this.ee.setResolution(this.ro,1,1))};r.prototype.RYa=function(t){t=new window.URL(t); 1954/^http/.test(t.protocol)&&(this.nY&&t.searchParams.append("key",this.nY),this.session&&t.searchParams.append("session",this.session));return t.toString()};r.prototype.onLoadModel=function(){this.Vh||(this.Vh=!0,this.trigger(m.Z));this.trigger(m.va)};r.prototype.onDisposeModel=function(t){t.traverse(function(u){u instanceof k.Mesh&&h.Nda(u)})};r.prototype.onTileVisibilityChange=function(t,u,v){v&&this.trigger(m.va)};r.prototype.onLoadTileSet=function(){null==this.session&&this.ee.traverse(function(t){return t.content&& 1955t.content.uri?(this.session=this.bXa(t.content.uri),!0):!1}.bind(this));this.trigger(m.va)};r.TYPE="tiles";return r}(l);var c=new k.Matrix4,f=new k.Vector3,g=new k.Vector3,p=new k.Vector3,q=new k.Vector3;return a}); 1956define("hw",["require","exports"],function(){return function(){function a(){this.errorTarget=6;this.maxDepth=this.errorThreshold=Infinity;this.loadSiblings=!0;this.Kba=6;this.tda=3;this.Sca=600;this.Rca=800}a.BVa=function(e){var k=new a;k.errorTarget=e.get("errorTarget",k.errorTarget);k.errorThreshold=e.get("errorThreshold",k.errorThreshold);k.maxDepth=e.get("maxDepth",k.maxDepth);k.loadSiblings=e.get("loadSiblings",k.loadSiblings);k.Kba=e.get("downloadMaxJobs",k.Kba);k.tda=e.get("parseMaxJobs",k.tda); 1957k.Sca=e.get("lruCacheMinSize",k.Sca);k.Rca=e.get("lruCacheMaxSize",k.Rca);return k};return a}()}); 1958define("gZ",["require","exports","three.mod"],function(a,e,k){a=function(){function b(){}b.intersect=function(h,d){var c=[];d.forEach(function(f){f.isSkinnedMesh||!f.geometry||f.geometry.userData.Sua||(f.geometry.computeBoundsTree(),f.geometry.userData.Sua=!0);
1958f.isSkinnedMesh&&!f.userData.tba&&(f.userData.tba=f.geometry.boundingBox,f.geometry.boundingBox=m,f.userData.Uua=f.geometry.boundingSphere,f.geometry.boundingSphere=l,c.push(f))});h.firstHitOnly=!0;d=d.filter(function(f){return(f.isScene||f.parent)&& 1959(!f.isMesh||f.geometry)});h=h.intersectObjects(d,!1);c.forEach(function(f){f.geometry.boundingBox=f.userData.tba;delete f.userData.tba;f.geometry.boundingSphere=f.userData.Uua;delete f.userData.Uua});h=h.filter(function(f){return f.object.isLine?!1:!0});h.sort(function(f,g){var p=-f.object.renderOrder,q=-g.object.renderOrder;p==q&&(p=f.object.material&&!f.object.material.depthTest?0:1,q=g.object.material&&!g.object.material.depthTest?0:1);p==q&&(p=f.distance,q=g.distance);return p-q});return h};return b}(); 1960var m=new k.Box3;m.min.x=m.min.y=m.min.z=-Infinity;m.max.x=m.max.y=m.max.z=Infinity;var l=new k.Sphere;l.center.x=l.center.y=l.center.z=0;l.radius=Infinity;return a}); 1961define("ni",["require","gZ"],function(a){function e(d){this.ea=d}var k=a("gZ"),m=new THREE.Raycaster,l=new THREE.Vector3,b=new THREE.Vector3(0,-1,0),h=new THREE.Vector3(0,1,0);e.prototype.vBa=function(d,c){m.ray.origin.copy(d);l.copy(c).sub(d);var f=l.length();l.normalize();m.ray.direction.copy(l);d=this.YK();return 0<k.intersect(m,d).filter(function(g){if(g.distance>=.98*f||!g.object.visible)return!1;g=Array.isArray(g.object.material)&&g.face?g.object.material[g.face.materialIndex]:g.object.material; 1962return!g||g.visible}).length};e.prototype.vWa=function(d){m.ray.origin.copy(d);m.ray.direction.copy(b);d=this.YK();var c=k.intersect(m,d);if(0<c.length)return c[0].distance;m.ray.direction.copy(h);c=k.intersect(m,d);if(0<c.length)return-c[0].distance};e.prototype.YK=function(){var d=[];this.ea.traverse(function(c){c.isSprite||c.isLine||d.push(c)});return d};return e}); 1963define("bb",["require","cp"],function(a){function e(m,l){this.Ha=m;this.oLa=l}var k=a("cp");e.prototype.jwa=function(m){return(m=this.Bb(m))&&m.matrixWorld};e.prototype.Bb=function(m){return m?k.qz(this.oLa,m):k.Bb(this.Ha)};return e}); 1964define("em",["require","cp"],function(a){function e(c,f,g){this.Ha=c;this.WMa=f;this.yJa=g}var k=a("cp"),m=new THREE.Vector3,l=new THREE.Vector3,b=new THREE.Vector3,h=new THREE.Frustum,d=new THREE.Matrix4;e.prototype.qca=function(c,f){f=this.WMa.jwa(f);if(!f)return null;l.copy(c).applyMatrix4(f);var g=(c=k.Bb(this.Ha))&&k.oI(c);c=g&&k.Ps(g);if(!c)return null;d.identity().multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);h.setFromProjectionMatrix(d);if(!h.containsPoint(l))return null;f=(g&& 1965k.eZ(g))/2;g=(g&&k.rI(g))/2;m.copy(l).project(c);f=m.x*f+f;g=-(m.y*g)+g;b.setFromMatrixPosition(c.matrixWorld);c=this.yJa.vBa(b,l);return{x:Math.round(f),y:Math.round(g),visible:!c}};return e}); 1966define("eF","require oR mu co nM hw ni bb em cp fF v ik ms".split(" "),function(a){function e(r,t,u,v){this.o=r;this.ci=t;r=this.o.getComponent(p.uh);this.m=r.properties;this.pi=v;this.xe=u;this.ve=this.pi.mz(1);this.xe.NH(this.ve,1);this.Da=this.cl=null;u=this.iLa(r.$ca);this.ae=this.PHa(u);this.NEa();this.ae.type===b.TYPE&&this.ae.q_a(h.BVa(r.$ca));this.ae.start(u)}var k=a("oR"),m=a("mu"),l=a("co"),b=a("nM"),h=a("hw"),d=a("ni"),c=a("bb"),f=a("em"),g=a("cp"),p=a("fF"),q=a("v"),n=a("ik");a("ms"); 1967e.prototype.PHa=function(r){return n.is(r,n.gEa)?new b:new l};e.prototype.iLa=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.tR)}))&&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.ae.type===b.TYPE&&this.dUa()};e.prototype.dUa=function(){var r=g.Jj(this.o),t=r&&g.Ps(r);t&&(this.ae.setCamera(t),this.ae.setSize(g.eZ(r),g.rI(r)),this.ae.update(
1967))}; 1968e.prototype.NEa=function(){this.ae.bind(k.INIT,this.eoa,this,!0);this.ae.bind(k.Z,this.od,this,!0);this.ae.bind(k.uc,this.Mf,this,!0);this.ae.bind(k.ec,this.ji,this,!0);this.ae.bind(k.va,this.yoa,this,!0)};e.prototype.mPa=function(){this.ae.unbind(k.INIT,this.eoa,this);this.ae.unbind(k.Z,this.od,this);this.ae.unbind(k.uc,this.Mf,this);this.ae.unbind(k.ec,this.ji,this);this.ae.unbind(k.va,this.yoa,this)};e.prototype.eoa=function(){this.Da=this.ae.$va();this.ci.H(p.Object3D).pa=this.Da;var r=this.ae.type== 1969l.TYPE;this.rFa(this.Da,r);var t=this.o.J(p.uh,!0);t.sca=r?this.ae.cl:null;this.o.J(p.Animation,!0).properties=t.properties};e.prototype.od=function(){this.m.set("geometryQuery",new d(this.Da));this.m.set("objectQuery",new c(this.o,this.Da));this.m.set("projectionQuery",new f(this.o,this.m.get("objectQuery"),this.m.get("geometryQuery")));this.CX()};e.prototype.ji=function(r){this.ve.trigger(k.ec,r.data)};e.prototype.Mf=function(){this.ve.trigger(k.uc)};e.prototype.yoa=function(){this.o.J(p.Object3D, 1970!0)};e.prototype.CX=function(){this.m.set("isLoaded",!0);this.ve.trigger(k.Z)};e.prototype.rFa=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.Da&&(this.Da.traverse(function(r){function t(w){w&&0>u.indexOf(w)&&u.push(w)} 1971var u=[];t(r.material);t(r.userData.Kq);if(r.userData.Pz)for(var v in r.userData.Pz)t(r.userData.Pz[v]);u.forEach(function(w){w.dispose();
1971Object.keys(w).forEach(function(x){(x=w[x])&&"object"===typeof x&&"minFilter"in x&&x.dispose()})});r.geometry&&r.geometry.userData.Sua&&r.geometry.disposeBoundsTree();r.geometry&&r.geometry.dispose()}),this.Da=null,this.ci.na(p.Object3D));this.ae&&(this.mPa(),this.ae.dispose(),this.ae=null);this.ve&&(this.xe.OI(this.ve),this.pi.OI(this.ve),this.xe=this.ve=null); 1972this.m&&(this.m.set("geometryQuery",null),this.m.set("objectQuery",null),this.m.set("isLoaded",!1),this.m=null)};return e}); 1973define("ke","require kJ lZ oR gp fF cp".split(" "),function(a){function e(t,u,v){this.Ha=t;this.sF=u;this.D=v;this.kf=this.kf.bind(this);this.ql=this.ql.bind(this);this.yl=1;this.W=!1;this.iia=new Map;this.eh=[];this.Yg=this.Ha.R.bd("DraggingPositionContainer");this.Yg.H(b.Group);this.Yg.H(b.Aa);this.eh.push(this.Yg);this.Hc=null;this.LA=[this.nua=this.B3("x"),this.oua=this.B3("y"),this.pua=this.B3("z")];this.LA.forEach(function(w){this.Ty(w,function(x){x.opacity=.5;x.depthTest=!1});w.H(b.kb).Y=this.Yg}.bind(this)); 1974k.ga(this.D,n,this.kf,!0);k.ga(this.D,r,this.ql,!0)}var k=a("kJ");a("lZ");var m=a("oR"),l=a("gp"),b=a("fF"),h=a("cp");e.prototype.dispose=function(){k.ca(this.D,n,this.kf);k.ca(this.D,r,this.ql);var t=this.Ha.R;this.eh.forEach(function(u){t.Ne(u)}
1974);this.D=this.Ha=this.LA=this.o=this.eh=null};e.prototype.frame=function(){if(this.W)if(this.CN(h.pI(this.Yg)||1),this.Hc){var t=this.sF.getComponent(b.Aa);this.D.set("x",t.positionX);this.D.set("y",t.positionY);this.D.set("z",t.positionZ)}else this.jTa()}; 1975var d=new THREE.Vector3,c=new THREE.Vector3,f=new THREE.Euler,g=new THREE.Quaternion,p=new THREE.Matrix4,q=180/Math.PI;e.prototype.B3=function(t){var u=this.Ha.R.bd("DraggingArrow");this.eh.push(u);u.H(b.Group);var v=u.J(b.Aa,!0);"x"===t?v.Re=-90:"z"==t&&(u.J(b.Aa,!0).Qe=90);t=this.Ha.R.bd("DraggingArrowCylinder");this.eh.push(t);t.H(b.Mesh).renderOrder=1;t.H(b.Geometry).geometry=new THREE.CylinderGeometry(.05,.05,.85,16,1,!0);t.H(b.Fc);t.H(b.kb).Y=u;t.J(b.Aa,!0).positionY=-.075;v=this.Ha.R.bd("DraggingArrowCone"); 1976this.eh.push(v);v.H(b.Mesh).renderOrder=1;v.H(b.Geometry).geometry=new THREE.ConeGeometry(.05,.15,16,1,!0);v.H(b.Fc);v.H(b.kb).Y=u;v.J(b.Aa,!0).positionY=.425;this.iia.set(u,[t,v]);return u};e.prototype.CN=function(t){this.yl!=t&&(this.yl=t,this.kf())};e.prototype.kf=function(){var t=this.D.get("draggableArrowLength")*this.yl;this.Ty(this.nua,function(v){v.color=this.D.get("draggableXControlsColor")}.bind(this));var u=this.nua.J(b.Aa,!0);u.scale=t;u.translationX=t/2;this.Ty(this.oua,function(v){v.color= 1977this.D.get("draggableYControlsColor")}.bind(this));u=this.oua.J(b.Aa,!0);u.scale=t;u.translationY=t/2;this.Ty(this.pua,function(v){v.color=this.D.get("draggableZControlsColor")}.bind(this));u=this.pua.J(b.Aa,!0);u.scale=t;u.cf=t/2};e.prototype.jTa=function(){var t=h.Bb(this.sF);t&&(p.copy(t.matrixWorld).invert().decompose(d,g,c),t=this.Yg.getComponent(b.Aa),f.setFromQuaternion(g,t.Zf),f.x*=q,f.y*=q,f.z*=q,t.Qe!=f.x||t.re!=f.y||t.Re!=f.z)&&(t=this.Yg.J(b.Aa),t.Qe=f.x,t.re=f.y,t.Re=f.z)};e.prototype.ql= 1978function(){var t=this.D.get("positionDraggable");this.W!=t&&((this.W=t)?(this.Yg.H(b.kb).Y=this.sF,this.LA.forEach(function(u){u=u.H(b.md);u.gw=!0;u.Lv=!0;u.ba=new l;u.ba.bind(m.Xc,this.xG,this,!0);u.ba.bind(m.ac,this.Lm,this,!0);u.ba.bind(m.wb,this.ik,this,!0);u.ba.bind(m.Zb,this.Pn,this,!0)}.bind(this))):(this.Yg.na(b.kb),this.LA.forEach(function(u){u.na(b.md)})))};e.prototype.xG=function(t){(t=this.al(t))&&t!=this.Hc&&this.Ty(t,function(u){u.opacity=1})};e.prototype.Lm=function(t){(t=this.al(t))&& 1979t!=this.Hc&&this.Ty(t,function(u){u.opacity=.5})};e.prototype.ik=function(t){t=this.al(t);this.Vy(t)};e.prototype.Pn=function(t){t=this.al(t);t==this.Hc&&(this.Vy(null),-1!=this.LA.indexOf(t)&&this.D.trigger(m.wt))};e.prototype.Ty=function(t,u){this.iia.get(t).forEach(function(v){u(v.J(b.Fc))}.bind(this))};e.prototype.al=function(t){t=this.LA.map(function(u){return u.getComponent(b.md).ba}).indexOf(t.source);return-1==t?null:this.LA[t]};e.prototype.Vy=function(t){this.Hc&&(this.Ty(this.Hc,function(v){v.opacity= 1980.5}),this.sF.na(b.Jo));if(this.Hc=t){this.Ty(this.Hc,function(v){v.opacity=1});t=h.getWorldPosition(this.sF);var u=h.getWorldPosition(this.Hc);this.sF.H(b.Jo).direction=u.sub(t)}};var n=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],r=["positionDraggable"];return e}); 1981define("n","require kJ oR gp fF cp".split(" "),function(a){function e(n,r,t){this.Ha=n;this.o=r;this.D=t;this.jk=this.jk.bind(this);this.kf=this.kf.bind(this);this.ql=this.ql.bind(this);this.Hc=null;this.W=!1;this.eW=[1,1,1,1,1,1];this.eh=[];this.cg=[this.IH=this.jp(),this.HH=this.jp(),this.KH=this.jp(),this.JH=this.jp(),this.MH=this.jp(),this.LH=this.jp()];this.cg.forEach(function(u){u=u.J(b.Fc);u.opacity=.5;u.depthTest=!1}.bind(this));k.ga(this.D,g,this.kf,!0);k.ga(this.D,p,this.jk,!0);k.ga(this.D, 1982q,this.ql,!0)}var k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF"),h=a("cp");e.prototype.frame=function(){if(this.W&&(this.NQa(this.cg.map(function(I){return h.pI(I)||1})),this.Hc)){var n=h.Bb(this.o),r=h.Bb(this.GF(this.Hc));if(n&&r){c.copy(n.matrixWorld).invert();d.setFromMatrixPosition(r.matrixWorld).applyMatrix4(c);n=this.D.get("x");r=this.D.get("y");var t=this.D.get("z"),u=this.D.get("width"),v=this.D.get("height"),w=this.D.get("depth"),x=0,y=0,z=0,C=0,A=0,B=0;switch(this.Hc){case this.IH:C=d.x-.5*u; 1983x=.5*C;break;case this.HH:C=-d.x-.5*u;x=.5*-C;break;case this.KH:A=d.y-.5*v;y=.5*A;break;case this.JH:A=-d.y-.5*v;y=.5*-A;break;case this.MH:B=d.z-.5*w;z=.5*B;break;case this.LH:B=-d.z-.5*w,z=.5*-B}this.D.set("x",n+x);this.D.set("width",u+C);this.D.set("y",r+y);this.D.set("height",v+A);this.D.set("z",t+z);this.D.set("depth",w+B)}}};var d=new THREE.Vector3,c=new THREE.Matrix4;e.prototype.jp=function(){var n=this.Ha.R.bd("DraggingSphere");this.eh.push(n);n.H(b.Mesh).renderOrder=2;n.H(b.Geometry).geometry= 1984new THREE.SphereGeometry;n.H(b.Fc);return n};e.prototype.kf=function(){this.IH.J(b.Fc).color=this.D.get("draggableXControl
1984sColor");this.HH.J(b.Fc).color=this.D.get("draggableXControlsColor");this.KH.J(b.Fc).color=this.D.get("draggableYControlsColor");this.JH.J(b.Fc).color=this.D.get("draggableYControlsColor");this.MH.J(b.Fc).color=this.D.get("draggableZControlsColor");this.LH.J(b.Fc).color=this.D.get("draggableZControlsColor");var n=this.D.get("draggableSphereRadius");this.cg.forEach(function(r,t){r.J(b.Aa, 1985!0).scale=n*this.eW[t]}.bind(this))};e.prototype.jk=function(){this.IH.J(b.Aa,!0).positionX=this.D.get("width")/2;this.HH.J(b.Aa,!0).positionX=-this.D.get("width")/2;this.KH.J(b.Aa,!0).positionY=this.D.get("height")/2;this.JH.J(b.Aa,!0).positionY=-this.D.get("height")/2;this.MH.J(b.Aa,!0).positionZ=this.D.get("depth")/2;this.LH.J(b.Aa,!0).positionZ=-this.D.get("depth")/2};e.prototype.ql=function(){var n=this.D.get("sizeDraggable");this.W!=n&&(this.W=n,this.cg.forEach(function(r){n?(r.H(b.kb).Y=this.o, 1986this.cg.forEach(function(t){t=t.H(b.md);t.gw=!0;t.Lv=!0;t.ba=new l;t.ba.bind(m.Xc,this.mG,this,!0);t.ba.bind(m.ac,this.N7,this,!0);t.ba.bind(m.wb,this.L7,this,!0);t.ba.bind(m.Zb,this.M7,this,!0)}.bind(this))):(r.na(b.kb),this.cg.forEach(function(t){t.na(b.md)}.bind(this)))}.bind(this)))};e.prototype.NQa=function(n){for(var r=!1,t=0;t<this.eW.length&&!r;t++)r=this.eW[t]!=n[t];r&&(this.eW=n,this.kf())};e.prototype.mG=function(n){(n=this.al(n))&&n!=this.Hc&&(n.J(b.Fc).opacity=1)};e.prototype.N7=function(n){(n= 1987this.al(n))&&n!=this.Hc&&(n.J(b.Fc).opacity=.5)};e.prototype.al=function(n){n=this.cg.map(function(r){return r.getComponent(b.md).ba}).indexOf(n.source);return-1==n?null:this.cg[n]};e.prototype.L7=function(n){n=this.al(n);this.Vy(n)};e.prototype.M7=function(n){n=this.al(n);n==this.Hc&&(this.Vy(null),this.jk(),(n=-1!=this.cg.indexOf(n))&&this.D.trigger(m.wt),n&&this.D.trigger(m.Mga))};e.prototype.Vy=function(n){this.Hc&&(this.Hc.J(b.Fc).opacity=.5,this.GF(this.Hc).na(b.Jo));if(this.Hc=n)this.Hc.J(b.Fc).opacity= 19881,n=this.GF(this.Hc).H(b.Jo),n.direction=this.cKa(this.Hc),n.min=this.dKa(this.Hc)};e.prototype.cKa=function(n){var r=h.getWorldPosition(this.o);return h.getWorldPosition(n).sub(r)};e.prototype.GF=function(n){return-1!=this.cg.indexOf(n)?n:null};e.prototype.dKa=function(n){var r=this.EKa(n);if(r){r=h.getWorldPosition(r);var t=h.getWorldPosition(n).sub(r);switch(n){case this.IH:case this.HH:var u=this.D.get("minWidth");break;case this.KH:case this.JH:u=this.D.get("minHeight");break;case this.MH:case this.LH:u= 1989this.D.get("minDepth")}return r.add(t.setLength(u||f))}};e.prototype.EKa=function(n){switch(n){case this.IH:return this.HH;case this.HH:return this.IH;case this.KH:return this.JH;case this.JH:return this.KH;case this.MH:return this.LH;case this.LH:return this.MH}return null};e.prototype.dispose=function(){k.ca(this.D,g,this.kf);k.ca(this.D,p,this.jk);k.ca(this.D,q,this.ql);var n=this.Ha.R;this.eh.forEach(function(r){n.Ne(r)});this.D=this.Ha=this.cg=this.o=this.eh=null};var f=1E-6,g=["draggableSphereRadius", 1990"draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],p="depth height x y z width".split(" "),q=["sizeDraggable"];return e}); 1991define("cu","require kJ lZ oR fF ke n".split(" "),function(a){function e(f,g,p){this.Ha=f;this.D=p;this.jk=this.jk.bind(this);this.kf=this.kf.bind(this);this.o=this.nHa();f=this.o.H(l.kb);f.Y=this.Ha;f.id=this.D.get("parentId");this.vr=this.C3();this.vr.H(l.kb).Y=this.o;this.MK=this.BHa();this.MK.H(l.kb).Y=this.o;this.eh=[this.o,this.vr,this.MK];this.lB=new b(this.Ha,this.o,this.D);this.A4=new h(this.Ha,this.o,this.D);f=this.o.H(l.md);f.Lv=!0;f.gw=!0;f.ba=this.D;k.ga(this.D,d,this.kf,!0);k.ga(this.D, 1992c,this.jk,!0);this.D.trigger(m.ld)}var k=a("kJ");a("lZ");var m=a("oR"),l=a("fF"),b=a("ke"),h=a("n");e.prototype.frame=function(){this.lB.frame();this.A4.frame()};e.prototype.nHa=function(){var f=this.Ha.R.bd("Box");f.H(l.Group);return f};e.prototype.C3=function(){var f=this.Ha.R.bd("BoxBorder");f.H(l.Line);f.H(l.Geometry).geometry=this.oHa();f.H(l.Wg);return f};e.prototype.BHa=function(){var f=this.Ha.R.bd("BoxFace");f.H(l.Mesh);f.H(l.Geometry).geometry=new THREE.BoxGeometry(1,1,1);f.H(l.Fc);return f}; 1993e.prototype.oHa=function(){var f=[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, 1994-.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(f)};e.prototype.kf=function(){var f=this.vr.J(l.Wg);f.color=this.D.get("lineColor");f.opacity=this.D.get("lineOpacity");f.width=this.D.get("lineWidth");f.depthTest=this.D.get("depthTest");f=this.MK.J(l.Fc);f.color= 1995this.D.get("faceColor");f.opacity=this.D.get("faceOpacity");f.depthTest=this.D.get("depthTest");f=this.o.J(l.md,!0);f.hJ=this.D.get("useHandCursor");f.PQ=this.D.get("transparentAreaActive")};e.prototype.jk=function(){var f=this.o.J(l.Aa,!0);f.positionX=this.D.get("x");f.positionY=this.D.get("y");f.positionZ=this.D.get("z");f=this.vr.J(l.Aa,!0);var g=this.MK.J(l.Aa,!0);g.Df=f.Df=this.D.get("width");g.Qf=f.Qf=this.D.get("height");g.oh=f.oh=this.D.get("depth")};e.prototype.dispose=function(){this.A4.dispose(); 1996this.A4=null;this.lB.dispose();this.lB=null;k.ca(this.D,d,this.kf);k.ca(this.D,c,this.jk);var f=this.Ha.R;this.eh.forEach(function(g){f.Ne(g)});this.Ha=this.MK=this.vr=this.o=this.eh=null;this.D.trigger(m.hd);this.D=null};var d=["transparentAreaActive","useHandCursor"],c="depth height x y z width".split(" ");return e}); 1997define("Z",["require"],function(){var a={bm:function(){this.m1a=this.Iea=this.l1a=this.KQ=this.JQ=this.IQ=0;this.rw=!1;this.zi=new THREE.CubeTexture;this.C1a=this.Oea=this.B1a=this.NQ=this.targetY=this.targetX=0;this.sw=!1;this.Ai=new THREE.CubeTexture;this.Zf="XYZ";this.position=1},E3a:function(){return new a.bm},create:function(m){var l=new THREE.ShaderMaterial;l.uniforms={sCube:{value:m.zi},sPos:{value:new THREE.Vector3},sRot:{value:new THREE.Matrix4},sEnabled:{value:!1},tCube:{value:m.Ai},tPos:{value:new THREE.Vector3}, 1998tRot:{value:new THREE.Matrix4},tEnabled:{value:!1},blendingCoef:{value:0}};l.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
1998);\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 <encodings_fragment>\n}"; 1999l.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}";l.side=THREE.DoubleSide;l.depthWrite=!0;l.transparent=!0;l.needsUpdate=!0;this.update(l,m);return l},update:function(m,l){m.uniforms.sCube.value=l.zi;m.uniforms.sPos.value.set(l.IQ,l.JQ,l.KQ);m.uniforms.sRot.value.makeRotationFromEuler(e.set(l.l1a*k,l.Iea*k,l.m1a*k,l.Zf));m.uniforms.sEnabled.value= 2000l.rw;m.uniforms.tCube.value=l.Ai;m.uniforms.tPos.value.set(l.targetX,l.targetY,l.NQ);m.uniforms.tRot.value.makeRotationFromEuler(e.set(l.B1a*k,l.Oea*k,l.C1a*k,l.Zf));m.uniforms.tEnabled.value=l.sw;m.uniforms.blendingCoef.value=l.position;m.needsUpdate=!0;return m}},e=new THREE.Euler,k=Math.PI/180;return a}); 2001define("mb",["require","kJ","Z","fF","cp"],function(a){function e(c,f,g){this.Ha=c;this.ci=f;this.D=g;this.Ru=this.Ru.bind(this);this.o=this.Ha.R.bd("ProjectedMaterial");this.dd=this.ia=this.Yb=null}var k=a("kJ"),m=a("Z"),l=a("fF"),b=a("cp");e.prototype.frame=function(){!this.dd&&b.Bb(this.ci)&&this.lRa()};e.prototype.lRa=function(){this.Yb=new m.bm;this.ia=m.create(this.Yb);this.ia.polygonOffset=!0;this.ia.polygonOffsetUnits=1;this.ia.polygonOffsetFactor=-10;this.ia.needsUpdate=!0;this.dd=this.SHa(); 2002this.o.H(l.Object3D).pa=this.dd;var c=this.o.H(l.kb);c.Y=this.Ha;c.id=this.D.get("parentId");c.attach=!0;k.ga(this.D,d,this.Ru,!0)};e.prototype.SHa=function(){var c=b.Bb(this.ci),f=new Map;c.traverse(function(q){if(q.material&&q.userData){var n={};q.material&&(n.material=q.material,q.material=this.ia);q.userData&&(n.userData=q.userData,q.userData={});f.set(q,n)}}.bind(this));c=c.clone();f.forEach(function(q,n){q.material&&(n.material=q.material);q.userData&&(n.userData=q.userData)});var g=b.Jj(this.ci), 2003p=g&&b.Ps(g);this.NN=new THREE.Mesh(new THREE.BoxGeometry(2,2,2),this.ia);this.uF=g&&b.xP(g);b.uua(p,this.NN);return c};e.prototype.Ru=function(){this.Yb.texture||(this.Yb.texture=new THREE.CubeTexture);this.Yb.texture.image!=this.D.get("faces")&&(this.Yb.texture.image=this.D.get("faces"),this.Yb.texture.encoding=THREE.sRGBEncoding,this.Yb.texture.needsUpdate=!0);this.D.get("sourceFaces")?(this.Yb.zi.image!=this.D.get("sourceFaces")&&(this.Yb.zi&&this.Yb.zi.dispose(),this.Yb.zi=new THREE.CubeTexture, 2004this.Yb.zi.image=this.D.get("sourceFaces"),this.Yb.zi.encoding=this.uF,this.Yb.zi.needsUpdate=!0),this.Yb.IQ=this.D.get("sourceX"),this.Yb.JQ=this.D.get("sourceY"),this.Yb.KQ=this.D.get("sourceZ"),this.Yb.Iea=this.D.get("sourceYaw"),this.Yb.rw=!0):this.Yb.rw=!1;this.D.get("targetFaces")?(this.Yb.Ai.image!=this.D.get("targetFaces")&&(this.Yb.Ai&&this.Yb.Ai.dispose(),this.Yb.Ai=new THREE.CubeTexture,this.Yb.Ai.image=this.D.get("targetFaces"),this.Yb.Ai.encoding=this.uF,this.Yb.Ai.needsUpdate=!0),this.Yb.targetX= 2005this.D.get("targetX"),this.Yb.targetY=this.D.get("targetY"),this.Yb.NQ=this.D.get("targetZ"),this.Yb.Oea=this.D.get("targetYaw"),this.Yb.sw=!0):this.Yb.sw=!1;this.Yb.position=this.D.get("position");b.Bb(this.ci).visible=this.Yb.rw&&this.Yb.sw||this.Yb.rw&&0>=this.Yb.position||this.Yb.sw&&1<=this.Yb.position?!1:!0;m.update(this.ia,this.Yb);this.o.R.bb()};var h=new THREE.MeshBasicMaterial;e.prototype.dispose=function(){b.Bb(this.ci).visible=!0;this.dd&&this.dd.traverse(function(c){c.material==this.ia&& 2006(c.material=h)}.bind(this));this.NN&&(b.Iza(this.NN.parent,this.NN),this.NN=null);this.ia&&(this.Yb.zi.dispose(),this.Yb.Ai.dispose(),this.Yb.texture.dispose(),this.Yb=null,this.ia.dispose(),this.ia=null);k.ca(this.D,d,this.Ru);this.o&&this.o.R.Ne(this.o);this.D=this.o=this.Ha=null};var d="sourceX sourceY sourceZ sourceYaw sourceFaces targetX targetY targetZ targetYaw targetFaces position".split(" ");return e}); 2007define("cL","require kJ oR gp fF cp".split(" "),function(a){function e(w,x,y){this.Ha=w;this.o=x;this.D=y;this.vG=this.vG.bind(this);this.kf=this.kf.bind(this);this.ql=this.ql.bind(this);this.Hc=null;this.W=!1;this.yl=1;this.Yg=this.Ha.R.bd("DraggingSize2DContainer");this.Yg.H(b.Group);this.Yg.H(b.Aa);this.cg=[this.h7=this.jp(),this.b7=this.jp(),this.C9=this.jp(),this.i9=this.jp()];this.cg.forEach(function(z){z.H(b.Aa);z=z.J(b.Fc);z.color="#ffffff";z.opacity=.5;z.depthTest=!1}.bind(this));this.vr= 2008this.C3();this.eh=[this.Yg,this.vr].concat(this.cg);[this.vr].concat(this.cg).forEach(function(z){z.H(b.kb).Y=this.Yg}.bind(this));k.ga(this.D,u,this.vG,!0);k.ga(this.D,t,this.kf,!0);k.ga(this.D,v,this.ql,!0)}
2008var k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF"),h=a("cp"),d=new THREE.Matrix4,c=new THREE.Vector3,f=new THREE.Vector3,g=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.W){var w=h.Bb(this.Yg),x=w&&h.oI(w),y=x&&h.Ps(x); 2009if(y){if(this.Hc){var z=h.eZ(x);x=h.rI(x);h.getWorldPosition(this.o,q).project(y);q.x=(q.x+1)*z*.5;q.y=(1-q.y)*x*.5;h.getWorldPosition(this.Hc,p).project(y);p.x=(p.x+1)*z*.5;p.y=(1-p.y)*x*.5;z=this.D.get("anchorX");x=this.D.get("anchorY");var C,A,B=q.x-p.x,I=p.y-q.y,E=-B,G=-I;this.b7===this.Hc&&(0<z||1>x)?B>I?C=B/z:A=I/(1-x):this.i9===this.Hc&&(1>z||1>x)?E>I?C=E/(1-z):A=I/(1-x):this.h7===this.Hc&&(0<z||0<x)?B>G?C=B/z:A=G/x:this.C9===this.Hc&&(1>z||0<x)&&(E>G?C=E/(1-z):A=G/x);void 0!==A&&void 0=== 2010C?C=A*this.kia:void 0!==C&&void 0===A&&(A=C/this.kia);void 0!==C&&void 0!==A&&(z=this.D.get("sizeAttenuation")?this.yl:1,this.D.set("width",this.ja=C*z),this.D.set("height",this.wa=A*z))}C=this.Yg.getComponent(b.Aa);d.copy(w.parent.matrixWorld).invert().multiply(y.matrixWorld).decompose(c,g,f);n.setFromQuaternion(g,C.Zf);n.x*=r;n.y*=r;n.z*=r;if(C.Qe!=n.x||C.re!=n.y||C.Re!=n.z)C=this.Yg.J(b.Aa),C.Qe=n.x,C.re=n.y,C.Re=n.z;this.CN(h.pI(this.Yg)||1)}}};e.prototype.dTa=function(w,x){null!=this.caa&&clearTimeout(this.caa); 2011this.caa=setTimeout(function(){this.caa=null;if(this.ja!==w||this.wa!==x)this.ja=w,this.wa=x,this.kia=this.ja/this.wa}.bind(this),100)};e.prototype.jp=function(){var w=this.Ha.R.bd("DraggingSphere");w.H(b.Mesh).renderOrder=2;w.H(b.Geometry).geometry=new THREE.SphereGeometry;w.H(b.Fc);return w};e.prototype.C3=function(){var w=this.Ha.R.bd("BoxBorder");w.H(b.Line);w.H(b.Geometry).geometry=this.bIa();var x=w.H(b.Wg);
2011x.color="#0000ff";x.depthTest=!1;x.width=1;return w};e.prototype.bIa=function(){var w= 2012[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.kf=function(){var w=this.vr.J(b.Wg);w.color=this.D.get("draggableLineColor");w.opacity=this.D.get("draggableLineOpacity");w.width=this.D.get("draggableLineWidth");this.cg.forEach(function(x){x.J(b.Fc).color=this.D.get("draggableSphereColor"); 2013x.J(b.Aa).scale=this.D.get("draggableSphereRadius")*this.yl}.bind(this))};e.prototype.CN=function(w){this.yl!=w&&(this.yl=w,this.vG(),this.kf())};e.prototype.vG=function(){var w=this.D.get("anchorX"),x=this.D.get("anchorY"),y=this.D.get("width"),z=this.D.get("height"),C=this.D.get("sizeAttenuation")?1:this.yl,A=this.h7.J(b.Aa,!0);A.positionX=-w*y*C;A.positionY=x*z*C;A=this.C9.J(b.Aa,!0);A.positionX=(1-w)*y*C;A.positionY=x*z*C;A=this.b7.J(b.Aa,!0);A.positionX=-w*y*C;A.positionY=(x-1)*z*C;A=this.i9.J(b.Aa, 2014!0);A.positionX=(1-w)*y*C;A.positionY=(x-1)*z*C;A=this.vr.J(b.Aa,!0);A.positionX=(.5-w)*y*C;A.positionY=(x-.5)*z*C;A.Df=y*C;A.Qf=z*C;this.dTa(y,z)};e.prototype.ql=function(){var w=this.D.get("sizeDraggable");this.W!=w&&((this.W=w)?(this.Yg.H(b.kb).Y=this.o,this.cg.forEach(function(x){x=x.H(b.md);x.gw=!0;x.Lv=!0;x.ba=new l;x.ba.bind(m.Xc,this.mG,this,!0);x.ba.bind(m.ac,this.N7,this,!0);x.ba.bind(m.wb,this.L7,this,!0);x.ba.bind(m.Zb,this.M7,this,!0)}.bind(this))):(this.Yg.na(b.kb),this.cg.forEach(function(x){x.na(b.md)}.bind(this))))}; 2015e.prototype.mG=function(w){(w=this.al(w))&&w!=this.Hc&&(w.J(b.Fc).opacity=1)};e.prototype.N7=function(w){(w=this.al(w))&&w!=this.Hc&&(w.J(b.Fc).opacity=.5)};e.prototype.L7=function(w){w=this.al(w);this.Vy(w)};e.prototype.M7=function(w){(w=this.al(w))&&w==this.Hc&&(this.Vy(null),this.vG(),(w=-1!=this.cg.indexOf(w))&&this.D.trigger(m.wt),w&&this.D.trigger(m.Mga))};e.prototype.al=function(w){w=this.cg.map(function(x){return x.getComponent(b.md).ba}).indexOf(w.source);if(-1==w)return null;w=this.cg[w]; 2016return this.kMa(w)?w:null};e.prototype.kMa=function(w){var x=this.D.get("anchorX"),y=this.D.get("anchorY");return this.b7===w&&(0<x||0<y)||this.i9===w&&(1>x||0<y)||this.h7===w&&(0<x||1>y)||this.C9===w&&(1>x||1>y)?!0:!1};e.prototype.Vy=function(w){this.Hc&&(this.Hc.J(b.Fc).opacity=.5,this.GF(this.Hc).na(b.Jo));if(this.Hc=w){this.Hc.J(b.Fc).opacity=1;var x=this.GF(this.Hc).H(b.Jo),y=h.getWorldPosition(this.o);w=h.getWorldPosition(w);w=(new THREE.Vector3).copy(w).sub(y);var z=Math.min(w.length(),10* 2017this.yl);y=(new THREE.Vector3).copy(y).add(c.copy(w).setLength(z));x.direction=w;x.min=y}};e.prototype.GF=function(w){return-1!=this.cg.indexOf(w)?w:null};e.prototype.dispose=function(){k.ca(this.D,u,this.vG);k.ca(this.D,t,this.kf);k.ca(this.D,v,this.ql);var w=this.Ha.R;this.eh.forEach(function(x){w.Ne(x)});this.D=this.Ha=this.cg=this.o=this.eh=null};var t=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],u="anchorX anchorY height sizeAttenuation x y z width".split(" "), 2018v=["sizeDraggable"];return e}); 2019define("ij","require kJ id fF ke cL cp".split(" "),function(a){function e(v,w,x,y,z){this.Ha=v;this.xe=x;this.pi=y;this.D=z;this.jk=this.jk.bind(this);this.vM=this.vM.bind(this);this.kf=this.kf.bind(this);this.gV=this.gV.bind(this);this.Kg=this.xe.mz(1);this.D.get("preload")&&this.pi.NH(this.Kg);this.o=this.Ha.R.bd("SpriteContainer");this.o.H(l.Group);v=this.o.H(l.kb);v.Y=this.Ha;v.id=this.D.get("parentId");this.nO=this.Ha.R.bd("TranslationSpriteContainer");this.nO.H(l.Group);this.nO.H(l.kb).Y=this.o; 2020this.js=this.Ha.R.bd("Sprite");this.js.H(l.kb).Y=this.nO;v=this.js.H(l.dm);v.properties=this.D;v.yca=this.D.get("image");v.ba=this.D;v.wo=this.Kg;v.isSprite=!0;v.priority=this.D.get("preload")?m.qA:m.aga;this.js.H(l.Sprite).renderOrder=2;this.js.H(l.md).ba=this.D;this.js.H(l.Dw);this.js.H(l.sJ).object=this.D;this.c7=!1;this.yl=1E-4;this.iy=this.o.R.bd("TranslationLine");this.iy.H(l.Line).renderOrder=1;this.iy.H(l.Wg);this.lB=new b(this.Ha,this.o,this.D);this.z4=new h(this.Ha,this.nO,this.D);k.ga(this.D, 2021n,this.jk,!0);k.ga(this.D,t,this.vM,!0);k.ga(this.D,u,this.kf,!0);k.ga(this.D,r,this.gV,!0)}
2021var k=a("kJ"),m=a("id"),l=a("fF"),b=a("ke"),h=a("cL"),d=a("cp");e.prototype.frame=function(){this.lB.frame();this.z4.frame();this.CN(d.pI(this.o)||1E-4)};e.prototype.jk=function(){this.o.H(l.kb).id!=this.D.get("parentId")&&(this.o.J(l.kb).id=this.D.get("parentId"));var v=this.o.J(l.Aa,!0);v.positionX=this.D.get("x");v.positionY=this.D.get("y");v.positionZ=this.D.get("z")};e.prototype.CN=function(v){this.yl!= 2022v&&(this.yl=v,this.vM())};e.prototype.vM=function(){var v=this.nO.J(l.Aa,!0),w=this.D.get("translationLength");g.set(this.D.get("translationX"),this.D.get("translationY"),this.D.get("translationZ"));void 0!==w&&g.setLength(w*this.yl);v.translationX=g.x;v.translationY=g.y;v.cf=g.z;w=this.iy.J(l.Aa,!0);g.set(v.translationX,v.translationY,v.cf);w.scale=g.length();c.setFromUnitVectors(p,g.normalize());f.setFromQuaternion(c,w.Zf);f.x*=q;f.y*=q;f.z*=q;w.Qe=f.x;w.re=f.y;w.Re=f.z;this.yta()};var c=new THREE.Quaternion, 2023f=new THREE.Euler,g=new THREE.Vector3,p=new THREE.Vector3(0,0,1),q=180/Math.PI;e.prototype.kf=function(){var v=this.js.J(l.md,!0);v.hJ=this.D.get("useHandCursor");v.PQ=this.D.get("transparentAreaActive");v.Lv=this.D.get("clickEnabled");v.gw=this.D.get("rollOverEnabled");v=this.iy.J(l.Wg);v.color=this.D.get("translationLineColor");v.depthTest=this.D.get("depthTest");v.opacity=this.D.get("hidden")?0:this.D.get("translationLineOpacity");v.width=this.D.get("translationLineWidth");this.yta()};e.prototype.gV= 2024function(){var v=this.js.J(l.Sprite,!0);v.OH=this.D.get("anchorX");v.PH=this.D.get("anchorY");v.width=this.D.get("width");v.height=this.D.get("height");v.scale=this.D.get("scale");v.sizeAttenuation=this.D.get("sizeAttenuation")};e.prototype.yta=function(){var v=this.D.get("translationLineVisible")&&0<this.D.get("translationLineOpacity")&&(0!=this.D.get("translationX")||0!=this.D.get("translationY")||0!=this.D.get("translationZ"));this.c7!=v&&((this.c7=v)?this.iy.H(l.kb).Y=this.o:this.iy.na(l.kb))}; 2025e.prototype.dispose=function(){this.lB.dispose();this.lB=null;this.z4.dispose();this.z4=null;k.ca(this.D,n,this.jk);k.ca(this.D,t,this.vM);k.ca(this.D,u,this.kf);k.ca(this.D,r,this.gV);this.xe.OI(this.Kg);this.pi.OI(this.Kg);this.Kg=this.pi=this.xe=null;var v=this.Ha.R;this.Ha=null;v.Ne(this.js);this.js=null;v.Ne(this.iy);this.iy=null;v.Ne(this.o);this.D=this.o=null};var n=["parentId","x","y","z"],r="anchorX anchorY width height scale sizeAttenuation".split(" "),t=["translationX","translationY","translationZ", 2026"translationLength"],u="clickEnabled depthTest hidden rollOverEnabled transparentAreaActive translationLineColor translationLineOpacity translationLineVisible translationLineWidth useHandCursor".split(" ");return e});define("gb",["require","nH","cu","mb","ij"],function(a){var e=a("nH"),k=a("cu");a("mb");var m=a("ij");return{create:function(l,b,h,d,c){return e.Oa("SpriteModel3DObject",c)?new m(l,b,h,d,c):e.Oa("BoxModel3DObject",c)?new k(l,b,c):null}}}); 2027define("la",["require","kJ","fF","gb"],function(a){function e(b,h,d,c){this.o=b;this.ci=h;this.xe=d;this.pi=c;this.jC=this.jC.bind(this);this.fz=b.R;this.m=this.o.getComponent(m.uh).properties;this.Da=(b=this.o.getComponent(m.Object3D))&&b.pa;this.uj=[];this.OU=new Map;k.ga(this.m,["objects.enabled"],this.jC,!0)}var k=a("kJ"),m=a("fF"),l=a("gb");e.prototype.update=function(){var b=this.o.getComponent(m.Object3D);b=b&&b.pa;if(this.Da!==b){var h=this.Da;this.Da=b;this.LX(!!h)}};e.prototype.frame=function(){this.OU.forEach(function(b){b&& 2028b.frame&&b.frame()})};e.prototype.dispose=function(){this.Da=null;k.ca(this.m,["objects.enabled"],this.jC);this.Ira([])};e.prototype.jC=function(){this.LX()};e.prototype.LX=function(b){var h=this.m.get("objects").filter(function(d){return d.get("enabled")});this.Ira(h,b)};e.prototype.Ira=function(b,h){if(this.uj!=b||h)this.uj.forEach(function(d){(h||0>b.indexOf(d))&&this.pPa(d)}.bind(this)),b.forEach(function(d){(h||0>this.uj.indexOf(d))&&this.QEa(d)}.bind(this)),this.uj=b};e.prototype.QEa=function(b){this.OU.set(b, 2029l.create(this.o,this.ci,this.xe,this.pi,b))};e.prototype.pPa=function(b){var h=this.OU.get(b);h&&h.dispose();this.OU["delete"](b)};return e}); 2030define("kr",["require","oR","fF"],function(a){function e(h,d){this.o=h;this.ci=d;this.Qi=this.Da=this.m=null;this.uV=new Map;this.Bl(this.o.getComponent(m.uh).properties);this.update()}var k=a("oR"),m=a("fF");e.prototype.update=function(){var h=this.ci.getComponent(m.Object3D);h=h&&h.pa;this.Da!=h&&(this.Da=h,this.MA())};e.prototype.Bl=function(h){this.m&&l.forEach(function(d){this.m.unbind(k.G(d),this.MA,this,!1)}.bind(this));if(this.m=h)l.forEach(function(d){this.m.bind(k.G(d),this.MA,this,!1)}.bind(this)), 2031this.MA()};e.prototype.MA=function(){this.Hra(this.m.get("model"));if(this.Da){var h=this.m.get("bakedTextures");this.Da.traverse(function(d){d.isMesh&&(h?this.hHa(d):this.Tqa(d))}.bind(this));this.o.R.bb()}};e.prototype.hHa=function(h){!h.material||h.material.isMeshBasicMaterial||this.uV.get(h)||(this.uV.set(h,h.material),h.material=(new THREE.MeshBasicMaterial).copy(h.material))};e.prototype.Tqa=function(h){var d=h.material,c=this.uV.get(h);d&&c&&(this.uV["delete"](h),h.material=c)};e.prototype.Hra=
2032function(h){this.Qi!=h&&(this.Qi&&b.forEach(function(d){this.Qi.unbind(k.G(d),this.H2,this,!1)}.bind(this)),this.Qi=h)&&(b.forEach(function(d){this.Qi.bind(k.G(d),this.H2,this,!1)}.bind(this)),this.H2())};e.prototype.H2=function(){var h=this.ci.J(m.Aa,!0);h.positionX=this.Qi.get("positionX");h.positionY=this.Qi.get("positionY");h.positionZ=this.Qi.get("positionZ");h.Zf=this.Qi.get("rotationOrder");h.Qe=this.Qi.get("rotationX");h.re=this.Qi.get("rotationY");h.Re=this.Qi.get("rotationZ");h.scale=this.Qi.get("scale"); 2033h.translationX=this.Qi.get("translationX");h.translationY=this.Qi.get("translationY");h.cf=this.Qi.get("translationZ")};e.prototype.dispose=function(){this.Da&&(this.Da.traverse(function(h){h.isMesh&&this.Tqa(h)}.bind(this)),this.Da=null);this.Hra(null);this.Bl(null)};var l=["bakedTextures","model"],b="positionX positionY positionZ rotationOrder rotationX rotationY rotationZ scale translationX translationY translationZ".split(" ");return e}); 2034define("bS","require oR cB pl fF ll eF la kr".split(" "),function(a){function e(g){this.o=g;this.o.H(b.Group);g=this.o.getComponent(b.uh);this.ci=g.aP;this.pi=new l(g.yza);this.xe=new l(g.wo);this.ve=g.ba;this.ae=new d(this.o,this.ci,this.xe,this.pi);this.uj=new c(this.o,this.ci,this.xe,this.pi);this.He=new h(this.o);this.m=new f(this.o,this.ci)}var k=a("oR"),m=a("cB"),l=a("pl"),b=a("fF"),h=a("ll"),d=a("eF"),c=a("la"),f=a("kr");
2034e.prototype.update=function(){this.ae.update();this.uj.update();this.m.update(); 2035this.He.update()};e.prototype.frame=function(){this.ae.frame();this.uj.frame();this.He.frame();this.ve.trigger(new m(k.rn))};e.prototype.dispose=function(){this.He&&(this.He.dispose(),this.He=null);this.ae&&(this.ae.dispose(),this.ae=null);this.uj&&(this.uj.dispose(),this.uj=null);this.m&&(this.m.dispose(),this.m=null);this.xe&&(this.xe.dispose(),this.xe=null);this.ve=this.ci=null};e.Pb=function(g){g.H(b.tt).manager=new e(g)};e.gb=function(g){var p=g.getComponent(b.tt);p.manager.dispose();p.manager= 2036null;g.na(b.tt)};e.update=function(g){g.getComponent(b.tt).manager.update()};e.frame=function(g){g.getComponent(b.tt).manager.frame()};return e}); 2037define("ld",["require","lx","lH","fF","bS"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("bS");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.cya.C.length&&this.cya.C.slice().forEach(l.Pb);this.IZ.Ua.length&&this.IZ.Ua.slice().forEach(l.update);this.IZ.C.length&&this.IZ.C.slice().forEach(l.frame);this.dya.C.length&&this.dya.C.slice().forEach(l.gb)};a.K={};a.K.cya=[m.uh,m.tt.not];a.K.IZ=[m.uh,m.tt];a.K.dya=[m.uh.not,m.tt];return a}); 2038define("ck",["require","fF","cp"],function(a){function e(l){this.o=l;this.dd=null}var k=a("fF"),m=a("cp");e.prototype.frame=function(){if(!this.dd){var l=this.o.getComponent(k.BE),b=m.Bb(l.container);if(this.dd=b&&l.id&&m.qz(b,l.id)||null)this.o.H(k.Object3D).pa=this.dd,this.o.R.bb()}};e.prototype.update=function(){this.dd&&(this.o.na(k.Object3D),this.dd=null)};e.prototype.dispose=function(){this.dd&&(this.o.na(k.Object3D),this.dd=null)};e.Pb=function(l){l.H(k.ut).manager=new e(l)};e.gb=function(l){var b= 2039l.getComponent(k.ut);b.manager.dispose();b.manager=null;l.na(k.ut)};e.frame=function(l){l.getComponent(k.ut).manager.frame()};e.update=function(l){l.getComponent(k.ut).manager.update()};return e}); 2040define("hj",["require","lx","lH","fF","ck"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("ck");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.rya.C.length&&this.rya.C.slice().forEach(l.Pb);this.OZ.Ua.length&&this.OZ.Ua.slice().forEach(l.update);this.OZ.C.length&&this.OZ.C.slice().forEach(l.frame);this.sya.C.length&&this.sya.C.slice().forEach(l.gb)};a.K={};a.K.rya=[m.BE,m.ut.not];a.K.OZ=[m.BE,m.ut];a.K.sya=[m.BE.not,m.ut];return a}); 2041define("nY",["require","fF","nO"],function(a){function e(l){this.o=l;this.wB=new THREE.PlaneGeometry;this.Yma=this.o.H(k.Object3D).pa=new THREE.Mesh(this.wB);this.update()}var k=a("fF"),m=a("nO");e.prototype.update=function(){var l=this.o.getComponent(k.Material).material;l&&m.iz(this.Yma,l);this.Yma.renderOrder=this.o.getComponent(k.Plane).renderOrder};e.prototype.dispose=function(){this.wB.dispose();this.wB=null};e.Pb=function(l){l.H(k.xt).manager=new e(l)};e.gb=function(l){var b=l.getComponent(k.xt); 2042b.manager.dispose();b.manager=null;l.na(k.xt);l.na(k.Object3D)};e.update=function(l){l.getComponent(k.xt).manager.update()};return e}); 2043define("he",["require","lx","lH","fF","nY"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("nY");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.cQ.C.length&&this.cQ.C.slice().forEach(l.Pb);this.planes.Ua.length&&this.planes.Ua.slice().forEach(l.update);this.pza.C.length&&this.pza.C.slice().forEach(l.gb);this.qza.C.length&&this.qza.C.slice().forEach(l.gb)};a.K={};a.K.cQ=[m.Material,m.Plane,m.xt.not];a.K.planes=[m.Plane,m.Material,m.xt];a.K.pza=[m.Plane.not,m.xt]; 2044a.K.qza=[m.Material.not,m.xt];return a}); 2045define("hU",["require","fF","cp"],function(a){var e=a("fF"),k=a("cp");return{Pb:function(m){var l=m.getComponent(e.kb),b=k.Bb(l.Y);if(b){var h=m.H(e.er);h.parent=b;l.id&&(b=b&&k.qz(b,l.id));h.id=l.id;h.wd=k.Bb(m);h.attach=l.attach;b&&h.wd&&(h.attach?b.attach(h.wd):b.add(h.wd))}},update:function(m){var l=m.getComponent(e.kb),b=m.getComponent(e.er),h=k.Bb(l.Y),d=k.Bb(m);if(b.parent!=h||b.wd!=d||l.id!=b.id||l.attach!=b.attach||d&&h&&!d.parent)b=m.J(e.er),b.wd&&b.wd.parent&&(l.Y.J(e.Object3D),b.wd.parent.remove(b.wd)), 2046b.parent=h,l.id&&(h=h&&k.qz(h,l.id)),b.id=l.id,b.wd=d,b.attach=l.attach,h&&b.wd&&(b.attach?h.attach(b.wd):h.add(b.wd),(l=m.getComponent(e.Aa))&&k.yQ(m,l))},gb:function(m){var l=m.getComponent(e.er);l.wd&&l.wd.parent&&l.wd.parent.remove(l.wd);l.parent=null;l.wd=null;l.id=void 0;m.na(e.er)}}}); 2047define("mP",["require","lx","lH","fF","hU"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("hU");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.WP.C.length&&this.WP.C.slice().forEac
2047h(l.Pb);this.Jq.C.length&&this.Jq.C.slice().forEach(l.update);this.Jq.Ua.length&&this.Jq.Ua.slice().forEach(l.update);this.Jq.de.length&&this.Jq.de.slice().forEach(l.update);this.$ua.C.length&&this.$ua.C.slice().forEach(l.gb);this.ava.C.length&&this.ava.C.slice().forEach(l.gb)};a.K= 2048{};a.K.WP=[m.Object3D,m.kb,m.er.not];a.K.Jq=[m.Object3D,m.kb,m.er];a.K.$ua=[m.Object3D.not,m.kb,m.er];a.K.ava=[m.kb.not,m.er];return a}); 2049define("dk",["require","lx","lH","fF","cp"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("cp");a=e.extend(k,function(){k.apply(this,arguments);this.se=this.se.bind(this);this.Uc=this.Uc.bind(this);this.qD=this.qD.bind(this)});a.prototype.xd=function(){this.lza.C.length&&this.lza.C.slice().forEach(this.se);this.kza.C.length&&this.kza.C.slice().forEach(this.qD);this.mza.C.length&&this.mza.C.slice().forEach(this.Uc);this.nza.C.length&&this.nza.C.slice().forEach(this.Uc)};a.prototype.se=function(d){d.H(m.vA)}; 2050a.prototype.Uc=function(d){d.na(m.vA)};var b=new THREE.Matrix4,h=new THREE.Vector3;a.prototype.qD=function(d){var c=d.getComponent(m.ej),f=d.getComponent(m.Aa);if(f){var g=d.getComponent(m.Object3D).pa;if(g&&g.parent){var p=d.getComponent(m.Hf),q=1E-7;p&&(q=l.pI(d)||q);b.copy(g.parent.matrixWorld).invert();h.setFromMatrixScale(b);g=Math.max(h.x,h.y,h.z);p&&p.Jv&&(q/=g,g=1);p=c.scale*g;void 0!==c.zz&&(p=Math.min(c.zz*q,p));void 0!==c.Az&&(p=Math.max(c.Az*q,p));if(f.scale!=p||f.Df!=c.Df||f.Qf!=c.Qf|| 2051f.oh!=c.oh)f=d.J(m.Aa),f.scale=p,f.Df=c.Df,f.Qf=c.Qf,f.oh=c.oh}}};a.K={};a.K.lza=[m.Object3D,m.ej,m.vA.not];a.K.kza=[m.Object3D,m.ej,m.vA];a.K.mza=[m.Object3D.not,m.vA];a.K.nza=[m.ej.not,m.vA];return a}); 2052define("dT",["require","oR","fF","cp"],function(a){function e(u){this.o=u;this.$L=new THREE.Vector3;this.ab=new THREE.Vector3;this.s6=this.ad=this.O$=!1;this.cqa=[];this.update()}var k=a("oR"),m=a("fF"),l=a("cp");e.prototype.update=function(){this.m8=this.o.getComponent(m.Tj).Y};e.prototype.frame=function(){this.Gta();this.Hv()};e.prototype.Gta=function(){var u=t.filter(function(w){return w.R==this.o.R}.bind(this)),v=this.cqa;v.filter(function(w){return-1==u.indexOf(w)}).forEach(this.tPa.bind(this)); 2053u.filter(function(w){return-1==v.indexOf(w)}).forEach(this.UEa.bind(this));this.cqa=u};e.prototype.UEa=function(u){(u=u.getComponent(m.df))&&u.ba.bind(k.kc,this.jf,this,!0);u&&u.ba.bind(k.ac,this.Lm,this,!0)};e.prototype.tPa=function(u){(u=u.getComponent(m.df))&&u.ba.unbind(k.kc,this.jf,this);u&&u.ba.unbind(k.ac,this.Lm,this)};e.prototype.jf=function(u){if(this.m8&&l.qz(l.Bb(this.m8),u.data.objectId)&&"mesh"==u.data.type){var v=this.ad;this.ad=!0;var w=l.Bb(this.o);if((w=w&&w.parent)&&w.matrixWorld){var x= 2054this.o.getComponent(m.Tj);x&&(h.setFromMatrixPosition(w.matrixWorld),d.copy(w.matrixWorld).invert(),c.fromArray(u.data.objectMatrixWorld),b.setFromMatrixPosition(c),f.copy(c).invert(),x.rotate?u.data.normal?this.$L.copy(u.data.normal).applyMatrix4(c).sub(b).add(h):this.$L.copy(u.data.cameraPosition):this.$L.copy(q),this.$L.applyMatrix4(d).normalize(),this.ab.copy(u.data.position).applyMatrix4(d),this.O$=!0,this.o.R.bb(),v||(u=(x=this.o.getComponent(m.Tj))&&x.ba)&&u.trigger(k.Xc))}}else this.Lm()}; 2055var b=new THREE.Vector3,h=new THREE.Vector3,d=new THREE.Matrix4,c=new THREE.Matrix4,f=new THREE.Matrix4;e.prototype.Lm=function(){if(this.ad){this.ad=!1;this.o.R.bb();var u=this.o.getComponent(m.Tj);(u=u&&u.ba)&&u.trigger(k.ac)}};e.prototype.Hv=function(){if(this.O$||this.ad){this.O$=!1;var u=this.o.J(m.Aa,!0);u.positionX=0;u.positionY=0;u.positionZ=0;g.setFromUnitVectors(p,this.$L);n.setFromQuaternion(g,u.Zf);u.Qe=n.x*r;u.re=n.y*r;u.Re=n.z*r;u.translationX=this.ab.x;u.translationY=this.ab.y;u.cf= 2056this.ab.z;u.easing=this.s6?.4:0;this.s6||(l.yQ(this.o,u),this.s6=!0)}};var g=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.m8=null;this.Gta()};e.t0a=function(u){t=u};var t=[];e.Pb=function(u){u.H(m.gr).manager=new e(u)};e.gb=function(u){var v=u.getComponent(m.gr);v.manager.dispose();v.manager=null;u.na(m.gr)};e.frame=function(u){u.getComponent(m.gr).manager.frame()};
2056e.update=function(u){u.getComponent(m.gr).manager.update()}; 2057return e}); 2058define("iD",["require","lx","lH","fF","dT"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("dT");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){l.t0a(this.Oq.C);this.rza.C.length&&this.rza.C.slice().forEach(l.Pb);this.h_.Ua.length&&this.h_.C.slice().forEach(l.update);this.h_.C.length&&this.h_.C.slice().forEach(l.frame);this.sza.C.length&&this.sza.C.slice().forEach(l.gb);this.tza.C.length&&this.tza.C.slice().forEach(l.gb)};a.K={};a.K.Oq=[m.df];a.K.rza=[m.Object3D,m.Tj, 2059m.gr.not];a.K.h_=[m.Object3D,m.Tj,m.gr];a.K.sza=[m.Object3D.not,m.gr];a.K.tza=[m.Tj.not,m.gr];return a}); 2060define("mn","require lx lH fF Z cp".split(" "),function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("Z"),b=a("cp");a=e.extend(k,function(){k.apply(this,arguments);this.se=this.se.bind(this);this.Uc=this.Uc.bind(this);this.Ce=this.Ce.bind(this)});a.prototype.xd=function(){this.Aza.C.length&&this.Aza.C.slice().forEach(this.se);this.zza.Ua.length&&this.zza.Ua.slice().forEach(this.Ce);this.Bza.C.length&&this.Bza.C.slice().forEach(this.Uc);this.Cza.C.length&&this.Cza.C.slice().forEach(this.Uc)};a.prototype.se= 2061function(d){var c=d.getComponent(m.hr),f=(c=c&&c.bJ)&&b.Bb(c),g=b.Jj(c);if(f&&g){var p=d.H(m.At);p.bJ=c;p.FI=new l.bm;p.material=this.bu(p.FI);p.pa=this.WGa(f,p.material);p.aJ=this.$Ha(p.material);p.encoding=b.xP(g);this.VEa(c,p.aJ);d.H(m.Object3D).pa=p.pa;this.Ce(d)}};a.prototype.bu=function(d){d=l.create(d);d.polygonOffset=!0;d.polygonOffsetUnits=1;d.polygonOffsetFactor=-10;d.needsUpdate=!0;return d};a.prototype.WGa=function(d,c){var f=new Map;d.traverse(function(r){if(r.material&&r.userData){var t= 2062{};r.material&&(t.material=r.material,r.material=c);r.userData&&(t.userData=r.userData,r.userData={});f.set(r,t)}}.bind(this));var g=d.clone();f.forEach(function(r,t){r.material&&(t.material=r.material);r.userData&&(t.userData=r.userData)});for(d=[[d,g]];d.length;){var p=d.shift(),q=p[0];p=p[1];q.ee&&(p.ee=q.ee);for(var n=0;n<q.children.length;n++)d.push([q.children[n],p.children[n]])}return g};a.prototype.$Ha=function(d){return new THREE.Mesh(new THREE.BoxGeometry(2,2,2),d)};a.prototype.VEa=function(d, 2063c){d=b.Jj(d);b.uua(d&&b.Ps(d),c)};a.prototype.Ce=function(d){var c=d.getComponent(m.hr);d=d.getComponent(m.At);var f=d.FI;c.B_?(f.zi.image!=c.B_&&(f.zi&&f.zi.dispose(),f.zi=new THREE.CubeTexture,f.zi.image=c.B_,f.zi.encoding=d.encoding,f.zi.needsUpdate=!0),f.IQ=c.IQ,f.JQ=c.JQ,f.KQ=c.KQ,f.Iea=c.n1a,f.rw=!0):f.rw=!1;c.E_?(f.Ai.image!=c.E_&&(f.Ai&&f.Ai.dispose(),f.Ai=new THREE.CubeTexture,f.Ai.image=c.E_,f.Ai.encoding=d.encoding,f.Ai.needsUpdate=!0),f.targetX=c.targetX,f.targetY=c.targetY,f.NQ=c.NQ, 2064f.Oea=c.D1a,f.sw=!0):f.sw=!1;f.position=c.position;b.Bb(c.bJ).visible=f.rw&&f.sw||f.rw&&0>=f.position||f.sw&&1<=f.position?!1:!0;l.update(d.material,f)};var h=new THREE.MeshBasicMaterial;a.prototype.Uc=function(d){var c=d.getComponent(m.At);b.Bb(c.bJ).visible=!0;c.pa&&c.pa.traverse(function(f){f.material==c.material&&(f.material=h)});c.aJ&&(b.Iza(c.aJ.parent,c.aJ),c.aJ=null);c.material&&(c.FI.zi.dispose(),c.FI.Ai.dispose(),c.FI=null,c.material.dispose(),c.material=null);d.na(m.At);d.na(m.Object3D)}; 2065a.K={};a.K.Aza=[m.hr,m.At.not];a.K.zza=[m.hr,m.Object3D,m.At];a.K.Bza=[m.hr.not,m.At];a.K.Cza=[m.Object3D.not,m.At];return a}); 2066define("hD","require lQ v ik mE ms bh".split(" "),function(a){function e(q,n){n=c.swa(n);return q.getContext("webgl",n)||q.getContext("experimental-webgl",n)}function k(q,n){n=c.swa(n);return q.getContext("webgl2",n)}var m=a("lQ"),l=a("v"),b=a("ik"),h=a("mE"),d=a("ms");a("bh");var c={N3a:function(q){return this.CI(q)||this.zxa(q)?!0:!1},Dt:function(){var q=l.uZa();c.Dt=function(){return q};return q},zxa:function(q){return"string"==typeof q&&b.is(q,b.tn)?!0:!1},J3a:function(q){return this.Jca(q)|| 2067this.Kca(q)?!0:!1},Kca:function(q){return"string"==typeof q&&(b.is(q,b.aDa)||b.wz(q,b.bDa))?!0:!1},CI:function(q){return!!q&&!!q.tagName&&"VIDEO"==q.tagName},xz:function(q){return"string"==typeof q&&b.is(q,b.HLS)||this.CI(q)&&b.is(q.currentSrc,b.HLS)?!0:!1},Ml:function(q){return"string"==typeof q&&b.is(q,b.tn)||this.CI(q)&&b.is(q.currentSrc,b.tn)?!0:!1},Jca:function(q){return!!q&&!!q.tagName&&"IMG"==q.tagName},QXa:function(q){return!!q&&!!q.tagName&&"CANVAS"==q.tagName},pwa:function(q){return Math.pow(2, 2068Math.round(Math.log(q)/Math.LN2))},wxa:function(q){return 0!==q&&0===(q&q-1)},lxa:function(){return l.browser()==l.am},ZXa:function(){return l.browser()==l.Bw},cn:function(){return l.zd()==l.Fi}},f=l.zd()==l.Rz&&!l.Of()&&11>l.RUa();c.gCa=function(q){if(p)return!0;
2068if(l.Bba()&&15.1>l.mQ())if(15<=l.mQ()){if(l.Rwa())return!0}else if(c.xz(q))return!0;if(c.ZXa())return!0;if(c.cn()){if(l.oz()==l.qE&&15<=l.DD())return!1;if(c.xz(q)){if(!m.cxa||14<=l.DD()&&14.6>l.DD())return!0}else if(12>l.DD()||q&&q.videoWidth&& 2069q.videoHeight&&262144>=q.videoWidth*q.videoHeight)return!0}return f&&q&&.2>q.currentTime?!0:!1};c.Wwa=function(){return c.lxa()||c.cn()};c.Vwa=function(){return c.cn()&&m.cxa&&11>l.DD()};var g=!1;c.ixa=function(){g=!1};c.RXa=function(){return g};c.m_a=function(){g=!0};var p=d.Yi("vic");c.pZa=function(){c.cn()&&(p=!0)};c.swa=function(q){return{alpha:!0,depth:!0,stencil:!0,antialias:m.bVa()?q||!1:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1, 2070xrCompatible:!c.lxa()}};c.KVa=function(q,n){var r,t=!0;l.Of()?l.ic()!=l.dt||l.txa()||(t=!1):l.zd()==l.Rz?t=!1:l.zd()==l.wR&&l.ic()==l.et&&(t=!1);h.TCa?t=!0:h.SCa&&(t=!1);t&&(r=k(q,n));r||(r=e(q,n));return r};c.LVa=function(q){var n=k(q,!0);n||(n=e(q,!0));return n};c.getPixelRatio=function(){if(l.lb()){var q=0,n=0;try{q=window.top.innerWidth,n=window.top.innerHeight}catch(t){if(l.zd()==l.Rz&&1<window.devicePixelRatio)return window.devicePixelRatio}var r=window.devicePixelRatio||1;q=[Math.max(document.documentElement.clientWidth, 2071q),Math.max(document.documentElement.clientHeight,n)].sort(function(t,u){return u-t});r=[screen.width*r,screen.height*r].sort(function(t,u){return u-t});r=[r[0]/q[0],r[1]/q[1]].sort()[0];if(Infinity!==r)return r}else if(l.zd()==l.Tfa&&l.browser()==l.$l)return 1;return window.devicePixelRatio};return c});define("gj",["require","hD"],function(a){return a("hD")}); 2072define("eQ",["require","fF","ou","bG"],function(a){function e(b){this.o=b;this.enabled=!1;this.tm=null;this.ou=0;this.passes=[];this.vi=this.wi=!1;this.Te=null;this.wa=this.ja=100}var k=a("fF"),m=a("ou"),l=a("bG");e.prototype.dispose=function(){this.Te&&(this.Te.saoRenderTarget.dispose(),this.Te.blurIntermediateRenderTarget.dispose(),this.Te.beautyRenderTarget.dispose(),this.Te.normalRenderTarget.dispose(),this.Te.depthRenderTarget.dispose(),this.Te.depthMaterial.dispose(),this.Te.normalMaterial.dispose(), 2073this.Te.saoMaterial.dispose(),this.Te.vBlurMaterial.dispose(),this.Te.hBlurMaterial.dispose(),this.Te.materialCopy.dispose(),this.Te.depthCopy.dispose(),this.Te=null)};e.prototype.update=function(b,h,d,c,f){var g=this.o.getComponent(k.lE),p=!!g;if(this.wi=this.enabled!=p)(this.enabled=p)?(!this.Te&&b&&h&&(this.Te=new THREE.SAOPass(b,h,!1,!0)),this.tm=new m("linear",[new l("alpha",0,1,void 0)],g.uva),this.ou=0,this.passes=[this.Te],this.vi=!0):(this.passes=[],this.vi=!1);this.enabled&&(this.tm&&(this.tm.Cb(f), 2074this.ou=this.tm.fb("alpha"),1==this.ou&&(this.tm=null),this.o.R.bb()),null!==g.output&&(this.Te.params.output=g.output),this.Te.params.saoBias=g.bias/g.scale,this.Te.params.saoIntensity=this.ou*g.intensity,this.Te.params.saoScale=g.scale,this.Te.params.saoKernelRadius=g.Bxa,this.Te.params.saoMinResolution=g.aya/1E3,this.Te.params.saoBlur=0<g.wba,this.Te.params.saoBlurRadius=g.wba,this.Te.params.saoBlurStdDev=8,this.Te.params.saoBlurDepthCutoff=.01,(this.ja!=d||this.wa!=c)&&this.Te.setSize(this.ja= 2075d,this.wa=c))};return e}); 2076define("r",["require","fF"],function(a){function e(m){this.o=m;this.enabled=!1;this.passes=[];this.vi=this.wi=!1;this.pr=null}var k=a("fF");e.prototype.dispose=function(){this.pr&&(this.pr.material.dispose(),this.pr=null)};e.prototype.update=function(m,l,b,h){m=this.o.getComponent(k.Tz);m=!!m&&m.Qva;if(this.wi=this.enabled!=m)(this.enabled=m)?(this.pr||(this.pr=new THREE.ShaderPass(THREE.FXAAShader),this.pr.needsSwap=!0),this.passes=[this.pr],this.vi=!0):(this.passes=[],this.vi=!1);!this.enabled|| 2077this.ja==b&&this.wa==h||(this.ja=b,this.wa=h,this.pr.material.uniforms.resolution.value.x=1/this.ja,this.pr.material.uniforms.resolution.value.y=1/this.wa,this.pr.setSize(b,h))};return e}); 2078define("oG",["require","nJ","fF"],function(a){function e(b){this.o=b;this.enabled=!1;this.passes=[];this.vi=this.wi=!1;this.Xt=null;this.zb=this.qc=void 0}var k=a("nJ"),m=a("fF");e.prototype.dispose=function(){this.Xt&&(this.Xt.material.dispose(),this.Xt=null)};e.prototype.update=function(){var b=this.o.getComponent(m.cR),h=!!b&&0<b.opacity;
2078if(this.wi=this.enabled!=h)(this.enabled=h)?(this.Xt||(this.Xt=new THREE.ShaderPass(l),this.Xt.needsSwap=!0),this.passes=[this.Xt],this.vi=!0):(this.passes=[], 2079this.vi=!1);this.enabled&&(this.zb!==b.opacity&&(this.zb=b.opacity,this.Xt.uniforms.opacity.value=this.zb),this.qc!==b.color&&(this.qc=b.color,this.Xt.uniforms.color.value=new THREE.Color(k.hE(this.qc))))};var l={uniforms:{tDiffuse:{value:null},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 opacity;\nuniform vec3 color;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n vec4 texel = texture2D(tDiffuse, vUv);\n float composedAlpha = opacity + texel.a * (1.0 - opacity);\n if (composedAlpha > 0.0)\n {\n vec3 rgb = (color * opacity + texel.rgb * texel.a * (1.0 - opacity)) / composedAlpha;\n gl_FragColor = vec4(rgb, composedAlpha);\n }\n else\n {\n gl_FragColor = texel;\n }\n}"}; 2080return e}); 2081define("gd",["require","fF"],function(a){function e(m){this.o=m;this.enabled=!1;this.tm=null;this.ou=0;this.passes=[];this.vi=this.wi=!1;this.Ri=null;this.T8=new THREE.Matrix4;this.V8=new THREE.Matrix4;this.S8=new THREE.Vector3}var k=a("fF");e.prototype.dispose=function(){this.Ri&&(this.Ri.dispose(),this.Ri=null)};e.prototype.update=function(m,l){var b=this.o.getComponent(k.xJ),h=!!b;if(this.wi=this.enabled!=h)(this.enabled=h)?(!this.Ri&&m&&l&&(this.Ri=new THREE.MotionBlurPass,this.Ri.needsSwap=!0, 2082this.T8.copy(l.matrixWorldInverse),this.V8.copy(l.projectionMatrix),this.S8.copy(l.position)),this.passes=[this.Ri],this.vi=!0):(this.passes=[],this.vi=!1);this.enabled&&(this.Ri.uniforms.inverseProjectionMatrix.value.copy(l.projectionMatrix).invert(),this.Ri.uniforms.near.value=l.near,this.Ri.uniforms.far.value=l.far,this.Ri.uniforms.depthLimit.value=.99,this.Ri.uniforms.clipToWorldMatrix.value.copy(l.matrixWorld).multiply(this.Ri.uniforms.inverseProjectionMatrix.value),this.Ri.uniforms.previousWorldToClipMatrix.value.copy(this.V8).multiply(this.T8), 2083this.Ri.uniforms.cameraMove.value.copy(l.position).sub(this.S8),this.Ri.uniforms.velocityFactor.value=b.intensity,this.Ri.uniforms.samples.value=b.Uza);this.T8.copy(l.matrixWorldInverse);this.V8.copy(l.projectionMatrix);this.S8.copy(l.position)};return e}); 2084define("eJ",["require","nJ","fF"],function(a){function e(m){this.o=m;this.enabled=!0;this.passes=[];this.hda=this.vi=this.wi=!1;this.cX=void 0;this.Ch=this.gg=this.Ck=null}a("nJ");var k=a("fF");e.prototype.dispose=function(){this.Ck&&(this.Ck.dispose(),this.Ck=null);this.gg&&(this.gg=null);this.Ch&&(this.Ch.material.dispose(),this.Ch=null)};e.prototype.update=function(m,l,b,h,d,c){d=this.o.getComponent(k.Tz);c=!!d&&d.jBa&&c;if(this.wi=this.cX!==c)(this.cX=c)?(this.Ck||(this.Ck=new THREE.SSAARenderPass(m, 2085l),this.Ck.sampleLevel=d.LQ,this.Ck.needsSwap=!0,this.Ck.clear=!0,this.Ck.clearColor=65793,this.Ck.clearAlpha=0),this.Ch||(this.Ch=new THREE.ShaderPass(THREE.CopyShader),this.Ch.needsSwap=!0),this.passes=[this.Ck,this.Ch],this.hda=this.vi=!0):(this.gg||(this.gg=new THREE.RenderPass,this.gg.clear=!0,this.gg.clearColor=65793,this.gg.clearAlpha=0),this.passes=[this.gg],this.hda=this.vi=!1);this.cX?(this.Ck.scene=m,this.Ck.camera=l,this.Ck.sampleLevel=d.LQ,this.Ch.uniforms.opacity.value=Math.pow(2,Math.round(5< 2086d.LQ?5:d.LQ)),this.Ck.setSize(b,h)):(this.gg.scene=m,this.gg.camera=l,this.gg.setSize(b,h))};return e}); 2087define("nB",["require","nJ","fF"],function(a){function e(b){this.o=b;this.enabled=!1;this.passes=[];this.vi=this.wi=!1;this.tq=null;this.qc=void 0}var k=a("nJ"),m=a("fF");e.prototype.dispose=function(){this.tq&&(this.tq.material.dispose(),this.tq=null)};e.prototype.update=function(){var b=this.o.getComponent(m.FE),h=!!b;if(this.wi=this.enabled!=h)(this.enabled=h)?(this.tq||(this.tq=new THREE.ShaderPass(l),this.tq.needsSwap=!0),this.passes=[this.tq],this.vi=!0):(this.passes=[],this.vi=!1);this.enabled&& 2088(this.tq.uniforms.innerRadius.value=b.fxa,this.tq.uniforms.outerRadius.value=b.eza,this.tq.uniforms.opacity.value=b.opacity,this.qc!==b.color&&(this.qc=b.color,this.tq.uniforms.color.value=new THREE.Color(k.hE(this.qc))))};var l={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}", 2089fragmentShader:"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}"}; 2090return e}); 2091define("gV","require eQ r oG gd eJ nB cp".split(" "),function(a){function e(f){this.qd=f;this.Ga=this.Fa=this.Jf=null;this.wa=this.ja=void 0;this.Ch=this.Dr=this.j=this.SG=null;this.WS=[new h(f),new k(f),new b(f),new d(f),new m(f),new l(f)];this.NU=!1}var k=a("eQ"),m=a("r"),l=a("oG"),b=a("gd"),h=a("eJ"),d=a("nB"),c=a("cp");e.prototype.dispose=function(){this.j&&(this.j.domElement.style.backgroundColor=void 0);for(;this.WS.length;)this.WS.pop().dispose();this.Zja();this.Dr&&(this.Dr.material.dispose(),this.Dr= 2092null);this.Ch&&(this.Ch.material.dispose(),this.Ch=null)};e.prototype.setSize=function(f,g){if(this.ja!=f||this.wa!=g)this.ja=f,this.wa=g,this.Jf&&this.Jf.setSize(this.ja,this.wa),this.j&&this.j.setSize(this.ja,this.wa)};e.prototype.Lz=function(f){this.Ga=f};e.prototype.setCamera=function(f){this.Fa=f};e.prototype.setRenderTarget=function(f){this.SG!=f&&(this.SG=f,this.Jf&&(this.Jf.reset(f||void 0),this.Jf.renderToScreen=!f))};e.prototype.x0a=function(f){this.j!=f&&(this.j=f,this.j.setSize(this.ja, 2093this.wa),this.Zja())};e.prototype.render=function(f){this.nRa();this.rTa(f);this.j.domElement.style.backgroundColor=this.NU?"#000000":void 0;this.Jf.render()};e.prototype.nRa=function(){this.Jf||(this.Jf=new THREE.EffectComposer(this.j,this.SG||void 0),this.Jf.renderToScreen=!this.SG,this.Jf.setSize(this.ja,this.wa))};e.prototype.rTa=function(f){var g=!1,p=!1;this.NU=!1;
2093this.WS.forEach(function(n){n.update(this.Ga,this.Fa,this.ja,this.wa,f,this.Jf.renderToScreen);g||(g=n.wi);p||(p=n.vi);this.NU|| 2094(this.NU=n.hda)}.bind(this));p=p&&this.j.outputEncoding==THREE.sRGBEncoding&&this.Jf.renderToScreen;c.D0a(this.Ga,p);p&&!this.Dr?(this.Dr=new THREE.ShaderPass(THREE.GammaCorrectionShader),g=this.Dr.needsSwap=!0):this.Dr&&(this.Dr.enabled=p);this.Jf.renderToScreen||this.Ch?this.Ch&&(this.Ch.enabled=!this.Jf.renderToScreen):(this.Ch=new THREE.ShaderPass(THREE.CopyShader),g=this.Ch.needsSwap=!0);if(g){var q=[];this.WS.forEach(function(n){q=q.concat(n.passes)});this.Dr&&q.push(this.Dr);for(this.Ch&&q.push(this.Ch);0< 2095this.Jf.passes.length;)this.Jf.removePass(this.Jf.passes[this.Jf.passes.length-1]);q.forEach(function(n){this.Jf.addPass(n)}.bind(this))}};e.prototype.Zja=function(){this.Jf&&(this.Jf.renderTarget1!=this.SG&&this.Jf.renderTarget1.dispose(),this.Jf.renderTarget2!=this.SG&&this.Jf.renderTarget2.dispose(),this.Jf=null)};return e}); 2096define("di","require oR v fF cp gV".split(" "),function(a){function e(d){this.hw=d;this.opacity=0;this.height=this.width=void 0;this.renderTarget=null;this.Ga=void 0;this.dra=!1;this.cra=!0;this.Fa=void 0;this.AC=!1;this.vV=void 0;this.tc=new h(d);this.update()}var k=a("oR"),m=a("v"),l=a("fF"),b=a("cp"),h=a("gV");e.prototype.update=function(){var d=this.hw.getComponent(l.Scene);this.opacity=d&&d.opacity||0;this.dra=d?d.locked:!1;this.cra=d?d.enabled:!0;var c=d&&d.scene;this.Ga!=c&&(this.Ga=c,this.AC= 2097!0,this.tc.Lz(this.Ga));var f=(c=(c=d&&d.ie)&&(c.getComponent(l.OrthographicCamera)||c.getComponent(l.PerspectiveCamera)))&&c.width,g=c&&c.height;if(this.width!=f||this.height!=g)this.width=f,this.height=g,this.AC=!0,this.tc.setSize(this.width,this.height);d=d&&"srgb"==d.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.vV!=d&&(this.vV=d,this.AC=!0,b.C0a(this.Ga,d));d=c&&c.camera;this.Fa!=d&&(this.Fa=d,this.AC=!0,this.tc.setCamera(this.Fa));this.Ga&&(b.B0a(this.Ga,this.Fa),b.E0a(this.Ga, 2098this.width,this.height));return this};e.prototype.render=function(d,c,f){(c||this.AC||!this.dra)&&this.cra&&(window.stats&&window.stats.begin(),c?(d.setRenderTarget(null),this.AC=!0):(this.renderTarget||(this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:d.capabilities.isWebGL2?m.lb()?2:8:0}),this.renderTarget.depthTexture=new THREE.DepthTexture),d.setRenderTarget(this.renderTarget), 2099this.renderTarget.texture.encoding=this.vV,this.AC=!1),d.outputEncoding=this.vV,this.tc.setRenderTarget(c?null:this.renderTarget),this.tc.x0a(d),this.tc.render(f),(d=this.hw.getComponent(l.Scene))&&d.ba&&d.ba.trigger(k.rn),window.stats&&window.stats.end())};e.prototype.isVisible=function(){return this.Ga&&this.Fa&&0<this.opacity};e.prototype.dispose=function(){this.Fa=this.Ga=this.hw=null;this.tc&&(this.tc.dispose(),this.tc=null);this.renderTarget&&(this.renderTarget.dispose(),this.renderTarget=null)}; 2100return e}); 2101define("fM",["require","mE","fF","gj","di"],function(a){function e(d){this.o=d;this.lv=[];this.jRa();this.hRa()}var k=a("mE"),m=a("fF"),l=a("gj"),b=a("di");e.prototype.frame=function(d){var c=this.o.getComponent(m.vh),f=c.nQ.map(this.WKa.bind(this));this.lv.filter(function(q){return 0>f.indexOf(q)}).forEach(function(q){q.dispose()});this.lv=f;var g=this.lv.filter(function(q){return q.isVisible()});if(0<g.length){this.j.shadowMap.enabled=c.shadowMap;var p=1==g.length&&1<=g[0].opacity;g.forEach(function(q){q.render(this.j,p, 2102d)}.bind(this));p||this.yPa(g.slice(0,2))}};e.prototype.WKa=function(d){for(var c=0;c<this.lv.length;c++)if(this.lv[c].hw==d)return this.lv[c].update();return new b(d)};e.prototype.yPa=function(d){this.om.material.uniforms.t1.value=d[0].renderTarget.texture;this.om.material.uniforms.o1.value=d[0].opacity;1<d.length?(this.om.material.uniforms.useT2.value=1,this.om.material.uniforms.t2.value=d[1].renderTarget.texture,this.om.material.uniforms.o2.value=d[1].opacity):this.om.material.uniforms.useT2.value= 21030;
2103this.j.setSize(d[0].width,d[0].height);this.j.setRenderTarget(null);this.j.setClearColor(0,0);this.j.clear();this.j.render(this.QR,this.Cia)};e.prototype.dispose=function(){for(;this.lv.length;)this.lv.shift().dispose();this.lv=null;this.gSa();this.iSa()};var h=[];e.prototype.jRa=function(){var d=this.o.J(m.vh);if(0<h.length)var c=h.pop();else{c=document.createElement("canvas");var f=l.LVa(c);c=new THREE.WebGLRenderer({alpha:!0,canvas:c,context:f});c.setPixelRatio(l.getPixelRatio());c.autoClear= 2104!1;c.debug.checkShaderErrors=k.qJ;c.shadowMap.type=THREE.PCFShadowMap}d.renderer=this.j=c;d.canvas=this.j.domElement;d.bI.append(d.canvas)};e.prototype.iSa=function(){this.j.domElement.parentNode.removeChild(this.j.domElement);var d=this.j;d.setSize(1,1);h.push(d);this.j=null};e.prototype.hRa=function(){this.QR=new THREE.Scene;this.Cia=new THREE.OrthographicCamera(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-10,10);this.om=new THREE.Mesh(new THREE.PlaneGeometry(window.innerWidth, 2105window.innerHeight),this.mHa());this.QR.add(this.om)};e.prototype.gSa=function(){this.QR.remove(this.om);this.om.geometry.dispose();this.om.geometry=null;this.om.material.dispose();this.QR=this.Cia=this.om=this.om.material=null};e.prototype.mHa=function(){var d=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}", 2106fragmentShader:"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}"});d.transparent=!0;return d};e.Pb=function(d){d.H(m.jr).manager= 2107new e(d)};e.gb=function(d){var c=d.getComponent(m.jr);c.manager.dispose();c.manager=null;d.na(m.jr)};e.update=function(d){d.getComponent(m.jr).manager.update()};e.frame=function(d,c,f){d.getComponent(m.jr).manager.frame(c,f)};return e}); 2108define("lD",["require","lx","lH","fF","fM"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("fM");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(b,h){this.Oza.C.length&&this.Oza.C.slice().forEach(l.Pb);this.aj.C.length&&this.aj.C.slice().forEach(function(d){l.frame(d,b,h)});this.Pza.C.length&&this.Pza.C.slice().forEach(l.gb)};a.K={};a.K.Oza=[m.vh,m.jr.not];a.K.Pza=[m.vh.not,m.jr];a.K.aj=[m.vh,m.jr];return a}); 2109define("ka","require lx oR gp dy cp id lu".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("gp"),l=a("dy"),b=a("cp"),h=a("id"),d=a("lu");a=e.extend(m,function(f,g){m.call(this);this.Fd=f;this.Ga=g;this.ya=new l;this.ya.YI([this.Fd]);this.ya.bind(k.Z,this.od,this,!1);this.ya.bind(k.uc,this.Mf,this,!1);this.Lc=null;this.zb=0;d.dn(this.ya,h.qA)});a.prototype.bj=function(f){this.zb!==f&&(this.zb=f,this.Lc&&(this.Lc.material.opacity=this.zb,this.Lc.material.visible=0<this.zb,this.Lc.material.needsUpdate= 2110!0))};a.prototype.Vh=function(){return!!this.Lc};a.prototype.od=function(){this.aIa();this.trigger(k.Z)};a.prototype.Mf=function(){this.trigger(k.uc)};a.prototype.aIa=function(){var f=new THREE.Texture;f.image=d.rf(this.Fd);f.generateMipmaps=!0;f.minFilter=THREE.LinearMipMapLinearFilter;f.needsUpdate=!0;f=new THREE.SpriteMaterial({map:f});f.sizeAttenuation=!1;f.transparent=!0;f.visible=0<this.zb;f.opacity=this.zb;this.Lc=new THREE.Sprite(f);this.Lc.renderOrder=-1E3};a.prototype.update=function(){if(this.Lc){var f= 2111b.Ps(this.Ga);this.Lc.parent!=f&&(this.Lc.parent&&b.Hza(this.Lc.parent,this.Lc),f&&b.GUa(f,this.Lc));if(f){var g=b.rI(this.Ga),p=this.Lc.material.map.image.width,q=this.Lc.material.map.image.height;f=g/(2*Math.tan(f.fov*c/2));g=Math.max(g/f,b.eZ(this.Ga)/(f*p/q));this.Lc.scale.y!=g&&(this.Lc.scale.y=g,this.Lc.scale.x=g*p/q)}p=b.xP(this.Ga);this.Lc.material.map.encoding!=p&&(this.Lc.material.map.encoding=p,this.Lc.material.needsUpdate=!0)}};a.prototype.dispose=function(){this.Lc&&(this.Lc.parent&& 2112b.Hza(this.Lc.parent,this.Lc),this.Lc.material.map.dispose(),this.Lc.material.dispose(),this.Lc=null);this.ya&&d.cj(this.ya,h.qA)};var c=Math.PI/180;return a}); 2113define("bJ","require oR fF ka ou bG".split(" "),function(a){function e(d,c){this.o=d;this.Kg=c;this.Pt=void 0;this.hi=this.mm=this.V=this.Ga=null;this.update()}var k=a("oR"),m=a("fF"),l=a("ka"),b=a("ou"),h=a("bG");e.prototype.frame=function(d){this.V&&this.XC(d);
2113this.mm&&this.mm.update();this.hi&&this.hi.update()};e.prototype.update=function(){var d=this.o.getComponent(m.Scene);this.Ga=d.scene;if(!this.Ga){if(!d.scene)return;this.Ga=d.scene}d=d.rba||null;this.Pt===d||this.V||(this.CK(this.hi),this.hi= 2114null,(this.Pt=d)?this.hi=this.lHa(this.Pt):(this.xx(),this.Kg.trigger(k.Z)))};e.prototype.XC=function(d){this.V.Cb(d);this.mm&&this.mm.bj(Math.min(1,Math.max(0,this.V.fb("alpha"))));this.hi&&this.hi.bj(Math.min(1,Math.max(0,this.V.fb("nextAlpha"))));this.V.Oe()&&(this.V=null,this.mm&&(this.CK(this.mm),this.mm=null),this.mm=this.hi,this.hi=null,this.update());this.o.R.bb()};e.prototype.d8=function(){this.hi.unbind(k.Z,this.d8,this,!0);this.hi.unbind(k.uc,this.e8,this,!0);this.xx();this.Kg.trigger(k.Z)}; 2115e.prototype.e8=function(){this.CK(this.hi);this.hi=null;this.xx();this.Kg.trigger(k.Z)};e.prototype.xx=function(){this.hi&&this.mm?this.V=new b("linear",[new h("nextAlpha",0,2,void 0),new h("alpha",2,0,void 0)],600):this.hi?this.V=new b("linear",[new h("nextAlpha",0,1,void 0)],300):this.mm&&(this.V=new b("linear",[new h("alpha",1,0,void 0)],300));this.o.R.bb()};e.prototype.lHa=function(d){d=new l(d,this.Ga);this.KFa(d);d.bj(0);return d};e.prototype.CK=function(d){d&&(this.SSa(d),d.dispose())};e.prototype.KFa= 2116function(d){d.bind(k.Z,this.d8,this,!0);
2116d.bind(k.uc,this.e8,this,!0)};e.prototype.SSa=function(d){d.unbind(k.Z,this.d8,this,!0);d.unbind(k.uc,this.e8,this,!0)};e.prototype.dispose=function(){this.mm&&(this.CK(this.mm),this.mm=null);this.hi&&(this.CK(this.hi),this.hi=null)};return e}); 2117define("lG","require oR id nJ pl fF cp kF".split(" "),function(a){function e(f,g){this.o=f;this.zW=this.$G=this.ZG=this.gx=this.NA=this.Pt=this.oB=void 0;this.Fa=this.j=this.Ga=null;this.Kg=g;this.xe=new b(this.Kg);this.nd=[new c(m.qA),new c(m.qA)];this.nd.forEach(function(p){p.bind(k.Z,this.od,this,!0);p.bind(k.uc,this.Mf,this,!0)}.bind(this));this.Ura([]);this.update()}var k=a("oR"),m=a("id"),l=a("nJ"),b=a("pl"),h=a("fF"),d=a("cp"),c=a("kF");e.prototype.frame=function(){!this.j&&this.Ga&&(this.j= 2118e.$Wa(this.o.R,this.Ga))&&(this.fa(),this.raa())};e.prototype.update=function(){var f=this.o.getComponent(h.Scene),g=!1,p=!1,q=f.Ava||null;this.oB!==q&&(this.oB=q,p=!0);q=f.rba||null;this.Pt!==q&&(this.Pt=q,p=!0);q=f.Lua||null;this.NA!==q&&(this.NA=q,p=!0);p&&(this.Uta(),this.raa(),g=!0);this.gx!==f.backgroundColor&&(this.gx=f.backgroundColor,g=!0);this.Ga!==f.scene&&(this.Ga=f.scene,g=!0);g&&this.fa()};e.prototype.Uta=function(){this.Ura(this.jLa())};e.prototype.jLa=function(){var f=[];this.oB&& 2119-1==f.indexOf(this.oB)&&f.push(this.oB);!this.Pt&&this.NA&&-1==f.indexOf(this.NA)&&f.push(this.NA);if(this.Ga&&this.Ga.background&&this.Ga.background.image&&this.Ga.background.image.src){var g=this.Ga.background.image.src;-1==f.indexOf(g)&&f.push(g)}return f};e.prototype.Ura=function(f){var g=[],p=[];this.nd.forEach(function(q){var n=q.ui();0>f.indexOf(n)?(q.cancel(),g.push(q)):p.push(n)});f.forEach(function(q){0>p.indexOf(q)&&g.shift().load(q)})};e.prototype.raa=function(){var f=0;this.xe.cva(); 2120this.nd.forEach(function(g){g.ui()&&!g.Vh()&&(this.xe.NH(g),f++)}.bind(this));0==f&&this.Kg&&this.Kg.trigger(k.Z)};e.prototype.dispose=function(){this.nd.forEach(function(f){f.cancel();f.unbind(k.Z,this.od,this,!0);f.unbind(k.uc,this.Mf,this,!0)}.bind(this));this.o&&(this.l4(),this.Hx(),this.o=null)};e.prototype.od=function(){this.fa();this.raa()};e.prototype.fa=function(){if(this.Ga&&this.j){if(this.oB){var f=this.Ala(this.oB);f&&this.mFa(f)}else this.l4();this.Pt?this.Hx():this.NA?(f=this.Ala(this.NA))&& 2121this.mia(f):this.gx?this.mia(void 0,this.gx):this.Hx();this.Uta();this.o.R.bb()}};e.prototype.Ala=function(f){for(var g=0;g<this.nd.length;g++)if(this.nd[g].Vh()&&this.nd[g].ui()==f)return this.nd[g];return null};e.prototype.kp=function(f,g){return 6>Math.round(f.yd()/f.je())?this.AHa(f,g):this.vHa(f,g)};e.prototype.AHa=function(f,g){var p=new THREE.Texture;p.image=f.rf();p.encoding=d.xP(this.Ga);p.mapping=THREE.EquirectangularReflectionMapping;p.needsUpdate=!0;return g?(f=new THREE.PMREMGenerator(this.j), 2122p=f.fromEquirectangular(p).texture,f.dispose(),p):p};e.prototype.mia=function(f,g){if(this.Ga){if(f){var p=f&&f.ui()||void 0;if(p==this.$G)return;this.Hx();d.x_(this.Ga,this.kp(f,!1));this.$G=p;this.ZG=void 0}g&&g!=this.ZG&&(this.Hx(),d.x_(this.Ga,"transparent"==g?null:new THREE.Color(l.hE(g))),this.ZG=g,this.$G=void 0)}};e.prototype.Hx=function(){this.Ga&&(this.ZG||this.$G)&&(this.$G&&(this.Ga.background.dispose(),d.x_(this.Ga,null),this.$G=void 0),this.ZG&&(d.x_(this.Ga,null),this.ZG=void 0))}; 2123e.prototype.mFa=function(f){if(this.Ga){var g=f&&f.ui()||void 0;g!=this.zW&&(this.l4(),this.Ga.environment=this.kp(f,!0),this.zW=g)}};e.prototype.l4=function(){this.Ga&&this.zW&&(this.Ga.environment.dispose(),this.Ga.environment=null,this.zW=void 0)};e.prototype.vHa=function(f,g){for(var p=Array(6),q=f.yd()/6,n=f.je(),r=0;6>r;r++){var t=document.createElement("canvas");t.width=q;t.height=n;t.getContext("2d").drawImage(f.rf(),r*q,0,q,n,0,0,q,n);p[r]=t}f=new THREE.CubeTexture;f.images=[p[1],p[3],p[4], 2124p[5],p[0],p[2]];f.encoding=d.xP(this.Ga);f.needsUpdate=!0;return g?(g=new THREE.PMREMGenerator(this.j),p=g.fromCubemap(f).texture,g.dispose(),p):f};e.prototype.Mf=function(){this.o.getComponent(h.Scene).scene.environment=null;this.o.R.bb()};e.Lqa=new Map;e.rea=function(f,g){e.Lqa.set(f,g||[])};e.$Wa=function(f,g){f=e.Lqa.get(f)||[];for(var p=0;p<f.length;p++){var q=f[p].getComponent(h.vh);if(q&&0<q.nQ.filter(function(n){return n.getComponent(h.Scene).scene==g}).length)return q.renderer}return null}; 2125return e}); 2126define("hM",["require","fF","pl","bJ","lG"],function(a){function e(h){this.o=h;this.Kg=null;var d=this.o.J(k.Scene),c=this.o.J(k.lr);this.o.H(k.Object3D).pa=c.scene=d.scene=new THREE.Scene;this.xe=new m;this.KK=new b(h,this.xe.mz());this.ge=new l(h,this.xe.mz())}var k=a("fF"),m=a("pl"),l=a("bJ"),b=a("lG");e.prototype.frame=function(h){this.KK.frame(h);this.ge.frame(h)};e.prototype.update=function(){this.KK.update();
2126this.ge.update();this.ATa()};e.prototype.ATa=function(){var h=this.o.getComponent(k.Scene);this.Kg!= 2127h.Pba&&(this.Kg=h.Pba,this.xe.z_a(this.Kg))};e.prototype.dispose=function(){this.xe&&(this.xe.dispose(),this.xe=null);this.ge&&(this.ge.dispose(),this.ge=null);this.KK&&(this.KK.dispose(),this.KK=null);this.o&&(this.o=null)};e.Pb=function(h){h.H(k.lr).manager=new e(h)};e.gb=function(h){var d=h.getComponent(k.lr);d.manager.dispose();d.manager=null;h.na(k.lr);h.na(k.Object3D)};e.frame=function(h,d){h.getComponent(k.lr).manager.frame(d)};e.update=function(h){h.getComponent(k.lr).manager.update()};e.rea= 2128function(h,d){b.rea(h,d)};return e}); 2129define("eY",["require","lx","lH","fF","hM"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("hM");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(b){this.Wza.C.length&&this.Wza.C.slice().forEach(l.Pb);this.scenes.Ua.length&&this.scenes.Ua.slice().forEach(l.update);this.scenes.C.length&&this.scenes.C.slice().forEach(function(h){l.frame(h,b)});l.rea(this.R,this.aj.C.slice());this.Xza.C.length&&this.Xza.C.slice().forEach(l.gb)};a.K={};a.K.Wza=[m.Scene,m.lr.not];a.K.scenes= 2130[m.Scene,m.lr];a.K.Xza=[m.Scene.not,m.lr];a.K.aj=[m.vh,m.jr];return a}); 2131define("eE",["require","v"],function(a){function e(d){this.ig=d;"CANVAS"==d.tagName?(this.O=d,this.Cc=1):(this.O=document.createElement("canvas"),this.Cc=l.zd()==l.Fi?.5:1,this.O.width=Math.round(d.width*this.Cc),this.O.height=Math.round(d.height*this.Cc));this.za=this.O.getContext("2d");this.za.globalCompositeOperation="copy";this.O!=d&&this.za.drawImage(d,0,0,d.width,d.height,0,0,this.O.width,this.O.height)}function k(d,c,f){0>d?d=f==THREE.RepeatWrapping?c+d%c:f==THREE.MirroredRepeatWrapping?0== 2132Math.floor(Math.abs(d/c))%2?Math.abs(d%c):c-1+d%c:0:d>=c&&(d=f==THREE.RepeatWrapping?d%c:f==THREE.MirroredRepeatWrapping?1==Math.floor(d/c)%2?c-1-d%c:d%c:c-1);return d}function m(d,c,f){try{if(d instanceof CanvasRenderingContext2D)return d.getImageData(c,f,1,1).data;if(d.tagName&&"CANVAS"==d.tagName)return d.jMa?[0,0,0,0]:d.getContext("2d").getImageData(c,f,1,1).data;b.drawImage(d,c,f,1,1,0,0,1,1);return b.getImageData(0,0,1,1).data}catch(g){return[0,0,0,0]}}var l=a("v");e.prototype.transparent=function(d, 2133c){return e.transparent(this.za,Math.round(d*this.Cc),Math.round(c*this.Cc))};e.prototype.qw=function(d,c){return e.qw(this.za,Math.round(d*this.Cc),Math.round(c*this.Cc))};e.prototype.info=function(d,c){return e.info(this.za,Math.round(d*this.Cc),Math.round(c*this.Cc))};e.prototype.dispose=function(){this.O!=this.ig&&(this.O.width=this.O.height=0);this.ig=this.O=this.za=null};e.R1a=function(d,c,f){if(!d.image||!d.image.width||!d.image.height)return!0;c=k(Math.round(c*d.image.width),d.image.width, 2134d.wrapS);f=k(Math.round((1-f)*d.image.height),d.image.height,d.wrapT);return!e.transparent(d.image,c,f)};e.transparent=function(d,c,f){return!e.qw(d,c,f)};e.qw=function(d,c,f){return!d.tagName||d.tagName&&"VIDEO"==d.tagName?!0:0<m(d,c,f)[3]};e.info=function(d,c,f){d=m(d,c,f);c=d[3];return{qw:0<c,opacity:c,color:"#"+h[d[0]]+h[d[1]]+h[d[2]]}};a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d");b.globalCompositeOperation="copy";var h=function(){for(var d=Array(256),c=0;16> 2135c;c++)d[c]="0"+c.toString(16);for(;256>c;c++)d[c]=c.toString(16);return d}();return e}); 2136define("ov","require oR eE fF cp gZ bd".split(" "),function(a){function e(A){this.ni=A;this.aH=this.pu=this.he=this.Gg=null;this.ZL=void 0;this.vu=!1;this.update()}function k(A,B,I,E){this.Y=A;this.pa=B;this.point=I;this.normal=E}function m(A){return{x:A.x,y:A.y,z:A.z}}function l(A,B,I,E){var G=B.R,F=A.get(G);F||A.set(G,F=[]);A=F.indexOf(B);I&&0>A?F.push(B):!I&&0<=A&&F.splice(A,1);E.delete(G)}var b=a("oR"),h=a("eE"),d=a("fF"),c=a("cp"),f=a("gZ"),g=a("bd");e.prototype.update=function(){var A=this.ni.getComponent(d.df); 2137A.jza=this;this.AN(A&&A.enabled?A.Sba:null);this.zN(A&&A.enabled?A.Hba:null)};e.prototype.frame=function(){this.MGa();this.mv(n)};e.prototype.AN=function(A){this.Gg!=A&&(this.Gg&&(this.Gg.unbind(b.kc,this.jf,this,!0),this.Gg.unbind(b.ra,this.Or,this,!0),this.Gg.unbind(b.em,this.sG,this,!0),this.Gg.unbind(b.wb,this.ik,this,!0),this.Gg.unbind(b.Zb,this.Pn,this,!0)),this.Gg=A)&&(this.Gg.bind(b.kc,this.jf,this,!0),this.Gg.bind(b.ra,this.Or,this,!0),this.Gg.bind(b.em,this.sG,this,!0),this.Gg.bind(b.wb, 2138this.ik,this,!0),this.Gg.bind(b.Zb,this.Pn,this,!0))};e.prototype.zN=function(A){this.he!=A&&(this.he&&this.vu&&this.he.pop(g.Ee),(this.he=A)&&this.vu&&this.he.push(g.Ee))};e.prototype.jf=function(A){this.io(A);this.VF&&-1==u.indexOf(this.ni.R)?this.mv(n):this.mv(q)};e.prototype.Or=function(A){this.io(A);(A=this.m5())&&this.EX(b.ra,A)};e.prototype.sG=function(A){this.io(A);(A=this.m5())&&this.EX(b.em,A)};e.prototype.ik=function(A){this.VF=!0;this.io(A);if(A=this.m5())this.L4=A.Y,this.N4=A.Y.getComponent(d.md).ba, 2139this.EX(b.wb,A)};e.prototype.Pn=function(A){this.VF=!1;this.io(A);if(this.L4)var B=(B=this.L4.getComponent(d.md))&&B.ba;!B&&this.N4&&(B=this.N4);this.N4=this.L4=null;B&&(A=this.Xka(),B.trigger(b.Zb,A),B=this.ni.getComponent(d.df),B.ba&&B.ba.trigger(b.Zb,A))};e.prototype.io=function(A){this.Zc=A.x;this.$c=A.y;this.hG=A.pageX;this.iG=A.pageY};e.prototype.mv=function(A){var B=(new Date).getTime()+A;this.ZL&&B>=this.ZL||(this.ZL=B,clearTimeout(this.aH),this.aH=setTimeout(function(){this.aH=null;this.ZL= 2140void 0;this.UNa()}.bind(this),A))};e.prototype.UNa=function(){var A=this.VKa();this.yra(A&&A.Y);A&&this.EX(b.kc,A)};e.prototype.g_=function(A,B,I){var E=this.Zc,G=this.$c,F=this.hG,N=this.iG;this.iG=this.hG=this.$c=this.Zc=void 0;A=this.w5(A,[]);B=this.p5(A,B,I);var R;B&&(R=this.Mla(B));this.Zc=E;this.$c=G;this.hG=F;this.iG=N;return R};e.prototype.VKa=function(){var A=this.ni.getComponent(d.df);if(!A)return null;var B=this.UKa();return this.p5(B,A.origin,A.direction)||null};e.prototype.m5=function(){var A= 2141this.ni.getComponent(d.df);if(!A)return null;var B=this.VJa();return this.p5(B,A.origin,A.direction)||null};e.prototype.yra=function(A){if(this.pu!=A){if(null!=this.pu!=(null!=A)){var B=this.ni.getComponent(d.df);B&&B.ba&&B.ba.trigger(A?b.Xc:b.ac)}this.pu&&this.ata(this.pu,b.ac);(this.pu=A)&&this.ata(this.pu,b.Xc);A=this.pu&&this.pu.getComponent(d.md);A=!!A&&A.hJ;this.vu!=A&&(this.vu=A,this.he&&(this.vu?this.he.push(g.Ee):this.he.pop(g.Ee)))}};e.prototype.p5=function(A,B,I){var E=Array.from(A.keys()); 2142B=this.XLa(E,B,I);for(I=0;I<B.length;I++){E=B[I];var G=E.point,F=E.object,N=E.face&&E.face.normal,R=A.get(F),S=R&&R.getComponent(d.md);if(S){var Q=Array.isArray(F.material)&&E.face?F.material[E.face.materialIndex]:F.material;if(!Q||Q.visible)if(S.PQ||!Q||!Q.map||h.R1a(Q.map,E.uv.x,E.uv.y))return F.isSkinnedMesh&&(F=this.jJa(F.skeleton.bones,G)),new k(R,F,G,N)}}return null};e.prototype.VJa=function(){var A=this.ni.R,B=z.get(A);if(!B){B=v.get(A);var I=x.get(A);B=this.w5(B,I);z.set(A,B)}return B};e.prototype.UKa= 2143function(){var A=this.ni.R,B=C.get(A);if(!B){B=w.get(A);var I=y.get(A);B=this.w5(B,I);C.set(A,B)}return B};e.prototype.w5=function(A,B){var I=(B&&B.map(function(F){return c.Bb(F)}).filter(function(F){return!!F})||[]).slice(),E=new Map;A&&A.forEach(function(F){var N=c.Bb(F);N&&-1==I.indexOf(N)&&(I.push(N),E.set(F,N))});var G=new Map;
2143E.forEach(function(F,N){for(var R=[F];R.length;){var S=R.shift();if(S==F||-1==I.indexOf(S))G.set(S,N),S.children&&(R=R.concat(S.children))}});return G};e.prototype.XLa= 2144function(A,B,I){var E=c.Bb(this.ni);if(!E)return[];t.camera=this.pT();t.ray.origin.copy(B).applyMatrix4(E.matrixWorld);t.ray.direction.copy(B).add(I).applyMatrix4(E.matrixWorld).sub(t.ray.origin).normalize();return f.intersect(t,A)};e.prototype.EX=function(A,B){var I=this.Mla(B);B=B.Y.getComponent(d.md);B.ba&&B.ba.trigger(A,I);B=this.ni.getComponent(d.df);B.ba&&B.ba.trigger(A,I)};e.prototype.Xka=function(){var A={};void 0!==this.Zc&&void 0!==this.$c&&(A.x=this.Zc,A.y=this.$c);void 0!==this.hG&&void 0!== 2145this.iG&&(A.pageX=this.hG,A.pageY=this.iG);return A};e.prototype.Mla=function(A){var B=this.Xka(),I=A.pa,E=A.point;A=A.normal;B.position=m(E);var G=this.pT();B.cameraPosition=m(G?r.setFromMatrixPosition(G.matrixWorld):r.set(0,0,0));G=I;for(var F=B;;){F.object=G.userData.id;F.name=G.name;F.type=G.isMesh?"mesh":G.isBone?"bone":"other";F.localPosition=m(G.worldToLocal(r.copy(E)));r.setFromMatrixScale(G.matrixWorld);F.localScale=Math.max(r.x,r.y,r.z);F.objectMatrixWorld=I.matrixWorld.toArray();A&&(F.normal= 2146m(p(I,A,G,r)));if(!G.parent||!G.parent.userData.id)break;G=G.parent;F=F.parent={}}return B};var p=function(){var A=new THREE.Vector3,B=new THREE.Matrix4;return function(I,E,G,F){F.copy(E);if(I==G)return F;F.applyMatrix4(I.matrixWorld);F.sub(A.setFromMatrixPosition(I.matrixWorld));F.add(A.setFromMatrixPosition(G.matrixWorld));F.applyMatrix4(B.copy(G.matrixWorld).invert()).normalize();return F}}();e.prototype.pT=function(){if(this.RK.camera)return this.RK.camera;var A=c.Bb(this.ni);A&&A.isCamera?this.RK.camera= 2147A:(A=c.oI(A),this.RK.camera=A&&c.Ps(A));return this.RK.camera};e.prototype.MGa=function(){this.RK={}};e.prototype.ata=function(A,B){(A=(A=A.getComponent(d.md))&&A.ba)&&A.trigger(B)};e.prototype.jJa=function(A,B){var I=null,E=Infinity;for(A=A.slice();A.length;){var G=A.shift(),F=B.distanceTo(G.getWorldPosition(r));F<E&&(I=G,E=F);A.unshift.apply(A,G.children)}return I};e.prototype.dispose=function(){this.aH&&(clearTimeout(this.aH),this.aH=null,this.ZL=void 0);this.AN(null);this.zN(null);this.yra(null)}; 2148var 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;e.Eea=function(A){A.H(d.zt).manager=new e(A)};e.Sea=function(A){var B=A.getComponent(d.zt);B.manager.dispose();B.manager=null;A.na(d.zt)};e.frame=function(A){A.getComponent(d.zt).manager.frame()};e.ffa=function(A){A.getComponent(d.zt).manager.update()};e.Y0a=function(A){A.H(d.wA); 2149e.bCa(A)};e.bCa=function(A){var B=c.Bb(A),I=A.getComponent(d.md);l(v,A,B&&I.Lv,z);l(w,A,B&&I.gw,C)};e.uBa=function(A){l(v,A,!1,z);l(w,A,!1,C);A.na(d.wA)};e.X0a=function(A){A.H(d.sA);e.ZBa(A)};e.ZBa=function(A){var B=c.Bb(A),I=A.getComponent(d.Wo);l(x,A,B&&I.$ea,z);l(y,A,B&&I.afa,C)};e.tBa=function(A){l(y,A,!1,C);l(x,A,!1,z);A.na(d.sA)};var u=[];e.u0a=function(A){u=[];A.forEach(function(B){0>u.indexOf(B.R)&&u.push(B.R)})};var v=new Map,w=new Map,x=new Map,y=new Map,z=new Map,C=new Map;return e}); 2150define("nA",["require","lx","lH","fF","ov"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("ov");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.dQ.C.length&&this.dQ.C.slice().forEach(l.Eea);this.Oq.Ua.length&&this.Oq.Ua.slice().forEach(l.ffa);this.Oq.C.length&&this.Oq.C.slice().forEach(l.frame);this.eQ.C.length&&this.eQ.C.slice().forEach(l.Sea);this.cAa.C.length&&this.cAa.C.slice().forEach(l.Y0a);this.bAa.C.length&&this.bAa.Ua.slice().forEach(l.bCa);this.dAa.C.length&& 2151this.dAa.C.slice().forEach(l.uBa);this.eAa.C.length&&this.eAa.C.slice().forEach(l.uBa);this.lya.C.length&&this.lya.C.slice().forEach(l.X0a);
2151this.kya.C.length&&this.kya.Ua.slice().forEach(l.ZBa);this.mya.C.length&&this.mya.C.slice().forEach(l.tBa);this.nya.C.length&&this.nya.C.slice().forEach(l.tBa);(this.xda.de.length||this.xda.mg.length)&&l.u0a(this.xda.C)};a.K={};a.K.xda=[m.Tj];a.K.dQ=[m.df,m.zt.not];a.K.Oq=[m.df,m.zt];a.K.eQ=[m.df.not,m.zt];a.K.cAa=[m.Object3D,m.md,m.wA.not];a.K.bAa=[m.Object3D, 2152m.md,m.wA];a.K.dAa=[m.Object3D.not,m.wA];a.K.eAa=[m.md.not,m.wA];a.K.lya=[m.Object3D,m.Wo,m.sA.not];a.K.kya=[m.Object3D,m.Wo,m.sA];a.K.mya=[m.Object3D.not,m.sA];a.K.nya=[m.Wo.not,m.sA];return a}); 2153define("jz",["require","nJ","fF"],function(a){function e(l){this.o=l;this.ia=null;this.update()}var k=a("nJ"),m=a("fF");e.prototype.update=function(){this.ia||(this.ia=new THREE.MeshBasicMaterial,this.ia.transparent=!0,this.o.H(m.Material).material=this.ia);var l=this.o.getComponent(m.Fc);this.ia.color=new THREE.Color(k.hE(l.color||"#ffffff"));this.ia.opacity=l.opacity||0;this.ia.depthTest=!!l.depthTest;this.ia.side=l.doubleSided?THREE.DoubleSide:THREE.FrontSide;this.ia.visible=0<this.ia.opacity; 2154this.ia.needsUpdate=!0};e.prototype.dispose=function(){this.ia&&(this.ia.dispose(),this.ia=null,this.o.na(m.Material));this.o=null};e.Pb=function(l){l.H(m.Ct).manager=new e(l)};e.gb=function(l){var b=l.getComponent(m.Ct);b.manager.dispose();b.manager=null;l.na(m.Ct)};e.update=function(l){l.getComponent(m.Ct).manager.update()};return e}); 2155define("iz",["require","lx","lH","fF","jz"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("jz");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Ol.C.length&&this.Ol.C.slice().forEach(l.Pb);this.materials.Ua.length&&this.materials.Ua.slice().forEach(l.update);this.Pl.C.length&&this.Pl.C.slice().forEach(l.gb)};a.K={};a.K.Ol=[m.Fc,m.Ct.not];a.K.materials=[m.Fc,m.Ct];a.K.Pl=[m.Fc.not,m.Ct];return a}); 2156define("li",["require","lx","lH","fF","nO"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("nO");a=e.extend(k,function(){k.apply(this,arguments);this.se=this.se.bind(this);this.Ce=this.Ce.bind(this);this.Uc=this.Uc.bind(this)});a.prototype.xd=function(){this.cBa.C.length&&this.cBa.C.slice().forEach(this.se);this.bBa.Ua.length&&this.bBa.Ua.slice().forEach(this.Ce);this.dBa.C.length&&this.dBa.C.slice().forEach(this.Uc);this.eBa.C.length&&this.eBa.C.slice().forEach(this.Uc)};a.prototype.se=function(b){b.H(m.Object3D).pa= 2157new THREE.Mesh(new THREE.SphereGeometry);b.H(m.xA);this.Ce(b)};a.prototype.Ce=function(b){var h=b.getComponent(m.Object3D).pa;l.iz(h,b.getComponent(m.Material).material);b=b.getComponent(m.Sphere);var d=h.geometry;if(d.radius!=b.radius||d.widthSegments!=b.widthSegments||d.heightSegments!=b.heightSegments)d.dispose(),d=new THREE.SphereGeometry(b.radius,b.widthSegments,b.heightSegments),h.geometry=d,h.needsUpdate=!0;b=b.renderOrder||0;h.renderOrder!=b&&(h.renderOrder=b,h.needsUpdate=!0)};a.prototype.Uc= 2158function(b){var h=b.getComponent(m.Object3D);(h=h&&h.pa)&&h.geometry&&(h.geometry.dispose(),h.geometry=null);h&&l.iz(h,null);b.na(m.xA);b.na(m.Object3D)};a.K={};a.K.cBa=[m.Sphere,m.Material,m.xA.not];a.K.bBa=[m.Sphere,m.Material,m.xA];a.K.dBa=[m.Sphere.not,m.xA];a.K.eBa=[m.Material.not,m.xA];return a}); 2159define("mc",["require","fF","cp","nO"],function(a){function e(d){this.o=d;this.Ga=null;this.b3=90;this.c3=100;this.ja=this.wa=void 0;this.VW=!1;this.Cc=1;this.Lc=this.o.J(k.Sprite).o1a=this.o.J(k.Object3D,!0).pa=new THREE.Sprite;this.Lc.material.opacity=0;this.Aj();this.update();this.frame()}var k=a("fF"),m=a("cp"),l=a("nO");e.prototype.update=function(){var d=this.o.getComponent(k.Sprite);this.wa=d.height;this.ja=d.width;this.VW=d.sizeAttenuation;this.Lc.center.x=d.OH;this.Lc.center.y=1-d.PH;this.Cc= 2160d.scale;this.Gl();this.Lc.needsUpdate=!0};e.prototype.frame=function(){this.Ga||(this.Ga=m.Jj(this.o));this.nq();this.Aj();this.Gl()};e.prototype.nq=function(){if(this.Ga){var d=m.Ps(this.Ga);if(d&&d.isPerspectiveCamera){var c=m.rI(this.Ga);if(this.b3!=d.fov||this.c3!=c)this.b3=d.fov,this.c3=c,this.Gl(),this.Lc.needsUpdate=!0}}};e.prototype.Aj=function(){var d=this.Ga?this.o.getComponent(k.Material).material:null;d&&l.iz(this.Lc,d);this.Lc.renderOrder=this.o.getComponent(k.Sprite).renderOrder;this.Lc.material&& 2161this.Lc.material.sizeAttenuation!=this.VW&&(this.Lc.material.sizeAttenuation=this.VW,this.Lc.material.needsUpdate=!0)};e.prototype.Gl=function(){var d=this.wa;this.VW||(d/=this.c3/(2*Math.tan(this.b3*h/2)));var c=this.Cc;this.Lc.parent&&(this.Lc.parent.getWorldScale(b),c/=Math.max(b.x,b.y,b.z));d*=c;c=d*this.ja/this.wa;var f=this.o.getComponent(k.Aa)||this.o.H(k.Aa);if(f.Df!=c||f.Qf!=d||1!=f.oh)f=this.o.J(k.Aa,!0),f.Df=c,f.Qf=d,f.oh=1};var b=new THREE.Vector3,h=Math.PI/180;e.prototype.dispose=function(){}; 2162e.Pb=function(d){d.H(k.mr).manager=new e(d)};e.gb=function(d){var c=d.getComponent(k.mr);c.manager.dispose();c.manager=null;d.na(k.mr);d.na(k.Object3D)};
2162e.update=function(d){d.getComponent(k.mr).manager.update()};e.frame=function(d){d.getComponent(k.mr).manager.frame()};return e}); 2163define("eD",["require","lx","lH","fF","mc"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("mc");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.gBa.C.length&&this.gBa.C.slice().forEach(l.Pb);this.C_.Ua.length&&this.C_.C.slice().forEach(l.update);this.C_.C.length&&this.C_.C.slice().forEach(l.frame);this.hBa.C.length&&this.hBa.C.slice().forEach(l.gb);this.iBa.C.length&&this.iBa.C.slice().forEach(l.gb)};a.K={};a.K.gBa=[m.Material,m.Sprite,m.mr.not];a.K.C_=[m.Sprite, 2164m.Material,m.mr];a.K.hBa=[m.Sprite.not,m.mr];a.K.iBa=[m.Material.not,m.mr];return a}); 2165define("ho","require lx oR cB lH fF cp".split(" "),function(a){function e(g,p,q){for(;g<p-180;)g+=360;for(;g>p+180;)g-=360;return k(g,p,q)}function k(g,p,q){if(!q)return p;g=(p-g)*(1-q);1E-5>Math.abs(g)&&(g=0);return p-g}var m=a("lx"),l=a("oR"),b=a("cB"),h=a("lH"),d=a("fF"),c=a("cp");a=m.extend(h,function(){h.apply(this,arguments);this.se=this.se.bind(this);this.Ce=this.Ce.bind(this);this.Uc=this.Uc.bind(this)});a.prototype.xd=function(g,p){this.WP.C.length&&this.WP.C.slice().forEach(this.se);this.Jq.de.length&& 2166this.Jq.de.slice().forEach(function(q){this.Ce(q,g,p)}.bind(this));this.Jq.Ua.length&&this.Jq.Ua.slice().forEach(function(q){this.Ce(q,g,p)}.bind(this));this.wya.C.length&&this.wya.C.slice().forEach(function(q){this.Ce(q,g,p)}.bind(this));this.yva.C.length&&this.yva.C.slice().forEach(this.Uc);this.zva.C.length&&this.zva.C.slice().forEach(this.Uc)};a.prototype.se=function(g){var p=g.getComponent(d.Aa),q=g.H(d.Hf);q.positionX=p.positionX;q.positionY=p.positionY;q.positionZ=p.positionZ;q.Qe=p.Qe;q.re= 2167p.re;q.Re=p.Re;q.Zf=p.Zf;q.scale=p.scale;q.Df=p.Df;q.Qf=p.Qf;q.oh=p.oh;q.translationX=p.translationX;q.translationY=p.translationY;q.cf=p.cf;this.updateMatrixWorld(g)};a.prototype.Ce=function(g){var p=g.getComponent(d.Aa),q=g.getComponent(d.Hf),n=p.easing||0;n?g.getComponent(d.zA)||g.H(d.zA):g.na(d.zA);var r=null;p.Jv!==q.Jv&&(r||(r=g.J(d.Hf)),r.Jv=p.Jv);p.positionX!==q.positionX&&(r||(r=g.J(d.Hf)),r.positionX=k(r.positionX,p.positionX,n));p.positionY!==q.positionY&&(r||(r=g.J(d.Hf)),r.positionY= 2168k(r.positionY,p.positionY,n));p.positionZ!==q.positionZ&&(r||(r=g.J(d.Hf)),r.positionZ=k(r.positionZ,p.positionZ,n));p.Qe!==q.Qe&&(r||(r=g.J(d.Hf)),r.Qe=e(r.Qe,p.Qe,n));p.re!==q.re&&(r||(r=g.J(d.Hf)),r.re=e(r.re,p.re,n));p.Re!==q.Re&&(r||(r=g.J(d.Hf)),r.Re=e(r.Re,p.Re,n));p.scale!==q.scale&&(r||(r=g.J(d.Hf)),r.scale=p.scale);p.Df!==q.Df&&(r||(r=g.J(d.Hf)),r.Df=p.Df);p.Qf!==q.Qf&&(r||(r=g.J(d.Hf)),r.Qf=p.Qf);p.oh!==q.oh&&(r||(r=g.J(d.Hf)),r.oh=p.oh);p.translationX!==q.translationX&&(r||(r=g.J(d.Hf)), 2169r.translationX=k(r.translationX,p.translationX,n));p.translationY!==q.translationY&&(r||(r=g.J(d.Hf)),r.translationY=k(r.translationY,p.translationY,n));p.cf!==q.cf&&(r||(r=g.J(d.Hf)),r.cf=k(r.cf,p.cf,n));r?this.updateMatrixWorld(g):g.na(d.zA)};var f=new THREE.Vector3;a.prototype.updateMatrixWorld=function(g){c.yQ(g,g.getComponent(d.Hf));var p=g.getComponent(d.Aa).ba;p&&(c.getWorldPosition(g,f),g={position:{}},g.position.x=f.x,g.position.y=f.y,g.position.z=f.z,p.trigger(new b(l.wt,g)))};a.prototype.Uc= 2170function(g){g.na(d.Hf);g.na(d.zA)};a.K={};a.K.Jq=[d.Object3D,d.Aa,d.Hf];a.K.WP=[d.Object3D,d.Aa,d.Hf.not];a.K.wya=[d.Object3D,d.Aa,d.Hf,d.zA];a.K.yva=[d.Object3D.not,d.Aa,d.Hf];a.K.zva=[d.Aa.not,d.Hf];return a}); 2171define("iS",["require"],function(){function a(k,m,l){this.Fd=k;this.Lsa=m;this.zr=l||e}var e=function(){var k=document.createElement("canvas");k.width=k.height=256;k.getContext("2d").clearRect(0,0,k.width,k.height);return k}();a.prototype.isEmpty=function(){return this.zr==e||"CANVAS"==this.zr.tagName&&(0==this.zr.width||0==this.zr.height)};a.prototype.isEqual=function(k,m){return this.Fd==k.Fd&&Math.abs(this.Lsa-k.Lsa)<(m||0)&&this.zr==k.zr};return a}); 2172define("dj",["require","lQ","v","ik"],function(a){function e(d){return l.wBa(d)}function k(d,c){if(!c)return!0;var f=d.get("url"),g=d.get("srcObject");d=d.get("type")||"";switch(c){case "srcObj":return!!g;case "webm":return b.is(f,b.dEa)||m(d,"webm");case "h265":return b.is(f,b.YCa)||(b.is(f,b.vga)||b.is(f,b.cga)||!f)&&(m(d,"hev1")||m(d,"h265")||m(d,"heic"))?!0:!1;case "mp4":return b.is(f,b.vga)||m(d,"mp4");case "hls":return b.is(f,b.HLS)||m(d,"x-mpegurl");case "ogv":return b.is(f,b.qDa)||m(d,"ogg"); 2173case "mov":return b.is(f,b.cga)||m(d,"quicktime");default:return!1}}function m(d,c){return 0<=(d||"").toLowerCase().indexOf(c)}var l=a("lQ");a("v");var b=a("ik"),h={iXa:function(d){return h.select(d.get("levels"))},gXa:function(d){return h.select(d.get("levels"))},select:function(d){d||(d=[]);d=d.slice();var c=[];c.push({type:"srcObj",Vq:!0});l.rXa&&c.push({type:"hls",Vq:!1});l.FXa&&c.push({type:"h265",Vq:!0});l.xca&&c.push({type:"webm",Vq:!0});l.jZ&&c.push({type:"mp4",Vq:!0});l.GXa&&c.push({type:"mov", 2174Vq:!0});l.wca&&c.push({type:"ogv",Vq:!0});c.push({type:"mp4",Vq:!0});c.push({type:"webm",Vq:!0});c.push({type:"mp4",Vq:!1});c.push({type:"webm",Vq:!1});for(var f=0;f<c.length;f++){var g=d;c[f].Vq&&(g=g.filter(e));g=g.filter(function(p){if(k(p,c[f].type))return!0});"hls"!=c[f].type&&g.sort(function(p,q){return q.get("width")-p.get("width")});if(g.length)return g[0]}return null}};return h}); 2175define("oo","require lx cB gp oR kX id nH v ms oj dE iS nb op bW dj".split(" "),function(a){function e(x){f.browser()==f.am&&(x=g.hz(x,"playbacksession="+(new Date).getTime()));return x}var k=a("lx"),m=a("cB"),l=a("gp"),b=a("oR"),h=a("kX"),d=a("id"),c=a("nH"),f=a("v"),g=a("ms"),p=a("oj"),q=a("dE"),n=a("iS"),r=a("nb"),t=a("op"),u=a("bW"),v=a("dj"),w=k.extend(l,function(x,y){l.call(this);this.hb=x;this.v=y;this.Za=w.Gj(this.v);this.m=null;this.JN();this.v.bind(b.G("subtitlesURL"),this.Km,this,!0);this.v.bind(b.G("gain"),
2176this.oG,this,!0);this.Za.bind(b.G("srcObject"),this.Km,this,!0);this.Za.bind(b.G("subtitlesURL"),this.Km,this,!0);this.Za.bind(b.G("url"),this.Km,this,!0);this.Za.bind(b.G("gain"),this.oG,this,!0);this.A=h.T;this.Rf=this.sb=0;this.hf=!1;this.uq=1;this.hl=!1;this.O=this.Rb=null;this.ZE=!1;this.nS=void 0;this.jja=!1;this.wn=[]});w.prototype.Gb=function(){return this.hb};w.prototype.Id=function(x){this.A==x||x==h.Ib&&this.A!=h.X||(this.jja&&x==h.X&&this.A==h.T&&this.h3(),this.A=x,this.A==h.X?(this.Rb&& 2177this.Rb.play(this.hb,this.m,this.Rf),u.o_(this)):(u.Uwa()?this.Rb&&this.Rb.stop():u.fQ(this),this.A==h.T&&this.U9()),this.W$())};w.prototype.getState=function(){return this.A};w.prototype.Xi=function(){return this.sb};w.prototype.setCurrentTime=function(x){this.Rf=x;this.Rb&&(this.Rb.BD()&&this.SS(),this.Rb.play(this.hb,this.m,this.Rf))};w.prototype.getCurrentTime=function(){return this.Rf};w.prototype.pw=function(x){this.uq=x;this.Rb&&this.Rb.pw(x)};w.prototype.Ef=function(x){this.hf=x;this.Rb&& 2178this.Rb.Ef(x)};w.prototype.setLoop=function(x){this.hl=x;this.Rb&&this.Rb.setLoop(x)};w.prototype.n_a=function(){this.jja=!0};w.prototype.aI=function(x,y,z){this.Rb&&this.Rb.BD()?this.Rb.aI(x,y,z):this.ZE?x.drawImage(this.O,0,0,y,z):x.fillRect(0,0,y,z)};w.prototype.VY=function(){if(this.Rb&&this.Rb.BD()){var x=this.Rb.getCurrentTime(),y=this.Rb.fc;if(this.VT())return new n(this.m.src,this.nS,this.O);this.h3();return new n(this.m.src,x,y)}return this.ZE?new n(this.m.src,this.Rf,this.O):new n(this.m.src, 2179this.Rf,null)};w.prototype.Lda=function(){return!this.hf&&this.v.get("hasAudio")};w.prototype.getType=function(){return t.tn};w.prototype.rwa=function(){return d.tn};w.prototype.xva=function(x){this.Rb=x;setTimeout(function(){this.Rb&&this.Rb.bind(p.Oj,this.fM,this,!0)}.bind(this),0);this.JN();this.Rb.bind(p.Ff,this.Xe,this,!0);this.Rb.bind(p.Ci,this.Im,this,!0);this.Rb.bind(b.Nj,this.ii,this,!0);this.Rb.Ef(this.hf);this.Rb.pw(this.uq);this.Rb.setLoop(this.hl);this.Rb.play(this.hb,this.m,this.Rf)}; 2180w.prototype.Exa=function(){this.Rb.BD()&&this.SS();this.Rf=this.Rb.getCurrentTime();this.Rb.unbind(p.Oj,this.fM,this,!0);this.Rb.unbind(p.Ff,this.Xe,this,!0);this.Rb.unbind(p.Ci,this.Im,this,!0);this.Rb.unbind(b.Nj,this.ii,this,!0);this.A==h.T&&(this.Rb.stop(),this.Rb.setCurrentTime(0),this.PGa());this.Rb=null};w.prototype.clear=function(){u.fQ(this);this.h3();this.v&&(this.v.unbind(b.G("subtitlesURL"),this.Km,this,!0),this.v.unbind(b.G("gain"),this.oG,this,!0),this.v=null);this.Za&&(this.Za.unbind(b.G("subtitlesURL"), 2181this.Km,this,!0),this.Za.unbind(b.G("url"),this.Km,this,!0),this.Za.unbind(b.G("srcObject"),this.Km,this,!0),this.Za=null)};w.prototype.Km=function(){this.vC&&clearTimeout(this.vC);this.vC=setTimeout(function(){this.vC=null;this.Rb&&(this.m.ln=this.v.get("subtitlesURL")||this.Za.get("subtitlesURL"),this.m.src=this.Za.get("srcObject")||e(this.Za.get("url")),this.Rb.play(this.hb,this.m,this.Rf))}.bind(this),10)};w.prototype.oG=function(){this.Rb&&(this.m.gain=this.v.get("gain",1)*this.Za.get("gain", 21821),this.Rb.qQ(this.m.gain))};w.prototype.JN=function(){this.m=new r;this.m.src=this.Za.get("srcObject")||e(this.Za.get("url"));this.m.ln=this.v.get("subtitlesURL")||this.Za.get("subtitlesURL");this.m.vz=this.v.get("hasAudio",!0)&&this.Za.get("hasAudio",!0);this.m.gain=this.v.get("gain",1)*this.Za.get("gain",1)};w.prototype.SS=function(){this.O||(this.O=document.createElement("canvas"));if(!this.VT()){this.O.width=this.Rb.yd();this.O.height=this.Rb.je();this.nS=this.Rb.getCurrentTime();var x=this.O.getContext("2d"); 2183x.clearRect(0,0,this.O.width,this.O.height);this.ZE=this.Rb.aI(x,this.O.width,this.O.height)}};w.prototype.VT=function(){var x=this.Rb.getCurrentTime();this.sb&&(x=Math.min(x,this.sb));return this.ZE&&.15>=Math.abs(x-this.nS)};w.prototype.h3=function(){this.ZE&&(this.nS=void 0,this.ZE=!1,f.browser()!=f.am&&(this.O.width=0,this.O.height=0,this.O=null))};w.prototype.Im=function(){this.sb=this.Rb.Xi();this.S$()};w.prototype.Xe=function(){this.sb!=this.Rb.Xi()&&this.Im();this.Rf=this.Rb.getCurrentTime(); 2184f.zd()==f.Fi&&0<this.Rf&&this.Rf>this.sb-.15&&!this.VT()&&!this.hl?this.SS():f.browser()==f.$l&&0<this.Rf&&this.Rf>this.sb-.05&&!this.VT()&&this.hl&&this.SS();this.pO()};w.prototype.ii=function(){this.wn=this.Rb.nP().map(function(x){for(var y=null,z=0;z<this.wn.length&&!y;z++)this.wn[z].cue==x&&(y=this.wn[z]);y||(y=new q(x));return y}.bind(this));this.trigger(new m(b.Nj))};w.prototype.PGa=function(){0!=this.wn.length&&(this.wn=[],this.trigger(new m(b.Nj)))};w.prototype.fM=function(){this.Id(h.T); 2185this.T$()};w.prototype.U9=function(){this.Rf=0;this.pO()};w.prototype.pO=function(){this.trigger(new m(w.Ff))};w.prototype.S$=function(){this.trigger(new m(w.Ci))};w.prototype.T$=function(){this.trigger(new m(b.vb))};w.prototype.W$=function(){this.trigger(new m(b.ne))};w.Ff="time update";w.Ci="duration update";w.Gj=function(x){if(c.Oa("Video360Resource",x))return v.gXa(x);if(c.Oa("VideoResource",x))return v.iXa(x);throw"invalid video resource object: "+x;};return w}); 2186define("gw",["require","oR","kX","cB","oo"],function(a){function e(h,d,c,f){this.aa=h;this.m=d;this.ve=c;this.Ca=f;this.sc=h.Gb();this.Rf=this.m.get("currentTime");this.A=this.m.get("state");this.hl=this.m.get("loop");this.TV=this.sc.get("mute");this.MU=this.m.get("mute");this.A=this.m.get("autoplay")?m.X:m.Ib;this.h2();this.m.set("state",this.A);this.aa.Ef(this.TV||this.MU);this.aa.setLoop(this.hl);this.aa.setCurrentTime(this.Rf);this.aa.Id(this.A)}var k=a("oR"),m=a("kX"),l=a("cB"),b=a("oo");e.prototype.dispose= 2187function(){this.n9()};e.prototype.fpa=function(){var h=this.m.get("currentTime",0);this.Rf!=h&&this.aa.setCurrentTime(this.Rf=h)};e.prototype.jpa=function(){var h=this.m.get("state",m.T);this.A!=h&&this.aa.Id(this.A=h)};e.prototype.hpa=function(){var h=this.m.get("mute",!1);this.MU!=h&&this.aa.Ef(this.TV||(this.MU=h))};e.prototype.gpa=function(){var h=this.m.get("loop",!1);this.hl!=h&&this.aa.setLoop(this.hl=h)};e.prototype.CM=function(){var h=this.sc.get("mute",!1);this.TV!=h&&this.aa.Ef((this.TV= 2188h)||this.MU)};e.prototype.LM=function(){this.m.set("currentTime",this.Rf=this.aa.getCurrentTime())};e.prototype.JM=function(){this.m.set("duration",this.aa.Xi())};e.prototype.KM=function(){this.m.set("state",this.A=this.aa.getState());this.Ca()};e.prototype.MM=function(){this.ve.trigger(new l(k.vb))};e.prototype.h2=function(){this.sc.bind(k.G("mute"),this.CM,this,!0);this.aa.bind(b.Ff,this.LM,this,!0);this.aa.bind(b.Ci,this.JM,this,!0);this.aa.bind(k.ne,this.KM,this,!0);this.aa.bind(k.vb,this.MM, 2189this,!0);this.m.bind(k.G("currentTime"),this.fpa,this,!0);this.m.bind(k.G("state"),this.jpa,this,!0);this.m.bind(k.G("mute"),this.hpa,this,!0);this.m.bind(k.G("loop"),this.gpa,this,!0)};e.prototype.n9=function(){this.sc.unbind(k.G("mute"),this.CM,this,!0);this.aa.unbind(b.Ff,this.LM,this,!0);this.aa.unbind(b.Ci,this.JM,this,!0);this.aa.unbind(k.ne,this.KM,this,!0);this.aa.unbind(k.vb,this.MM,this,!0);this.m.unbind(k.G("currentTime"),this.fpa,this,!0);this.m.unbind(k.G("state"),this.jpa,this,!0);this.m.unbind(k.G("mute"), 2190this.hpa,this,!0);this.m.unbind(k.G("loop"),this.gpa,this,!0)};return e}); 2191define("w","require oR kX id ct lu eL gj".split(" "),function(a){function e(f,g,p,q){this.kp();this.aa=f;this.m=g;this.Za=p;this.Ca=q;this.LG=this.Za.get("posterURL");this.fua=this.Za.get("url");this.ja=this.Za.get("width");this.wa=this.Za.get("height");this.Kf=null;this.SC=this.TC=void 0;this.Mma();
2191this.Za.bind(k.G("posterURL"),this.dpa,this,!0);this.Ca();this.za=this.O=null}var k=a("oR"),m=a("kX"),l=a("id"),b=a("ct"),h=a("lu"),d=a("eL"),c=a("gj");e.prototype.update=function(){var f=this.aa.VY(); 2192f.isEmpty()&&(f=null);if(f&&(!this.Kf||this.Kf&&!this.Kf.isEqual(f))){this.Kf=f;f=this.Kf.zr;var g=c.CI(f);g&&(f.width=f.videoWidth||this.ja,f.height=f.videoHeight||this.wa);!this.O&&this.fua&&c.gCa(this.fua)&&(this.O=document.createElement("canvas"),this.O.width=this.ja,this.O.height=this.wa,this.za=this.O.getContext("2d"));this.O&&g&&(this.za.drawImage(f,0,0,this.O.width,this.O.height),f=this.O);this.Tra(f)}else!this.Kf&&this.bv&&this.Sa.image!=this.bv&&this.Tra(this.bv);(this.Sa.needsUpdate||this.aa.getState()== 2193m.X)&&this.Ca()};e.prototype.dpa=function(){this.UQa(this.Za.get("posterURL"))};e.prototype.UQa=function(f){this.LG!=f&&(this.hta(),this.LG=f,this.Mma())};e.prototype.Mma=function(){this.LG&&(this.bv=null,this.KG=new b,this.KG.YI([this.LG]),this.KG.bind(k.Z,this.cpa,this,!0),h.dn(this.KG,this.m.get("loadPriority",l.Sk)))};e.prototype.hta=function(){this.LG&&(this.KG.unbind(k.Z,this.cpa,this,!0),h.cj(this.KG,this.m.get("loadPriority",l.Sk)),this.bv=this.KG=null)};e.prototype.cpa=function(){this.bv= 2194h.rf(this.LG);if(this.bv.width!=this.ja||this.bv.height!=this.wa){var f=document.createElement("canvas"),g=f.getContext("2d");f.width=this.ja;f.height=this.wa;g.drawImage(this.bv,0,0,this.ja,this.wa);this.bv=f}this.Ca()};e.prototype.Tra=function(f){this.Sa&&this.TC==f.width&&this.SC==f.height?this.Sa.image=f:this.kp(f);this.Sa.needsUpdate=!0};e.prototype.kp=function(f){this.MS();this.Sa=new THREE.Texture;this.Sa.image=f||d.Wva();this.TC=this.Sa.image.width;this.SC=this.Sa.image.height;this.Sa.generateMipmaps= 2195!1;this.Sa.minFilter=THREE.LinearFilter;this.Sa.magFilter=THREE.LinearFilter;this.Sa.format=THREE.RGBAFormat};e.prototype.MS=function(){this.Sa&&(this.SC=this.TC=void 0,this.Sa.dispose(),this.Sa=null)};e.prototype.dispose=function(){this.hta();this.Za.unbind(k.G("posterURL"),this.dpa,this,!0);this.za=this.Za=null;this.O&&(this.O=this.O.width=this.O.height=0);this.MS();this.Ca=this.Pg=this.aa=null};e.prototype.fZ=function(){return this.Sa};return e}); 2196define("dm","require exports kJ oR id ct lu three.mod".split(" "),function(a,e,k,m,l,b,h,d){var c=["alphaMap"];return function(){function f(g,p,q){this.e_a=function(n){this.mY!=n&&(this.OBa(),this.mY=n,this.lYa())};this.properties=g;this.level=p;this.bb=q;this.TZ=this.TZ.bind(this);k.ga(this.level,c,this.TZ,!0)}f.prototype.dispose=function(){k.ca(this.level,c,this.TZ);this.OBa();this.TVa()};f.prototype.fZ=function(){return this.texture};f.prototype.TZ=function(){this.e_a(this.level.get("alphaMapURL"))}; 2197f.prototype.lYa=function(){this.mY&&(this.jD=new b,this.jD.YI([this.mY]),this.jD.bind(m.Z,this.xya,this,!0),h.dn(this.jD,this.properties.get("loadPriority",l.Sk)))};f.prototype.OBa=function(){this.jD&&(this.jD.unbind(m.Z,this.xya,this,!0),h.cj(this.jD,this.properties.get("loadPriority",l.Sk)),this.Bua=this.jD=null)};f.prototype.xya=function(){this.Bua=h.rf(this.mY);this.createTexture();this.bb()};f.prototype.createTexture=function(){this.texture=new d.Texture;this.texture.image=this.Bua;this.texture.generateMipmaps= 2198!1;this.texture.minFilter=d.LinearFilter;this.texture.magFilter=d.LinearFilter;this.texture.format=d.RGBAFormat;this.texture.needsUpdate=!0};f.prototype.TVa=function(){this.texture&&(this.texture.dispose(),this.texture=null)};return f}()}); 2199define("kO",["require","gj"],function(a){var e=a("gj");return{tCa:function(){this.blending=0;this.EI=void 0;this.XAa=this.threshold=0},bEa:function(){this.xz=!1;this.height=this.width=100},create:function(k,m,l){var b=k.xz&&e.Wwa(),h=k.xz&&e.Vwa(),d=void 0,c=!b,f={uniforms:{},transparent:!0};f.uniforms.text1={type:"sampler2D",value:null};f.uniforms.textAlpha={type:"sampler2D",value:null};f.uniforms.validTextAlpha={type:"bool",value:!1};f.uniforms.opacity={type:"float",value:1};f.vertexShader=["varying vec2 vUV;\nvoid main() {", 2200"\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.EI){b=[];var g=[];b=b.concat(["uniform sampler2D text1;","uniform sampler2D textAlpha;","uniform bool validTextAlpha;","uniform float opacity;","varying vec2 vUV;"]);g=g.concat([" vec4 color = texture2D(text1, vUV);"," float alpha = color.a * opacity;
2200"," if (validTextAlpha)"," alpha *= texture2D(textAlpha, vUV).r;"]);m.blending&& 2201(d=.5*Math.min(k.width,k.height)*m.blending,f.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(d/k.width,d/k.height)},b=b.concat(["uniform vec2 blendingLimit;"]),g=g.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(","))); 2202m.EI&&(f.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(m.EI.substr(1,2),16)/255,parseInt(m.EI.substr(3,2),16)/255,parseInt(m.EI.substr(5,2),16)/255)},f.uniforms.chromaThreshold={type:"f",value:m.threshold},f.uniforms.chromaSmoothing={type:"f",value:m.XAa},b=b.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),g=g.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("{"))); 2203g=g.concat(["\tgl_FragColor = vec4(color"+(h?".bgr":".rgb")+", alpha);"]);d=THREE.RGBAFormat;f.fragmentShader=[].concat(b,["void main() {"],g,["}"]).join("\n")}else f.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}"; 2204k=new THREE.ShaderMaterial(f);k.transparent=!0;k.depthWrite=!0;k.side=THREE.FrontSide;k.depthTest=!0;k.needsUpdate=!0;k.userData.CBa=c;k.userData.DBa=d;this.Nz(k,l);return k},Nz:function(k,m){k.uniforms.text1.value!==m&&(void 0!==k.userData.CBa&&(m.flipY=k.userData.CBa),void 0!==k.userData.DBa&&(m.format=k.userData.DBa),k.uniforms.text1.value=m)},Y1a:function(k,m){k.uniforms.textAlpha.value!==m&&(k.uniforms.textAlpha.value=m,k.uniforms.validTextAlpha.value=!!m)}}}); 2205define("on",["require","oo","oR"],function(a){function e(m,l){this.Nc=m;this.aa=l;this.e2=[];this.R2();this.ii()}a("oo");var k=a("oR");e.prototype.clear=function(){this.JGa();this.$$();this.aa=this.Nc=null};e.prototype.R2=function(){this.aa.bind(k.Nj,this.ii,this,!0)};e.prototype.$$=function(){this.aa.unbind(k.Nj,this.ii,this,!0)};e.prototype.ii=function(){this.Nc.set("activeSubtitles",this.e2=this.aa.wn)};e.prototype.JGa=function(){this.Nc.get("activeSubtitles")==this.e2&&this.Nc.set("activeSubtitles", 2206this.e2=[])};return e}); 2207define("hf","require kJ oR kX gw w dm kO gj fF on oo".split(" "),function(a){function e(n){this.o=n;this.XU=this.XU.bind(this);n=n.getComponent(g.un);this.ve=n.ba;this.m=n.properties;this.YX=n.lfa;this.sc=this.o.R.sc;this.Ca=this.Ca.bind(this);this.Wf=!1;this.Za=null;k.ga(this.YX,["levels.url","levels.srcObject","levels.width","levels.height"],this.XU,!0)}var k=a("kJ"),m=a("oR"),l=a("kX"),b=a("gw"),h=a("w"),d=a("dm"),c=a("kO"),f=a("gj"),g=a("fF"),p=a("on"),q=a("oo");e.prototype.update=function(){this.Wf&& 2208(this.Wf=!1,this.ko.update(),c.Nz(this.ia,this.ko.fZ()),c.Y1a(this.ia,this.l2.fZ()))};e.prototype.XU=function(){this.BN(q.Gj(this.YX))};e.prototype.BN=function(n){n=n&&(n.get("url")||n.get("srcObject"))?n:null;this.Za!=n&&(this.Za&&(this.eua.dispose(),this.eua=null,this.m.unbind(m.G("opacity"),this.ipa,this,!0),this.m4(),this.ko.dispose(),this.ko=null,this.l2.dispose(),this.l2=null,this.xIa(),this.Wf=!1),this.Za=n)&&(this.gIa(),this.eua=new b(this.aa,this.m,this.ve,this.Ca),this.ko=new h(this.aa, 2209this.m,this.Za,this.Ca),this.l2=new d(this.m,this.Za,this.Ca),this.bu(),this.m.bind(m.G("opacity"),this.ipa,this,!0),this.Gra(this.zb=this.m.get("opacity",1)),this.Wf=!1,this.Ca())};e.prototype.Ca=function(){this.Wf||(this.Wf=!0,this.o.R.bb())};e.prototype.gIa=function(){this.aa=new q(this.o.R.sc,this.YX);this.wv=new p(this.m,this.aa)};e.prototype.xIa=function(){this.aa.Id(l.T);this.aa.clear();this.aa=null;this.wv.clear();this.wv=null};e.prototype.bu=function(){var n=new c.bEa;n.xz=!this.Za.get("srcObject")&& 2210f.xz(this.Za.get("url"));n.width=this.Za.get("width");n.height=this.Za.get("height");var r=new c.tCa;r.blending=this.m.get("blending",0);r.EI=this.m.get("chromaColor");r.threshold=this.m.get("chromaThreshold",0);r.XAa=this.m.get("chromaSmoothing",0);this.ia=c.create(n,r,this.ko.fZ());this.o.H(g.Material).material=this.ia};e.prototype.m4=function(){this.ia.dispose();this.ia=null;this.o.na(g.Material)};e.prototype.dispose=function(){this.BN(null);this.m.set("state",l.T);this.o=this.ve=this.m=this.sc= 2211null;k.ca(this.YX,["levels.url","levels.srcObject","levels.width","levels.height"],this.XU)};e.prototype.ipa=function(){var n=this.m.get("opacity");this.zb!=n&&(this.Gra(this.zb=n),this.Ca())};e.prototype.Gra=function(n){this.ia.opacity=n;this.ia.isShaderMaterial&&this.ia.uniforms.opacity&&(this.ia.uniforms.opacity.value=n)};e.Pb=function(n){n.H(g.Vw).manager=new e(n)};e.gb=function(n){var r=n.getComponent(g.Vw);r.manager.dispose();r.manager=null;n.na(g.Vw)};
2211e.update=function(n){n.getComponent(g.Vw).manager.update()}; 2212return e});define("ez",["require","lx","lH","fF","hf"],function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("hf");a=e.extend(k,function(){k.apply(this,arguments)});a.prototype.xd=function(){this.Ol.C.length&&this.Ol.C.slice().forEach(l.Pb);this.Pl.C.length&&this.Pl.C.slice().forEach(l.gb);this.materials.C.length&&this.materials.C.slice().forEach(l.update)};a.K={};a.K.Ol=[m.un,m.Vw.not];a.K.materials=[m.un,m.Vw];a.K.Pl=[m.un.not,m.Vw];return a}); 2213define("oI",["require","lx","lH","cp","fF"],function(a){var e=a("lx"),k=a("lH"),m=a("cp"),l=a("fF");a=e.extend(k,function(){k.apply(this,arguments);this.X9=this.X9.bind(this);this.BH=this.BH.bind(this)});a.prototype.xd=function(){this.mfa.de.length&&this.mfa.de.slice().forEach(this.X9);this.OD.Ua.length&&this.OD.Ua.slice().forEach(this.BH);this.Vs.Ua.length&&this.Vs.Ua.slice().forEach(this.BH);this.OD.de.length&&this.OD.de.slice().forEach(this.BH);this.Vs.de.length&&this.Vs.de.slice().forEach(this.BH)}; 2214a.prototype.X9=function(b){var h=b.getComponent(l.gm),d=m.Xba(h.ie),c=d&&d.width||100;d=d&&d.height||100;if(h.width!=c||h.height!=d)h=b.J(l.gm),h.width=c,h.height=d};a.prototype.BH=function(b){var h=m.Xba(b);this.mfa.C.forEach(function(d){if(d.getComponent(l.gm).ie==b){var c=d.getComponent(l.gm);if(c.width!=h.width||c.height!=h.height)c=d.J(l.gm),c.width=h.width,c.height=h.height}})};a.K={};a.K.mfa=[l.gm];a.K.OD=[l.OrthographicCamera];a.K.Vs=[l.PerspectiveCamera];return a}); 2215define("ec",["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}
2215,set:function(a,e,k,m,l,b,h,d,c,f,g,p,q,n,r){var t=a.getAttribute("position").array,u=a.getAttribute("normal").array,v= 2216a.getAttribute("uv").array,w=a.getIndex().array;t[9]=t[0]=e;t[10]=t[1]=k;t[11]=t[2]=m;v[6]=v[0]=l;v[7]=v[1]=b;t[3]=t[0]+g;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]+d;t[14]=t[8]=t[5]+c;v[8]=v[4]=v[2]+f;v[9]=v[5]=v[3];t[15]=t[12]-g;t[16]=t[13]-p;t[17]=t[14]-q;v[10]=v[8];v[11]=v[9]-n;e=d*q-c*p;c=c*g-h*q;h=h*p-d*g;d=1/Math.sqrt(e*e+c*c+h*h);u[0]=u[3]=u[6]=u[9]=u[12]=u[15]=e*d;u[1]=u[4]=u[7]=u[10]=u[13]=u[16]=c*d;u[2]=u[5]=u[8]=u[11]=u[14]=u[17]=h*d;w[0]=0;w[1]=2; 2217w[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}}}); 2218define("ow",["require","oR","lA"],function(a){function e(l,b,h){this.vp=l;this.m=b;this.O5=h;this.wW=this.wW.bind(this);this.OE=void 0;this.m.forEach(function(d){this.vp.bind(k.G(d),this.eM,this,!0)}.bind(this));this.wW()}var k=a("oR"),m=a("lA");e.prototype.stop=function(){this.m.forEach(function(l){this.vp.unbind(k.G(l),this.eM,this,!0)}.bind(this));this.OE&&(m.cancel(this.OE),this.OE=void 0)};e.prototype.eM=function(){this.OE||(this.OE=m.Ez(this.wW))};e.prototype.wW=function(){this.OE=void 0;var l= 2219this.vp;this.O5.apply(window,this.m.map(function(b){return l.get(b)}))};return e}); 2220define("fy","require lx lH fF ec ow cp mZ mm".split(" "),function(a){var e=a("lx"),k=a("lH"),m=a("fF"),l=a("ec"),b=a("ow"),h=a("cp"),d=a("mZ"),c=a("mm"),f=e.extend(k,function(){k.apply(this,arguments);this.W9=this.W9.bind(this);this.waa=this.waa.bind(this);this.z$=this.z$.bind(this)});f.prototype.xd=function(){this.cQ.C.length&&this.cQ.C.slice().forEach(this.W9);this.planes.Ua.length&&this.planes.Ua.slice().forEach(this.waa);this.oza.C.length&&this.oza.C.slice().forEach(this.z$)};f.prototype.W9=function(g){var p= 2221g.getComponent(m.Ww),q=g.H(m.gm);q.ie=p.ie;var n=h.Xba(p.ie);n&&(q.width=n.width,q.height=n.height);q=g.H(m.Ft);q.geometry=l.create();q.Dza=new b(p.properties,"width height horizontalAlign verticalAlign scaleMode zIndex".split(" "),function(r,t,u,v,w,x){var y=g.J(m.Ft);y.$Aa=r;y.YAa=t;y.Xwa=u;y.verticalAlign=v;y.Vza=w;y.zIndex=x});g.H(m.Geometry).geometry=q.geometry};f.prototype.z$=function(g){var p=g.getComponent(m.Ft);p.geometry.dispose();p.geometry=null;p.Dza.stop();p.Dza=null;g.na(m.Geometry); 2222g.na(m.gm);g.na(m.Ft)};f.prototype.waa=function(g){var p=g.getComponent(m.Ft),q=g.getComponent(m.gm),n=q.width,r=q.height,t=p.$Aa,u=p.YAa;switch(p.Vza){case c.NONE:q=t;var v=u;break;case c.Ro:q=n;v=u*n/t;break;case c.Rj:v=r;q=t*r/u;break;case c.Zq: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.Xwa){case d.Ya:n=.5*-n;break;case d.rb:n=.5*n-q;break;default:n=.5*-q}switch(p.verticalAlign){case d.vc:r=.5*r-v;break;case d.oc:r=.5*-r;break;default:r=.5*-v}t= 2223p.zIndex-f.gDa;l.set(p.geometry,n,r,0,0,0,q,0,0,1,0,v,0,1,0);g.J(m.Aa,!0).positionZ=t;g.R.bb()};f.gDa=100;f.K={};f.K.cQ=[m.Ww,m.Ft.not];f.K.planes=[m.Ww,m.Ft,m.gm];f.K.oza=[m.Ww.not,m.Ft];return f}); 2224define("iM","require ng o na ic hi iu le hS lC mG iY cO oB fT eW hH f ld hj he mP dk iD mn lD eY nA iz li eD ho ez oI fy".split(" "),function(a){var e=a("ng"),k=a("o"),m=a("na"),l=a("ic"),b=a("hi"),h=a("iu"),d=a("le"),c=a("hS"),f=a("lC"),g=a("mG"),p=a("iY"),q=a("cO"),n=a("oB"),r=a("fT"),t=a("eW"),u=a("hH"),v=a("f"),w=a("ld"),x=a("hj"),y=a("he"),z=a("mP"),C=a("dk"),A=a("iD"),B=a("mn"),I=a("lD"),E=a("eY"),G=a("nA"),F=a("iz"),N=a("li"),R=a("eD"),S=a("ho"),Q=a("ez"),W=a("oI");a=a("fy");var H={};H.Animation= 2225e;H.Zl=k;H.Dw=m;H.Camera=l;H.sCa=b;H.Xh=h;H.Hw=d;H.nt=c;H.Group=f;H.dm=g;H.Wg=p;H.Light=q;H.Line=n;H.ar=r;H.Yh=t;H.st=u;H.Mesh=v;H.uh=w;H.tDa=x;H.kb=z;H.Plane=y;H.ej=C;H.Tj=A;H.hr=B;H.vh=I;H.Scene=E;H.Selection=G;H.Fc=F;H.Sphere=N;H.Sprite=R;H.Aa=S;H.un=Q;H.gm=W;H.Ww=a;return H}); 2226define("nV",["require","v"],function(a){var e=a("v");return{GBa:function(k,m){m||(m="screenshot.jpg");a:{try{var l=k.toDataURL("image/jpeg");break a}catch(c){}l=void 0}if(!l)return!1;var b=l;k=document.createElement("a");if("string"===typeof k.download)document.body.appendChild(k),k.download=m,k.href=b,k.click(),document.body.removeChild(k);else if(e.browser()==e.Bw){k=window.navigator;l=k.msSaveOrOpenBlob;
2226b=atob(b.split(",")[1]);for(var h=[],d=0;d<b.length;d++)h.push(b.charCodeAt(d));b=new Blob([new Uint8Array(h)], 2227{type:"image/jpeg"});l.call(k,b,m)}else window.location.replace(b);return!0}}}); 2228define("gq","require lx oR e cf kn lp fF iM nV".split(" "),function(a){function e(n){return n.map(function(r){return String.fromCharCode(r)}).join("")}var k=a("lx"),m=a("oR"),l=a("e"),b=a("cf"),h=a("kn"),d=a("lp"),c=a("fF"),f=a("iM"),g=a("nV");a=k.extend(l,function(n,r){l.call(this);this.sc=n;this.yUa=r;this.fz=(new d(n)).ta(c.lE).ta(c.Animation).ta(c.bt).ta(c.Tz).ta(c.Zl).ta(c.Aw).ta(c.Uz).ta(c.Dw).ta(c.Ew).ta(c.qn).ta(c.gt).ta(c.Xh).ta(c.Fw).ta(c.cR).ta(c.Jo).ta(c.Gw).ta(c.Hw).ta(c.nA).ta(c.mt).ta(c.oA).ta(c.ot).ta(c.nt).ta(c.$q).ta(c.Geometry).ta(c.Group).ta(c.vE).ta(c.dm).ta(c.Nw).ta(c.Light).ta(c.qt).ta(c.Line).ta(c.Wg).ta(c.Ow).ta(c.ar).ta(c.Qw).ta(c.Pw).ta(c.Material).ta(c.Yh).ta(c.Rw).ta(c.st).ta(c.Vo).ta(c.Mesh).ta(c.dr).ta(c.uh).ta(c.tt).ta(c.zJ).ta(c.pDa).ta(c.Wo).ta(c.sA).ta(c.Object3D).ta(c.BE).ta(c.ut).ta(c.tA).ta(c.vt).ta(c.OrthographicCamera).ta(c.Sw).ta(c.PerspectiveCamera).ta(c.fr).ta(c.kb).ta(c.er).ta(c.ej).ta(c.vA).ta(c.Plane).ta(c.xt).ta(c.df).ta(c.yt).ta(c.Tj).ta(c.gr).ta(c.zt).ta(c.hr).ta(c.At).ta(c.Fc).ta(c.Ct).ta(c.Aa).ta(c.zA).ta(c.Hf).ta(c.vh).ta(c.jr).ta(c.Scene).ta(c.lr).ta(c.md).ta(c.wA).ta(c.Sphere).ta(c.xA).ta(c.Sprite).ta(c.mr).ta(c.Fc).ta(c.Ct).ta(c.un).ta(c.Vw).ta(c.gm).ta(c.Ww).ta(c.Ft).ta(c.FE).Hd(f.Camera,"Camera").Hd(f.gm, 2229"Viewport").Hd(f.dm,"ImageMaterial").Hd(f.Xh,"CanvasMaterial").Hd(f.Wg,"LineMaterial").Hd(f.Fc,"SolidMaterial").Hd(f.un,"VideoMaterial").Hd(f.st,"MaterialVariant").Hd(f.Ww,"ViewportPlaneGeometry").Hd(f.Group,"Group").Hd(f.Line,"Line").Hd(f.Mesh,"Mesh").Hd(f.Plane,"Plane").Hd(f.Sphere,"Sphere").Hd(f.Sprite,"Sprite").Hd(f.uh,"Model").Hd(f.hr,"ProjectedMaterial").Hd(f.Light,"Light").Hd(f.Scene,"Scene").Hd(f.kb,"Parent").Hd(f.tDa,"ObjectId").Hd(f.Animation,"Animation").Hd(f.Yh,"ObjectTransform").Hd(f.nt, 2230"FloorTransform").Hd(f.sCa,"CameraControls").Hd(f.Hw,"Dragging").Hd(f.Selection,"Selection").Hd(f.Tj,"PointerOverTransform").Hd(f.ej,"PixelScaleTransform").Hd(f.Aa,"Transform").Hd(f.Zl,"Area").Hd(f.ar,"LineToTransform").Hd(f.Camera.mE,"CameraAutoNearFar").Hd(f.Dw,"Beacon").Hd(f.vh,"Renderer");this.j=this.fz.bd("Renderer");this.FC=[];this.OC=!1;this.PK=new h;this.Fb().append(this.PK.Bc());this.bind(m.ld,this.mk,this,!0);this.bind(m.hd,this.hk,this,!0)});a.prototype.bd=function(n){return this.fz.bd(n)}; 2231a.prototype.Ne=function(n){this.fz.Ne(n)};a.prototype.yua=function(n){!(0<=this.FC.indexOf(n))&&(this.FC.push(n),n=this.j.J(c.vh))&&(n.nQ=this.FC.slice())};a.prototype.OZa=function(n){n=this.FC.indexOf(n);!(0>n)&&(this.FC.splice(n,1),n=this.j.J(c.vh))&&(n.nQ=this.FC.slice())};a.prototype.s_=function(n){this.fz.s_(n)};a.prototype.G0a=function(){if(1!=this.OC){this.OC=!0;var n=this.j.J(c.vh);n&&(n.shadowMap=this.OC)}};a.prototype.Wb=function(n){this.fz.Wb(n)};a.prototype.TD=function(){this.PK.trigger();
2232this.fz.update();return g.GBa(this.j.getComponent(c.vh).canvas)};a.prototype.Dba=function(){this.fz.update();return this.j.getComponent(c.vh).canvas.toDataURL("image/png")};a.prototype.mk=function(){this.qRa()};a.prototype.hk=function(){this.jSa()};a.prototype.qRa=function(){var n=this.j.getComponent(c.vh);if(!n&&(n=this.j.H(c.vh),n.bI=document.createElement("div"),this.Fb().oY(n.bI),n.nQ=this.FC.slice(),n.antialias=!0,n.shadowMap=this.OC,this.sc.get(p)&&this.yUa)){this.LO=document.createElement("div"); 2233for(var r in q)this.LO.style[r]=q[r];this.Fb().oY(this.LO)}};a.prototype.jSa=function(){var n=this.j.getComponent(c.vh);n&&(this.Fb().Kza(n.bI),this.LO&&this.Fb().Kza(this.LO),this.LO=null,this.j.na(c.vh))};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, 2234117,110,100,73,109,97,103,101])]=e([117,114,108,40,34])+b.cEa+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}); 2235define("eP",["require","kJ","oR","nH","fF"],function(a){function e(c,f,g){this.j=c;this.ea=f;this.Ji=g;this.M=this.j.M;this.Fa=null;this.We=this.We.bind(this);this.j.bind(m.lc,this.hc,this,!0);this.ea.bind(m.G("camera"),this.QU,this,!0);this.M.bind(m.G("isKeyboardTarget"),this.S7,this,!0);this.QU();this.S7();this.hc()}var k=a("kJ"),m=a("oR"),l=a("nH"),b=a("fF");e.prototype.Wb=function(c){for(var f in d){var g=this.Ji.J(d[f]);g&&(g.enabled=c)}};e.prototype.dispose=function(){this.Fa&&(this.Y9(!1), 2236k.ca(this.Fa,h,this.We),this.Fa=null);this.ea.unbind(m.G("camera"),this.QU,this,!0);this.ea=null;this.M.unbind(m.G("isKeyboardTarget"),this.S7,this,!0);this.M=null;this.j.unbind(m.lc,this.hc,this,!0);this.Ji=this.j=null};e.prototype.QU=function(){var c,f;for(f in d){var g=d[f];this.ea.get("camera")&&l.Oa(f,this.ea.get("camera"))?c=this.Ji.J(g,!0):this.Ji.na(g)}c&&(c.properties=this.ea.get("camera"),c.lg=this.j.getParent(),c.Yza=this.M.wL,c.yz=this.M.get("isKeyboardTarget"))};e.prototype.S7=function(){var c= 2237this.ea.get("camera"),f,g;for(g in d){var p=d[g];c&&l.Oa(g,c)&&(f=this.Ji.J(p,!0))}f&&(f.yz=this.M.get("isKeyboardTarget"));this.Fa!=c&&(this.Fa&&(this.Y9(!1),k.ca(this.Fa,h,this.We)),(this.Fa=c)&&k.ga(this.Fa,h,this.We,!0))};e.prototype.We=function(){var c=this.Ji.J(b.PerspectiveCamera,!0);c.Jua=this.Fa.get("autoNearFar");c.Kua=this.Fa.get("autoNearFarTolerance");c.near=this.Fa.get("near");c.far=this.Fa.get("far");this.Y9(this.Fa.get("userInteracting"))};e.prototype.hc=function(){var c=this.Ji.J(b.PerspectiveCamera, 2238!0);c.width=this.j.qf();c.height=this.j.pf()};e.prototype.Y9=function(c){this.Rh!=c&&(this.Rh=c,this.Fa&&this.Fa.trigger(this.Rh?m.gha:m.fha))};var h=["autoNearFar","autoNearFarTolerance","near","far","userInteracting"],d={OrbitModel3DCamera:b.tA,FirstPersonModel3DCamera:b.nA,FlyOverModel3DCamera:b.oA};return e}); 2239define("nS",["require","exports","kJ"],function(a,e,k){return function(){function m(){this.XP=this.XP.bind(this);this.m_=this.object=null;this.elements=[];this.hP=new Map;this.wza=this.mg=this.de=this.filter=null}m.prototype.dE=function(l,b){this.dispose();this.object=l;this.m_=b;k.ga(this.object,[this.m_],this.XP,!0)};m.prototype.XP=function(l){l=l||[];this.filter&&(l=l.filter(this.filter));var b=this.elements,h=this.elements=l;b.forEach(function(d,c){var f=h.indexOf(d);if(-1==f){var g=this.hP.get(d); 2240this.hP["delete"](d);this.mg&&this.mg(d,g)}else f!=c&&(g=this.hP.get(d),this.wza&&(c=this.wza(d,f,g,c),c!=g&&this.hP.set(d,c)))}.bind(this));h.forEach(function(d,c){-1==b.indexOf(d)&&this.de&&(c=this.de(d,c),this.hP.set(d,c))}.bind(this))};m.prototype.dispose=function(){this.object&&(k.ca(this.object,[this.m_],this.XP),this.XP([]),this.m_=this.object=null)};return m}()}); 2241define("ln",["require","exports","fF","nS"],function(a,e,k,m){return function(){function l(b,h){this.model=b;this.le=h;this.Pca=new Map;this.CZ=new m;this.CZ.de=this.KYa.bind(this);this.CZ.mg=this.LYa.bind(this);this.CZ.dE(this.model,"lights")}l.prototype.dispose=function(){this.CZ.dispose()};l.prototype.KYa=function(b){var h=this.le.R.bd("Light"),d=h.H(k.Light);d.properties=b;d.target=this.le;this.Pca.set(b,h)};l.prototype.LYa=function(b){var h=this.Pca.get(b);this.Pca["delete"](b);this.le.R.Ne(h)}; 2242return l}()});define("fQ",["require","exports","nH"],function(a,e,k){return function(){function m(){}m.cw=function(l,b){m.iY[l]=b};m.mXa=function(l){for(var b in m.iY)if(k.Oa(b,l))return!0;return!1};m.yVa=function(l,b,h,d,c){for(var f in m.iY)if(k.Oa(f,l))return new m.iY[f](l,b,h,d,c);return null};m.iY={};return m}()}); 2243define("pm",["require","exports","nS","fQ"],function(a,e,k,m){return function(){function l(b,h,d,c,f){this.XZa=b;this.model=h;this.le=d;this.Zca=c;this.renderer=f;this.filter=this.filter.bind(this);this.de=this.de.bind(this);this.mg=this.mg.bind(this);this.LD=new k;this.LD.filter=this.filter;this.LD.de=this.de;this.LD.mg=this.mg;this.LD.dE(this.model,"objects")}l.prototype.filter=function(b){return m.mXa(b)?!0:!1};l.prototype.de=function(b){return m.yVa(b,this.XZa,this.le,this.Zca,this.renderer)}; 2244l.prototype.mg=function(b,h){h.dispose()};l.prototype.dispose=function(){this.LD.dispose()};return l}()}); 2245define("jh",["require","exports","oR","nH"],function(a,e,k,m){return function(){function l(b,h){this.SL=b.SL;this.ea=h;this.uj=[];this.SL.bind(k.G("spritesEnabled"),this.wpa,this,!0);this.ea.bind(k.G("objects"),this.jC,this,!0);this.fa()}l.prototype.dispose=function(){this.SL.unbind(k.G("spritesEnabled"),this.wpa,this);this.ea.unbind(k.G("objects"),this.jC,this);
2245this.uj.forEach(function(b){b.gea(!1)});this.uj=[]};l.prototype.wpa=function(){this.fa()};l.prototype.jC=function(){this.fa()};l.prototype.fa= 2246function(){var b=[];!1===this.SL.get("spritesEnabled")&&b.push("SpriteModel3DObject");var h=this.ea.get("objects");this.uj.forEach(function(d){-1==h.indexOf(d)&&d.gea(!1)});this.uj=h;this.uj.forEach(function(d){var c=b.some(function(f){return m.Oa(f,d)});d.gea(c)})};return l}()}); 2247define("bs",["require","exports","kJ"],function(a,e,k){var m=["camera","objects","postprocessing"],l=["userInteracting","moving"];return function(){function b(h){this.model=h;this.camera=null;this.zo=[];this.lda=this.lda.bind(this);this.PZ=this.PZ.bind(this);k.ga(this.model,m,this.lda,!0)}b.prototype.dispose=function(){this.zQ([])};b.prototype.lda=function(){this.setCamera(this.model.get("camera"));this.zQ([].concat(this.model.get("objects"),this.model.get("postprocessing")))};b.prototype.setCamera= 2248function(h){this.camera!==h&&(this.camera&&k.ca(this.camera,l,this.PZ),(this.camera=h)&&k.ga(this.camera,l,this.PZ,!0))};b.prototype.PZ=function(){this.$Ba()};b.prototype.zQ=function(h){this.zo!=h&&(h||(h=[]),this.zo&&this.zo.forEach(function(d){-1==h.indexOf(d)&&(d.FQ&&d.FQ(!1),d.mw&&d.mw(!1))}.bind(this)),this.zo=h,this.$Ba())};b.prototype.$Ba=function(){if(this.zo&&this.camera){var h=this.camera.get("userInteracting"),d=this.camera.get("moving");this.zo.forEach(function(c){c.FQ&&c.FQ(h);c.mw&& 2249c.mw(d)}.bind(this))}};return b}()}); 2250define("ns","require exports kJ fF pm jh bs".split(" "),function(a,e,k,m,l,b,h){var d=["variant"];return function(){function c(f,g,p,q){this.object=f;this.model=g;this.sda=p;this.renderer=q;this.a_=this.a_.bind(this);this.Y=this.sda.R.bd("Model");f=this.Y.H(m.uh);this.aP=f.aP=this.sda.R.bd("ModelContent");this.aP.H(m.kb).Y=this.Y;f.ba=this.object;this.object.get("preload")&&(f.yza=this.model.dZ().mz());f.wo=this.model.aZ().mz();f.$ca=this.object.get("model");f.properties=this.object;f=this.Y.H(m.md); 2251f.ba=this.object;f.Lv=!0;f.gw=!0;this.Y.H(m.kb).Y=this.sda;this.Y.H(m.Aa);k.ga(this.object,d,this.a_,!0);this.LD=new l(this.model,this.object,this.Y,this.aP,this.renderer);this.p1a=new b(this.renderer,this.object);this.p2a=new h(this.model)}c.prototype.Js=function(){return this.Y};c.prototype.dispose=function(){k.ca(this.object,d,this.a_);this.Y.R.Ne(this.aP);this.Y.R.Ne(this.Y);this.LD.dispose();this.p1a.dispose();this.p2a.dispose()};c.prototype.a_=function(){var f=this.object.get("variant");f?this.Y.J(m.st, 2252!0).name=f:this.Y.na(m.st)};return c}()}); 2253define("dY","require exports kJ oR id fF three.mod".split(" "),function(a,e,k,m,l,b,h){var d=["collidable"],c=["image"],f=["color","depthTest","opacity","width"],g=["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= 2254["clickEnabled","rollOverEnabled","transparentAreaActive","useHandCursor"],z=["castShadow","receiveShadow"],C=["color","depthTest","hidden","opacity"],A=["video"],B=["hidden","enabled","opacity"];return{pJ:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);k.ga(this.object,d,this.zya||(this.zya=this.zYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,d,this.zya);E.prototype.gd.call(this)}; 2255G.prototype.zYa=function(){this.object.get("collidable")?this.Y.na(b.zJ):this.Y.H(b.zJ)};return G}(I)},dm:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);this.wo=this.model.aZ().mz();this.object.get("preload")&&this.model.dZ().NH(this.wo);var F=this.Y.H(b.dm);F.properties=this.object;F.ba=this.object;F.isSprite=!1;F.priority=this.object.get("preload")?l.qA:l.aga;F.wo=this.wo;k.ga(this.object,c,this.Cya|| 2256(this.Cya=this.HYa.bind(this)),!0)};G.prototype.gd=function(){this.model.aZ().OI(this.wo);this.model.dZ().OI(this.wo);k.ca(this.object,c,this.Cya);E.prototype.gd.call(this)};G.prototype.HYa=function(){this.Y.J(b.dm).yca=this.object.get("image")};return G}(I)},Wg:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);this.Y.H(b.Wg);k.ga(this.object,f,this.Dya||(this.Dya=this.MYa.bind(this)),!0)};G.prototype.gd= 2257function(){k.ca(this.object,f,this.Dya);E.prototype.gd.call(this)};G.prototype.MYa=function(){var F=this.Y.J(b.Wg);F.color=this.object.get("color");F.opacity=this.object.get("opacity");F.depthTest=this.object.get("depthTest");F.width=this.object.get("width")};return G}(I)},Plane:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);this.Y.H(b.Plane);this.Y.H(b.Aa);k.ga(this.object,q,this.Qya||(this.Qya= 2258this.PYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,q,this.Qya);E.prototype.gd.call(this)};G.prototype.PYa=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 F=this.Y.J(b.Aa);F.Jv=this.object.get("attachToParent");F.translationX=this.object.get("x",0);F.translationY=this.object.get("y", 22590);F.cf=this.object.get("z",0);F.Df=this.object.get("width",1);F.Qf=this.object.get("height",1);F.Qe=v.x*w;F.re=v.y*w;F.Re=v.z*w;F.positionX=0;F.positionY=0;F.positionZ=0};return G}(I)},kb:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);this.Y.H(b.kb).Y=this.le;k.ga(this.object,g,this.Oya||(this.Oya=this.NYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,g,this.Oya);E.prototype.gd.call(this)}; 2260G.prototype.NYa=function(){this.Y.J(b.kb).id=this.object.get("parentId")};return G}(I)},EDa:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);k.ga(this.object,p,this.Pya||(this.Pya=this.OYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,p,this.Pya);E.prototype.gd.call(this)};G.prototype.OYa=function(){var F=this.object.get("maxWorldToPixelScale"),N=this.object.get("minWorldToPixelScale"); 2261if(void 0!==F||void 0!==N){var R=this.Y.J(b.ej,!0);R.zz=F;R.Az=N;R.Df=R.Qf=R.oh=this.object.get("scale")}else null===(R=this.Y)||void 0===R?void 0:R.na(b.ej)};return G}(I)},Jga:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);this.Y.H(b.Aa);k.ga(this.object,x,this.Rya||(this.Rya=this.QYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,x,this.Rya);E.prototype.gd.call(this)};G.prototype.QYa= 2262function(){var F=this.Y.J(b.Aa);F.Jv=this.object.get("attachToParent");F.positionX=this.object.get("x",this.object.get("positionX",0));F.positionY=this.object.get("y",this.object.get("positionY",0));F.positionZ=this.object.get("z",this.object.get("positionZ",0));F.Zf=this.object.get("rotationOrder","XYZ");F.Qe=this.object.get("rotationX",0);F.re=this.object.get("rotationY",0);F.Re=this.object.get("rotationZ",0);F.scale=this.object.get("scale",1);F.translationX=this.object.get("translationX",0);F.translationY= 2263this.object.get("translationY",0);F.cf=this.object.get("translationZ",0)};return G}(I)},md:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);k.ga(this.object,y,this.Tya||(this.Tya=this.TYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,y,this.Tya);E.prototype.gd.call(this)};G.prototype.TYa=function(){var F=this.object.get("clickEnabled"),N=this.object.get("rollOverEnabled");if(!1!==F&& 2264!1!==N)this.Y.na(b.Wo);else{var R=this.Y.H(b.Wo);R.$ea=!1===F;R.afa=!1===N}!1===F&&!1===N?this.Y.na(b.md):(R=this.Y.J(b.md,!0),R.hJ=this.object.get("useHandCursor"),R.PQ=this.object.get("transparentAreaActive"),R.ba=this.object,R.Lv=!!F,R.gw=!!N)};return G}(I)},GJ:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);k.ga(this.object,z,this.Uya||(this.Uya=this.ZYa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object, 2265z,this.Uya);E.prototype.gd.call(this)};G.prototype.ZYa=function(){var F=this.Y.J(b.Yh,!0);F.castShadow=this.object.get("castShadow");F.receiveShadow=this.object.get("receiveShadow")};return G}(I)},Fc:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);this.Y.H(b.Fc);this.visible=!1;k.ga(this.object,C,this.Vya||(this.Vya=this.$Ya.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,C,this.Vya); 2266this.tf(!1);E.prototype.gd.call(this)};G.prototype.$Ya=function(){var F=this.Y.J(b.Fc);F.color=this.object.get("color");F.opacity=this.object.get("hidden")?0:this.object.get("opacity");F.depthTest=this.object.get("depthTest");this.tf(0<F.opacity)};G.prototype.tf=function(F){this.visible!=F&&((this.visible=F)?this.object.trigger(m.ld):this.object.trigger(m.hd))};return G}(I)},un:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this); 2267var F=this.Y.H(b.un);F.properties=this.object;F.ba=this.object;k.ga(this.object,A,this.Wya||(this.Wya=this.bZa.bind(this)),!0)};G.prototype.gd=function(){k.ca(this.object,A,this.Wya);E.prototype.gd.call(this)};G.prototype.bZa=function(){this.Y.J(b.un).lfa=this.object.get("video")};return G}(I)},iha:function(I){return function(E){function G(){return null!==E&&E.apply(this,arguments)||this}Z(G,E);G.prototype.fd=function(){E.prototype.fd.call(this);k.ga(this.object,B,this.Xya||(this.Xya=this.cZa.bind(this)), 2268!0)};G.prototype.gd=function(){k.ca(this.object,B,this.Xya);E.prototype.gd.call(this)};G.prototype.cZa=function(){var F=this.Y.J(b.Yh,!0);F.opacity=this.object.get("enabled")&&!this.object.get("hidden")?this.object.get("opacity"):0;F.ba=this.object};return G}(I)}}}); 2269define("jL",["require","exports","ns","dY"],function(a,e,k,m){a=function(l){function b(h,d,c,f){h=l.call(this,h,d,c,f)||this;h.le=h.Y;h.fd();return h}Z(b,l);b.prototype.fd=function(){};b.prototype.gd=function(){};b.prototype.dispose=function(){this.gd();l.prototype.dispose.call(this)};return b}(k);return m.GJ(a)}); 2270define("gL",["require","exports","kJ","oR"],function(a,e,k,m){return function(){function l(b,h){this.renderer=b;this.model=h;this.Vc=this.renderer.M;this.VZ=this.VZ.bind(this);this.zo=[];this.uw="";this.Us=null;this.Pb()}l.prototype.dispose=function(){this.gb()};l.prototype.Pb=function(){k.ga(this.model,"objects",this.VZ,!0);this.model.bind(m.Xc,this.Iya,this,!0);this.model.bind(m.ac,this.Hya,this,!0)};l.prototype.gb=function(){this.model.unbind(m.Xc,this.Iya,this);this.model.unbind(m.ac,this.Hya, 2271this);k.ca(this.model,"objects",this.VZ);this.zQ([]);this.Us&&this.$P(this.Us)};l.prototype.VZ=function(){this.zQ(this.model.get("objects"))};l.prototype.zQ=function(b){this.zo!=b&&(this.zo.forEach(function(h){h.unbind(m.Xc,this.Nya,this);h.unbind(m.ac,this.Mya,this);h.unbind(m.hd,this.Lya,this)}.bind(this)),this.Us&&0<=this.zo.indexOf(this.Us)&&0>b.indexOf(this.Us)&&this.$P(this.Us),this.zo=b,this.zo.forEach(function(h){h.bind(m.Xc,this.Nya,this,!0);h.bind(m.ac,this.Mya,this,!0);h.bind(m.hd,this.Lya, 2272this,!0)}.bind(this)))};l.prototype.Nya=function(b){b=b.source;this.Sya(b,b.get("toolTip"))};l.prototype.Mya=function(b){this.$P(b.source)};l.prototype.Lya=function(b){this.$P(b.source)};l.prototype.Iya=function(){this.Sya(this.model,this.model.get("toolTip"))};l.prototype.Hya=function(){this.$P(this.model)};l.prototype.$P=function(b){this.Us==b&&(this.Us=null,this.SAa(""))};l.prototype.Sya=function(b,h){this.Us!=b&&(this.Us=b,this.SAa(h||""))};l.prototype.SAa=function(b){this.uw!=b&&(this.uw=b,this.Vc.set("toolTip", 2273this.uw))};return l}()}); 2274define("lV",["require"],function(){function a(e){this.qc=this.Fr(e.get("surfaceReticleColor"));this.nv=this.Fr(e.get("surfaceReticleSelectionColor"));this.zb=e.get("surfaceReticleOpacity");this.QPa=e.get("surfaceReticleSelectionOpacity");this.Ah=this.uf=128;this.nOa=.456;this.oOa=.088;this.MLa=.18;this.O=document.createElement("canvas");this.O.width=this.uf;this.O.height=this.Ah;this.za=this.O.getContext("2d");this.za.fillStyle="red";this.za.imageSmoothingEnabled=!0;this.za.fillRect(0,0,this.uf,this.Ah); 2275this.ad=this.Wt=!1;this.$F=this.wV=void 0;this.KA=0}a.prototype.n5=function(){return this.zk(NaN*this.nv[0]+NaN*this.qc[0],NaN*this.nv[1]+NaN*this.qc[1])};a.prototype.Fr=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.zk=function(e,k){return"rgba("+e.join(",")+", "+k+")"};a.prototype.setPosition=function(e){this.ab!=e&&(this.ab=e,this.xa=!0)};a.prototype.yd=function(){return this.uf};a.prototype.je=function(){return this.Ah}; 2276a.prototype.Xf=function(){return this.O};a.prototype.update=function(){if(!this.xa)return!1;this.xa=!1;this.za.clearRect(0,0,this.uf,this.Ah);var e=[this.nv[0]*this.ab+(1-this.ab)*this.qc[0],this.nv[1]*this.ab+(1-this.ab)*this.qc[1],this.nv[2]*this.ab+(1-this.ab)*this.qc[2]],k=this.QPa*this.ab+(1-this.ab)*this.zb;this.za.strokeStyle=this.zk(e,k);this.za.fillStyle=this.zk(e,k*this.ab);this.za.beginPath();this.za.lineWidth=this.uf*this.oOa;this.za.arc(.5*this.uf,.5*this.uf,this.uf*this.nOa,0,2*Math.PI, 2277!1);this.za.stroke();this.za.beginPath();this.za.arc(.5*this.uf,.5*this.uf,this.uf*this.MLa,0,2*Math.PI,!1);this.za.fill();return!0};return a});define("ht",["require","lV"],function(a){return a("lV")}); 2278define("iH","require kJ oR gp ht v fF".split(" "),function(a){function e(g,p,q){this.ea=g;this.Ha=p;this.j=q;this.M=this.j.M;this.Pu=this.Pu.bind(this);this.Vu=this.Vu.bind(this);this.ad=void 0;this.ea.bind(m.G("surfaceSelectionEnabled"),this.I4,this,!0);this.I4()}
2278var k=a("kJ"),m=a("oR"),l=a("gp"),b=a("ht"),h=a("v"),d=a("fF");e.prototype.I4=function(){var g=this.ea.get("surfaceSelectionEnabled");!!this.o!=g&&(g?this.nB():this.np())};e.prototype.nB=function(){if(!this.o){this.o=this.Ha.R.bd("PointerReticle"); 2279this.o.H(d.Plane).renderOrder=2;this.o.H(d.Tj).Y=this.Ha;this.o.H(d.Wo);this.o.H(d.kb).Y=this.Ha;var g=this.o.H(d.qn);g.ba=new l;g.ba.bind(m.va,this.cM,this,!0);k.ga(this.ea,c,this.Pu,!0);this.ms=new b(this.M);this.ms.setPosition(0);this.ms.update();g=this.o.H(d.Xh);g.source=this.ms.Xf();g.depthTest=!1;k.ga(this.ea,f,this.Vu,!0);this.ve=null;this.MC(!1)}};e.prototype.np=function(){this.o&&(this.ve&&(this.ve.trigger(m.ac),this.ve=null),k.ca(this.ea,f,this.Vu),this.EN(null),this.o.getComponent(d.qn).ba.unbind(m.va, 2280this.cM,this,!0),this.Ha.R.Ne(this.o),this.ms=this.o=null,k.ca(this.ea,c,this.Pu))};e.prototype.Pu=function(){var g=this.o.J(d.ej,!0);g.Df=g.Qf=2;g.scale=this.ea.get("surfaceReticleRadius");g.zz=this.ea.get("surfaceReticleMaxRadius");g.Az=this.ea.get("surfaceReticleMinRadius")};e.prototype.cM=function(g){g=this.rla(g.data.beacons);var p=this.Yka(g);0==p&&(g=null);this.YPa(g);this.oQa(p)};e.prototype.Vu=function(){this.EN(this.ea&&this.ea.get("pointer"))};e.prototype.EN=function(g){this.Qd!==g&&(this.Qd&& 2281(this.Qd.unbind(m.ra,this.Or,this,!0),this.Qd.unbind(m.kc,this.jf,this,!0),this.Qd.unbind(m.ac,this.Lm,this,!0)),this.Qd=g)&&(this.Qd.bind(m.ra,this.Or,this,!0),this.Qd.bind(m.kc,this.jf,this,!0),this.Qd.bind(m.ac,this.Lm,this,!0))};e.prototype.Or=function(g){var p=null;if(h.lb()){var q=this.o.getComponent(d.qn);q&&q.pP&&g.data.position&&(g=q.pP((new THREE.Vector3).copy(g.data.position)),g=this.rla(g),0!=this.Yka(g)&&(p=this.k5(g)))}else p=this.ve;p&&p.trigger(m.ra)};e.prototype.jf=function(){this.MC(!0)}; 2282e.prototype.Lm=function(){this.MC(!1)};e.prototype.MC=function(g){this.ad!==g&&(this.ad=g,this.o.J(d.Xh).opacity=!h.lb()&&this.ad?1:0)};e.prototype.YPa=function(g){g=this.k5(g);this.ve!=g&&(this.ve&&this.ve.trigger(m.ac),(this.ve=g)&&this.ve.trigger(m.Xc))};e.prototype.rla=function(g){if(!g)return null;for(var p=0;p<g.length;p++)if(this.k5(g[p]))return g[p];return null};e.prototype.Yka=function(g){if(!g)return 0;var p=this.o.getComponent(d.Aa);return p?Math.max(0,1-g.distance/(this.ea.get("surfaceSelectionCoef")* 2283p.scale*p.Df)):0};e.prototype.k5=function(g){return(g=(g=g&&g.entity)&&g.getComponent(d.sJ))&&g.z1a||null};e.prototype.oQa=function(g){this.ms.setPosition(g);this.ms.update()&&(this.o.J(d.Xh).HQ=(new Date).getTime())};e.prototype.dispose=function(){this.np();this.ea.unbind(m.G("surfaceSelectionEnabled"),this.I4,this,!0)};var c=["surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius"],f=["pointer"];return e}); 2284define("lj",["require","kJ","oR","gp","fF"],function(a){function e(d,c,f){this.ea=d;this.Ha=c;this.Ji=f;this.W=!1;this.cV=this.cV.bind(this);k.ga(this.ea,h,this.cV,!0)}var k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF");e.prototype.cV=function(){var d=!!this.ea.get("maxNearestObjectsVisible");this.W!=d&&(this.W&&this.np(),(this.W=d)&&this.nB())};e.prototype.nB=function(){var d=this.Ji.H(b.qn);d.ba=new l;d.ba.bind(m.va,this.cM,this,!0);this.Ha.R.bb()};e.prototype.np=function(){this.Ji.getComponent(b.qn).ba.unbind(m.va, 2285this.cM,this,!0);this.Ji.na(b.qn);this.ea.get("objects").forEach(function(d){d.get("hideBasedOnDistance")&&d.hea(!1)})};e.prototype.cM=function(d){var c=0,f=this.ea.get("maxNearestObjectsVisible");d.data.beacons.forEach(function(g){if(g=this.IJa(g))g.get("hideBasedOnDistance")?(g.hea(c>=f),c++):g.hea(!1)}.bind(this))};e.prototype.IJa=function(d){d=(d=d.entity.getComponent(b.sJ))&&d.object;d.get&&void 0!==d.get("hideBasedOnDistance")||(d=null);return d};e.prototype.dispose=function(){k.ca(this.ea, 2286h,this.cV);this.W&&(this.W=!1,this.np())};var h=["maxNearestObjectsVisible"];return e}); 2287define("fH","require lx kJ oR gp fF".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF");a=e.extend(l,function(d,c){l.call(this);this.td=d;this.Ha=c;this.zf=this.zf.bind(this);this.o=null;this.Hk=0;this.Kb=!1;this.aN=[];
2287this.td.bind(m.G("areaOpacity"),this.Noa,this);this.wH()});a.prototype.w_=function(d){this.aN.forEach(function(c){c.unbind(m.ld,this.Td,this,!0);c.unbind(m.hd,this.Td,this,!0)}.bind(this));this.aN=d;this.aN.forEach(function(c){c.bind(m.ld,this.Td,this,!0); 2288c.bind(m.hd,this.Td,this,!0)}.bind(this));this.jta();this.Td()};a.prototype.dispose=function(){this.td.unbind(m.G("areaOpacity"),this.Noa,this);this.zv()};a.prototype.Js=function(){return this.o};a.prototype.isVisible=function(){return this.Kb};a.prototype.Noa=function(){this.wH();this.po()};a.prototype.wH=function(){0<this.td.get("areaOpacity")?this.Wy():this.zv()};a.prototype.Wy=function(){if(!this.o){this.o=this.Ha.R.bd("MeasureArea");var d=new l;d.bind(m.va,this.py,this,!0);this.o.H(b.Zl).ba= 2289d;this.o.H(b.Fc);this.o.H(b.kb).Y=this.Ha;k.ga(this.td,h,this.zf,!0);this.jta()}};a.prototype.zv=function(){this.o&&(this.o.getComponent(b.Zl).ba.unbind(m.va,this.py,this,!0),k.ca(this.td,h,this.zf),this.o.R.Ne(this.o),this.o=null)};a.prototype.gs=function(d){this.Kb!=d&&((this.Kb=d)?(this.bo(1),this.trigger(m.ld)):(this.bo(0),this.trigger(m.hd)))};a.prototype.Td=function(){this.gs(this.aN.every(function(d){return d.isVisible()}))};a.prototype.py=function(d){this.td.set("area",d.data.area)};a.prototype.zf= 2290function(){if(this.o){var d=this.o.J(b.Fc);d.color=this.td.get("areaColor");d.depthTest=this.td.get("depthTest");d.doubleSided=!0;this.po()}};a.prototype.bo=function(d){this.Hk!=d&&(this.Hk=d,this.po())};a.prototype.po=function(){this.o&&(this.o.J(b.Fc).opacity=this.td.get("areaOpacity")*Math.max(1E-4,this.Hk))};a.prototype.jta=function(){this.o&&(this.o.J(b.Zl).C=this.aN.map(function(d){return d.Js()}))};var h=["areaColor","areaOpacity","depthTest"];return a}); 2291define("bT",["require","hB"],function(a){function e(b,h,d){l.style.fontFamily=m.Ov(h.fontFamily);l.style.fontSize=h.fontSize;l.style.fontWeight=h.fontWeight;l.style.fontStyle=h.fontStyle;l.innerHTML=b;document.body.appendChild(l);var c=new k(Math.ceil(l.clientWidth),Math.ceil(l.clientHeight));document.body.removeChild(l);d&&(d.font=h.fontSize+" "+m.Ov(h.fontFamily),b=d.measureText(b).width,0<b&&(c.height*=b/c.width,c.width=b));return c}function k(b,h){this.width=b;this.height=h}var m=a("hB"),l=document.createElement("div"); 2292l.style.display="inline-block";l.style.margin=0;l.style.padding=0;l.style.whiteSpace="nowrap";e.G1=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};return e}); 2293define("fu",["require","bT","hB"],function(a){function e(){this.X4=this.Fr("#ffffff");this.gx=this.Fr("#000000");this.Ah=this.uf=0;this.O=document.createElement("canvas");this.za=this.O.getContext("2d");this.za.imageSmoothingQuality="high";this.ls=new m.G1;this.Y4=this.CF=void 0;this.n2=this.p2=.5;this.sq=void 0;this.rH=e.g1;this.Dv=void 0;this.ZI(0)}function k(b){return 100<b?b.toFixed(0):10<b?b.toFixed(1):b.toFixed(2)}var m=a("bT"),l=a("hB");e.Qfa="imperial area";e.Rfa="imperial length";e.Zfa="metric area"; 2294e.g1="metric length";e.prototype.dispose=function(){this.O.width=this.O.height=0;this.O=null};e.prototype.B_a=function(b){this.X4!=b&&(this.X4=b,this.xa=!0)};e.prototype.g_a=function(b){this.gx!=b&&(this.gx=b,this.xa=!0)};e.prototype.C_a=function(b){this.Y4!=b&&(this.Y4=b,this.xa=!0)};e.prototype.D_a=function(b){this.CF!=b&&(this.CF=b,this.xa=!0)};e.prototype.Qda=function(){.5!=this.ls.OH&&(this.n2=.5,this.xa=!0)};e.prototype.Rda=function(b){this.ls.PH!=b&&(this.p2=b,this.xa=!0)};e.prototype.ZI=function(b){this.sq!= 2295b&&(this.sq=b,this.oaa())};e.prototype.N0a=function(b){this.rH!=b&&(this.rH=b,this.oaa())};e.prototype.O0a=function(b){this.Dv!=b&&(this.Dv=b,this.oaa())};e.prototype.oaa=function(){if(void 0===this.Dv)this.Ta=k(this.sq);else if(this.rH==e.g1){var b=this.sq*this.Dv;this.Ta=1<=b?k(b)+"m":k(100*b)+"cm"}else this.rH==e.Zfa?(b=this.sq*this.Dv*this.Dv,this.Ta=.1<=b?k(b)+"m\u00b2":k(1E4*b)+"cm\u00b2"):this.rH==e.Rfa?(b=this.sq*this.Dv*1.0936,this.Ta=1760<b?k(b/1760)+"mi":100<=b?k(b)+"yd":1<=3*b?k(3*b)+ 2296"ft":k(36*b)+"in"):this.rH==e.Qfa&&(b=this.sq*this.Dv*1.0936*this.Dv*1.0936,this.Ta=1<=b?k(b)+"yd\u00b2":1<=9*b?k(9*b)+"ft\u00b2":k(1296*b)+"in\u00b2");this.xa=!0};e.prototype.Fr=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.zk=function(b,h){return"rgba("+b.join(",")+", "+h+")"};e.prototype.yd=function(){return this.uf};e.prototype.je=function(){return this.Ah};e.prototype.Xf=function(){return this.O};e.prototype.update= 2297function(){if(!this.xa)return!1;this.xa=!1;this.ls.fontFamily=this.Y4||"Arial";this.ls.fontSize=this.CF?"string"==typeof this.CF?this.CF:this.CF+"px":"30px";var b=m(this.Ta,this.ls),h=this.Fr(this.X4),d=this.Fr(this.gx),c=b.width;b=b.height;var f=.5*b,g=.3*b,p=f+c+.5*b,q=g+b+.2*b,n=.5*q;this.O.width=this.O.height=this.uf=this.Ah=Math.max(128,Math.pow(2,Math.ceil(Math.log(Math.max(p,q))/Math.LN2)));var r=this.uf*this.n2-p*this.n2,t=this.Ah*this.p2-q*this.p2;this.aF();this.za.save();this.za.translate(r, 2298t);this.za.fillStyle=this.zk(d,1);this.za.beginPath();this.za.moveTo(0,n);
2298this.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.zk(h,1);this.za.font=this.ls.fontSize+" '"+this.ls.fontFamily+"'";this.za.font=this.ls.fontSize+(isNaN(this.ls.fontSize)?"":"px")+" "+l.Ov(this.ls.fontFamily);this.za.textBaseline="middle"; 2299this.za.textAlign="center";this.za.fillText(this.Ta,Math.round(f+.5*c),Math.round(g+.5*b));this.za.restore();return!0};e.prototype.aF=function(){this.za.clearRect(0,0,this.uf,this.Ah)};return e}); 2300define("fC","require lx kJ oR gp fF fu ew".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF"),h=a("fu"),d=a("ew");a=e.extend(l,function(f,g,p){l.call(this);this.r7=f;this.td=g;this.Ha=p;this.zf=this.zf.bind(this);this.eo=this.o=null;this.Hk=0;this.Kb=!1;this.oX=this.Xg=this.Iy=this.hy=null;this.sq=void 0;this.Kh=new h;this.r7.bind(m.G("worldUnitToMeters"),this.i8,this,!0);this.td.bind(m.G("units"),this.V7,this,!0);this.Wy()});a.prototype.BAa=function(f){this.MW(f,null,null)}; 2301a.prototype.r0a=function(f){this.MW(null,f,null)};a.prototype.f_a=function(f){this.MW(null,null,f)};a.prototype.MW=function(f,g,p){if(this.Iy!=g||this.hy!=f||this.Xg!=p)[this.hy,this.Iy,this.Xg].forEach(function(q){q&&q.unbind(m.ld,this.Td,this,!0);q&&q.unbind(m.hd,this.Td,this,!0)}.bind(this)),this.zv(),this.hy=f,this.Iy=g,this.Xg=p,this.Wy(),this.zf(),this.jg(!0),[this.hy,this.Iy,this.Xg].forEach(function(q){q&&q.bind(m.ld,this.Td,this,!0);q&&q.bind(m.hd,this.Td,this,!0)}.bind(this)),this.hy?(this.o.J(b.kb).Y= 2302this.hy.Js(),this.o.J(b.Aa).cf=.5,f=this.o.J(b.Sprite),f.OH=.5,f.PH=.5,this.Kh.Qda(),this.Kh.Rda(.5)):this.Iy?(this.o.J(b.kb).Y=this.Iy.Js(),this.o.J(b.Aa).cf=0,f=this.o.J(b.Sprite),f.OH=.5,f.PH=1.1,this.Kh.Qda(),this.Kh.Rda(1)):this.Xg?(this.o.J(b.kb).Y=this.Xg.Js(),this.o.J(b.Aa).cf=0,f=this.o.J(b.Sprite),f.OH=.5,f.PH=.5,this.Kh.Qda(),this.Kh.Rda(.5)):this.o.J(b.kb).Y=null,this.Td(),this.V7(),this.i8()};a.ODa="partialDistance";a.Qga="distance";a.NDa="area";a.prototype.setStyle=function(f){this.oX!= 2303f&&(this.oX=f,this.zf())};a.prototype.ZI=function(f){void 0!==f&&this.sq!==f&&(this.sq=f,this.Kh.ZI(f),this.jg(),this.Td())};a.prototype.dispose=function(){this.r7.unbind(m.G("worldUnitToMeters"),this.i8,this,!0);this.td.unbind(m.G("units"),this.V7,this,!0);this.MW(null,null);this.Kh.dispose();this.Kh=null;this.zv()};a.prototype.i8=function(){this.Kh.O0a(this.r7.get("worldUnitToMeters"));this.jg()};a.prototype.V7=function(){var f=this.td.get("units"),g=!!this.Xg;this.Kh.N0a("imperial"==f?g?h.Qfa: 2304h.Rfa:g?h.Zfa:h.g1);this.jg()};a.prototype.Wy=function(){if(!this.o){this.o=this.Ha.R.bd("MeasureLabel");this.o.H(b.Sprite).renderOrder=2;this.o.H(b.Wo);var f=this.o.H(b.Xh);f.source=this.Kh.Xf();f.isSprite=!0;k.ga(this.td,c,this.zf,!0);this.o.H(b.Aa);this.o.H(b.kb)}};a.prototype.zv=function(){this.o&&(k.ca(this.td,c,this.zf),this.o.R.Ne(this.o),this.o=null)};a.prototype.isVisible=function(){return this.Kb};a.prototype.gs=function(f){this.Kb!=f&&((this.Kb=f)?(this.iRa(),this.trigger(m.ld)):(this.hSa(), 2305this.bo(0),this.trigger(m.hd)))};a.prototype.Td=function(){this.gs(0<this.sq&&(this.hy&&this.hy.isVisible()||this.Iy&&this.Iy.isVisible()||this.Xg&&this.Xg.isVisible()))};a.prototype.iRa=function(){this.eo||(this.eo=new d,this.eo.set("duration",300),this.eo.bind(d.x0,this.vpa,this,!0),this.eo.bind(d.Oj,this.upa,this,!0),this.eo.play())};a.prototype.hSa=function(){this.eo&&(this.eo.unbind(d.x0,this.vpa,this,!0),this.eo.unbind(d.Oj,this.upa,this,!0),this.eo.stop(),this.eo=null)};a.prototype.vpa=function(){this.bo(2* 2306this.eo.Mk()-1)};a.prototype.upa=function(){this.bo(1)};a.prototype.zf=function(){this.o.J(b.Xh).depthTest=this.JF("depthTest");this.Kh.B_a(this.JF("labelFontColor"));this.Kh.g_a(this.JF("labelBackgroundColor"));this.Kh.C_a(this.JF("labelFontFamily"));this.Kh.D_a(this.JF("labelFontSize"));this.po();this.jg()};a.prototype.JF=function(f){var g;this.oX&&(g=this.td.get(this.oX+f[0].toUpperCase()+f.substr(1)));void 0===g&&(g=this.td.get(f));return g};a.prototype.jg=function(f){if(this.Kh.update()||f){f= 2307this.o.J(b.Xh);var g=this.o.J(b.Sprite);f.HQ=(new Date).getTime();g.width=this.Kh.yd();g.height=this.Kh.je()}};a.prototype.bo=function(f){this.Hk!=f&&(this.Hk=f,this.po())};a.prototype.po=function(){this.o.J(b.Xh).opacity=this.JF("labelOpacity")*Math.max(1E-4,this.Hk)};
2307var c="depthTest areaLabelBackgroundColor areaLabelFontColor areaLabelFontFamily areaLabelOpacity areaLabelFontSize distanceLabelBackgroundColor distanceLabelFontColor distanceLabelFontFamily distanceLabelOpacity distanceLabelFontSize labelBackgroundColor labelFontColor labelFontFamily labelOpacity labelFontSize partialDistanceLabelBackgroundColor partialDistanceLabelFontColor partialDistanceLabelFontFamily partialDistanceLabelOpacity partialDistanceLabelFontSize".split(" "); 2308return a}); 2309define("dL","require lx kJ oR gp fF".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF");a=e.extend(l,function(d,c){l.call(this);this.td=d;this.Ha=c;this.Dl=this.Cl=null;this.zf=this.zf.bind(this);this.o=null;this.Hk=0;this.Kb=!1;this.Wy()});a.prototype.w_=function(d,c){if(this.Cl!=d||this.Dl!=c)this.Cl&&this.Cl.unbind(m.ld,this.Td,this,!0),this.Cl&&this.Cl.unbind(m.hd,this.Td,this,!0),this.Dl&&this.Dl.unbind(m.ld,this.Td,this,!0),this.Dl&&this.Dl.unbind(m.hd,this.Td,this, 2310!0),this.Cl=d,this.Dl=c,this.Cl&&this.Cl.bind(m.ld,this.Td,this,!0),this.Cl&&this.Cl.bind(m.hd,this.Td,this,!0),this.Dl&&this.Dl.bind(m.ld,this.Td,this,!0),this.Dl&&this.Dl.bind(m.hd,this.Td,this,!0),this.o.J(b.kb,!0).Y=this.Cl&&this.Cl.Js(),this.o.J(b.ar,!0).Y=this.Dl&&this.Dl.Js(),this.Td()};a.prototype.Js=function(){return this.o};a.prototype.dispose=function(){this.w_(null,null);this.zv()};a.prototype.Wy=function(){this.o||(this.o=this.Ha.R.bd("MeasureLine"),this.o.H(b.Line),this.o.H(b.Wg),this.o.H(b.Aa), 2311k.ga(this.td,h,this.zf,!0))};a.prototype.zv=function(){this.o&&(k.ca(this.td,h,this.zf),this.o.R.Ne(this.o),this.o=null)};a.prototype.isVisible=function(){return this.Kb};a.prototype.gs=function(d){this.Kb!=d&&((this.Kb=d)?(this.bo(1),this.trigger(m.ld)):(this.bo(0),this.trigger(m.hd)))};a.prototype.Td=function(){this.gs(this.Cl&&this.Cl.isVisible()&&this.Dl&&this.Dl.isVisible())};a.prototype.zf=function(){var d=this.o.J(b.Wg);d.color=this.td.get("lineColor");d.depthTest=this.td.get("depthTest"); 2312d.width=this.td.get("lineWidth");d.depthTest=this.td.get("depthTest");this.po()};a.prototype.bo=function(d){this.Hk!=d&&(this.Hk=d,this.po())};a.prototype.po=function(){this.o.J(b.Wg).opacity=this.td.get("lineOpacity")*Math.max(1E-4,this.Hk)};var h=["depthTest","lineColor","lineOpacity","lineWidth"];return a}); 2313define("oq","require lx kJ oR gp fF".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("gp"),b=a("fF");a=e.extend(l,function(f,g,p,q){l.call(this);this.td=f;this.ea=g;this.Ha=p;this.Vp=q;this.hV=this.hV.bind(this);this.zf=this.zf.bind(this);this.Jm=this.Jm.bind(this);this.o=null;this.ai=this.sN=this.ad=this.ex=!1;this.Hk=0;this.Kb=!1;this.Wy();k.ga(this.td,h,this.hV,!0);k.ga(this.td,c,this.zf,!0);k.hD(this.Vp,d,this.Jm,!0);this.bind(m.wt,this.bpa,this,!0);this.bind(m.Xc,this.xG,this,!0); 2314this.bind(m.ac,this.Lm,this,!0);this.Jm();this.hZ()&&this.gs(!0)});a.prototype.dispose=function(){k.ca(this.td,h,this.hV);k.ca(this.td,c,this.zf);k.ca(this.Vp,d,this.Jm);this.unbind(m.wt,this.bpa,this,!0);this.unbind(m.Xc,this.xG,this,!0);this.unbind(m.ac,this.Lm,this,!0);this.zv()};a.prototype.Js=function(){return this.o};a.prototype.iAa=function(f){this.ex!==f&&((this.ex=f)?(f=this.o.H(b.Tj),f.Y=this.Ha,f.rotate=!1,f.ba=new l,this.gs(!0),f.ba.bind(m.Xc,this.mG,this,!0)):((f=this.o.getComponent(b.Tj))&& 2315f.ba.unbind(m.Xc,this.mG,this,!0),this.o.na(b.Tj),f=this.ea.worldPositionToLocal([this.x,this.y,this.z],this.ea.getMatrixWorld()),this.oAa(f[0],f[1],f[2])),this.cz(),this.Baa())};a.prototype.rAa=function(f){void 0===f&&(f=!1);this.ai!==f&&((this.ai=f)?this.o.H(b.Hw):this.o.na(b.Hw))};a.prototype.A0a=function(f){this.sN!==f&&(this.sN=f,this.Baa(),this.ad=!1,this.cz())};a.prototype.oAa=function(f,g,p){this.Vp.set("x",f);this.Vp.set("y",g);this.Vp.set("z",p);this.gs(this.hZ())};a.prototype.Wy=function(){this.o= 2316this.Ha.R.bd("MeasurePoint");this.o.H(b.Sphere);this.o.H(b.Fc);this.o.H(b.md).ba=this;this.o.H(b.Wo);this.o.H(b.Aa).ba=this;this.o.H(b.ej);this.o.H(b.kb).Y=this.Ha;this.Baa();this.po();this.cz()};a.prototype.zv=function(){this.o.R.Ne(this.o);this.o=null};a.prototype.isVisible=function(){return this.Kb};a.prototype.gs=function(f){this.Kb!=f&&((this.Kb=f)?(this.bo(1),this.trigger(m.ld)):(this.bo(0),this.trigger(m.hd)))};a.prototype.Baa=function(){var f=this.o.J(b.md);f.hJ=this.sN;f.gw=this.sN;f.Lv= 2317!this.ex;f=this.o.J(b.Wo,!0);f.afa=!this.sN||this.ex;f.$ea=this.ex};a.prototype.mG=function(){this.gs(!0)};a.prototype.xG=function(){this.ad=!0;this.cz()};a.prototype.Lm=function(){this.ad=!1;this.cz()};a.prototype.hV=function(){this.o.J(b.kb).id=this.td.get("parentId")};a.prototype.zf=function(){if(this.o){var f=this.o.J(b.ej);f.Df=f.Qf=f.oh=1;f.zz=this.td.get("pointMaxRadius");f.Az=this.td.get("pointMinRadius");f.scale=this.td.get("pointRadius")||1;this.o.J(b.Fc).depthTest=this.td.get("depthTest"); 2318this.cz()}};a.prototype.cz=function(){if(this.o){var f=this.ex?"pointDragColor":this.ad?"pointOverColor":"pointColor";this.o.J(b.Fc).color=this.td.get(f)}};a.prototype.bo=function(f){this.Hk!=f&&(this.Hk=f,this.po())};a.prototype.po=function(){this.o.J(b.Fc).opacity=Math.max(1E-4,this.Hk)};a.prototype.bpa=function(f){this.x=f.data.position.x;this.y=f.data.position.y;this.z=f.data.position.z};a.prototype.Jm=function(){if(this.hZ()&&this.o){var f=this.o.J(b.Aa,!0);f.positionX=f.positionY=f.positionZ= 23190;f.Qe=f.re=f.Re=0;f.translationX=this.Vp.get("x");f.translationY=this.Vp.get("y");f.cf=this.Vp.get("z")}};a.prototype.hZ=function(){var f=this.Vp.get("x"),g=this.Vp.get("y"),p=this.Vp.get("z");return void 0!==f&&void 0!==g||void 0!==p};a.prototype.distanceTo=function(f){var g=this.x-f.x,p=this.y-f.y;f=this.z-f.z;return Math.sqrt(g*g+p*p+f*f)};var h=["parentId"],d=["x","y","z"],c="depthTest mode pointDragColor pointColor pointOverColor pointMaxRadius pointMinRadius pointRadius".split(" ");return a}); 2320define("ex","require kJ oR bn fH fC dL oq v".split(" "),function(a){function e(u,v,w,x,y){this.D=u;this.ea=v;this.Ha=w;this.j=y;this.M=this.j.M;this.Hp=this.Hp.bind(this);this.kV=this.kV.bind(this);this.bV=this.bV.bind(this);this.rV=this.rV.bind(this);this.pG=this.pG.bind(this);this.py=this.py.bind(this);this.Vu=this.Vu.bind(this);this.gC=this.gC.bind(this);this.Qd=null;this.ri=new Map;this.$M=new Map;this.zp=[];this.TB=[];this.EG=new Map;this.hh=[];this.oi=null;this.GX();this.$e=this.Sc=void 0;this.W= 2321!1;k.ga(this.D,["enabled"],this.Hp,!0)}
2321var k=a("kJ"),m=a("oR"),l=a("bn"),b=a("fH"),h=a("fC"),d=a("dL"),c=a("oq"),f=a("v");e.prototype.dispose=function(){this.np();k.ca(this.D,["enabled"],this.Hp);this.oi=this.hh=this.TB=this.zp=this.$M=this.ri=null;this.GX();this.$e=this.Sc=null};e.prototype.Hp=function(){this.D.get("enabled")?this.nB():this.np()};e.prototype.nB=function(){this.W||(this.W=!0,this.iHa(),this.Ija(this.D),document.addEventListener("keyup",this.gC),k.ga(this.D,g,this.kV,!0),k.ga(this.D, 2322q,this.rV,!0),k.ga(this.D,p,this.bV,!0),k.ga(this.D,n,this.pG,!0),k.ga(this.D,r,this.py,!0),k.ga(this.ea,t,this.Vu,!0))};e.prototype.np=function(){this.W&&(this.W=!1,this.Ora([]),this.fka(this.D),this.rIa(),document.removeEventListener("keyup",this.gC),k.ca(this.D,g,this.kV),k.ca(this.D,q,this.rV),k.ca(this.D,p,this.bV),k.ca(this.D,n,this.pG),k.ca(this.D,r,this.py),k.ca(this.ea,t,this.Vu),this.EN(null))};e.prototype.Vu=function(){this.EN(this.ea&&this.ea.get("pointer"))};e.prototype.EN=function(u){this.Qd!== 2323u&&(this.Qd&&(this.Qd.unbind(m.ra,this.Foa,this,!0),this.Qd.unbind(m.em,this.Goa,this,!0)),this.Qd=u)&&(this.Qd.bind(m.ra,this.Foa,this,!0),this.Qd.bind(m.em,this.Goa,this,!0))};e.prototype.kV=function(){this.Ora(this.D.get("points"))};e.prototype.bV=function(){var u=this.D.get("mode");if(u!=this.Sc){switch(this.Sc){case "create":1>this.hh.length||this.oi&&2>this.hh.length?u="create":this.sPa(this.oi);break;case "edit":"create"==u?"single"===this.D.get("type")&&0<this.hh.length?u="edit":this.IR(): 2324this.pv(null);break;case "view":"create"===u&&("single"===this.D.get("type")&&0<this.hh.length?u="view":this.IR());break;default:"create"==u&&("single"===this.D.get("type")&&0<this.hh.length&&this.R5(this.uu(-1))?u="edit":this.pv(this.uu(-1),!1))}this.Sc=u;this.D.set("mode",this.Sc);this.Hta()}};e.prototype.rV=function(){var u=this.D.get("type");u!==this.$e&&(this.$e=u,"single"===this.$e&&1<this.hh.length&&this.D.set("points",this.y3a.slice(0,1)))};e.prototype.pG=function(){this.wta();this.FX()}; 2325e.prototype.py=function(){var u=this.z5(this.Xg);u&&u.ZI(this.D.get("area"))};e.prototype.gC=function(u){u.which==l.Dfa&&this.M.get("isKeyboardTarget")&&("create"==this.D.get("mode")?this.D.set("mode","edit"):"edit"==this.Sc&&this.pv(null))};e.prototype.IR=function(){this.TEa();this.pv(this.uu(-1),!1)};e.prototype.TEa=function(){var u=this.M.get("application").an("MeasureModel3DObjectPoint");if(!f.lb()){var v=this.uu(-1);v&&this.R5(v)&&(u.set("x",v.get("x")),u.set("y",v.get("y")),u.set("z",v.get("z")))}this.D.set("points", 2326this.hh.concat([u]))};e.prototype.uu=function(u){var v=[this.D].concat(this.hh);return 0>u&&0<v.length-u?v[v.length+u]:0<=u&&u<v.length?v[u]:null};e.prototype.sPa=function(u){this.D.set("points",this.hh.filter(function(v){return v!=u}))};e.prototype.R5=function(u){return!!u&&this.ri.get(u).hZ()};e.prototype.Foa=function(u){if("create"==this.D.get("mode")){if(this.oi){var v=this.oi;this.pv(null);this.nFa(v,u)}"single"==this.$e&&0<this.hh.length?this.D.set("mode","edit"):this.IR()}else"edit"==this.D.get("mode")&& 2327this.pv(null)};e.prototype.Goa=function(){"create"==this.D.get("mode")&&f.lb()&&this.D.set("mode","edit")};e.prototype.Yoa=function(){"create"==this.D.get("mode")&&this.D.set("mode","edit")};e.prototype.Xoa=function(u){if("create"==this.D.get("mode")){var v=this.uu(-2);u=this.$M.get(u.source);v==u?this.D.set("mode","edit"):(v=this.oi,this.pv(null),v.set("x",u.get("x")),v.set("y",u.get("y")),v.set("z",u.get("z")),v=this.uu(0),u==v?this.D.set("mode","edit"):this.IR())}};e.prototype.Zoa=function(u){"edit"== 2328this.D.get("mode")&&this.pv(this.$M.get(u.source),!0)};e.prototype.$oa=function(){"edit"==this.D.get("mode")&&this.pv(null)};e.prototype.apa=function(){this.FX()};e.prototype.FX=function(){for(var u=[],v=this.uu(0),w=this.J5(),x=0;x<w.length;x++){var y=w[x];v=this.ri.get(v);var z=this.ri.get(y);z=v.distanceTo(z);(v=this.z5(this.zp[x]))&&v.ZI(z);u.push(z);v=y}u=u.reduce(function(C,A){return C+A},0);(v=this.z5(this.ri.get(w[w.length-1])))&&v.ZI(u);this.D.set("distance",isNaN(u)?void 0:u)};e.prototype.nFa= 2329function(u,v){if(v=v&&v.data.position)v=this.ea.worldPositionToLocal(v,this.ea.getMatrixWorld()),this.ri.get(u).oAa(v.x,v.y,v.z)};e.prototype.pv=function(u,v){v||(v=!1);if(this.oi!==u){if(this.oi){var w=this.ri.get(this.oi);w.rAa(!1);w.iAa(!1)}if(this.oi=u)w=this.ri.get(this.oi),w.rAa(v),w.iAa(v||!f.lb());this.xta();this.Hta();this.GX()}};
2329e.prototype.Ora=function(u){this.hh!=u&&(this.hh.forEach(function(v){-1==u.indexOf(v)&&this.fka(v)}.bind(this)),this.hh=u,this.oi&&this.hh.indexOf(this.oi)&&(this.oi= 2330null),this.GX(),this.hh.forEach(function(v){this.Ija(v)}.bind(this)),this.xta(),this.wta(),this.cTa(),this.FX())};e.prototype.J5=function(){return this.hh.filter(function(u){return this.R5(u)||this.ri.get(u).ex}.bind(this))};e.prototype.xta=function(){for(;this.hh.length<this.zp.length;)this.uIa();for(;this.hh.length>this.zp.length;)this.OHa();for(var u=!0,v=0;v<this.hh.length;v++){var w=this.uu(v),x=this.uu(v+1);w==this.oi&&(u=!1);var y=u?x:w;this.zp[v].w_(this.ri.get(u?w:x),this.ri.get(y))}};e.prototype.wta= 2331function(){this.XSa();var u=this.J5(),v=1==u.length;this.D.get("displayPartialDistanceLabel")&&!v&&this.zp.forEach(function(w){var x=this.nU(w);x.BAa(w);x.setStyle(h.ODa)}.bind(this));this.D.get("displayDistanceLabel")&&(v?(u=this.nU(this.zp[0]),u.BAa(this.zp[0]),u.setStyle(h.Qga)):1<u.length&&(v=this.ri.get(u[u.length-1]),u=this.nU(v),u.r0a(v),u.setStyle(h.Qga)));this.D.get("displayAreaLabel")&&this.Xg&&(u=this.nU(this.Xg),u.f_a(this.Xg),u.setStyle(h.NDa));this.wIa();this.FX();this.py()};e.prototype.Hta= 2332function(){var u=!this.oi&&"view"!=this.Sc;this.ri.forEach(function(v){v.A0a(u)})};e.prototype.cTa=function(){this.Xg&&this.Xg.w_([this.D].concat(this.J5()).map(function(u){return this.ri.get(u)}.bind(this)))};e.prototype.Ija=function(u){var v=this.ri.get(u);v||(v=new c(this.D,this.ea,this.Ha,u),this.ri.set(u,v),this.$M.set(v,u),v.bind(m.em,this.Yoa,this,!0),v.bind(m.ra,this.Xoa,this,!0),v.bind(m.wb,this.Zoa,this,!0),v.bind(m.Zb,this.$oa,this,!0),v.bind(m.wt,this.apa,this,!1))};e.prototype.fka=function(u){var v= 2333this.ri.get(u);v&&(v.unbind(m.wt,this.apa,this,!1),v.unbind(m.em,this.Yoa,this,!0),v.unbind(m.ra,this.Xoa,this,!0),v.unbind(m.wb,this.Zoa,this,!0),v.unbind(m.Zb,this.$oa,this,!0),v.dispose(),this.ri["delete"](u),this.$M["delete"](v))};e.prototype.OHa=function(){var u=new d(this.D,this.Ha);this.zp.push(u)};e.prototype.uIa=function(){0!=this.zp.length&&this.zp.pop().dispose()};e.prototype.NHa=function(){var u=new h(this.ea,this.D,this.Ha);this.TB.push(u);return u};e.prototype.XSa=function(){this.EG.clear()}; 2334e.prototype.nU=function(u){var v=this.TB.length>this.EG.size?this.TB[this.EG.size]:this.NHa();this.EG.set(u,v);return v};e.prototype.z5=function(u){return this.EG.get(u)};e.prototype.wIa=function(){for(;this.TB.length>this.EG.size;)this.tIa()};e.prototype.tIa=function(){0!=this.TB.length&&this.TB.pop().dispose()};e.prototype.iHa=function(){this.Xg||(this.Xg=new b(this.D,this.Ha))};e.prototype.rIa=function(){this.Xg&&(this.Xg.dispose(),this.Xg=null)};e.prototype.GX=function(){this.D.set("draggingPoint", 2335!!this.oi)};var g=["points"],p=["mode"],q=["type"],n=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],r=["area"],t=["pointer"];return e}); 2336define("eN",["require","exports","fF","ns","dY"],function(a,e,k,m,l){a=function(b){function h(d,c,f,g,p){d=b.call(this,d,c,f,p)||this;d.le=f;d.Y.H(k.Dw);d.Y.H(k.sJ).object=d.object;d.fd();return d}Z(h,b);h.prototype.fd=function(){};h.prototype.gd=function(){};h.prototype.dispose=function(){this.gd();b.prototype.dispose.call(this)};return h}(m);a=l.md(a);a=l.iha(a);a=l.pJ(a);a=l.GJ(a);a=l.kb(a);a=l.EDa(a);return a=l.Jga(a)}); 2337define("cI",["require","exports","kJ","dY"],function(a,e,k,m){a=function(){function l(b,h,d,c,f){this.object=b;this.model=h;this.le=d;this.renderer=f;this.Yf=this.Yf.bind(this);this.enabled=!1;this.Y=null;k.ga(this.object,["enabled"],this.Yf,!0)}l.prototype.fd=function(){};l.prototype.gd=function(){};l.prototype.dispose=function(){this.disable();k.ca(this.object,["enabled"],this.Yf)};l.prototype.Yf=function(){this.object.get("enabled")?this.enable():this.disable()};l.prototype.enable=function(){this.enabled|| 2338(this.enabled=!0,this.Y=this.le.R.bd("ImagePlane"),this.fd())};l.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.gd(),this.Y.R.Ne(this.Y),this.Y=null)};return l}();a=m.md(a);a=m.pJ(a);a=m.dm(a);a=m.GJ(a);a=m.kb(a);return a=m.Plane(a)}); 2339define("cJ",["require","exports","kJ","fF","dY"],function(a,e,k,m,l){var b=["objectId"];a=function(){function h(d,c,f,g,p){this.object=d;this.model=c;this.le=f;this.renderer=p;this.Y=this.le.R.bd("InnerObject");this.Ru=this.Ru.bind(this);k.ga(this.object,b,this.Ru,!0);this.fd()}h.prototype.fd=function(){};h.prototype.gd=function(){};h.prototype.Ru=function(){var d=this.Y.J(m.BE,!0);d.id=this.object.get("objectId");d.container=this.le};h.prototype.dispose=function(){this.gd();k.ca(this.object,b,this.Ru); 2340this.le.R.Ne(this.Y);this.Y=null};return h}();a=l.md(a);a=l.pJ(a);a=l.GJ(a);return a=l.iha(a)}); 2341define("nu","require exports kJ fF dY three.mod".split(" "),function(a,e,k,m,l,b){var h=["x","y","z"],d=["targetX","targetY","targetZ"];a=function(){function c(f,g,p,q,n){this.object=f;this.model=g;this.le=p;this.renderer=n;this.Yf=this.Yf.bind(this);this.WZ=this.WZ.bind(this);this.$Z=this.$Z.bind(this);this.enabled=!1;this.Y=null;k.ga(this.object,["enabled"],this.Yf,!0)}c.prototype.fd=function(){};c.prototype.gd=function(){};c.prototype.dispose=function(){this.disable();k.ca(this.object,["enabled"], 2342this.Yf)};c.prototype.Yf=function(){this.object.get("enabled")?this.enable():this.disable()};c.prototype.enable=function(){this.enabled||(this.enabled=!0,this.Y=this.le.R.bd("Line"),this.Y.H(m.Aa),this.Y.H(m.Line),this.Y.H(m.ar).position=new b.Vector3,k.ga(this.object,h,this.WZ,!0),k.ga(this.object,d,this.$Z,!0),this.fd())};c.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.gd(),k.ca(this.object,h,this.WZ),k.ca(this.object,d,this.$Z),this.Y.R.Ne(this.Y),this.Y=null)};c.prototype.WZ= 2343function(){var f=this.Y.J(m.Aa);f.translationX=this.object.get("x",0);f.translationY=this.object.get("y",0);f.cf=this.object.get("z",0)};c.prototype.$Z=function(){var f=this.Y.J(m.ar);f.position.x=this.object.get("targetX");f.position.y=this.object.get("targetY");f.position.z=this.object.get("targetZ")};return c}();a=l.md(a);a=l.Wg(a);return a=l.kb(a)}); 2344define("fk",["require","exports","kJ","fF","dY"],function(a,e,k,m,l){var b=["radiu
2344s","maxRadius","minRadius"];a=function(){function h(d,c,f,g,p){this.object=d;this.model=c;this.le=f;this.renderer=p;this.Yf=this.Yf.bind(this);this.ZZ=this.ZZ.bind(this);this.enabled=!1;this.Y=null;k.ga(this.object,["enabled"],this.Yf,!0)}h.prototype.fd=function(){};h.prototype.gd=function(){};h.prototype.dispose=function(){this.disable();k.ca(this.object,["enabled"],this.Yf)};h.prototype.Yf=function(){this.object.get("enabled")? 2345this.enable():this.disable()};h.prototype.enable=function(){this.enabled||(this.enabled=!0,this.Y=this.le.R.bd("Sphere"),this.Y.H(m.Sphere),this.Y.H(m.ej),k.ga(this.object,b,this.ZZ,!0),this.fd())};h.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.gd(),k.ca(this.object,b,this.ZZ),this.Y.R.Ne(this.Y),this.Y=null)};h.prototype.ZZ=function(){var d=this.Y.J(m.ej);d.Df=d.Qf=d.oh=1;d.scale=this.object.get("radius");d.zz=this.object.get("maxRadius");d.Az=this.object.get("minRadius")};return h}(); 2346a=l.md(a);a=l.pJ(a);a=l.Fc(a);a=l.kb(a);return a=l.Jga(a)}); 2347define("oa",["require","exports","kJ","fF","dY"],function(a,e,k,m,l){var b="sourceFaces sourceX sourceY sourceYaw sourceZ targetFaces targetX targetY targetYaw targetZ position".split(" ");a=function(){function h(d,c,f,g,p){this.object=d;this.model=c;this.le=f;this.Zca=g;this.renderer=p;this.Yf=this.Yf.bind(this);this.YZ=this.YZ.bind(this);this.enabled=!1;this.Y=null;k.ga(this.object,["enabled"],this.Yf,!0)}h.prototype.fd=function(){};h.prototype.gd=function(){};h.prototype.dispose=function(){this.disable(); 2348k.ca(this.object,["enabled"],this.Yf)};h.prototype.Yf=function(){this.object.get("enabled")?this.enable():this.disable()};h.prototype.enable=function(){if(!this.enabled){this.enabled=!0;this.Y=this.le.R.bd("ProjectedMaterial");this.Y.H(m.hr);var d=this.Y.H(m.kb);d.Y=this.le;d.attach=!0;k.ga(this.object,b,this.YZ,!0);this.fd()}};h.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.gd(),k.ca(this.object,b,this.YZ),this.Y.R.Ne(this.Y),this.Y=null)};h.prototype.YZ=function(){var d=this.Y.J(m.hr); 2349d.bJ=this.Zca;d.IQ=this.object.get("sourceX")||0;d.JQ=this.object.get("sourceY")||0;d.KQ=this.object.get("sourceZ")||0;d.n1a=this.object.get("sourceYaw")||0;d.B_=this.object.get("sourceFaces");d.targetX=this.object.get("targetX")||0;d.targetY=this.object.get("targetY")||0;d.NQ=this.object.get("targetZ")||0;d.D1a=this.object.get("targetYaw")||0;d.E_=this.object.get("targetFaces");d.position=this.object.get("position")||0};return h}();return l.kb(a)}); 2350define("kB",["require","kJ","oR","ht","fF"],function(a){function e(f,g,p,q,n){this.D=f;this.ea=g;this.Ha=p;this.j=n;this.M=this.j.M;this.Hp=this.Hp.bind(this);this.Pu=this.Pu.bind(this);this.Jm=this.Jm.bind(this);this.zf=this.zf.bind(this);this.p7=this.Ha.getComponent(b.uh).wo;this.p7.bind(m.Z,this.Qu,this,!1);this.q7=this.$ma=!1;this.ms=new l(this.M);this.ms.setPosition(0);this.ms.update();this.o=null;k.ga(this.D,["enabled"],this.Hp,!0)}var k=a("kJ"),m=a("oR"),l=a("ht"),b=a("fF");e.prototype.Hp= 2351function(){this.D.get("enabled")?this.nB():this.np()};e.prototype.nB=function(){if(!this.o){this.o=this.Ha.R.bd("Reticle");var f=this.o.H(b.kb);f.Y=this.Ha;f.id=this.D.get("parentId");this.o.H(b.Plane).renderOrder=2;this.o.H(b.Xh).source=this.ms.Xf();this.o.H(b.Dw);f=this.o.H(b.sJ);f.z1a=this.D;f.object=this.D;k.ga(this.ea,c,this.Pu,!0);k.ga(this.D,h,this.Jm,!0);k.ga(this.D,d,this.zf,!0)}};e.prototype.np=function(){this.o&&(this.Ha.R.Ne(this.o),this.o=null,k.ca(this.ea,c,this.Pu),k.ca(this.D,h,this.Jm), 2352k.ca(this.D,d,this.zf))};e.prototype.Pu=function(){var f=this.o.J(b.ej,!0);f.Df=f.Qf=2;f.scale=this.ea.get("surfaceReticleRadius");f.zz=this.ea.get("surfaceReticleMaxRadius");f.Az=this.ea.get("surfaceReticleMinRadius");this.Dta()};e.prototype.Jm=function(){var f=this.o.J(b.nt,!0);f.x=this.D.get("x");f.y=this.D.get("y");f.z=this.D.get("z");f.distance=this.D.get("distance");f.IP=this.D.get("horizontal")};e.prototype.zf=function(){var f=this.o.J(b.md,!0);f.hJ=this.D.get("useHandCursor");f.PQ=this.D.get("transparentAreaActive"); 2353f.ba=this.D;f=this.o.J(b.Xh);f.opacity=this.D.get("opacity");f.hidden=this.D.get("hidden");f.depthTest=this.D.get("depthTest")};e.prototype.Qu=function(){this.$ma=!0;this.Dta()};e.prototype.Dta=function(){var f=this.$ma&&.5<this.ea.get("opacity");this.q7!=f&&(this.q7=f)&&this.o&&this.o.J(b.nt)};e.prototype.dispose=function(){this.np();k.ca(this.D,["enabled"],this.Hp);this.p7.unbind(m.Z,this.Qu,this,!1);this.p7=null};var h=["distance","horizontal","x","y","z"],d=["depthTest","hidden","opacity","transparentAreaActive", 2354"useHandCursor"],c=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return e}); 2355define("gg",["require","exports","kJ","dY"],function(a,e,k,m){a=function(){function l(b,h,d,c,f){this.object=b;this.model=h;this.le=d;this.renderer=f;this.Yf=this.Yf.bind(this);this.enabled=!1;this.Y=null;k.ga(this.object,["enabled"],this.Yf,!0)}l.prototype.fd=function(){};l.prototype.gd=function(){};l.prototype.dispose=function(){this.disable();k.ca(this.object,["enabled"],this.Yf)};l.prototype.Yf=function(){this.object.get("enabled")?this.enable():this.disable()};l.prototype.enable=function(){this.enabled|| 2356(this.enabled=!0,this.Y=this.le.R.bd("VideoPlane"),this.fd())};l.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.gd(),this.Y.R.Ne(this.Y),this.Y=null)};return l}();a=m.md(a);
2356a=m.pJ(a);a=m.un(a);a=m.kb(a);a=m.GJ(a);return a=m.Plane(a)}); 2357define("gS","require exports ex eN cI cJ nu fk fQ oa kB gg".split(" "),function(a,e,k,m,l,b,h,d,c,f,g,p){c.cw("MeasureModel3DObject",k);c.cw("ChildModel3DObject",m);c.cw("ImagePlaneModel3DObject",l);c.cw("InnerModel3DObject",b);c.cw("LineModel3DObject",h);c.cw("ProjectedMaterialModel3DObject",f);c.cw("SphereModel3DObject",d);c.cw("SurfaceReticleModel3DObject",g);c.cw("VideoPlaneModel3DObject",p);return c}); 2358define("hO","require exports kJ oR bn gp v lx jC nH".split(" "),function(a,e,k,m,l,b,h,d,c,f){return function(g){function p(q,n,r,t,u){var v=g.call(this)||this;v.GZ=[];v.tua=0;v.sua=0;v.EY=!1;v.vva=!1;v.renderer=q;v.xw=n;v.model=r;v.le=t;v.ie=u;v.wq=v.wq.bind(v);v.tY=v.tY.bind(v);v.Iba=d.Bo(v.Iba,v);v.HZ=v.HZ.bind(v);v.yZ=v.yZ.bind(v);v.xZ=v.xZ.bind(v);v.Vc=v.renderer.M;v.lg=v.renderer.getParent();v.enabled=!0;v.type=p.wJ;v.Pb();return v}Z(p,g);p.prototype.getType=function(){return this.type};p.prototype.Wb= 2359function(q){this.enabled=q};p.prototype.dispose=function(){this.gb()};p.prototype.Pb=function(){this.lg.bind(m.kc,this.wq,this,!0);this.lg.bind(m.ra,this.rua,this,!0);k.hD(this.model,["camera.lockMouse"],this.tY,!0);k.hD(this.model,["objects"],this.HZ,!0);this.Ok=new c(this.lg.Bc());this.Ok.bind(m.va,this.hya,this,!0);document.addEventListener("keyup",this.yZ);document.addEventListener("keydown",this.xZ);this.Zs(p.wJ)};p.prototype.gb=function(){this.lg.unbind(m.kc,this.wq,this);this.lg.unbind(m.ra, 2360this.rua,this);k.ca(this.model,["camera.lockMouse"],this.tY);k.ca(this.model,["objects"],this.HZ);this.EAa([]);this.Ok.unbind(m.va,this.hya,this);this.Ok.vo()&&this.Ok.unlock();this.Vc.wL.Wb(!1);this.Ok.dispose();document.removeEventListener("keyup",this.yZ);document.removeEventListener("keydown",this.xZ)};p.prototype.tY=function(){this.PP=!h.lb()&&this.model.get("camera").get("lockMouse");!this.PP&&this.Ok.vo()&&this.Ok.unlock();this.XBa()};p.prototype.XBa=function(){this.Vc.wL.Wb((!this.EY||!this.vva)&& 2361(h.lb()||!this.PP))};p.prototype.wq=function(){this.Ok.vo()||this.Zs(p.wJ)};p.prototype.xZ=function(q){-1!=p.iDa.indexOf(q.code)&&(this.type==p.wJ&&this.Zs(p.a1),this.PP&&!this.Ok.vo()&&this.Ok.lock())};p.prototype.yZ=function(q){q.code==l.ua.Oga&&this.lg.trigger(m.ra)};p.prototype.rua=function(){this.sua=(new Date).getTime();this.PP&&!this.Ok.vo()?this.Ok.lock():this.Iba()};p.prototype.rVa=function(){this.PP&&this.Ok.vo()&&this.Ok.unlock()};p.prototype.hya=function(){this.Ok.vo()?this.Zs(p.a1):this.Zs(p.wJ)}; 2362p.prototype.HZ=function(){this.EAa(this.model.get("objects",[]))};p.prototype.EAa=function(q){var n=this;this.GZ.forEach(function(r){r.unbind(m.ra,n.qya,n)});this.GZ=q;this.GZ.forEach(function(r){r.bind(m.ra,n.qya,n,!0);f.Oa("MeasureModel3DObject",r)&&(r.bind(m.G("draggingPoint"),n.Vca,n,!0),r.bind(m.G("mode"),n.Vca,n,!0))});this.Vca()};p.prototype.qya=function(q){q.source.get("useHandCursor")&&(this.tua=(new Date).getTime())};p.prototype.Vca=function(){var q=!1,n=!1;this.GZ.forEach(function(t){f.Oa("MeasureModel3DObject", 2363t)&&(n=n||!!t.get("draggingPoint"),q=q||"edit"==t.get("mode")&&!!t.get("draggingPoint"))});this.vva=q;var r=this.model.get("camera");
2363n!=this.EY&&(this.EY=n,setTimeout(function(){r.w_a(this.EY)}.bind(this),0));this.XBa()};p.prototype.Iba=function(){100<Math.abs(this.sua-this.tua)&&this.rVa()};p.prototype.Zs=function(q){this.type!==q&&(this.type=q,this.trigger(m.va))};p.wJ="mouse";p.a1="gaze";p.iDa=[l.ua.Vj,l.ua.Bi,l.ua.Ya,l.ua.rb,l.ua.mn,l.ua.ht,l.ua.Gt,l.ua.Bt,l.ua.E,l.ua.Q];return p}(b)}); 2364define("fa","require exports three.mod kJ oR lT jR fF bd bh".split(" "),function(a,e,k,m,l,b,h,d,c,f){var g=new k.Vector3(0,0,0),p=new k.Vector3(0,0,-1);a=function(){function n(r,t,u,v,w){this.renderer=r;this.xw=t;this.model=u;this.le=v;this.ie=w;this.TQ=this.TQ.bind(this);this.ew=this.ew.bind(this);this.Kv=this.Kv.bind(this);this.Vc=this.renderer.M;this.lg=this.renderer.getParent();this.Ws=this.model.get("application").an("Model3DPointer");this.Pb()}n.prototype.Wb=function(r){var t=this.ie.J(d.df); 2365t&&(t.enabled=r)};n.prototype.dispose=function(){this.gb()};n.prototype.Pb=function(){this.TI=new b(this.Vc);this.iWa=new q(this.lg,this.TI);this.Uv=new h;this.Uv.s_a(this.iWa);var r=this.ie.H(d.df);r.origin=g;r.direction=p;r.Sba=this.lg;r.Hba=this.Uv;r.ba=this.Ws;this.Vc.set("toolTipCentered",!0);this.model.set("pointer",this.Ws);this.Q0a();this.Fea();this.Uv.push(c.yA);f.requestFrame(this.TQ)};n.prototype.gb=function(){this.Uv.pop(c.yA);this.F1a();this.Tea();this.Vc.set("toolTipCentered",!1);this.Vc.set("toolTipCenteredOffsetY", 2366void 0);this.model.set("pointer",void 0);this.ie.na(d.df);this.Uv.dispose();f.fVa(this.TQ)};n.prototype.Fea=function(){this.gn=this.le.R.bd("GazeReticle");this.gn.H(d.kb).Y=this.ie;this.gn.H(d.Plane).renderOrder=2;this.gn.H(d.zJ);var r=this.gn.H(d.Xh);r.source=this.TI.Xf();r.depthTest=!1;this.gn.H(d.Aa).cf=-1;this.renderer.bind(l.lc,this.ew,this,!0);this.ew();this.pba(this.ie.getComponent(d.df),this.Ws)};n.prototype.pba=function(r,t){t.set("originX",r.origin.x);t.set("originY",r.origin.y);t.set("originZ", 2367r.origin.z);t.set("directionX",r.direction.x);t.set("directionY",r.direction.y);t.set("directionZ",r.direction.z)};n.prototype.Tea=function(){this.gn&&(this.gn.R.Ne(this.gn),this.gn=null)};n.prototype.l2a=function(){if(this.gn){var r=this.gn.J(d.ej,!0);r.Df=r.Qf=2;var t=Math.min(this.Vc.Xa(),this.Vc.Ab())/100;r.Az=r.zz=Math.round(5*t);this.Vc.set("toolTipCenteredOffsetY",2*t)}};n.prototype.TQ=function(r){this.gn&&this.TI.update(r)&&(this.gn.J(d.Xh).HQ=(new Date).getTime());f.requestFrame(this.TQ)}; 2368n.prototype.ew=function(){this.l2a()};n.prototype.Q0a=function(){m.hD(this.model,"camera",this.Kv,!0)};n.prototype.F1a=function(){m.ca(this.model,"camera",this.Kv);this.qAa(!0)};n.prototype.Kv=function(){this.qAa(!1)};n.prototype.qAa=function(r){var t=this.ie.J(d.nA);t&&(t.ZH=r);(t=this.ie.J(d.oA))&&(t.ZH=r);(t=this.ie.J(d.tA))&&(t.ZH=r)};return n}();var q=function(){function n(r,t){this.lg=r;this.TI=t}n.prototype.aea=function(r,t){-1<t.indexOf(c.Ee)?this.TI.$D(!0):this.TI.$D(!1)};return n}();return a}); 2369define("oz","require exports three.mod kJ oR jR kY fF".split(" "),function(a,e,k,m,l,b,h,d){var c=new k.Vector3(0,0,0),f=Math.PI/180,g=new k.Vector3;return function(){function p(q,n,r,t,u){this.renderer=q;this.xw=n;this.model=r;this.le=t;this.ie=u;this.NY=this.NY.bind(this);this.ew=this.ew.bind(this);this.wq=this.wq.bind(this);this.Vc=this.renderer.M;this.lg=this.renderer.getParent();this.Ws=this.model.get("application").an("Model3DPointer");this.enabled=!0;this.Pb()}p.prototype.Wb=function(q){this.enabled= 2370q;var n=this.ie.J(d.df);n&&(n.enabled=q)};p.prototype.dispose=function(){this.gb()};p.prototype.Pb=function(){var q=this.ie.H(d.df);q.origin=c;q.direction=new k.Vector3;q.Sba=this.lg;q.ba=this.Ws;this.Uv=new b;this.Uv.Qq(this.lg);q.Hba=this.Uv;q.enabled=this.enabled;m.ga(this.model,["camera.fov"],this.NY,!0);this.renderer.bind(l.lc,this.ew,this,!0);this.lg.WUa(l.wb,this.wq,this);this.lg.bind(l.kc,this.wq,this,!0);this.model.set("picker",this);this.model.set("pointer",this.Ws)};p.prototype.gb=function(){m.ca(this.model, 2371["camera.fov"],this.NY);this.renderer.unbind(l.lc,this.ew,this);this.lg.unbind(l.wb,this.wq,this);this.lg.unbind(l.kc,this.wq,this);this.ie.na(d.df);this.Uv.dispose();this.model.set("picker",void 0);this.model.set("pointer",void 0)};p.prototype.ew=function(){this.dfa()};p.prototype.NY=function(){this.dfa()};p.prototype.wq=function(q){this.sYa=q.x;this.tYa=q.y;this.dfa()};p.prototype.dfa=function(){var q=this.ie.J(d.df);this.lwa(this.sYa,this.tYa,q.direction);this.pba(q,this.Ws)};p.prototype.pba=function(q, 2372n){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.lwa=function(q,n,r){var t;r=r||new k.Vector3;var u=(null===(t=this.model.get("camera"))||void 0===t?void 0:t.get("fov"))||90;t=this.Vc.Xa();var v=this.Vc.Ab();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.Wq(u,t,v))*f/2))).normalize();return r};p.prototype.g_=function(q, 2373n){var r=this.ie.getComponent(d.df);if(r&&r.jza)return r.jza.g_([this.le],c,this.lwa(q,n,g))};return p}()}); 2374define("mA","require exports kJ oR hO fa oz".split(" "),function(a,e,k,m,l,b,h){return function(){function d(c,f,g,p,q){this.renderer=c;this.xw=f;this.model=g;this.le=p;this.ie=q;this.enabled=!0;this.Kv=this.Kv.bind(this);this.Pb()}d.prototype.Wb=function(c){var f;this.enabled=c;null===(f=this.YH)||void 0===f?void 0:f.Wb(this.enabled)};d.prototype.dispose=function(){this.gb()};d.prototype.Pb=function(){k.ga(this.model,"camera",this.Kv,!0)};d.prototype.gb=function(){k.ca(this.model,"camera",this.Kv); 2375this.Zs("none");this.rBa()};d.prototype.Kv=function(){"FirstPersonModel3DCamera"==this.model.get("camera").get("class")?this.W0a():(this.rBa(),this.Zs("mouse"))};d.prototype.W0a=function(){this.dI||(this.dI=new l(this.renderer,this.xw,this.model,this.le,this.ie),this.dI.bind(m.va,this.Aya,this,!0),this.Aya())};d.prototype.rBa=function(){var c;this.dI&&(null===(c=this.dI)||void 0===c?void 0:c.dispose(),this.dI=void 0)};d.prototype.Aya=function(){var c;switch(null===(c=this.dI)||void 0===c?void 0:c.getType()){case l.a1:this.Zs("gaze"); 2376break;default:this.Zs("mouse")}};d.prototype.Zs=function(c){var f;
2376if(this.type!==c){this.YH&&this.YH.dispose();this.type=c;switch(this.type){case "mouse":this.YH=new h(this.renderer,this.xw,this.model,this.le,this.ie);break;case "gaze":this.YH=new b(this.renderer,this.xw,this.model,this.le,this.ie);break;default:this.YH=void 0}null===(f=this.YH)||void 0===f?void 0:f.Wb(this.enabled)}};return d}()}); 2377define("kI",["require","kJ","fF"],function(a){function e(b,h){this.tc=b;this.qd=h;this.W=!1;this.We=this.We.bind(this);k.ga(this.tc,l,this.We,!0)}var k=a("kJ"),m=a("fF");e.prototype.We=function(){var b=this.tc.get("enabled")&&!this.tc.get("disabled");this.W!=b&&(this.W&&this.qd.na(m.lE),(this.W=b)&&this.qd.H(m.lE));this.W&&(b=this.qd.J(m.lE),b.uva=this.tc.get("easingDuration"),b.bias=this.tc.get("bias"),b.intensity=this.tc.get("intensity"),b.scale=this.tc.get("scale"),b.Bxa=this.tc.get("kernelRadius"), 2378b.aya=this.tc.get("minResolution"),b.wba=this.tc.get("blurRadius"),b.output="ao"==this.tc.get("output")?THREE.SAOPass.OUTPUT.SAO:THREE.SAOPass.OUTPUT.Default)};e.prototype.dispose=function(){this.qd.na(m.lE);this.qd=null;k.ca(this.tc,l,this.We)};var l="disabled enabled bias easingDuration intensity scale kernelRadius minResolution blurRadius output".split(" ");return e}); 2379define("D",["require","kJ","fF"],function(a){function e(b,h){this.tc=b;this.qd=h;this.W=!1;this.We=this.We.bind(this);k.ga(this.tc,l,this.We,!0)}var k=a("kJ"),m=a("fF");e.prototype.We=function(){var b=this.tc.get("enabled")&&!this.tc.get("disabled");this.W!=b&&(this.W&&this.qd.na(m.Tz),(this.W=b)&&this.qd.H(m.Tz));this.W&&(b=this.qd.J(m.Tz),b.Qva="fxaa"==this.tc.get("mode"),b.jBa="ssaa"==this.tc.get("mode"),b.LQ=this.tc.get("ssaaSampleLevel"))};e.prototype.dispose=function(){this.qd.na(m.Tz);this.qd= 2380null;k.ca(this.tc,l,this.We)};var l=["disabled","enabled","mode","ssaaSampleLevel"];return e}); 2381define("kQ",["require","kJ","fF"],function(a){function e(b,h){this.tc=b;this.qd=h;this.W=!1;this.We=this.We.bind(this);k.ga(this.tc,l,this.We,!0)}var k=a("kJ"),m=a("fF");e.prototype.We=function(){var b=this.tc.get("enabled")&&!this.tc.get("disabled");this.W!=b&&(this.W&&this.qd.na(m.xJ),(this.W=b)&&this.qd.H(m.xJ));this.W&&(b=this.qd.J(m.xJ),b.Uza=this.tc.get("samples"),b.intensity=this.tc.get("intensity"))};e.prototype.dispose=function(){this.qd.na(m.xJ);this.qd=null;k.ca(this.tc,l,this.We)};var l= 2382["disabled","enabled","samples","intensity"];return e}); 2383define("gQ",["require","kJ","fF"],function(a){function e(b,h){this.tc=b;this.qd=h;this.We=this.We.bind(this);k.ga(this.tc,l,this.We,!0)}var k=a("kJ"),m=a("fF");e.prototype.We=function(){var b=this.tc.get("enabled")&&!this.tc.get("disabled");this.W!=b&&(this.W&&this.qd.na(m.FE),(this.W=b)&&this.qd.H(m.FE));this.W&&(b=this.qd.J(m.FE),b.fxa=this.tc.get("innerRadius"),b.eza=this.tc.get("outerRadius"),b.color=this.tc.get("color"),b.opacity=this.tc.get("opacity"))};e.prototype.dispose=function(){this.qd.na(m.FE); 2384this.qd=null;k.ca(this.tc,l,this.We)};var l="enabled disabled opacity color innerRadius outerRadius".split(" ");return e}); 2385define("l","require exports nS kI D kQ gQ nH".split(" "),function(a,e,k,m,l,b,h,d){return function(){function c(f,g){this.model=f;this.hw=g;this.filter=this.filter.bind(this);this.de=this.de.bind(this);this.mg=this.mg.bind(this);this.gQ=new k;this.gQ.filter=this.filter;this.gQ.de=this.de;this.gQ.mg=this.mg;this.gQ.dE(this.model,"postprocessing")}c.prototype.filter=function(f){return d.Oa("AmbientOcclusionModel3DPostprocessing",f)||d.Oa("AntialiasModel3DPostprocessing",f)||d.Oa("MotionBlurModel3DPostprocessing", 2386f)||d.Oa("VignetteModel3DPostprocessing",f)};c.prototype.de=function(f){return d.Oa("AmbientOcclusionModel3DPostprocessing",f)?new m(f,this.hw):d.Oa("AntialiasModel3DPostprocessing",f)?new l(f,this.hw):d.Oa("MotionBlurModel3DPostprocessing",f)?new b(f,this.hw):d.Oa("VignetteModel3DPostprocessing",f)?new h(f,this.hw):null};c.prototype.mg=function(f,g){g.dispose()};c.prototype.dispose=function(){this.gQ.dispose()};return c}()}); 2387define("nR","require oR pl fF cp eP ln jL gL iH lj gS mA l".split(" "),function(a){function e(r,t,u){this.j=r;this.Ud=t;this.ea=u;this.M=this.j.M;this.ea.Mda();this.qd=this.Ud.bd("Scene");r=this.qd.H(m.Scene);r.Pba=this.ea.aZ().NH(this.ea.dZ().mz(.1));r.ba=this.ea;this.Zma=new d(this.ea,this.ea,this.qd,this.j);this.Ha=this.Zma.Js();r.ie=this.Ji=this.Ud.bd("PerspectiveCamera");this.Ji.H(m.kb).Y=this.qd;this.Qia=new b(this.j,this.ea,this.Ji);this.BMa=new h(this.ea,this.Ha);this.bqa=new p(this.j,this.Ud, 2388this.ea,this.Ha,this.Ji);
2388n.forEach(function(v){this.ea.bind(k.G(v),this.W7,this,!0)}.bind(this));this.MOa=new q(this.ea,this.qd);this.Ud.yua(this.qd);this.UMa=new g(this.ea,this.Ha,this.Ji);this.aSa=new f(this.ea,this.Ha,this.j);this.sSa=new c(this.j,this.ea);this.W7()}var k=a("oR");a("pl");var m=a("fF"),l=a("cp"),b=a("eP"),h=a("ln"),d=a("jL"),c=a("gL"),f=a("iH"),g=a("lj");a("gS");var p=a("mA"),q=a("l");e.prototype.YD=function(r){this.qd.J(m.Scene).locked=r};e.prototype.Wb=function(r){this.qd.J(m.Scene).enabled= 2389r;this.bqa.Wb(r);this.Qia.Wb(r)};e.prototype.dispose=function(){n.forEach(function(r){this.ea.unbind(k.G(r),this.W7,this,!0)}.bind(this));this.ea.unbind(k.G("camera"),this.QU,this,!0);this.Zma.dispose();this.Qia.dispose();this.BMa.dispose();this.bqa.dispose();this.MOa.dispose();this.aSa.dispose();this.UMa.dispose();this.sSa.dispose();this.Ud.OZa(this.qd);this.Ud.Ne(this.qd);this.Ud.Ne(this.Ji)};e.prototype.SWa=function(){return this.Ha?l.pI(this.Ha):void 0};e.prototype.W7=function(){var r=this.qd.J(m.Scene); 2390r.opacity=this.ea.get("opacity");r.Ava=this.ea.get("environmentURL");r.rba=this.ea.get("backgroundImageURL");r.Lua=this.ea.get("backgroundPanoramaURL");r.backgroundColor=this.ea.get("backgroundColor");r.outputEncoding=this.ea.get("encoding");r=this.ea.get("environmentIntensity");var t=this.ea.get("anisotropicFilteringLevel");if(1!=r||0!=t){var u=this.qd.J(m.Yh,!0);u.envMapIntensity=r;u.RO=t}else this.qd.na(m.Yh)};var n="anisotropicFilteringLevel environmentURL backgroundImageURL backgroundPanoramaURL backgroundColor opacity encoding environmentIntensity".split(" "); 2391return e}); 2392define("ls","require lx gq nR bd d om".split(" "),function(a){var e=a("lx"),k=a("gq"),m=a("nR"),l=a("bd"),b=a("d"),h=a("om");a=e.extend(h,function(d,c,f){h.call(this);this.sc=d;this.M=c;this.SL=f;this.Ae("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",l.pt);this.set("layout",b.VQ);this.Ud=null;this.fG=[];this.YG=new Map});a.prototype.Db=function(){h.prototype.Db.call(this);null==this.Ud&&(this.Ud=new k(this.sc,!0),this.Ud.ka({left:0,top:0,right:0,bottom:0,cursor:l.pt,toolTipDisabled:!0}),this.Ud.G0a(), 2393this.Wa(this.Ud),this.fG.forEach(this.Wra.bind(this)))};a.prototype.uXa=function(d){return 0<=this.fG.indexOf(d)};a.prototype.xua=function(d){0<=this.fG.indexOf(d)||(this.fG.push(d),this.Ud&&this.Wra(d))};a.prototype.Hda=function(d){var c=this.fG.indexOf(d);0>c||(this.fG.splice(c,1),this.Ud&&this.Esa(d))};a.prototype.mea=function(d,c){(d=this.YG.get(d))&&d.YD(c)};a.prototype.DAa=function(d,c){(d=this.YG.get(d))&&d.Wb(c)};a.prototype.vP=function(d){return(d=this.YG.get(d))?d.SWa():void 0};a.prototype.TD= 2394function(){return this.Ud&&this.Ud.TD()};a.prototype.Dba=function(){return this.Ud&&this.Ud.Dba()};a.prototype.Wra=function(d){this.Esa(d);this.YG.set(d,new m(this,this.Ud,d))};a.prototype.Esa=function(d){var c=this.YG.get(d);c&&(this.YG["delete"](d),c.dispose())};return a}); 2395define("bI","require lx oR cB nH jP iE dZ ls eh".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("nH"),b=a("jP"),h=a("iE"),d=a("dZ"),c=a("ls"),f=a("eh"),g=l.define("Model3DPlayer",h,function(){h.call(this,"model");this.op=this.AU=this.Sh=!1;this.L=this.j=null;this.sb=this.Ed=0;this.Zd=e.Bo(this.Og,this);this.W2=new b(this,"buttonToggleSprites",f.Uj);this.W2.bind(k.Sj,function(){this.set("spritesEnabled",!0)},this);this.W2.bind(k.fm,function(){this.set("spritesEnabled",!1)},this);this.W2.set("pressed", 2396this.get("spritesEnabled"))});g.prototype.play=function(){this.lC()};g.prototype.pause=function(){this.kC()};g.prototype.stop=function(){this.Ay()};g.prototype.restart=function(){this.xy()};g.prototype.getModelPixelScale=function(){return this.yKa()};g.prototype.captureToDataURL=function(){return this.j&&this.j.Dba()};g.prototype.saveScreenshot=function(){return this.j&&this.j.TD()};g.prototype.set=function(p,q){if(this.get(p)!=q){switch(p){case "model":this.AU=!0;this.set("requesterPlayer",null); 2397this.Zd();break;case "viewerArea":this.Sh=!0;this.Zd();break;case "displayPlaybackBar":this.op=!0,this.Zd()}h.prototype.set.call(this,p,q)}};g.prototype.get=function(p,q){switch(p){case "currentTime":return this.L&&this.L.getTime()||0}return h.prototype.get.call(this,p,q)};g.prototype.Og=function(){this.Sh&&(this.Sh=!1,this.fu(),this.get("viewerArea")&&this.cu(),this.IN(this.get("viewerArea")),this.AU=!0);var p=!1;if(this.j&&(this.AU||this.gX)){var q=this.get("model");if(q&&!this.j.Gb()){this.Zd(); 2398return}this.AU=!1;this.sb=this.Ed=0;p=!0;q?(this.RI(this.get("requesterPlayer")?[this.get("requesterPlayer"),this]:[this]),this.L.e0a(q)):this.L.iw()}this.op&&(this.op=!1,p=!0);p&&this.Gv()};g.prototype.mH=function(){this.set("model",null)};g.prototype.cu=function(){var p=this.get("application"),q=this.get("viewerArea");this.j=new c(p,q,this);this.j.ka({left:0,top:0,bottom:0,right:0});q.Wa(this.j);this.L=new d(q,this.j);this.L.bind(d.cA,this.pl,this);this.L.bind(d.bA,this.sy,this);this.L.bind(d.dA, 2399this.rM,this);this.L.bind(d.J0,this.Koa,this,!0);this.L.bind(d.Ec,this.Ve,this);this.Uy(!0)};g.prototype.fu=function(){this.j&&(this.L.unbind(d.cA,this.pl,this),this.L.unbind(d.bA,this.sy,this),this.L.unbind(d.dA,this.rM,this),this.L.unbind(d.J0,this.Koa,this,!0),this.L.unbind(d.Ec,this.Ve,this),this.L.clear(),this.j.getParent().removeChild(this.j),this.j=null,this.Uy(!1))};g.prototype.Ve=function(p){this.Ac(p.data.state)};g.prototype.pl=function(p){var q=this.get("viewerArea");this.Pd=q&&q.Pd;this.PL(p.data.model); 2400this.Gv()};g.prototype.rM=function(p){this.trigger(new m(g.FCa,{model:p.data.model}))};g.prototype.sy=function(p){this.Pd=null;this.OL(p.data.model)};g.prototype.Koa=function(p){this.Ed=p.data.time;this.sb=p.data.duration;this.Gv()};g.prototype.YM=function(p){this.HC(p.data.position)};g.prototype.rk=function(){this.L&&this.L.play()};g.prototype.ho=function(){this.L&&this.L.stop()};g.prototype.Qp=function(){this.L&&this.L.pause()};g.prototype.HC=function(p){this.L&&this.L.setTime(p)};g.prototype.yKa= 2401function(){return this.L&&this.L.vP()};g.prototype.Gv=function(){if(this.j){var p=this.j.getParent();
24010<this.sb&&this.get("displayPlaybackBar")?p.ka({playbackBarPosition:this.Ed,playbackBarDuration:this.sb,playbackBarVisible:!0}):p.set("playbackBarVisible",!1)}};g.FCa="preloadMediaShow";return g}); 2402define("pi","require oR kX nH dg ir".split(" "),function(a){var e=a("oR"),k=a("kX"),m=a("nH"),l=a("dg"),b=a("ir");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(l.Vg,this.pl,this),h.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.pl():h.set("model",this.get("media")))};a.prototype.stop=function(){var h=this.get("player");h&&(h.unbind(l.Vg,this.pl,this),h.get("model")== 2403this.get("media")&&h.set("model",null));b.prototype.stop.call(this)};a.prototype.pl=function(h){h&&h.data.media!=this.get("media")||(this.get("player").unbind(l.Vg,this.pl,this),this.get("player").bind(l.cm,this.sy,this),this.rUa())};a.prototype.rUa=function(){var h=this.get("media").get("camera").get("sequences",[]).find(function(d){return d.get("internal")&&d.get("state")==k.X});h?h.bind(e.vb,this.ypa,this,!0):this.jz()};a.prototype.ypa=function(h){h.source.unbind(e.vb,this.ypa,this,!0);this.jz()}; 2404a.prototype.sy=function(h){h.data.media==this.get("media")&&(this.get("player").unbind(l.cm,this.sy,this),this.stop(),this.end())};return a});define("pt",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("Model3DPointer",e,function(){e.call(this)})});define("iG",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("Menu",e,function(){e.call(this)})});define("p",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("MenuItem",e,function(){e.call(this)})}); 2405define("dM",["require","nH","fj"],function(a){var e=a("nH"),k=a("fj");return e.define("MotionBlurModel3DPostprocessing",k,function(){k.call(this)})});define("kH",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("MovementPhotoCamera",e,function(){e.call(this)})});define("cH",["require"],function(){var a={Yz:"drag_acceleration",it:"drag_rotation"};a.bga=a.Yz;a.Vga=a.it;return a}); 2406define("pf",["require","lx","cB"],function(a){var e=a("lx"),k=a("cB");return e.extend(k,function(m){k.call(this,m);this.JI=this.jJ=this.aw=this.zw=0})});define("nC",["require","lx","cB"],function(a){var e=a("lx"),k=a("cB");return e.extend(k,function(m){k.call(this,m);this.uca=this.EXa=0})}); 2407define("fs","require lx ek oR cB gp cH pf nC".split(" "),function(a){function e(q,n){return q*n}function k(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 l=a("lx");a("ek");var b=a("oR"),h=a("cB"),d=a("gp"),c=a("cH"),f=a("pf"),g=a("nC"),p=l.extend(d,function(){d.call(this);this.Vma=this.Wma=1800;this.QMa=this.wSa=0;this.pL=!1;this.$n=void 0;this.YB=c.bga;this.Rsa=c.Vga;this.HK=0;this.vW=void 0;this.Rh=!1;this.SE=null;this.BB=3;this.Ma= 240890;this.y4=this.QC=this.Cc=1;this.Pd=this.cb=null;this.XM=!1});p.prototype.setCamera=function(q){this.Wma=q.get("manualRotationSpeed");this.Vma=q.get("manualRotationSpeed");this.BB=q.get("manualZoomSpeed");this.y4=q.get("draggingFactor")};p.prototype.Hz=function(q){this.YB=q;this.Aaa()};p.prototype.cE=function(q){this.Rsa=q;this.Aaa()};p.prototype.XD=function(q){this.Ma=q;this.QC=this.Ma/90};p.prototype.Qq=function(q){this.Jl();if(q){this.cb=q;if(this.Pd=q.HWa&&q.Pd)this.Pd.bind(b.wb,this.Ypa,this, 2409!0),this.Pd.bind(b.Zb,this.Zpa,this,!0);this.cb.bind(b.wb,this.Nd,this,!0);this.cb.bind(b.kc,this.sj,this,!0);this.cb.bind(b.Zb,this.tj,this,!0);this.cb.bind(b.cr,this.ZB,this,!0);!1!==this.cb.Gb().get("settings").get(TDV.PlayerSettings.zDa)&&this.cb.bind(b.uE,this.xB,this,!0);this.cb.bind(b.Kw,this.Ska,this,!0);this.cb.bind(b.tE,this.Pka,this,!0);this.Aaa()}};p.prototype.Jl=function(){null!=this.cb&&(this.Pd&&(this.Pd.unbind(b.wb,this.Ypa,this),this.Pd.unbind(b.Zb,this.Zpa,this),this.Pd=null),this.cb.unbind(b.wb, 2410this.Nd,this),this.cb.unbind(b.kc,this.sj,this),this.cb.unbind(b.Zb,this.tj,this),this.cb.unbind(b.cr,this.ZB,this),this.cb.unbind(b.uE,this.xB,this),this.cb.unbind(b.Kw,this.Ska,this),this.cb.unbind(b.tE,this.Pka,this),this.cb=null,this.YS())};p.prototype.Aaa=function(){this.cb&&(this.cb.Jn?(this.vW=this.Rsa,this.HK=this.wSa):(this.vW=this.YB,this.HK=this.QMa))};p.prototype.Ypa=function(){this.XM=!0};p.prototype.Zpa=function(){this.XM=!1};p.prototype.Nd=function(q){this.XM||(this.NRa(q),this.p$())}; 2411p.prototype.sj=function(q){this.XM||this.zH(q)};p.prototype.tj=function(){this.XM||(this.K4(),this.YS())};p.prototype.ZB=function(q){this.Kaa(q);this.p$(500)};p.prototype.Ska=function(){this.p$()};p.prototype.xB=function(q){this.Laa(q)};p.prototype.Pka=function(){this.YS()};p.prototype.NRa=function(q){this.pL=!0;this.$n=q;this.zH(q)};p.prototype.zH=function(q){if(this.pL)switch(this.vW){case c.Yz:this.YTa(q);break;
2411case c.it:this.XTa(q)}};p.prototype.YTa=function(q){var n=this.Mta,r=q.x-this.$n.x; 2412r=+e(k(10,m(3>Math.abs(r)?0:r,this.cb.Xa())),this.Wma*this.QC);q=q.y-this.$n.y;n.call(this,r,-e(k(10,m(3>Math.abs(q)?0:q,this.cb.Ab())),this.Vma*this.QC))};p.prototype.XTa=function(q){this.zaa(-e(m(q.x-this.$n.x,this.cb.Xa()),this.Ma*this.y4),+e(m(q.y-this.$n.y,this.cb.Xa()),this.Ma*this.y4));this.$n=q};p.prototype.K4=function(){if(this.pL)switch(this.pL=!1,this.vW){case c.Yz:this.Mta(0,0)}};p.prototype.Mta=function(q,n){var r=new f(p.lt);r.zw=q;r.aw=n;this.trigger(r)};p.prototype.zaa=function(q, 2413n){var r=new f(p.lt);r.jJ=q;r.JI=n;this.trigger(r)};p.prototype.Laa=function(q){if(this.Cc!=q.scale){this.K4();var n=this.Cc;this.Cc=q.scale;q=new g(p.Qo);q.uca=this.Ma*n/this.Cc-this.Ma;this.trigger(q)}};p.prototype.Kaa=function(q){if(0!=q.delta){this.K4();var n=new g(p.Qo);n.uca=this.Ma*-q.delta*this.BB/100;this.trigger(n)}};p.prototype.p$=function(q){var n=null!=this.SE;this.tsa();if(q&&(n||!this.Rh)){var r=this;this.SE=setTimeout(function(){r.SE=null;r.YS()},q)}this.Rh||(this.Rh=!0,this.trigger(new h(p.Ei)))}; 2414p.prototype.YS=function(){this.tsa();this.Rh&&(this.Rh=!1,this.trigger(new h(p.Di)))};p.prototype.tsa=function(){null!=this.SE&&(clearTimeout(this.SE),this.SE=null)};p.lt="rotation change";p.Qo="zoom change";p.Ei="user interaction start";p.Di="user interaction end";return p}); 2415define("dB",["require","v"],function(a){function e(){this.nH=m.lb()?.066:.1;this.TMa=.5;this.zRa=m.lb()?.066:.1;this.BUa=.1;this.eX=this.kX=!1;this.reset()}function k(l,b,h){l=(b-l)*(1-h);.01>Math.abs(l)&&(l=0);return b-l}var m=a("v");e.prototype.reset=function(){this.Oja=this.Q3=this.iF=this.Cx=this.xK=this.U3=this.T3=this.Y3=this.MF=this.BB=this.qW=this.sW=this.Tp=this.WM=this.ws=this.OO=0};e.prototype.tea=function(l,b,h,d,c,f,g,p,q){return this.OO!=l||(this.WM=b)||this.sW!=h||0!=d||0!=c||this.eX!= 2416g||this.pna!=p||this.kX!=q?(this.OO=l,this.WM=b,this.sW=h,this.ws+=d,this.Tp+=c,this.qW+=f,this.eX=g,this.pna=p,this.kX=q,!0):!1};e.prototype.d1a=function(l,b){return this.BB!=l||0!=b?(this.BB=l,this.MF+=b,!0):!1};e.prototype.bf=function(){return 0!=this.Y3||0!=this.T3||0!=this.U3||0!=this.xK||0!=this.OO||0!=this.WM||0!=this.sW||0!=this.BB||0!=this.ws||0!=this.Tp||0!=this.MF};e.prototype.Cb=function(l){l=1E3/l;var b=this.Y3/l,h=this.OO/l+this.ws;this.ws=0;var d=this.T3/l,c=this.WM/l+this.Tp;this.Tp= 24170;var f=this.U3/l,g=this.sW/l+this.qW;this.qW=0;var p=this.BB+this.MF*l;this.MF=0;
2417var q=0==h&&0==c&&0==g,n=0==b&&0==d&&0==f;this.eX&&n&&!q||this.kX&&q&&!n||this.pna&&!q&&!n?(q=q?this.nH:n?this.zRa:this.TMa,this.Cx=k(b,h,q),this.iF=k(d,c,q),this.Q3=k(f,g,q)):(this.Cx=h,this.iF=c,this.Q3=g);b=0==this.xK;h=0==p;this.xK=this.eX&&b&&!h||this.kX&&h&&!b?k(this.xK,p,this.BUa):p;this.Y3=this.Cx*l;this.T3=this.iF*l;this.U3=this.Q3*l;this.Oja=this.xK/l};return e}); 2418define("df","require jquery.mod lx e fs dB bh oR".split(" "),function(a){var e=a("jquery.mod"),k=a("lx"),m=a("e"),l=a("fs"),b=a("dB"),h=a("bh"),d=a("oR");a=k.extend(m,function(){m.call(this);this.Ae("Renderer");this.O=e("<canvas></canvas>");this.O.css({position:"absolute",left:0,top:0});this.Fb().append(this.O);this.Xx=null;this.Ea=this.QF=this.OF=this.PF=0;this.tk=!1;this.IOa=150;this.hL=0;this.zm=null;this.bind(d.lc,this.hc,this,!0);this.mb=new l;this.mb.W3a(720);this.mb.pQ(0);this.mb.Hz("drag_rotation"); 2419this.mb.XD(360);this.mb.bind(l.lt,this.VNa,this);this.cc=new b});a.prototype.L_a=function(c,f,g){this.Xx=c;this.PF=f;this.OF=g;this.QF=Math.floor(this.Xx.length*this.Ea/360);this.z9();this.mb.Qq(this);this.Na()};a.prototype.mVa=function(){this.Xx=null;this.Dk();this.z9();this.mb.Jl()};a.prototype.play=function(){this.tk=!0;this.Na()};a.prototype.VNa=function(c){this.Dk();this.cc.tea(c.zw,c.aw,0,c.jJ,c.JI,0,!1,!0);this.Na()};a.prototype.gM=function(){this.play()};a.prototype.vj=function(c){this.Xx&& 2420(this.cc.bf()?(this.tk=!1,this.cc.Cb(c),this.eia(this.cc.Cx),this.Na()):this.tk?(this.eia(this.IOa*c/1E3),this.Na()):this.SF()||this.fq())};a.prototype.Vl=function(c){for(this.Ea=c;0>this.Ea;)this.Ea+=360;for(;360<=this.Ea;)this.Ea-=360;this.xTa()};a.prototype.xTa=function(){if(this.Xx){var c=Math.floor(this.Xx.length*this.Ea/360);this.QF!=c&&(this.QF=c,this.zqa())}};a.prototype.eia=function(c){this.Vl(this.Ea+c)};a.prototype.hc=function(){this.z9()};a.prototype.z9=function(){var c=this.O.get(0); 2421if(0==this.PF||0==this.OF)c.width=0,c.height=0;else{var f=this.qf(),g=this.pf();g*this.PF>f*this.OF?(c.width=f,c.height=this.OF*f/this.PF):(c.height=g,c.width=this.PF*g/this.OF);this.O.css({left:Math.round(.5*(f-c.width))+"px",top:Math.round(.5*(g-c.height))+"px"});this.zqa()}};a.prototype.zqa=function(){if(this.Xx){var c=this.O.get(0);c.getContext("2d").drawImage(this.Xx[this.QF],0,0,this.PF,this.OF,0,0,c.width,c.height)}};a.prototype.SF=function(){return this.zm?!0:!1};a.prototype.fq=function(){this.Dk(); 2422if(0<this.hL){var c=this;this.zm=setTimeout(function(){c.zm=null;c.gM()},this.hL)}};a.prototype.Dk=function(){this.zm&&(clearTimeout(this.zm),this.zm=null)};a.prototype.Na=function(){h.requestFrame(this.vj,this)};return a}); 2423define("mv","require oR id cB nH gh A df om kF".split(" "),function(a){var e=a("oR"),k=a("id"),m=a("cB"),l=a("nH"),b=a("gh"),h=a("A"),d=a("df"),c=a("om"),f=a("kF");a=l.define("Object3D",c,function(){c.call(this);this.nd=this.Em=this.Oh=this.j=null;this.bind(e.ld,this.mk,this);this.bind(e.hd,this.hk,this)});a.prototype.Db=function(){c.prototype.Db.call(this);this.j||(this.j=new d,this.j.ka({left:0,top:0,right:0,bottom:0}),this.Wa(this.j));this.Oh||(this.Oh=new h,this.Oh.ka({left:0,bottom:0,right:0, 2424height:20,visible:!1}),this.Wa(this.Oh))};a.prototype.mk=function(){this.EL()};a.prototype.hk=function(){this.ho()};a.prototype.EL=function(){this.Oh.set("percent",0);this.Oh.set("visible",!0);this.j.Vl(this.get("yaw"));var g=this.get("frames",[]);this.Em=[];this.nd=[];for(var p=0;p<g.length;p++){var q=b.Eq(g[p]);this.Em.push(q);q=new f(k.Sk);q.bind(e.Z,this.pM,this);q.bind(e.uc,this.qM,this);this.nd.push(q)}for(p=0;p<g.length;p++)this.nd[p].load(this.Em[p].get("url"))};a.prototype.pM=function(){var g= 2425this.nd.filter(function(p){return p.Vh()});this.Oh.set("percent",100*g.length/this.nd.length);g.length==this.nd.length&&this.od()};a.prototype.qM=function(){};a.prototype.od=function(){this.Oh.set("visible",!1);var g=this.Em[0].get("width",this.nd[0].yd()),p=this.Em[0].get("height",this.nd[0].je()),q=this.nd.map(function(n){return n.rf()});this.j.L_a(q,g,p);this.trigger(new m(e.Z))};a.prototype.ho=function(){this.nd&&(this.Oh.set("visible",!1),this.j.mVa(),this.nd=this.nd.forEac
2425h(function(g){g.unbind(e.Z, 2426this.pM,this);g.unbind(e.uc,this.qM,this);g.cancel()}),this.Em=this.nd=null)};return a});define("iI",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("OrbitLight",e,function(){e.call(this)})});define("gN",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("RotationalCameraPosition",e,function(k,m,l){e.call(this);void 0!==k&&this.set("yaw",k);void 0!==m&&this.set("pitch",m);void 0!==l&&this.set("hfov",l)})}); 2427define("my",["require","gN","nH"],function(a){var e=a("gN");return a("nH").define("PanoramaCameraPosition",e,function(){e.apply(this,arguments)})});define("hu",["require","lZ","nH","my","gN"],function(a){var e=a("lZ"),k=a("nH"),m=a("my"),l=a("gN"),b=k.define("RotationalCamera",e,function(){e.call(this);this.set("initialPosition",new l)});return k.define("PanoramaCamera",b,function(){b.call(this);this.set("initialPosition",new m)})}); 2428define("lN",["require","gN","nH"],function(a){var e=a("gN");return a("nH").define("RotationalCameraDisplayPosition",e,function(){e.apply(this,arguments)})});define("kW",["require","lN","nH"],function(a){var e=a("lN");return a("nH").define("PanoramaCameraDisplayPosition",e,function(){e.apply(this,arguments)})});define("fb",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaCameraMovement",e,function(){e.call(this)})}); 2429define("eU",["require","lZ","cB","nH","oR"],function(a){var e=a("lZ"),k=a("cB"),m=a("nH"),l=a("oR");a=m.define("RotationalCameraSequence",e,function(){e.call(this)});a.prototype.play=a.prototype.play=function(){this.trigger(new k(l.Tw))};a.prototype.pause=a.prototype.pause=function(){this.trigger(new k(l.CE))};return a});define("bP",["require","nH","eU"],function(a){var e=a("nH"),k=a("eU");return e.define("PanoramaCameraSequence",k,function(){k.call(this)})}); 2430define("iF",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaMapLocation",e,function(){e.call(this)})});define("bk",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaModel3DLocation",e,function(){e.call(this)})});define("pg",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaOverlay",e,function(){e.call(this)})}); 2431define("no",["require","kX","hq","a"],function(a){function e(b){this.j=b;this.cp=[];this.S5=!1;this.ib=this.Ea=0}var k=a("kX"),m=a("hq"),l=a("a");e.prototype.clear=function(){this.stop();this.cp=this.j=null};e.prototype.end=function(b){var h=[],d=[],c=this.Fla(b);this.cp.forEach(function(f){0>c.indexOf(f)?h.push(f):d.push(f)});h.forEach(function(f){f.uD().Id(k.T)});this.cp=d;this.S5=!1};e.prototype.start=function(b){this.end(b);this.cp=this.Fla(b);this.S5=0<this.cp.filter(function(h){return h instanceof 2432m}).length;this.lta();this.GW(k.X,!0)};e.prototype.play=function(){this.GW(k.X)};e.prototype.pause=function(){this.GW(k.Ib)};e.prototype.stop=function(){this.GW(k.T)};e.prototype.vd=function(){this.Ea=this.j.Pc();this.ib=this.j.Oc();this.lta()};e.prototype.lta=function(){if(this.S5){var b=Math.PI/180,h=this.Ea*b,d=this.ib*b,c=new l(Math.sin(h)*Math.cos(d),Math.sin(d),Math.cos(h)*Math.cos(d));this.cp.forEach(function(f){if(f instanceof m){var g=f.get("yaw",h)*b,p=f.get("pitch",d)*b,q=f.get("maximumAngle", 2433360)*b;g=new l(Math.sin(g)*Math.cos(p),Math.sin(p),Math.cos(g)*Math.cos(p));q=Math.min(1,Math.max(0,1-Math.acos(c.pD(g))/q));f.uD().pw(q)}}.bind(this))}};e.prototype.Fla=function(b){return b?b.get("audios",[]):[]};
2433e.prototype.GW=function(b,h){(h?this.cp.slice().reverse():this.cp).forEach(function(d){if(d.get("autoplay",!1)){d=d.uD();var c=d.getState();b==k.X&&c!=k.X?d.Id(k.X):b==k.Ib&&c==k.X?d.Id(k.Ib):b==k.T&&c!=k.T&&d.Id(k.T)}})};return e}); 2434define("fr",["require"],function(){function a(c){c%=m;0>c&&(c+=m);return h[c*l|0]}function e(c){c%=m;0>c&&(c+=m);return b[c*l|0]}function k(){this.identity()}k.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.qh=this.ph=0};k.prototype.clone=function(){var c=new k;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.ph=this.ph;c.qh= 2435this.qh;c.tz=this.tz;return c};k.prototype.concat=function(c){var f=this.m11,g=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.ph,x=this.qh,y=this.tz;this.m11=f*c.m11+g*c.m21+p*c.m31;this.m12=f*c.m12+g*c.m22+p*c.m32;this.m13=f*c.m13+g*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.ph=w* 2436c.m11+x*c.m21+y*c.m31+c.ph;this.qh=w*c.m12+x*c.m22+y*c.m32+c.qh;this.tz=w*c.m13+x*c.m23+y*c.m33+c.tz};k.prototype.translate=function(c,f,g){this.ph+=c;this.qh+=f;this.tz+=g};k.prototype.scale=function(c,f,g){this.m11*=c;this.m12*=f;this.m13*=g;this.m21*=c;this.m22*=f;this.m23*=g;this.m31*=c;this.m32*=f;this.m33*=g;this.ph*=c;this.qh*=f;this.tz*=g};k.prototype.rotateX=function(c){var f=a(c);c=e(c);var g=this.m12*f+this.m13*c,p=this.m22*c-this.m23*f,q=this.m22*f+this.m23*c,n=this.m32*c-this.m33*f,r= 2437this.m32*f+this.m33*c,t=this.qh*c-this.tz*f,u=this.qh*f+this.tz*c;this.m12=this.m12*c-this.m13*f;this.m13=g;this.m22=p;this.m23=q;this.m32=n;this.m33=r;this.qh=t;this.tz=u};k.prototype.rotateY=function(c){var f=a(c);c=e(c);var g=-this.m11*f+this.m13*c,p=this.m21*c+this.m23*f,q=-this.m21*f+this.m23*c,n=this.m31*c+this.m33*f,r=-this.m31*f+this.m33*c,t=this.ph*c+this.tz*f,u=-this.ph*f+this.tz*c;this.m11=this.m11*c+this.m13*f;this.m13=g;this.m21=p;this.m23=q;this.m31=n;this.m33=r;this.ph=t;this.tz=u}; 2438k.prototype.rotateZ=function(c){var f=a(c);c=e(c);var g=this.m11*f+this.m12*c,p=this.m21*c-this.m22*f,q=this.m21*f+this.m22*c,n=this.m31*c-this.m32*f,r=this.m31*f+this.m32*c,t=this.ph*c-this.qh*f,u=this.ph*f+this.qh*c;this.m11=this.m11*c-this.m12*f;this.m12=g;this.m21=p;this.m22=q;this.m31=n;this.m32=r;this.ph=t;this.qh=u};k.prototype.rotate=function(c,f,g){this.rotateX(c);this.rotateY(f);this.rotateZ(g)};k.prototype.invert=function(){var c=this.tWa();if(0==c)return!1;var f=this.clone();this.m11= 2439(f.m22*f.m33-f.m23*f.m32)/c;this.m12=(f.m13*f.m32-f.m12*f.m33)/c;this.m13=(f.m12*f.m23-f.m13*f.m22)/c;this.m21=(f.m23*f.m31-f.m21*f.m33)/c;this.m22=(f.m11*f.m33-f.m13*f.m31)/c;this.m23=(f.m13*f.m21-f.m11*f.m23)/c;this.m31=(f.m21*f.m32-f.m22*f.m31)/c;this.m32=(f.m12*f.m31-f.m11*f.m32)/c;this.m33=(f.m11*f.m22-f.m12*f.m21)/c;this.ph=-(f.ph*this.m11+f.qh*this.m21+f.tz*this.m31);this.qh=-(f.ph*this.m12+f.qh*this.m22+f.tz*this.m32);this.tz=-(f.ph*this.m13+f.qh*this.m23+f.tz*this.m33);return!0};k.prototype.tWa= 2440function(){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)};k.prototype.QH=function(c){var f=c.x*this.m12+c.y*this.m22+c.z*this.m32+this.qh,g=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.ph;c.y=f;c.z=g};for(var m=2*Math.PI,l=18E4/m,b=new Float32Array(180001),h=new Float32Array(180001),d=0;18E4>d;d++)b[d]=Math.cos(d/l),h[d]=Math.sin(d/l);b[18E4]=b[0]; 2441h[18E4]=h[0];return k});define("dH",["require"],function(){return{ct:0,Ya:1,rb:2}}); 2442define("cb",["require","nH","lQ"],function(a){var e=a("nH"),k=a("lQ"),m={get:function(l){return l.wEa||(l.wEa=this.hJa(l))},hJa:function(l){if(e.Oa("CubicPanoramaFrame",l))return l.get("stereoCube")?m.Uw:l.get("cube")?m.rt:m.Tk;if(e.Oa("SphericPanoramaFrame",l)){var b=l.get("stereoSphere"),h=l.get("sphere"),d=l.get("hfov");l=l.get("vfov");var c=359.9<d&&179.9<l,f=!1;b&&!h?f=!0:b?h&&!b.get("levels").some(k.wBa)?f=!1:c&&k.aVa()?f=!0:!c&&k.$Ua()&&(f=!0):f=!1;return f?(b=b.get("levels"),h=Math.max.apply(Math, 2443b.map(function(g){return g.get("width")})),1<Math.max.apply(Math,b.map(function(g){return g.get("height")}))/l/(h/d)?m.Zo:m.kr):m.To}},Uw:"stereoCube_12_1",rt:"monoCube_6_1",Tk:"monoCube_1_1",To:"monoSphere_1_1",Zo:"stereoSphere_1_2",kr:"stereoSphere_2_1"};return m}); 2444define("nr","require nH mi dH mM cb jH lQ v ik ms mm kF oo".split(" "),function(a){function e(H,L,T){return H.split(L).join(T).split(encodeURI(L)).join(T)}
2444function k(H,L){return 0<=H.indexOf(L)||0<=H.indexOf(encodeURI(L))}function m(){var H=A.Vv()&&B.Qg("recent_ipad_use_max_res",!1);m=function(){return H};return H}function l(H){if(0==H.length)return 1;H.sort(function(L,T){return T.get("width")-L.get("width")});return H[0].get("width")/H[0].get("height")}function b(H,L){var T=1E4;m()||(A.Of()?T=2048: 2445A.Vv()?T=1280:A.lb()&&(T=1024));switch(H){case z.rt:return[6*T,T];case z.Tk:return[T,T];case z.Uw:return[12*T,T]}switch(H){case z.Zo:L*=2;break;case z.kr:L*=.5}return 2<L?[4*T,4*T/L]:[2*T*L,2*T]}function h(H){if(m())return[void 0,void 0];switch(H){case z.rt:if(A.Of()||A.lb())return[18432,1536];break;case z.Zo:if(A.Of())return[5352,5352];if(A.lb())return[6086,6086];break;case z.To:if(A.Of())return[7168,3584];if(A.lb()&&A.Vv())return[8192,4096]}return[void 0,void 0]}function d(H,L){var T=h(L);L=H.filter(function(O){return v.Oa("TiledImageResourceLevel", 2446O)?!0:void 0!==T[0]&&O.get("width")>T[0]||void 0!==T[1]&&O.get("height")>T[1]?!1:!0});0==L.length&&(L=[f(H)[0]]);return L}function c(){return A.Vv()?[w.Sga]:A.tZ()||A.uZ()?A.ic()==A.ft||A.ic()==A.Wz?[w.uR,w.H1]:[w.H1,w.uR]:A.Of()?[w.uR]:A.lb()?[w.tR]:[]}function f(H){H.sort(function(L,T){return L.get("width")-T.get("width")});return H}function g(H,L){function T(O){return Math.abs(O.get("width")*O.get("height")-L[0]*L[1])}H.sort(function(O,V){return T(O)-T(V)});return H.length&&H[0]||null}function p(H, 2447L,T){H=H.filter(function(O){return 0>O.get("tags").indexOf(L)});return H.length?H:void 0!==T?T:[]}function q(H,L,T){H=H.filter(function(O){return 0<=O.get("tags").indexOf(L)});return H.length?H:void 0!==T?T:[]}function n(H,L,T){switch(T){case z.Uw:case z.rt:case z.Tk:return H;case z.To:case z.kr:return H*L.get("hfov",180)/90;case z.Zo:return H*L.get("hfov",180)*2/90}}function r(H,L){switch(L){case z.Uw:return H.get("stereoCube").get("levels");case z.rt:return H.get("cube").get("levels");case z.Tk:return H.get("front").get("levels"); 2448case z.To:return H.get("sphere").get("levels");case z.Zo:case z.kr:return H.get("stereoSphere").get("levels")}}function t(H,L){var T=r(H,L),O=H.get("minFaceSize");if(O){var V=n(O,H,L);H=T.filter(function(Y){return Y.get("height")>=V});0<H.length&&(T=H)}return T}function u(H){for(var L=[],T=0;T<H.length;T++){var O=H[T];0>L.indexOf(O)&&L.push(O)}return L}var v=a("nH"),w=a("mi"),x=a("dH"),y=a("mM"),z=a("cb"),C=a("jH");a("lQ");var A=a("v");a("ik");var B=a("ms"),I=a("mm"),E=a("kF"),G=a("oo"),F={kwa:function(H){H= 2449H.get("frames");if(0==H.length)return 1;var L=H[0];H=z.get(L)==z.To&&L.Ml()?(H=G.Gj(L.get("sphere")))?[H]:[]:z.get(L)!=z.Zo&&z.get(L)!=z.kr||!L.Ml()?F.hca(L,!1):(H=G.Gj(L.get("stereoSphere")))?[H]:[];return Math.max.apply(Math,H.map(function(T){return F.TWa(L,T)}).concat([1]))},TWa:function(H,L){L=F.dca(H,L,y.FRONT);L=L.get("width");var T=H.uz().get("hfov",360);switch(z.get(H)){case z.Uw:return L/1080;case z.rt:return L/540;case z.Tk:return L/90;case z.To:return L/T;case z.Zo:return L/T;case z.kr:return L/ 2450(2*T)}},Aca:function(H,L){H=F.bn(H,L);return 6>=H.length&&H.every(function(T){return E.H_(T)})},zda:function(H,L){return F.bn(H,L).every(function(T){return E.H_(T)})},bn:function(H,L,T){if(!H)return[];T||(T=!1);if(v.Oa("Panorama",H))return T=H.get("flipImageHorizontally",!1),u([].concat(Array.prototype.concat.apply([],H.get("frames").map(function(J){return F.bn(J,L,T)})),Array.prototype.concat.apply([],H.get("overlays").map(function(J){return F.bn(J,L,T)}))));if(v.Oa("PanoramaFrame",H)){var O=Array.prototype.concat.apply([], 2451H.get("overlays").map(function(J){return F.bn(J,L,T)}));if(z.get(H)==z.To&&H.Ml())return F.bn(G.Gj(H.get("sphere")),L).concat(O);if((z.get(H)==z.Zo||z.get(H)==z.kr)&&H.Ml())return F.bn(G.Gj(H.get("stereoSphere")),L).concat(O);var V=F.hca(H,L)[0];T=H.get("flipImageHorizontally",!1);if(z.get(H)==z.Tk){var Y=[y.FRONT,y.Ya,y.BACK,y.rb,y.vc,y.oc];return Array.prototype.concat.apply([],Y.map(function(J){return(J=F.dca(H,V,J))?F.bn(J,L,T):[]})).concat(O)}return F.bn(V,L,T).concat(O)}if(v.Oa("Video360ResourceLevel", 2452H))return(O=H.get("posterURL"))?[O]:[];if(v.Oa("HotspotPanoramaOverlay",H))return H.get("projected")?Array.prototype.concat.apply([],H.get("items").map(function(J){return F.bn(J,L,T)})):[];if(v.Oa("FlatHotspotPanoramaOverlayImage",H)||v.Oa("HotspotPanoramaOverlayImage",H))return O=H.get("image").get("levels"),V=O[0],F.bn(V,L,T),Array.prototype.concat.apply([],O.map(function(J){return F.bn(J,L,T)}));if(v.Oa("TiledImageResourceLevel",H)){var ca=[];O=Math.round(H.get("width")/H.get("height"));if(1== 2453O)var D=z.Tk;else if(12==O)D=z.M2a;else if(6==O)D=z.rt;else return[];var K=12==O?[x.rb,x.Ya]:[x.ct];Y=[y.rb,y.Ya,y.vc,y.oc,y.FRONT,y.BACK];var P=H.get("colCount",O)/O,U=H.get("rowCount",1);
2453K.forEach(function(J){Y.forEach(function(M){for(var X=0;X<U;X++)for(var aa=0;aa<P;aa++)ca.push(F.wwa(H,D,J,M,T,U,X,aa))})});return ca}return v.Oa("ImageResourceLevel",H)?[H.get("url")]:[]},hca:function(H,L){var T=z.get(H),O=this.YJa(H);if(O)return L&&!this.qma(O)&&(H=this.Lla(H),H!=O)?[H,O]:[O];O=q(t(H,T),w.I1); 2454if(0<O.length)return f(O);O=this.KKa(H);return L&&!this.qma(O)&&(H=this.Lla(H),H!=O)?[H,O]:[O]},bYa:function(H){return 0<=H.get("tags").indexOf(w.I1)},dca:function(H,L,T){if(z.get(H)!=z.Tk)return L;switch(T){case y.FRONT:var O=H.get("front");break;case y.Ya:O=H.get("left");break;case y.BACK:O=H.get("back");break;case y.rb:O=H.get("right");break;case y.vc:O=H.get("top");break;case y.oc:O=H.get("bottom")}H=O&&O.get("levels")||[];if(0==H.length)return null;H=H.filter(function(V){return V.get("width")== 2455L.get("width")&&V.get("height")==L.get("height")&&V.get("grayscale",!1)==L.get("grayscale",!1)&&V.get("colCount",1)==L.get("colCount",1)&&V.get("rowCount",1)==L.get("rowCount",1)});return H[0]},wwa:function(H,L,T,O,V,Y,ca,D){H=H.get("url");var K=0;k(H,"{eye}")?H=e(H,"{eye}",W[T]):K+=6*(V?S:R)[T];k(H,"{face}")?H=e(H,"{face}",Q[O]):L!=z.Tk&&(K+=N[O]);H=e(H,"{row}",ca);return H=e(H,"{column}",D+K*Y)},VWa:function(H,L){return F.XK(F.yB(H.get("image")),90,90,I.sh,L)},rWa:function(H,L){return F.XK(F.yB(H.get("image")), 2456H.get("hfov"),H.get("vfov"),H.get("scaleMode"),L)},GWa:function(H,L){return F.XK(F.yB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),L)},hXa:function(H,L){return F.XK(F.yB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),L)},Yva:function(H,L){return F.XK(F.yB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),L)},yB:function(H){return H&&H.get("levels")||[]},XK:function(H,L,T,O,V){if(!H||!H.length)return null;H=p(H,w.nr,H);for(var Y=c(),ca=0;ca<Y.length;ca++)H= 2457q(H,Y[ca],H);Y=1E4;m()||(A.Of()?Y=2048:A.Vv()?Y=1280:A.lb()&&(Y=1024));ca=f(H)[H.length-1];L=C.lca(L,T,ca.get("width"),ca.get("height"),O,V);return g(H,[L.Be*Y/90,L.Xq*Y/90])},BWa:function(H){var L=F.yB(H.get("image"));if(!L||!L.length)return null;L=p(L,w.nr,L);for(var T=c(),O=0;O<T.length;O++)L=q(L,T[O],L);T=f(L)[L.length-1];H=C.XY(H.get("width"),H.get("height"),T.get("width"),T.get("height"),H.get("scaleMode"));return g(L,[H.width,H.height])},YWa:function(H){var L=F.yB(H.get("image"));if(!L||!L.length)return null; 2458L=p(L,w.nr,L);for(var T=c(),O=0;O<T.length;O++)L=q(L,T[O],L);T=1E4;m()||(A.Of()?T=2048:A.Vv()?T=1280:A.lb()&&(T=1024));var V=O=20;(H=H.get("vertices"))&&4==H.length&&(O=H[0].get("yaw"),V=H[1].get("yaw"),V<O&&(V+=360),O=V-O,V=H[0].get("pitch"),H=H[3].get("pitch"),V-=H);return g(L,[O*T/90,V*T/90])},Lla:function(H){var L=z.get(H);H=t(H,L);H=d(H,L);H=q(H,w.nr,H);L=c();for(var T=0;T<L.length;T++)H=q(H,L[T],H);return g(H,[0,0])},KKa:function(H){var L=z.get(H);H=t(H,L);H=d(H,L);H=p(H,w.nr,H);for(var T=c(), 2459O=0;O<T.length;O++)H=q(H,T[O],H);L=b(L,l(H));return g(H,L)},YJa:function(H){var L=c();if(0==L.length)return null;var T=z.get(H),O=t(H,T);O=d(O,T);O=p(O,w.nr,O);H=[];for(var V=0;V<L.length&&0==H.length;V++)H=q(O,L[V]);if(0==H.length)return null;L=b(T,l(H));return g(H,L)},qma:function(H){return 0<=H.get("tags").indexOf(w.I1)?!1:A.ic()==A.et?!0:E.H_(H.get("url"))}},N=function(){var H={};H[y.rb]=0;H[y.Ya]=1;H[y.vc]=2;H[y.oc]=3;H[y.FRONT]=4;H[y.BACK]=5;return H}(),R=function(){var H={};H[x.rb]=0;H[x.Ya]= 24601;H[x.ct]=0;return H}(),S=function(){var H={};H[x.rb]=1;H[x.Ya]=0;H[x.ct]=0;return H}(),Q=function(){var H={};H[y.rb]="r";H[y.Ya]="l";H[y.vc]="u";H[y.oc]="d";H[y.FRONT]="f";H[y.BACK]="b";return H}(),W=function(){var H={};H[x.Ya]="l";H[x.rb]="r";H[x.ct]="b";return H}();return F}); 2461define("iA","require ek oR kY fr a nr".split(" "),function(a){function e(q){this.j=q;this.xa=!1;this.Um=e.CA;this.a5=this.q6=!1;this.yi(null);this.j.bind(m.lc,this.hc,this,!0);this.hc()}var k=a("ek"),m=a("oR"),l=a("kY"),b=a("fr"),h=a("a"),d=a("nr");e.prototype.Owa=function(){return this.Um!==e.CA};e.prototype.Nwa=function(){return this.Um&e.GE?!0:!1};e.prototype.Pwa=function(){return this.Um&e.HE?!0:!1};e.prototype.Qwa=function(){return this.Um&e.GA?!0:!1}
2461;e.prototype.Mwa=function(){return this.Um& 2462e.BA?!0:!1};e.prototype.t_=function(q){this.q6=q};e.prototype.Pc=function(){this.Zm();return this.Ea};e.prototype.Oc=function(){this.Zm();return this.ib};e.prototype.Nf=function(){this.Zm();return this.jd};e.prototype.Rv=function(){this.Zm();return this.Ma};e.prototype.yi=function(q){q?(this.u8=q.get("hfov",360),this.EV=q.get("vfov",180),this.SM=q.get("pitch",0),this.mC=q.get("partial",!1),this.U5=q.Twa(),this.Q5=q.Iwa(),this.Z5=Math.min(q.get("hfovMax",170),170),this.eL=q.get("hfovMin"),this.k7= 2463d.kwa(q)):(this.u8=360,this.EV=180,this.SM=0,this.Q5=this.U5=this.mC=!1,this.Z5=120,this.k7=this.eL=1);this.Ea=0;this.ib=this.SM;this.jd=0;this.xa=!0};e.prototype.setPosition=function(q,n,r,t,u){this.Ea=q;this.ib=n;this.jd=r;this.Ma=t;this.a5=u;this.xa=!0};e.prototype.hc=function(){var q=this.j.Xa(),n=this.j.Ab();if(this.ja!=q||this.wa!=n)this.ja=q,this.wa=n,this.xa=!0};e.prototype.Zm=function(){if(this.xa){this.xa=!1;var q=this.Ea*g,n=this.ib*g,r=this.Ma*g,t=(this.a5?l.Wq(this.Z5,this.ja,this.wa): 2464this.Z5)*g;a:{var u=this.eL;if(k(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.ja*this.j.getPixelRatio()*.5,45*this.k7*u/100):this.eL?(this.a5?l.Wq(this.eL,this.ja,this.wa):this.eL)*g:2*Math.atan2(this.ja*this.j.getPixelRatio()*.5,45*this.k7);u=Math.min(t,u);if(this.q6){var v=360;var w=180;var x=0}else if(this.U5||this.Q5){v=this.Q5?90:this.SM+.5*this.EV;var y=this.U5?-90:this.SM-.5*this.EV;w=v-y;x=.5*(v+ 2465y);v=this.u8}else v=this.u8,x=this.SM,w=this.EV;v*=g;w*=g;x*=g;for(y=this.ja/this.wa;q<-c;)q+=2*c;for(;q>c;)q-=2*c;r=Math.max(Math.min(r,t),u);t=e.CA;if(!this.q6){n>f?t|=e.GA:n<-f&&(t|=e.BA);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.GA|e.BA;else{var C=Math.min(.5*w+x,.5*c);w=Math.max(.5*-w+x,.5*-c);x=!this.mC&&C>=.495*c?.5*c:C-.5*z;w=!this.mC&&w<=.495*-c?.5*-c:w+.5*z;n>x?(n=x,t|=e.GA):n<w&&(n=w,t|=e.BA)}this.mC&&(w=Math.tan(.5* 2466r),y=w/y,y=new h(-w,0<n?y:-y,1),w=new b,w.rotateX(-n),y.apply(w),y=2*y.Pc(),0>y&&(y+=2*c),w=.5*v-.5*y,z=.5*-v+.5*y,y>v?(q=0,r=Math.max(u,r*v/y),t=t|e.GE|e.HE):q>w?(q=w,t|=e.HE):q<z&&(q=z,t|=e.GE))}this.Ea=q*p;this.ib=n*p;this.Ma=r*p;this.Um=t}};var c=Math.PI,f=.5*Math.PI,g=Math.PI/180,p=180/Math.PI;e.CA=0;e.GE=1;e.HE=2;e.GA=4;e.BA=8;return e}); 2467define("be",["require","lx","oR","gp","pf"],function(a){var e=a("lx"),k=a("oR"),m=a("gp"),l=a("pf"),b=e.extend(m,function(){m.call(this);this.pL=!1;this.$n=void 0;this.Ma=90;this.P4=.1;this.Fa=this.cb=null});b.prototype.setCamera=function(h){this.Fa&&this.Fa.unbind(k.G("hoverFactor"),this.gaa,this);if(this.Fa=h)this.Fa.bind(k.G("hoverFactor"),this.gaa,this),this.gaa()};b.prototype.gaa=function(){this.P4=this.Fa.get("hoverFactor")};b.prototype.XD=function(h){this.Ma=h};b.prototype.Qq=function(h){this.Jl(); 2468h&&(this.cb=h,this.$n=void 0,this.cb.bind(k.kc,this.sj,this,!0))};b.prototype.Jl=function(){null!=this.cb&&(this.cb.unbind(k.kc,this.sj,this),this.cb=null)};b.prototype.sj=function(h){this.zH(h)};b.prototype.zH=function(h){this.$n&&this.zaa.call(this,+(Math.min(Math.max((h.x-this.$n.x)/this.cb.Xa(),-1),1)*this.Ma*this.P4),-(Math.min(Math.max((h.y-this.$n.y)/this.cb.Xa(),-1),1)*this.Ma*this.P4));this.$n=h};b.prototype.zaa=function(h,d){if(0!=h||0!=d){var c=new l(b.lt);c.jJ=h;c.JI=d;this.trigger(c)}}; 2469b.lt="rotation change";return b}); 2470define("hn","require ek lx cB gp dB be".split(" "),function(a){a("ek");var e=a("lx"),k=a("cB"),m=a("gp"),l=a("dB"),b=a("be"),h=e.extend(m,function(d,c,f){m.call(this);this.j=d;this.yc=this.j.yc;this.ha=c;this.Gc=f;this.Ky=this.GR=this.W=!1;this.cc=new l;this.Wi=null;this.jd=this.ib=this.Ea=0;this.Ma=90;this.mb=new b;this.mb.bind(b.lt,this.tM,this,!0)});h.prototype.clear=function(){this.mb.unbind(b.lt,this.tM,this,!0);this.mb.Jl();this.mb=null;this.bB();this.j=this.yc=this.Gc=this.ha=this.cc=null}; 2471h.prototype.setCamera=function(d){this.cc.reset();this.mb.setCamera(d)};h.prototype.setPosition=function(d,c,f,g){if(this.Ea!=d||this.ib!=c||this.jd!=f||this.Ma!=g)this.Ea=d,this.ib=c,this.jd=f,this.Ma=g,this.mb.XD(this.Ma),this.K9(!1),this.WN()};h.prototype.bf=function(){return this.GR&&this.Ky?!0:!1};h.prototype.Cb=function(d){this.EO=!1;this.cc.Cb(d);this.Ky=!1;d=this.Ea+this.cc.Cx;var c=this.ib+this.cc.iF;this.Gc.Fo(this.Ma);this.ha.setPosition(d,c,this.jd,this.Gc.yg(),this.Gc.Qv());this.Ea=this.ha.Pc(); 2472this.ib=this.ha.Oc();this.jd=this.ha.Nf();this.Ma=this.ha.Rv()};h.prototype.Cq=function(){return this.Ea};h.prototype.Bq=function(){return this.ib};h.prototype.rz=function(){return this.jd};h.prototype.wD=function(){return this.Ma};h.prototype.Wb=function(d){this.W!=d&&((this.W=d)?this.WN():(this.bB(),this.K9(!1)))};h.prototype.tM=function(d){this.Kc(d.zw,d.aw,0,0,d.jJ,d.JI,0,0,!1,!1,
2472!0,!0)};h.prototype.Kc=function(d,c,f,g,p,q,n,r,t,u,v,w){var x=this.cc.tea(d,c,f,p,q,n,u,v,w)||x;x&&this.Qh()};h.prototype.Qh= 2473function(){this.Ky=!0;this.trigger(new k(h.rh))};h.prototype.WN=function(){this.bB();this.Wi=setTimeout(this.HM.bind(this),30)};h.prototype.bB=function(){this.Wi&&(clearTimeout(this.Wi),this.Wi=null)};h.prototype.HM=function(){this.K9(this.W)};h.prototype.K9=function(d){this.GR!=d&&((this.GR=d)?(this.cc.reset(),this.mb.Qq(this.j.getParent()),this.Qh()):this.mb.Jl())};h.rh="position change request";return h}); 2474define("hI","require lx oR cB gp v hP".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp");a("v");var b=a("hP");a=e.extend(l,function(){l.call(this);this.cua=this.W=!1;this.jd=this.ib=this.Ea=0;this.nW=!1;this.Tp=this.ws=0});a.prototype.Wb=function(h){if(this.W!=h)if(this.W=h){b.bind(this.eM,this,!0);h=b.Fq();var d=h.pitch;this.ws=this.Ea-h.yaw;this.Tp=this.ib-d;this.oo()}else b.unbind(this.eM,this,!0)};a.prototype.setPosition=function(h,d,c){this.Ea!=h&&(this.ws=this.DC(this.ws+(h- 2475this.DC(this.Ea,h)),0),this.Ea=h);this.ib!=d&&(this.Tp+=d-this.ib,this.ib=d);this.jd=c};a.prototype.Cq=function(){return this.Ea};a.prototype.Bq=function(){return this.ib};a.prototype.rz=function(){return this.jd};a.prototype.bf=function(){return b.eZa()};a.prototype.Cb=function(h){var d=b.Fq(),c=d.roll;h=20*h/1E3;var f=d.pitch+(this.cua?this.Tp:0);this.Ea=this.dg(this.Ea,this.DC(this.DC(d.yaw,this.Ea)+this.ws,this.Ea),h);this.ib=this.dg(this.ib,f,h);this.jd=this.dg(this.jd,c,h)};a.prototype.$0a= 2476function(h){this.cua=h};a.prototype.dg=function(h,d,c){h=(d-h)*(1-c);.01>Math.abs(h)&&(h=0);return d-h};a.prototype.DC=function(h,d){for(;h+180<d;)h+=360;for(;h-180>d;)h-=360;return h};a.prototype.eM=function(){this.W&&this.oo()};a.prototype.oo=function(){this.trigger(new m(k.va))};return a});define("eo",["require"],function(){return{yE:"left",zE:"right",xE:"down",AE:"up",Lga:"rotate10x",lha:"zoom2x",X:"playing",Ht:"zoomIn",It:"zoomOut",Gf:"stop"}}); 2477define("fw","require lx bn cB gp eo".split(" "),function(a){var e=a("lx"),k=a("bn"),m=a("cB"),l=a("gp"),b=a("eo"),h=e.extend(l,function(c){l.call(this);this.j=c;this.W=!1;this.ei={};this.SN=null;this.Vi=this.RN=!1;this.bU=this.bU.bind(this);this.Fu=this.Fu.bind(this);this.yc=this.j.yc;document.addEventListener("keydown",this.bU);document.addEventListener("keyup",this.Fu)});h.prototype.clear=function(){this.W=!1;this.yc=this.j=null;document.removeEventListener("keydown",this.bU);document.removeEventListener("keyup", 2478this.Fu)};h.prototype.Wb=function(c){this.W!=c&&(this.W=c)&&this.IX()};var d=[k.Vj,k.Bi,k.Ya,k.rb,k.mn,k.xR];h.prototype.bU=function(c){var f=c.which,g=!1;!this.ei[f]&&0<=d.indexOf(f)&&(this.SN||this.RN||(this.SN=setTimeout(this.ZNa.bind(this),100)),g=this.ei[f]=!0);this.Vi!=c.shiftKey&&(this.Vi=c.shiftKey,g=!0);g&&this.IX()};h.prototype.ZNa=function(){this.RN=!0;this.IX()};h.prototype.Fu=function(c){var f=c.which,g=!1;if(f in this.ei){delete this.ei[f];g=!1;for(f in this.ei)this.ei[f]&&(g=!0);g|| 2479(this.SN&&clearTimeout(this.SN),this.SN=null,this.RN=!1);g=!0}this.Vi!=c.shiftKey&&(this.Vi=c.shiftKey,g=!0);g&&this.IX()};h.prototype.IX=function(){if(this.W){var c=this.yc.get("arrowKeysAction");if("none"!=c){c="rotate"==c;var f=[];this.ei[k.mn]?f.push(b.Ht):this.ei[k.xR]&&f.push(b.It);this.RN&&(this.ei[k.mn]||this.ei[k.xR])&&f.push(b.lha);this.ei[k.Ya]?f.push(b.yE):this.ei[k.rb]&&f.push(b.zE);if(c||this.Vi)this.ei[k.Vj]?f.push(b.AE):this.ei[k.Bi]&&f.push(b.xE);this.RN&&(this.ei[k.Ya]||this.ei[k.rb]||
2480this.ei[k.Vj]||this.ei[k.Bi])&&f.push(b.Lga);0==f.length&&f.push(b.Gf);this.trigger(new m(h.K0,{iya:f}))}}};h.K0="movementsChange";return h}); 2481define("mO",["require"],function(){function a(){this.HA=!0;this.reset()}function e(k,m,l){k=(m-k)*(1-l);.01>Math.abs(k)&&(k=0);return m-k}a.prototype.reset=function(){this.HA&&(this.HA=!1,this.qX=this.rX=this.xv=this.Xm=this.jF=this.mF=this.kF=this.Ex=void 0)};a.prototype.moveTo=function(k,m,l,b,h){this.Xm=k;this.xv=m;this.rX=l;this.qX=b;this.p6=h;this.HA=!0};a.prototype.setPosition=function(k,m,l,b){this.Ex=k;this.kF=m;this.mF=l;this.jF=b};a.prototype.Cq=function(){return this.Ex};a.prototype.Bq= 2482function(){return this.kF};a.prototype.rz=function(){return this.mF};a.prototype.wD=function(){return this.jF};a.prototype.bf=function(){return this.HA};a.prototype.Cb=function(){if(this.HA)if(this.p6)this.Ex=this.Xm,this.kF=this.xv,this.mF=this.rX,this.jF=this.qX,this.HA=!1;else{for(var k=this.Ex,m=this.Xm-180,l=this.Xm+180;k<m;)k+=l-m;for(;k>l;)k-=l-m;this.Ex=k;this.Ex=e(this.Ex,this.Xm,.5);this.kF=e(this.kF,this.xv,.5);this.mF=e(this.mF,this.rX,.5);this.jF=e(this.jF,this.qX,.5);this.Ex==this.Xm&& 2483this.kF==this.xv&&this.mF==this.rX&&this.jF==this.qX&&(this.HA=!1)}};return a}); 2484define("cx",["require","nD","ms","kt"],function(a){function e(){this.W=!1;this.jd=this.ib=this.Ea=0;this.zT=void 0}var k=a("nD"),m=a("ms"),l=a("kt");e.prototype.Wb=function(d){this.W!=d&&(this.W=d,this.zT=void 0)};e.prototype.setPosition=function(d,c,f){if(this.W&&void 0!==this.zT){for(var g=d-this.zT;180<g;)g-=360;for(;-180>g;)g+=360;(-1E-4>g||1E-4<g)&&l.setPosition({yaw:d})}this.Ea=d;this.ib=c;this.jd=f};e.prototype.Cq=function(){return this.Ea};e.prototype.Bq=function(){return this.ib};e.prototype.rz= 2485function(){return this.jd};e.prototype.bf=function(){return!0};e.prototype.Cb=function(){if(l.$i){l.setPosition({x:0,y:0,z:0});var d=k.Wea(l.TO,!0);this.zT=this.Ea=d.$a;this.ib=d.pitch;this.jd=d.ng;this.ib=void 0===h?d.pitch:h;this.jd=void 0===b?d.ng:b}};var b=m.Yi("debug")?m.YY("force_vr_roll"):void 0,h=m.Yi("debug")?m.YY("force_vr_pitch"):void 0;return e}); 2486define("g","require ek lx oR cB gp cH hI fw dB fs mO cx eo nD kt bd".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("gp"),h=a("cH"),d=a("hI"),c=a("fw"),f=a("dB"),g=a("fs"),p=a("mO"),q=a("cx"),n=a("eo");a("nD");var r=a("kt"),t=a("bd"),u=k.extend(b,function(v,w,x){b.call(this);this.j=v;this.yc=this.j.yc;this.ha=w;this.Gc=x;this.Ky=this.Tx=this.aL=this.fW=this.W=!1;this.cc=new f;this.gq=new p;this.jd=this.ib=this.Ea=0;this.Ma=90;this.QC=1;this.Dh=void 0;this.L2=this.XJ=5;this.EO= 2487!1;this.mb=new g;this.mb.bind(g.lt,this.tM,this,!0);this.mb.bind(g.Qo,this.ty,this,!0);this.mb.bind(g.Ei,this.Np,this,!0);this.mb.bind(g.Di,this.Mp,this,!0);this.dl=new d;this.dl.bind(m.va,this.coa,this);this.Sx=!1;this.Bm=new c(this.j);this.Bm.bind(c.K0,this.noa,this,!0);this.vs=new q;r.ba.bind(m.va,this.Rn,this,!0);this.Rn()});u.prototype.clear=function(){this.mb.unbind(g.lt,this.tM,this,!0);this.mb.unbind(g.Qo,this.ty,this,!0);this.mb.unbind(g.Ei,this.Np,this,!0);this.mb.unbind(g.Di,this.Mp,this, 2488!0);this.mb.Jl();this.mb=null;this.dl.unbind(m.va,this.coa,this);this.dl=null;this.Bm.unbind(c.K0,this.noa,this,!0);this.Bm.clear();this.Bm=null;r.ba.unbind(m.va,this.Rn,this,!0);this.Gc=this.ha=this.cc=null;this.sS();this.j=this.yc=null};u.prototype.setCamera=function(v){this.cc.reset();this.gq.reset();this.mb.setCamera(v);this.XJ=v.get("automaticRotationSpeed");this.L2=v.get("automaticZoomSpeed")};u.prototype.Mj=function(v){function w(A){return e(v).contains(A)}e.isArray(v)||(v=[v]);var x=0,y=0, 2489z=0,C=!1;w(n.Gf)||(w(n.yE)?x=-this.XJ:w(n.zE)&&(x=+this.XJ),w(n.xE)?y=-this.XJ:w(n.AE)&&(y=+this.XJ),w(n.Ht)?z=-this.L2:w(n.It)&&(z=+this.L2),w(n.X)&&(C=!0),w(n.lha)&&(z*=2),w(n.Lga)&&(x*=10,y*=10),x*=this.QC,y*=this.QC);this.Kc(x,y,0,z,0,0,0,0,C,!0,!0,!0)};u.prototype.setPosition=function(v,w,x,y){this.Ea=v;this.ib=w;this.jd=x;this.Ma=y;this.QC=this.Ma/90;this.dl.setPosition(this.Ea,this.ib,this.jd);this.vs.setPosition(this.Ea,this.ib,this.jd);this.mb.XD(this.Ma);this.gq.setPosition(this.Ea,this.ib, 2490this.jd,this.Ma)};u.prototype.moveTo=function(v,w,x,y,z){this.gq.moveTo(v,w,x,this.Gc.Ova(y),z);this.fW=!1;this.cc.reset();this.Qh()};
2490u.prototype.uea=function(v,w,x){this.Kc(0,0,0,0,v,w,x,0,!1,!1,!1)};u.prototype.bf=function(){return this.W&&(this.Ky||this.T_())?!0:!1};u.prototype.qVa=function(){this.Ky=this.EO=!1};u.prototype.T_=function(){return this.W?this.EO?!0:this.vs.W?this.vs.bf()||this.cc.bf():this.dl.W?this.Sx?!0:this.dl.bf()||this.cc.bf():this.cc.bf()||this.gq.bf():!1};u.prototype.Cb=function(v){this.EO= 2491!1;this.cc.Cb(v);this.Ky=!1;var w=this.Ma;if(this.vs.W){this.vs.Cb(v);v=this.vs.Cq()+this.cc.Cx+this.kLa();var x=this.vs.Bq();var y=this.vs.rz()}else this.gq.bf()?(this.gq.Cb(v),v=this.gq.Cq(),x=this.gq.Bq(),y=this.gq.rz(),w=this.gq.wD()):(this.dl.W?(this.Sx=!1,this.dl.Cb(v),v=this.dl.Cq()+this.cc.Cx,x=this.dl.Bq(),this.aL&&(x+=this.cc.iF),y=this.dl.rz()):(v=this.Ea+this.cc.Cx,x=this.ib+this.cc.iF,y=0),w+=this.cc.Oja);this.Gc.Fo(w);this.ha.setPosition(v,x,y,this.Gc.yg(),this.Gc.Qv());this.Ea=this.ha.Pc(); 2492this.ib=this.ha.Oc();this.jd=this.ha.Nf();this.Ma=this.ha.Rv();if(this.fW&&this.ha.Owa()){w=this.cc.OO;if(this.ha.Nwa()||this.ha.Pwa())w=-w;v=this.cc.WM;if(this.ha.Qwa()||this.ha.Mwa())v=-v;this.Kc(w,v,0,0,0,0,0,0,!0,!1,!1,!0)}};u.prototype.Cq=function(){return this.Ea};u.prototype.Bq=function(){return this.ib};u.prototype.rz=function(){return this.jd};u.prototype.wD=function(){return this.Ma};u.prototype.Wb=function(v){this.W!=v&&((this.W=v)?(this.Sy(this.mb.YB==h.it?t.Lw:void 0),this.mb.Qq(this.j.getParent()), 2493this.Qh()):(this.sS(),this.mb.Jl()),this.saa())};u.prototype.rQ=function(v){this.Tx!=v&&(this.Tx=v,this.saa(),this.Sx=!0)};u.prototype.Gz=function(v){this.Bm.Wb(v)};u.prototype.saa=function(){this.dl.Wb(this.W&&this.Tx&&!r.isPresenting);this.vs.Wb(this.W&&r.isPresenting)};u.prototype.coa=function(){this.Qh()};u.prototype.sQ=function(v){this.aL=v;this.dl.$0a(this.aL)};u.prototype.Hz=function(v){this.mb.Hz(v);this.Sy(this.mb.YB==h.it?t.Lw:void 0)};u.prototype.cE=function(v){this.mb.cE(v)};u.prototype.Rn= 2494function(){r.isPresenting&&r.setPosition({yaw:this.Ea});this.saa();this.Qh()};u.prototype.tM=function(v){var w=!this.vs.W&&(!this.dl.W||this.aL);if(this.mb.YB==h.Yz){var x=void 0;if(0!=v.zw||0!=v.aw){var y=25<Math.sqrt(v.aw*v.aw+v.zw*v.zw),z=180*Math.atan2(v.aw,v.zw)/Math.PI;-22.5<=z&&22.5>z?x=y?t.gga:t.fga:22.5<=z&&67.5>z?x=y?t.iga:t.pga:67.5<=z&&112.5>z?x=y?t.hga:t.oga:112.5<=z&&157.5>z?x=y?t.jga:t.qga:157.5<=z||-157.5>z?x=y?t.nga:t.uga:-157.5<=z&&-112.5>z?x=y?t.mga:t.tga:-112.5<=z&&-67.5>z?x=y? 2495t.kga:t.rga:-67.5<=z&&-22.5>z&&(x=y?t.lga:t.sga)}this.Sy(x);this.Kc(v.zw,v.aw,0,0,v.jJ,v.JI,0,0,!1,!1,!1,w)}else this.Kc(v.zw,v.aw,0,0,v.jJ,v.JI,0,0,!1,!1,w,w)};u.prototype.ty=function(v){this.Kc(0,0,0,v.EXa,0,0,0,v.uca,!1,!0,!1,!0)};u.prototype.Kc=function(v,w,x,y,z,C,A,B,I,E,G,F){var N=!1;this.yc.get("rotationEnabled")&&(N=this.cc.tea(v,w,x,z,C,A,E,G,F)||N);this.yc.get("zoomEnabled")&&(N=this.cc.d1a(y,B)||N);N&&(this.gq.reset(),this.fW=I,this.Qh())};u.prototype.kLa=function(){if(!r.isPresenting)return 0; 2496this.aW=this.aW||0;for(var v=0,w=0;w<r.Bg.length&&0==v;w++)v=r.Bg[w].FBa;w=this.j.M.get("vrThumbstickRotationStep");w=0<v&&0>=this.aW?w:0>v&&0<=this.aW?-w:0;this.aW=v;return w};u.prototype.Qh=function(){this.Ky=!0;this.trigger(new l(u.rh))};u.prototype.Np=function(){this.EO=!0;this.trigger(new l(u.Ei));this.mb.YB==h.it&&this.Sy(t.th)};u.prototype.Mp=function(){this.trigger(new l(u.Di));this.mb.YB==h.it&&this.Sy(t.Lw)};u.prototype.noa=function(v){this.Mj(v.data.iya);0>v.data.iya.indexOf(n.Gf)&&this.j.Gb().trigger(new l(m.AA, 2497{cJ:v}))};u.prototype.Sy=function(v){this.Dh!=v&&this.W&&(this.Dh&&this.j.LI(this.Dh),(this.Dh=v)&&this.j.n_(this.Dh))};u.prototype.sS=function(){this.Dh&&(this.j.LI(this.Dh),this.Dh=void 0)};u.rh="position change request";u.Ei="user interaction start";u.Di="user interaction end";return u});define("mW",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("TargetRotationalCameraMovement",e,function(){e.call(this)})}); 2498define("P","require lx oR kX cB gp nH gU mW ou bG".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("kX"),l=a("cB"),b=a("gp"),h=a("nH");a("gU");a("mW");var d=a("ou"),c=a("bG"),f=e.extend(b,function(g,p,q){b.call(this);this.j=g;this.ha=p;this.Gc=q;this.UG=this.Pa=null;this.vl=this.Pm=!1;this.pk=void 0;this.jG=[];this.CC=0;this.V=null;this.ib=this.Ea=0;this.Ma=90});f.prototype.clear=function(){this.end();this.ha=this.j=null};f.prototype.start=function(g){this.YQa(g);this.zOa();this.vl=!1;this.tS(); 2499this.Pm=!1;this.Qh();this.zj()};f.prototype.end=function(){null!=this.Pa&&(this.lja(),this.Pm=this.vl=!1,this.V=null,this.zj())};f.prototype.lZa=function(){this.Pa&&this.Pa.get("restartMovementOnUserInteraction")?this.Pm||(this.YN(),this.u$(),this.V=null,this.Pm=!0,this.zj()):(this.V=null,this.pause())};f.prototype.oZa=function(){this.Pm&&(this.Pm=!1,this.Dma()||this.o$())};f.prototype.YQa=function(g){this.lja();this.Pa=g;this.Pa.bind(k.Tw,this.rpa,this,!0);this.Pa.bind(k.CE,this.qpa,this,!0);this.Pa.bind(k.G("movementIndex"), 2500this.iC,this,!0);this.jG=this.Pa.get("movements",[])};f.prototype.lja=function(){this.u$();null!=this.Pa&&(this.Pa.unbind(k.Tw,this.rpa,this),this.Pa.unbind(k.CE,this.qpa,this),this.Pa.unbind(k.G("movementIndex"),this.iC,this),this.Pa.set("movementIndex",-1),this.Pa=null,this.jG=[])};f.prototype.Ij=function(){return this.Pa?this.vl?m.Ib:m.X:m.T};f.prototype.setPosition=function(g,p,q,n){this.Ea=g;this.ib=p;this.Ma=n};f.prototype.bf=function(){return!this.Pa||!this.V||this.vl||this.Pm||this.Dma()? 2501!1:!0};f.prototype.Cb=function(g){if(this.bf()){this.V.Cb(g);g=this.V.fb("hfov");if(this.Gc.qxa()){var p=this.V.bca("hfov");p.from=this.Gc.yY(p.from);p.to=this.Gc.yY(p.to);g=this.Gc.yY(g)}
2501this.ha.setPosition(this.V.fb("yaw"),this.V.fb("pitch"),0,g,this.Gc.Qv());this.Ea=this.ha.Pc();this.ib=this.ha.Oc();this.Ma=this.ha.Rv();this.V.Oe()&&this.ENa()}};f.prototype.Cq=function(){return this.Ea};f.prototype.Bq=function(){return this.ib};f.prototype.wD=function(){return this.Ma};f.prototype.play=function(){this.vl&& 2502(this.vl=!1,this.V||this.iC(),this.tS(),this.Qh(),this.zj())};f.prototype.pause=function(){this.vl||(this.vl=!0,this.YN(),this.zj())};f.prototype.rpa=function(){this.play()};f.prototype.qpa=function(){this.pause()};f.prototype.zOa=function(){this.CC=0;var g=this.Pa.get("movementIndex",-1);-1==g&&(g=0);this.RV(g)};f.prototype.BOa=function(){this.CC++;var g=this.Pa.get("repeat",1);0<this.jG.length&&(0==g||this.CC<g)?this.RV(0):(this.Pa.trigger(new l(k.vb)),this.end(),this.OSa())};f.prototype.AOa=function(){this.RV(this.Pa.get("movementIndex", 25030)+1)};f.prototype.RV=function(g){g<this.jG.length?this.Pa.get("movementIndex")!=g?this.Pa.set("movementIndex",g):this.iC():(this.Pa.trigger(new l(k.ir)),this.BOa())};f.prototype.iC=function(){var g=this.Pa.get("movementIndex");this.V=0<=g?this.xx(this.jG[g]):null};f.prototype.ENa=function(){this.jG[this.Pa.get("movementIndex")].trigger(new l(k.vb));this.AOa()};f.prototype.Dma=function(){return null!=this.UG};f.prototype.o$=function(){this.u$();var g=this,p=this.Pa.get("restartMovementDelay")||0; 2504this.UG=setTimeout(function(){g.UG=null;g.TNa()},p);this.zj()};f.prototype.u$=function(){this.UG&&(clearTimeout(this.UG),this.UG=null)};f.prototype.TNa=function(){this.RV(this.Pa.get("movementIndex"));this.Qh();this.zj()};f.prototype.xx=function(g){var p,q=this.xk(this.Ea,-180,180),n=this.ib,r=this.Ma;if(h.Oa("TargetRotationalCameraMovement",g)){var t=g.get("targetYaw",q);var u=g.get("targetPitch",n);(p=g.get("targetHfov"))?(this.Gc.AAa(p),p=this.Gc.yg()):p=r;this.ha.setPosition(t,u,0,p,this.Gc.Qv()); 2505if(this.ha.mC)t=this.ha.Pc();else switch(this.O4(g)){case "left":t=this.xk(t,q-360,q);break;case "right":t=this.xk(t,q,q+360);break;case "longest":t=this.xk(t,q-180,q+180);t=t>=q?this.xk(t,q-360,q):this.xk(t,q,q+360);break;default:t=this.xk(t,q-180,q+180)}}else h.Oa("DistanceRotationalCameraMovement",g)&&(t=q+g.get("yawDelta",0),this.ha.mC&&(t=Math.min(Math.max(-180,t),180)),u=n+g.get("pitchDelta",0),p=r+g.get("hfovDelta",0),this.ha.setPosition(t,u,0,p,this.Gc.Qv()),this.ha.mC&&(t=this.ha.Pc())); 2506u=this.ha.Oc();p=this.ha.Rv();return new d(g.get("easing"),[new c("yaw",q,t,g.get("yawSpeed")),new c("pitch",n,u,g.get("pitchSpeed")),new c("hfov",r,p,g.get("hfovSpeed"))],g.get("duration"))};f.prototype.tS=function(){this.pk=void 0};f.prototype.YN=function(){if(this.V){this.pk=void 0;var g=this.V&&this.V.bca("yaw");g&&(g.to>g.from?this.pk="right":g.to<g.from&&(this.pk="left"))}};f.prototype.O4=function(g){g=g.get("path");"longest"==g&&this.pk&&(g=this.pk);this.pk=void 0;return g};f.prototype.xk= 2507function(g,p,q){for(;g<p;)g+=q-p;for(;g>q;)g-=q-p;return g};f.prototype.Qh=function(){this.trigger(new l(f.rh))};f.prototype.OSa=function(){this.trigger(new l(f.X0))};f.prototype.zj=function(){this.trigger(new l(f.Ec))};f.rh="position change request";f.X0="sequence end";f.Ec="playback state change";return f}); 2508define("bt","require ek lx oR cB gp iA hn g P eo kt kX".split(" "),function(a){a("ek");var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("iA"),h=a("hn"),d=a("g"),c=a("P"),f=a("eo"),g=a("kt"),p=a("kX"),q=e.extend(l,function(n,r){l.call(this);this.j=n;this.j.bind(k.lc,this.hc,this);g.ba.bind(k.va,this.Rn,this,!0);this.Gc=r;this.B9=!1;this.Ma=this.jd=this.ib=this.Ea=void 0;this.ys=this.xs=this.VL=this.YL=this.XL=this.WL=!1;this.Wm=!0;this.MF=this.Tp=0;this.W=!1;this.zm=null;this.hL=5E3;this.nj=this.Hh= 2509null;this.ds=[];this.mi=this.bx=p.T;this.ha=new b(n);this.Ub=new d(this.j,this.ha,this.Gc);this.Ub.bind(d.rh,this.Kp,this,!0);this.Ub.bind(d.Ei,this.Np,this,!0);this.Ub.bind(d.Di,this.Mp,this,!0);this.ym=new h(this.j,this.ha,this.Gc);this.ym.bind(h.rh,this.Kp,this,!0);this.Ye=new c(this.j,this.ha,this.Gc);this.Ye.bind(c.rh,this.Kp,this,!0);this.Ye.bind(c.X0,this.yy,this,!0);this.Ye.bind(c.Ec,this.spa,this,!0)});q.prototype.clear=function(){this.Dk();this.Ub.unbind(d.rh,this.Kp,this);this.Ub.unbind(d.Ei, 2510this.Np,this,!0);this.Ub.unbind(d.Di,this.Mp,this,!0);this.Ub.clear();this.Ub=null;this.ym.unbind(h.rh,this.Kp,this,!0);this.ym.clear();this.ym=null;this.Ye.unbind(c.rh,this.Kp,this);this.Ye.unbind(c.X0,this.yy,this);this.Ye.unbind(c.Ec,this.spa,this);this.Ye.clear();this.ha=this.Ye=null;this.j.unbind(k.lc,this.hc,this);g.ba.unbind(k.va,this.Rn,this,!0);this.j=null;this.Fa&&(this.Fa.unbind(k.G("sequences"),this.zy,this,!0),this.Fa=null);this.PW([])};q.prototype.end=function(){this.bx=p.T;this.Dk(); 2511this.Ub.Wb(!1);this.ym.Wb(!1);this.Ye.end();this.W=!1;this.ov(0,0,0);this.nj=this.Hh=null;this.Fa&&(this.Fa.unbind(k.G("sequences"),this.zy,this,!0),this.Fa=null);this.PW([]);this.ZC()};q.prototype.start=function(n,r){this.bx=p.X;this.W=!0;this.ov(0,0,0);this.DN(n);this.nQa(r);this.yqa();this.fX(this.nj);this.ym.Wb(!0);this.ZC()};q.prototype.Ij=function(){return this.mi};q.prototype.play=function(n){this.bx=p.X;this.Ye.Ij()==p.Ib?this.Ye.play():this.Ye.Ij()==p.T&&(!n&&this.nj?this.fX(this.nj):this.SF()|| 2512this.fq());this.ZC()};
2512q.prototype.resume=function(){this.bx==p.Ib&&(this.Ub.qVa(),this.play(!0))};q.prototype.pause=function(){this.Ub.Mj(f.Gf);this.bx==p.X&&(this.bx=p.Ib,this.Ye.Ij()==p.X?(this.Ye.pause(),this.ZC()):this.SF()&&this.Dk())};q.prototype.stop=function(){this.bx=p.T;this.Ye.Ij()!=p.T&&this.Ye.end();this.Ub.Mj(f.Gf);this.ZC();this.SF()&&this.Dk()};q.prototype.moveTo=function(n,r,t,u,v){this.Ub.moveTo(n,r,t,u,v)};q.prototype.PW=function(n){this.ds.forEach(function(r){r.unbind(k.Tw,this.nra, 2513this,!0)}.bind(this));this.ds=n;this.ds.forEach(function(r){r.bind(k.Tw,this.nra,this,!0)}.bind(this))};q.prototype.Rn=function(){this.ha.t_(g.isPresenting)};q.prototype.Mj=function(n){this.Ub.Mj(n)};q.prototype.uea=function(n,r,t){this.Ub.uea(n,r,t)};q.prototype.rQ=function(n){this.Tx!=n&&(this.Tx=n,this.Ub.rQ(this.Tx),this.Na())};q.prototype.sQ=function(n){this.Ub.sQ(n)};q.prototype.Hz=function(n){this.Ub.Hz(n)};q.prototype.cE=function(n){this.Ub.cE(n)};q.prototype.Gz=function(n){this.Ub.Gz(n)}; 2514q.prototype.dw=function(n){this.W&&(this.Ub.bf()||g.isPresenting||this.Tx&&(this.Ub.W||!this.Ub.aL)?(this.Ub.T_()&&this.Ye.lZa(),this.Ub.Cb(n),this.Al(this.Ub.Cq(),this.Ub.Bq(),this.Ub.rz(),this.Ub.wD()),this.Na()):this.Ye.Pm?(this.Ye.oZa(),this.Na()):this.Ye.bf()?(this.Ye.Cb(n),this.Al(this.Ye.Cq(),this.Ye.Bq(),0,this.Ye.wD()),this.Na()):this.ym.bf()?(this.ym.Cb(n),this.Al(this.ym.Cq(),this.ym.Bq(),0,this.ym.wD()),this.Na()):this.B9?(this.B9=!1,this.Gc.Fo(this.j.yg()),this.ha.setPosition(this.j.Pc(), 2515this.j.Oc(),this.j.Nf(),this.Gc.yg(),this.Gc.Qv()),this.Al(this.ha.Pc(),this.ha.Oc(),this.ha.Nf(),this.ha.Rv()),this.Na()):(this.ov(0,0,0),this.bx==
2515p.X&&this.Ye.Ij()!=p.X&&(this.SF()||this.fq())))};q.prototype.vd=function(){this.MTa();this.yqa()};q.prototype.MTa=function(){var n=this.j.Pc()-this.Ea||0,r=this.j.Oc()-this.ib||0;this.j.Nf();this.ov(n,r,this.j.yg()-this.Ma||0)};q.prototype.yqa=function(){this.Ea=this.j.Pc();this.ib=this.j.Oc();this.jd=this.j.Nf();this.Ma=this.j.yg();this.Ub.setPosition(this.Ea, 2516this.ib,this.jd,this.Ma);this.Ye.setPosition(this.Ea,this.ib,this.jd,this.Ma);this.ym.setPosition(this.Ea,this.ib,this.jd,this.Ma)};q.prototype.DN=function(n){this.ha.yi(n)};q.prototype.nQa=function(n){this.Fa=n;this.hL=n.get("timeToIdle",5E3);this.Hh=n.get("idleSequence");this.nj=n.get("initialSequence");this.Ub.setCamera(n);this.ym.setCamera(n);n.bind(k.G("sequences"),this.zy,this,!0);this.PW(n.get("sequences",[]))};q.prototype.zy=function(){this.PW(this.Fa.get("sequences",[]))};q.prototype.nra= 2517function(n){this.fX(n.source)};q.prototype.Kp=function(){this.Dk();this.Na()};q.prototype.Np=function(){this.trigger(new m(q.Ei))};q.prototype.Mp=function(){this.trigger(new m(q.Di))};q.prototype.fX=function(n){n?(this.Ub.Wb(!n.get("mandatory",!1)),this.Ye.start(n)):this.yy()};q.prototype.yy=function(){this.Ub.Wb(!0);this.fq()};q.prototype.spa=function(){this.ZC()};q.prototype.hc=function(){this.B9=!0;this.Na()};q.prototype.SF=function(){return null!=this.zm};q.prototype.fq=function(){this.Dk();var n= 2518this;this.zm=setTimeout(function(){n.zm=null;n.gM()},this.hL)};q.prototype.Dk=function(){this.zm&&(clearTimeout(this.zm),this.zm=null)};q.prototype.gM=function(){this.fX(this.Hh)};q.prototype.Na=function(){this.trigger(new m(q.Hb))};q.prototype.Al=function(n,r,t,u){this.j.setPosition(n,r,t,u)};q.prototype.ov=function(n,r,t){var u=!1,v=.001>Math.abs(n)&&.001>Math.abs(r)&&.001>Math.abs(t);v||this.Tx?(u=1!=this.Wm,this.ys=this.xs=this.VL=this.YL=this.XL=this.WL=!1,this.Wm=!0):(this.WL!=-.001>n&&(this.WL= 2519!this.WL,u=!0),this.XL!=.001<n&&(this.XL=!this.XL,u=!0),this.VL!=-.001>r&&(this.VL=!this.VL,u=!0),this.YL!=.001<r&&(this.YL=!this.YL,u=!0),this.xs!=-.001>t&&(this.xs=!this.xs,u=!0),this.ys!=.001<t&&(this.ys=!this.ys,u=!0),this.Wm!=v&&(this.Wm=!this.Wm,u=!0));v||this.trigger(new m(q.Mo,{yaw:this.Ea,pitch:this.ib,roll:this.jd,hfov:this.Ma}));u&&((this.W||this.Wm)&&this.trigger(new m(q.Pj,{movingLeft:this.WL,movingRight:this.XL,movingUp:this.YL,movingDown:this.VL,zoomingIn:this.xs,zoomingOut:this.ys, 2520stopped:this.Wm})),this.ZC())};q.prototype.ZC=function(){if(this.W){var n=this.Ye.Ij();this.Wm||(n=p.X)}else n=p.T;this.mi!=n&&(this.mi=n,this.trigger(new m(q.Ec,{state:this.mi})))};q.Hb="request frame";q.Pj="movement change";q.Mo="position change";q.Ec="playback state change";q.Ei="user interaction start";q.Di="user interaction end";return q}); 2521define("gT","require oR iA v hP ms kt nD".split(" "),function(a){function e(f,g,p){this.j=f;this.Gc=g;this.kq=p;this.ha=new k(f);p.og&&this.ha.yi(p.og);this.kv=new k(f);this.h$=this.by=this.ey=void 0;this.Ea=this.j.Pc();this.ib=this.j.Oc();this.jd=this.j.Nf();this.Ma=this.kq.og?this.j.yg():e.wfa;this.ssa=0;this.ma=null;this.Lma=!0}a("oR");var k=a("iA");a("v");var m=a("hP"),l=a("ms"),b=a("kt"),h=a("nD");e.prototype.yi=function(f,g,p){if(this.ma!=f)if(this.Fy=!0,this.ma=f,b.isPresenting){this.h$=this.Ea; 2522for(f=this.h$-g;180<f;)f-=360;for(;-180>f;)f+=360;b.setPosition({yaw:g})}else this.sea(g,p)};e.prototype.sea=function(f,g){this.Ea=f;this.ib=g};e.prototype.oD=function(f){this.Gc.AAa(f);return this.Gc.yg()};e.prototype.Fo=function(f){this.Ma=f};e.prototype.wQ=function(f){this.Lma=f};e.prototype.bE=function(f){this.ssa=f};e.prototype.dw=function(){this.Gc.qxa()&&(this.Ma=this.Gc.yY(this.Ma));if(this.kq.ub()){var f=h.Wea(b.TO,!0);this.Ea=f.$a;this.ib=void 0===c?f.pitch:c;this.jd=void 0===d?f.ng:d;this.ey= 2523this.Ea;this.by=this.ib}else if(this.kq.Gwa()){f=m.Fq();var g=this.DC(f.yaw,this.Ea);this.Ea+=void 0===this.ey?0:g-this.ey;this.ib+=void 0===this.by?0:f.pitch-this.by;this.jd=f.roll;this.ey=f.yaw;this.by=f.pitch}else f=this.DC(this.j.Pc(),this.Ea),g=this.j.Oc(),this.Ea+=void 0===this.ey?0:f-this.ey,this.ib+=void 0===this.by?0:g-this.by,this.jd=this.j.Nf();this.Fy&&this.ha.yi(this.ma);this.ha.t_(this.kq.ub());this.ha.setPosition(this.Ea,this.ib,this.jd,this.Ma,this.Gc.Qv());if(this.Fy)if(this.Fy=!1, 2524this.kq.ub())(f=this.kq.og&&this.j.af(this.kq.og))&&f.set("deltaYaw",this.h$-this.ha.Pc());else if(f=this.kq.og&&this.j.af(this.kq.og))f.set("deltaYaw",this.j.Pc()-this.ha.Pc()),f.set("deltaPitch",this.j.Oc()-this.ha.Oc()),f.set("deltaRoll",this.j.Nf()-this.ha.Nf());this.Ea=this.ha.Pc();this.ib=this.ha.Oc();this.jd=this.ha.Nf();this.kq.ub()||this.kq.Gwa()||(this.ey=this.Ea,this.by=this.ib);this.Ma=this.Lma?this.ha.Rv():this.Ma;this.j.setPosition(this.Ea,this.ib,this.jd,this.Ma);this.j.bE(this.ssa)}; 2525e.prototype.q_=function(f,g){this.kv.yi(f);this.kv.setPosition(0,0,0,g,this.Gc.Qv());return this.kv.Rv()};e.prototype.ZZa=function(f,g){this.kv.yi(f);this.kv.setPosition(g.$a,g.pitch,g.ng,g.Be,this.Gc.Qv());g.$a=this.kv.Pc();g.pitch=this.kv.Oc();g.ng=this.kv.Nf();
2525g.Be=this.kv.Rv()};e.prototype.DC=function(f,g){for(;f+180<g;)f+=360;for(;f-180>g;)f-=360;return f};e.prototype.kva=function(){return e.wfa};e.wfa=TDV.Hga.uCa;var d=l.Yi("debug")?l.YY("force_vr_roll"):void 0,c=l.Yi("debug")?l.YY("force_vr_pitch"): 2526void 0;return e}); 2527define("pq",["require","gN","lN","v","kt"],function(a){function e(h,d,c,f,g){this.j=h;this.Kj=d;h=this.j.M;this.OQ=h.get("transitionMode","blending");d=h.get("transitionDuration",500);this.DLa(c,f)&&(this.OQ=e.jR,d=1500);this.RH=h.get("blendingTransitionDuration",d);this.eWa=h.get("firstTransitionDuration",d);this.ova=h.get("disolveTransitionDuration",d);this.IBa=h.get("translationTransitionDuration",1E3);h.get("translationTransitionSpeed");this.JBa=h.get("translationTransitionEnabled",!0);this.aza= 2528h.get("originTransitionDuration",3E3);this.Y_=1E3;this.qYa=h.get("modelToPanoramaTraslationDuration",1500);this.iZa=h.get("panoramaToModelTraslationDuration",1E3);this.og=c;this.j1a=!c||c.Eca();this.k1a=!c||c.jxa();this.Dc=f;this.oBa=!f||f.Eca();this.Nea=!f||f.jxa();this.A1a=!!f&&this.L6(f);d=(this.eE=g)&&g.get("initialPosition")||new k;this.Ag=new k;this.Ag.set("yaw",d.get("yaw",0));this.Ag.set("pitch",d.get("pitch"));this.Ag.set("hfov",d.get("hfov"));this.Cf=new m;this.Cf.set("yaw",this.Ag.get("yaw")); 2529this.Cf.set("pitch",this.Ag.get("pitch"));this.Cf.set("hfov",this.Ag.get("hfov"));this.Cf.set("stereographicFactor",0);this.uo=[];if(!c){this.uo=g&&g.get("displayMovements")||[];for(d=this.uo.length-1;0<=d;d--)this.Cf.set("yaw",this.Cf.get("yaw",this.uo[d].get("targetYaw"))),this.Cf.set("pitch",this.Cf.get("pitch",this.uo[d].get("targetPitch"))),this.Cf.set("hfov",this.Cf.get("hfov",this.uo[d].get("targethfov"))),this.Cf.set("stereographicFactor",this.Cf.get("stereographicFactor",this.uo[d].get("stereographicFactor"))); 2530g=g&&g.get("displayOriginPosition")||this.Ag;this.Cf.set("yaw",g.get("yaw"));this.Cf.set("pitch",g.get("pitch"));this.Cf.set("hfov",g.get("hfov"));this.Cf.set("stereographicFactor",g.get("stereographicFactor"))}this.fJ=this.OQ==e.pn&&this.JBa&&this.oBa&&this.fLa(c,f)||null;var p=this.OQ==e.pn&&this.Dc&&this.oBa&&this.Kj&&this.Dc.get("modelLocations")||[];g=this.OQ==e.pn&&this.og&&this.j1a&&this.Kj&&this.og.get("modelLocations")||[];var q=[];g.forEach(function(r){p.forEach(function(t){r.get("model")== 2531t.get("model")&&q.push([r,t])})});var n=this.Kj&&this.Kj.get("model");this.nc=this.jc=null;1<q.length&&this.Kj&&(d=q.find(function(r){return r[0].get("model")==n}))&&(q=[d]);(d=q.length?q[0]:null)&&(n&&d[0].get("model")==n||d[0].get("forceModelLoading")||d[1].get("forceModelLoading"))?(this.jc=d[0],this.nc=d[1]):(this.jc=g.find(function(r){return r.get("preferred")}),this.jc||this.nc||(this.nc=p.find(function(r){return r.get("preferred")})),[].concat(g,p).forEach(function(r){r.set("preferred",!1)}), 2532this.jc||this.nc||(this.jc=g.find(function(r){return r.get("model")==n})),this.jc||this.nc||(this.nc=p.find(function(r){return r.get("model")==n})),this.jc||this.nc||(this.jc=g.find(function(r){return r.get("forceModelLoading")})),this.jc||this.nc||(this.nc=p.find(function(r){return r.get("forceModelLoading")})));(this.nc||this.jc)&&h.get("translationTransitionSpeed")&&(this.nc||this.jc).get("model").get("worldUnitToMeters")&&(this.IBa=h.get("translationTransitionSpeed")/(this.nc||this.jc).get("model").get("worldUnitToMeters")); 2533this.bw=null;this.ZAa=l.zd()==l.Fi?512:1536;this.pBa=l.zd()==l.Fi?512:1024;h=this.ub();this.mode=!h&&this.jc&&this.nc&&this.fJ?e.M1:!h&&this.jc&&this.nc&&this.JBa?e.Xga:this.fJ?e.Wga:h||this.og||!this.nc?h||this.Dc||!this.jc?c?f?"blending"==this.OQ?e.pn:e.jR:e.Lfa:e.Kfa:e.Yga:e.L1;this.mode!=e.pn||this.k1a&&this.Nea||!(0<this.Cf.get("stereographicFactor",0)||0<this.uo.filter(function(r){return 0<r.get("targetStereographicFactor",0)}).length)||(this.mode=e.jR);this.Qk=null;this.ID=l.ID()||l.DI()}var k= 2534a("gN"),m=a("lN"),l=a("v"),b=a("kt");e.prototype.Gwa=function(){return this.j.yc.get("gyroscopeEnabled")};e.prototype.ub=function(){return b.isPresenting};e.prototype.fLa=function(h,d){if(!h||!d)return null;h=(h.get("adjacentPanoramas")||[]).filter(function(c){return c.get("enabled")&&c.cVa()&&c.get("panorama")==d});return 0==h.length?null:h[0]};e.prototype.DLa=function(h,d){return this.ub()&&l.zd()==l.Fi&&(this.L6(h)||this.L6(d))};e.prototype.L6=function(h){return!!h&&h.Ml()};e.jR="fade_out_fade_in"; 2535e.Kfa="fade_in";e.Lfa="fade_out";e.pn="blending";e.Wga="translation";e.L1="translation_from_model";e.M1="translation_through_model";e.Xga="translation_to_from_model";e.Yga="translation_to_model";return e});define("eR",["require"],function(){function a(e,k,m,l){this.L=e;this.zc=k;this.j=m;this.F=l}a.prototype.Rg=function(){return!1};a.prototype.nh=function(){};a.prototype.FD=function(){return!1};return a}); 2536define("ma",["require","lx","eR","ou","bG"],function(a){var e=a("lx"),k=a("eR"),m=a("ou"),l=a("bG");a=e.extend(k,function(b,h,d,c){k.call(this,b,h,d,c);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(b){if(!this.Eb){if(!this.V){var h=this.j.af(this.F.Dc);h.mh();h.set("alpha",.01);this.V=new m("linear",[new l("alpha",0,1,void 0)],this.F.RH)}this.V.Cb(b);b=this.V.fb("alpha");h=this.j.af(this.F.Dc);h.set("alpha",b);
2536this.V.Oe()&&(this.Eb=!0)}};return a}); 2537define("dS",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("ProjectedMaterialModel3DObject",k,function(){k.call(this)})});define("mj",["require","lx","eR"],function(a){var e=a("lx"),k=a("eR");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h);this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(){this.Eb||(this.Si(),this.Eb=!0)};a.prototype.Si=function(){};return a}); 2538define("cV",["require","lx","dS","mj"],function(a){var e=a("lx"),k=a("dS"),m=a("mj"),l=e.extend(m,function(b,h,d,c,f){m.call(this,b,h,d,c);this.Nh=f||3});l.prototype.Si=function(){var b=this.F.jc,h=this.F.nc,d=this.F.bw=new k;this.Nh&1&&(d.set("sourceX",b.get("x")),d.set("sourceY",b.get("y")),d.set("sourceZ",b.get("z")),d.set("sourceYaw",b.get("yaw")),d.set("sourceFaces",this.Via(this.F.og,this.F.ZAa)));this.Nh&2&&(d.set("targetX",h.get("x")),d.set("targetY",h.get("y")),d.set("targetZ",h.get("z")), 2539d.set("targetYaw",h.get("yaw")),d.set("targetFaces",this.Via(this.F.Dc,this.F.pBa)));b=(b||h).get("model");b.set("objects",b.get("objects").concat([this.F.bw]))};l.prototype.Via=function(b,h){b=this.j.af(b);var d=b.get("alpha");b.set("alpha",1);h=this.j.VO(h);b.set("alpha",d);this.j.DQ(!1);return h};l.Rga=e.extend(l,function(b,h,d,c){l.call(this,b,h,d,c,1)});l.eha=e.extend(l,function(b,h,d,c){l.call(this,b,h,d,c,2)});return l}); 2540define("lP",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){this.F.Kj.j.DAa(this.F.nc.get("model"),!1)};return a});define("kU",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){this.F.Kj.j.DAa(this.F.jc.get("model"),!0)};return a}); 2541define("lK",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){this.F.Dc&&!this.j.af(this.F.Dc)&&(this.ih=this.j.create(this.F.Dc),this.ih.set("alpha",0),this.j.add(this.ih))};return a}); 2542define("oh",["require","lx","oR","dg","eR"],function(a){var e=a("lx"),k=a("oR"),m=a("dg"),l=a("eR");a=e.extend(l,function(b,h,d,c){l.call(this,b,h,d,c);this.ea=(this.F.jc||this.F.nc).get("model");this.Yp=!1;this.ea?(this.oy=this.F.Kj,this.oy.get("model")==this.ea&&this.ea.get("isLoaded")?(this.Qu(),this.pl(),this.Yp=!0):(this.oy.set("model",this.ea),this.ea.bind(k.Z,this.Qu,this,!0),this.oy.set("requesterPlayer",this.j.yc),this.oy.bind(m.Vg,this.pl,this,!0))):this.Yp=!0});a.prototype.Rg=function(){return this.Yp}; 2543a.prototype.FD=function(){return!0};a.prototype.Qu=function(){this.ea.unbind(k.Z,this.Qu,this)};a.prototype.pl=function(){this.oy.unbind(m.Vg,this.pl,this,!0);this.Yp=!0};return a}); 2544define("hQ",["require","lx","mj","bF"],function(a){var e=a("lx"),k=a("mj"),m=a("bF");a=e.extend(k,function(l,b,h,d){k.call(this,l,b,h,d)});a.prototype.Si=function(){if(this.F.A1a){var l=this.F.Dc.get("frames")[0];l=l.get("sphere")||l.get("stereoSphere");var b=l.get("levels")||[];(!0===l.get("hasAudio")||0<b.length&&!0===b[0].get("hasAudio"))&&m.request(this.j.Gb())}};return a}); 2545define("fl",["require","lx","eR","ou","bG"],function(a){var e=a("lx"),k=a("eR"),m=a("ou"),l=a("bG");a=e.extend(k,function(b,h,d,c){k.call(this,b,h,d,c);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(b){if(!this.Eb){if(!this.V){var h=this.F.nc&&this.F.nc.get("targetFaces")?.01*this.F.RH:this.F.nc?.5*this.F.RH:this.j.M.t2a()&&!this.F.og?this.F.eWa:this.F.RH;this.V=new m("linear",[new l("alpha",.001,1,void 0)],h)}this.V.Cb(b);b=this.V.fb("alpha");this.j.af(this.F.Dc).set("alpha", 2546b);this.V&&this.V.Oe()&&(this.Eb=!0)}};return a}); 2547define("ji",["require","lx","gp","hD"],function(a){var e=a("lx"),k=a("gp"),m=a("hD");a=e.extend(k,function(){k.call(this);this.la=this.Da=null;this.Kd=[];this.MT=this.Wf=!1;this.aM=null;this.gk=[this];this.Saa={};this.wr={};this.cL=!1;this.c9={};this.d9={};this.$o(["blendingActive","globalBlendingActive"]);this.CEa();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", 2548!1);this.set("index",0)});a.prototype.CEa=function(){var l="alpha deltaYaw deltaPitch deltaRoll translationX translationY translationZ".split(" ");Array.isArray(l)||(l=[l]);l.forEach(function(b){this.c9[b]=!0}
2548.bind(this))};a.prototype.$o=function(l){Array.isArray(l)||(l=[l]);l.forEach(function(b){this.d9[b]=!0}.bind(this))};a.prototype.set=function(l,b){this.Saa[l]!==b&&(this.d9[l]&&this.Kd.forEach(function(h){h.set(l,b)}),this.jFa(l,b),this.wN(l))};a.prototype.get=function(l){return this.Saa[l]}; 2549a.prototype.wN=function(l){this.wr[l]||(this.wr[l]=!0,this.cL||(this.cL=!0,this.Ca()),this.c9[l]&&this.Kd.forEach(function(b){b.wN(l)}))};a.prototype.KGa=function(){this.cL&&(this.cL=!1,this.wr={})};a.prototype.N=function(){if(this.cL)for(var l=0;l<arguments.length;l++)if(this.wr[arguments[l]])return!0;return!1};a.prototype.jFa=function(l,b){this.Saa[l]=b};a.prototype.Lb=function(){return this.Kd};a.prototype.Tg=function(l){var b=l||[],h=this.Kd.slice();l=b.length!=h.length;for(var d=0;d<b.length&& 2550!l;d++)l=b[d]!=h[d];l&&(l=h.filter(function(c){return-1==b.indexOf(c)}),d=b.filter(function(c){return-1==h.indexOf(c)}),this.Kd=b,l.forEach(function(c){c.LW(null)}),d.forEach(function(c){c.remove();c.LW(this)}.bind(this)),this.Ca())};a.prototype.LW=function(l){this.la!=l&&(this.la&&this.Tm(),(this.la=l)&&this.ap(),this.T9(this.la&&this.la.Da))};a.prototype.ap=function(){for(var l in this.la.c9)this.wN(l);for(l in this.la.d9)this.set(l,this.la.get(l))};a.prototype.Tm=function(){};a.prototype.T9=function(l){this.Da!= 2551l&&(l||this.Qb(),(this.Da=l)&&this.Nb(),this.Kd.forEach(function(b){b.T9(this.Da)}.bind(this)))};a.prototype.Nb=function(){this.ZEa()};a.prototype.Qb=function(){this.hPa()};a.prototype.ZEa=function(){this.gk.forEach(function(l){this.Da.aM.add(l,this)}.bind(this))};a.prototype.hPa=function(){this.gk.forEach(function(l){this.Da.aM.remove(l,this)}.bind(this))};a.prototype.mh=function(){this.la&&this.la.yba(this)};a.prototype.yba=function(l){var b=this.Kd.indexOf(l);if(-1==b)throw"Child not found";b!= 2552this.Kd.length-1&&(this.Kd.splice(b,1),this.Kd.push(l),this.Ca())};a.prototype.ZVa=function(l){var b=this.Kd.indexOf(l);if(-1==b)throw"Child not found";this.Kd.splice(b,1);l.LW(null);this.Ca()};a.prototype.appendChild=function(l){l.remove();this.Kd.push(l);l.LW(this);this.Ca()};a.prototype.remove=function(){this.la&&this.la.ZVa(this)};a.prototype.Tl=function(){};a.prototype.Ca=function(){this.Wf||(this.Wf=!0,this.la&&this.la.Ca(this))};a.prototype.SGa=function(){this.Wf=!1};a.prototype.w9=function(){this.MT|| 2553(this.MT=!0,this.la&&this.la.w9())};a.prototype.OGa=function(){this.MT=!1};a.prototype.fa=function(){this.ota();this.N("translationX","translationY","translationZ")&&(this.set("composedTranslationX",this.get("translationX")+(this.la?this.la.get("composedTranslationX"):0)),this.set("composedTranslationY",this.get("translationY")+(this.la?this.la.get("composedTranslationY"):0)),this.set("composedTranslationZ",this.get("translationZ")+(this.la?this.la.get("composedTranslationZ"):0)));this.N("deltaYaw", 2554"deltaPitch","deltaRoll")&&(this.set("composedDeltaYaw",this.get("deltaYaw")+(this.la?this.la.get("composedDeltaYaw"):0)),this.set("composedDeltaPitch",this.get("deltaPitch")+(this.la?this.la.get("composedDeltaPitch"):0)),this.set("composedDeltaRoll",this.get("deltaRoll")+(this.la?this.la.get("composedDeltaRoll"):0)),m.ixa())};a.prototype.ota=function(){this.N("alpha")&&this.set("composedAlpha",this.get("alpha")*(this.la?this.la.get("composedAlpha"):1))};return a}); 2555define("nI",["require","lu","hD","v"],function(a){var e=a("lu"),k=a("hD"),m=a("v"),l={PMa:void 0,d0a:function(b){this.PMa=b},mIa:void 0,u_a:function(b){this.mIa=b},createTexture:function(){var b=new THREE.Texture;b.image=l.lI();b.userData={};b.userData.EBa={};return b},oVa:function(b){b.image!=this.lI()&&(b.image=this.lI(),b.needsUpdate=!0,b.O3a=!0)},Nz:function(b,h){h=this.kWa(h);b.generateMipmaps=!1;if(b.generateMipmaps)b.minFilter=THREE.LinearMipMapLinearFilter,b.anisotropy=Math.min(this.BJa(h), 2556m.Bwa().Xxa),k.wxa(h.width)&&k.wxa(h.height)?b.image=h:(b.Kr||(b.Kr=document.createElement("canvas"),b.Kr.sX=!0),b.image=b.Kr,b.Kr.Ra=h,b.image.width=k.pwa(h.width),b.image.height=k.pwa(h.height),b.image.getContext("2d").drawImage(h,0,0,b.image.width,b.image.height));else{b.minFilter=THREE.LinearFilter;var d=k.CI(h);d&&h.videoWidth&&h.videoHeight&&(h.width=h.videoWidth,h.height=h.videoHeight);if(d&&k.gCa(h)){b.wp||(b.wp=document.createElement("canvas"),b.WLa=b.wp.getContext("2d"),b.wp.sX=!0);d=h.videoWidth; 2557k.cn()&&(d=Math.min(4096,d));var c=d*h.videoHeight/h.videoWidth;
2557if(b.wp.width!=d||b.wp.height!=c)b.wp.width=d,b.wp.height=c;h.readyState>=h.HAVE_CURRENT_DATA&&b.WLa.drawImage(h,0,0,d,c);b.image=b.wp}else b.image=h}b.Kr&&b.image!=b.Kr&&(l.DY(b.Kr),delete b.Kr);b.needsUpdate=!0;(b=l.rca(b))&&b.isShaderMaterial&&(b.needsUpdate=!0);k.ixa()},kWa:function(b){b?k.Kca(b)?b=e.rf(b,!1):k.zxa(b)?b=this.lI():!k.CI(b)||b.readyState>=b.HAVE_CURRENT_DATA&&0<b.videoWidth&&0<b.videoHeight||(b=this.lI()):b=this.lI(); 2558return b},HVa:function(b,h,d,c,f){var g=document.createElement("canvas");g.width=k.Dt();g.height=k.Dt();g.sX=!0;var p=g.getContext("2d");if(!p)return null;p.drawImage(b,h,d,c,f,0,0,k.Dt(),k.Dt());this.MY(g);return g},DY:function(b){k.QXa(b)&&b.sX&&(delete b.sX,b.width=0,b.height=0)},dispose:function(b){b.wp&&b.wp!=b.image&&this.DY(b.wp);b.image&&this.DY(b.image);b.dispose()},R_:function(b,h,d){h?(b.eSa=!0,b.Csa=d||1):(delete b.eSa,delete b.Csa)},BJa:function(b){return b&&b.Csa||1},RAa:function(b, 2559h){b.userData.EBa.material=h},rca:function(b){return b.userData.EBa.material},YUa:function(b){return k.Jca(b)},decode:function(b){k.Kca(b)&&(b=e.rf(b,!1));k.Jca(b)&&this.MY(b)},MY:function(b){var h=document.createElement("canvas");h.width=1;h.height=1;var d=h.getContext("2d");l.MY=function(c){d.drawImage(c,0,0,1,1,0,0,1,1)};return l.MY(b)},d4:null,lI:function(){if(!this.d4){var b=document.createElement("canvas");b.width=128;b.height=128;b.jMa=!0;b.getContext("2d").clearRect(0,0,b.width,b.height); 2560this.d4=b}return this.d4},m3a:function(){return!1}};return l}); 2561define("cw",["require","hD","nI"],function(a){function e(b){this.RQ=(b=k.xz(b))&&k.Wwa();this.KP=b&&k.Vwa();this.kz=0;this.As=void 0;this.XO=this.YO=0;this.premultipliedAlpha=!1;this.side=void 0;this.params={}}var k=a("hD"),m=a("nI"),l={jca:function(b){return b.map||b.uniforms&&b.uniforms.textureSampler2D&&b.uniforms.textureSampler2D.value},nz:function(b,h){b||(b=m.createTexture());h||(h=new l.bm);b=h.TZa()?this.EVa(b,h):this.Fba(b);h.side&&(b.side=h.side);for(var d in h.params)b[d]=h.params[d];return b}, 2562TUa:function(b,h){b.isShaderMaterial?b.uniforms.textureSampler2D.value=h:b.map=h;b.needsUpdate=!0},Fba:function(b){var h=new THREE.MeshBasicMaterial;h.map=b;this.MA(h);return h},EVa:function(b,h){var d={uniforms:{},transparent:!0};d.uniforms.textureSampler2D={type:"sampler2D",value:b};b.flipY=!h.RQ;d.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(h.RQ?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(h.KP|| 2563h.kz||h.As||h.premultipliedAlpha){var c=[],f=[];c=c.concat(["uniform sampler2D textureSampler2D;","uniform float opacity;","varying vec2 vUV;"]);d.uniforms.opacity={type:"float",value:1};f=f.concat([" vec4 color = texture2D(textureSampler2D, vUV);"," float alpha = color.a * opacity;"]);h.premultipliedAlpha&&(f=f.concat([" if (color.a > 0.0)"," color.rgb /= color.a;"]));if(h.kz){var g=b.image.width||b.image.videoWidth,p=b.image.height||b.image.videoHeight,q=.5*Math.min(g,p)*h.kz;d.uniforms.blendingLimit= 2564{type:"v2",value:new THREE.Vector2(q/g,q/p)};c=c.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(","))}h.As&& 2565(d.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(h.As.substr(1,2),16)/255,parseInt(h.As.substr(3,2),16)/255,parseInt(h.As.substr(5,2),16)/255)},d.uniforms.chromaThreshold={type:"f",value:h.YO},d.uniforms.chromaSmoothing={type:"f",value:h.XO},c=c.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("{"))); 2566f=f.concat(["\tgl_FragColor = vec4(color"+(h.KP?".bgr":".rgb")+", alpha);"]);b.format=THREE.RGBAFormat;d.fragmentShader=[].concat(c,["void main() {"],f,["}"]).join("\n")}else d.fragmentShader="uniform sampler2D textureSampler2D;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(textureSampler2D, vUV);\n}";b=new THREE.ShaderMaterial(d);this.MA(b);return b},dispose:function(b){Array.isArray(b)||(b=[b]);b.forEach(function(h){var d=l.jca(h);d&&m.dispose(d);h.dispose()})},MA:function(b){b.side= 2567THREE.FrontSide;b.transparent=!0;b.depthTest=!1;b.needsUpdate=!0;b.userData={};b.userData.Rxa={};m.RAa(l.jca(b),b)},kea:function(b,h){b.userData.Rxa.yo=h},iwa:function(b){return b.userData.Rxa.yo}};e.prototype.TZa=function(){return this.RQ||this.KP||this.kz||this.As||this.premultipliedAlpha};e.prototype.isEqual=function(b){return this.RQ===b.RQ&&this.KP===b.KP&&this.kz===b.kz&&this.As===b.As&&this.YO===b.YO&&this.XO===b.XO&&this.premultipliedAlpha===b.premultipliedAlpha&&this.side===b.side};l.bm= 2568e;return l}); 2569define("et",["require","hc","cw"],function(a){function e(b){return Array.isArray(b)?b:b?[b]:[]}var k=a("hc"),m=a("cw"),l={create:function(b,h){var d=new THREE.Mesh(b,h);d.overdraw=!1;d.matrixAutoUpdate=!1;d.userData.Xv={};d.userData.Xv.attributes={};
2569e(h).forEach(function(c){m.kea(c,d)});return d},fva:function(b){var h=new THREE.Group;l.forEach(b,function(d){h.add(d)});return h},c0a:function(b,h){e(h).forEach(function(d){m.kea(d,null)});m.dispose(b.material);b.material=h;e(h).forEach(function(d){m.kea(d,b)})}, 2570sz:function(b){return e(b.material)},NWa:function(b,h){if(b.layers.mask&h.layers.mask){var d=l.sz(b);return k.MWa(b.geometry,h,b.matrixWorld).map(function(c){return d[c]})}return[]},fea:function(b,h){b.geometry=h},JWa:function(b,h){var d=[];l.Ej(b,function(c){var f=l.sz(c);h.forEach(function(g){var p=k.IWa(c.geometry,c.matrixWorld,g);if(p){var q=m.jca(f[p.materialIndex]);g=q.image;g==q.Kr&&(g=q.Kr.Ra);q=Math.round(p.NBa*g.width-.5);q=0>q?0:q>g.width-1?g.width-1:q;p=Math.round((1-p.dCa)*g.height-.5); 2571p=0>p?0:p>g.height-1?g.height-1:p;d.push({x:q,y:p,source:g})}})});return d},Lz:function(b,h){l.forEach(b,function(d){h?h.add(d):d.parent&&d.parent.remove(d)})},Sz:"panoramaId",kE:"panoramaFrameId",$_:"panoramaOverlayId",Z_:"levelIndex",setAttribute:function(b,h,d){l.Ej(b,function(c){c.userData.Xv.attributes[h]=d})},getAttribute:function(b,h){return b.userData.Xv.attributes[h]},Dva:function(b,h,d){for(var c=[],f=0,g=b.length;f<g;f++){var p=b[f];p.userData.Xv.attributes[h]!==d&&c.push(p)}return c}, 2572IY:function(b,h,d){for(var c=[],f=0,g=b.length;f<g;f++){var p=b[f];p.userData.Xv.attributes[h]===d&&c.push(p)}return c},Dwa:function(b,h){for(var d={},c=0,f=b.length;c<f;c++){var g=b[c],p=g.userData.Xv.attributes[h];void 0!==p&&(d[p]||(d[p]=[])).push(g)}return d},TY:function(b){b=b.userData.Xv.alpha;return void 0===b?1:b},Se:function(b,h){l.Ej(b,function(d){d.userData.Xv.alpha=h;l.sz(d).forEach(function(c){c.opacity=h;"ShaderMaterial"==c.type&&c.uniforms&&c.uniforms.opacity&&(c.uniforms.opacity.value= 2573h)})})},zq:function(b,h){l.Ej(b,function(d){d.matrix.copy(h);d.matrixWorldNeedsUpdate=!0})},Awa:function(b){return b.renderOrder},A_:function(b,h){l.forEach(b,function(d){d.renderOrder=h})},dispose:function(b){l.Ej(b,function(h){h.geometry&&(k.dispose(h.geometry),h.geometry=void 0);h.material&&(m.dispose(h.material),h.material=void 0)})},Kk:function(b){var h=[];l.Ej(b,function(d){h.push(d)});return h},forEach:function(b,h){Array.isArray(b)?b.forEach(h):b&&b.isObject3D&&(b.isMesh||"Group"==b.type)&& 2574h(b)},Ej:function(b,h){if(Array.isArray(b))for(var d=0,c=b.length;d<c;d++)l.Ej(b[d],h);else if(b&&b.children)for(d=0,c=b.children.length;d<c;d++)l.Ej(b.children[d],h);b&&b.isObject3D&&b.isMesh&&h(b)}};return l}); 2575define("V",["require","et"],function(a){var e=a("et");return{Kk:function(k){var m=[];k.children&&k.children.forEach(function(l){e.Ej(l,function(b){b.userData&&b.userData.Xv&&m.push(b)})});return m},$da:function(k,m){k.userData.cameras=m},Yba:function(k){return k.userData.cameras||[]},getCamera:function(k){return k.userData.cameras&&0<k.userData.cameras.length&&k.userData.cameras[0]||null}}}); 2576define("oZ","require lx oR gp et V".split(" "),function(a){function e(p,q){return p.reduce(function(n,r){return n?!0:!!(q.layers.mask&r.layers.mask)},!1)}function k(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 l(p){p=b(p).blending;return void 0===p?!1:p}function b(p){return p.userData.wYa||(p.userData.wYa={})}var h=a("lx"),d=a("oR"),c=a("gp"),f=a("et"),g=a("V");a=h.extend(c,function(){c.call(this);this.A=void 0;this.m7=!1});a.prototype.update= 2577function(p){var q=p.ub&&this.A&&!this.A.ub;this.A=p.clone();this.m7||(q?this.zLa():this.DTa())};a.prototype.DTa=function(){var p=!1,q=g.Yba(this.A.pg),n=g.Kk(this.A.pg);f.IY(n,f.kE,void 0).forEach(function(w){var x=e(q,w)&&0<f.TY(w)&&m(w);w.visible!=x&&(w.visible=x,p=!0)});n=f.Dva(n,f.kE,void 0);n=f.Dwa(n,f.Sz);for(var r in n){var t=n[r],u=q.map(function(){return!1});t.sort(function(w,x){return f.Awa(x)-f.Awa(w)});var v=t.some(l);t.forEach(function(w){var x=e(q,w)&&0<f.TY(w)&&m(w)&&(!v||k(w));if(x){x= 2578!0;for(var y=v||k(w)&&.999<f.TY(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(d.va)};a.prototype.zLa=function(){this.m7=!0;g.Kk(this.A.pg).forEach(function(p){p.visible=!1});setTimeout(function(){this.m7=!1;this.update(this.A)}.bind(this),300);this.trigger(d.va)};a.xQ=function(p,q){b(p).loaded=q};a.setActive=function(p,q){b(p).active=q};a.kAa=function(p,q){f.Ej(p,function(n){b(n).blending=q})};return a}); 2579define("kA","require lx oR id gp oZ cw et V v".split(" "),function(a){function e(w){return(w=w.userData.Ho)&&!(!w.Xca&&!w.Uca)}function k(w){return w.userData.Ho||(w.userData.Ho={})}function m(w){return k(w).gE}function l(w){return k(w).enabled||!1}function b(w){return!m(w).Qca()}var h=a("lx"),d=a("oR");a("id");var c=a("gp"),f=a("oZ"),g=a("cw"),p=a("et"),q=a("V"),n=a("v"),r=h.extend(c,function(){c.call(this);this.cG=[];this.ky=[];this.KE=[];this.A=void 0;this.ts=null;this.dz=this.dz.bind(this)}); 2580r.prototype.update=function(w){this.A=w.clone();this.$Sa()?this.dz():this.Bta()};r.prototype.Bta=function(){this.ts||(this.ts=setTimeout(this.dz,1E3))};var t=Math.PI/180,u=function(){if(n.lb()){if(n.Gca()&&1<=n.s2a())return 2;if(n.ic()==n.Io||n.ic()==n.dt||n.DI())return 1.5}else return 1.5;return 1}();r.prototype.$Sa=function(){var w=0<this.A.Wl?1E3:this.A.UO/Math.tan(Math.min(.5*this.A.Uh,89.99)*t);w*=u;var x=q.Yba(this.A.pg),y=q.Kk(this.A.pg).filter(e),z=y.filter(l);var C=p.Dva(z,p.kE,void 0);C= 2581p.Dwa(C,p.kE);C.none=p.IY(z,p.kE,void 0);z=[];for(var A in C)for(var B=C[A],I=0,E=B.length;I<E;I++){var G=B[I];(k(G).Xca||r.lR)==r.br&&z.push(G)}for(var F=0,N=x.length;F<N;F++){var R=x[F];for(A in C){B=C[A];var S=null,Q=Number.NEGATIVE_INFINITY,W=null,H=Number.POSITIVE_INFINITY;I=0;for(E=B.length;I<E;I++)if(G=B[I],G.layers.mask&R.layers.mask&&(k(G).Xca||r.lR)==r.lR){var L=90*k(G).mZa;L<w&&L>Q?(S=G,Q=L):L>=w&&L<H&&(W=G,H=L)}this.A.ub&&W&&S?Q>.75*w?z.push(S):z.push(W):(W&&0>z.indexOf(W)&&z.push(W), 2582S&&0>z.indexOf(S)&&z.push(S))}}w=[];for(x=0;x<z.length;x++)A=z[x],0>w.indexOf(A)&&w.push(A);z=w;a:{w=this.KE;x=z;for(A=0;A<w.length;A++)if(0>
2582x.indexOf(w[A])){w=!1;break a}for(A=0;A<x.length;A++)if(0>w.indexOf(x[A])){w=!1;break a}w=!0}w=!w;this.KE=z;I=0;for(E=y.length;I<E;I++)G=y[I],l(G)&&f.setActive(G,0<=this.KE.indexOf(G));return w};r.prototype.dz=function(){this.ts=null;for(var w=[],x=[],y=[],z=(new Date).getTime()-v,C=q.Yba(this.A.pg),A=q.Kk(this.A.pg),B=0,I=A.length;B<I;B++){var E=A[B],G=E.userData.Ho; 2583if(G){var F=p.sz(E);if(G.enabled){var N=[];if(0<=this.KE.indexOf(E)){if(0<this.A.Wl||(k(E).Uca||r.f1)==r.So)N=F;else for(var R=0,S=C.length;R<S;R++){var Q=p.NWa(E,C[R]);if(0==R)N=Q;else for(var W=0,H=Q.length;W<H;W++){var L=Q[W];0>N.indexOf(L)&&N.push(L)}}W=0;for(H=N.length;W<H;W++)L=N[W],(L.userData.Ho||(L.userData.Ho={})).Cxa=z}this.G2(E,N);W=0;for(H=G.Nq.length;W<H;W++)w.push(G.Nq[W]);W=0;for(H=G.fw.length;W<H;W++)x.push(G.fw[W])}else for(G.fw||this.G2(E,[]),W=0,H=G.fw.length;W<H;W++)L=G.fw[W], 25840>G.Nq.indexOf(L)&&x.push(L);W=0;for(H=F.length;W<H;W++)y.push(F[W])}}B=[];W=0;for(H=this.ky.length;W<H;W++)L=this.ky[W],0>y.indexOf(L)?L.userData.Ho.gE.unload():b(L)?this.Q9(L,!1):B.push(L);this.ky=B;W=Math.max(r.Yxa(),Math.round(1.25*x.length))-w.length;if(this.ky.length>W)for(this.ky.sort(function(T,O){return k(T).Cxa-k(O).Cxa}),B=this.ky.splice(0,this.ky.length-W),W=0,H=B.length;W<H;W++)L=B[W],L.userData.Ho.gE.unload(),this.Q9(L,!1);x=[];B=0;for(I=this.KE.length;B<I;B++)E=this.KE[B],G=E.userData.Ho, 25850<G.Nq.length&&x.push(E);y=Number.POSITIVE_INFINITY;B=0;for(I=x.length;B<I;B++)E=x[B],G=E.userData.Ho,W=G.priority,W=void 0!==W?W:Number.POSITIVE_INFINITY,W<y&&(y=W);w=[];B=0;for(I=x.length;B<I;B++)if(E=x[B],G=E.userData.Ho,W=G.priority,W=void 0!==W?W:Number.POSITIVE_INFINITY,W==y)for(Q=G.Nq,W=0,H=Q.length;W<H;W++)L=Q[W],w.push(L);W=0;for(H=this.cG.length;W<H;W++)L=this.cG[W],0>w.indexOf(L)&&(L=L.userData.Ho.gE,L.unbind(d.Z,this.D$,this,!0),L.unbind(d.uc,this.E$,this,!0),L.gVa());B=this.cG;this.cG= 2586w;I=this.cG.slice();W=0;for(H=I.length;W<H;W++)L=I[W],0>B.indexOf(L)&&(L=L.userData.Ho.gE,L.bind(d.Z,this.D$,this,!0),L.bind(d.uc,this.E$,this,!0),L.load())};r.prototype.D$=function(w){this.Jsa(w.source);this.trigger(d.Z)};r.prototype.E$=function(w){this.Jsa(w.source)};r.prototype.Jsa=function(w){w.unbind(d.Z,this.D$,this,!0);w.unbind(d.uc,this.E$,this,!0);var x=w.material(),y=this.cG,z=y.indexOf(x);0<=z&&y.splice(z,1);this.ky.push(x);this.Q9(x,!0);w=w.yo();0<=k(w).Nq.indexOf(x)&&this.G2(w,k(w).fw); 2587this.Bta()};r.prototype.G2=function(w,x){var y=k(w).fw;y=y?y.length:void 0;var z=k(w).Nq;z=z?z.length:void 0;k(w).fw=x;k(w).Nq=x.filter(b);f.xQ(w,0==k(w).Nq.length&&(k(w).Uca||r.f1)==r.So);x=(x=k(w).fw)?x.length:void 0;var C=k(w).Nq;C=C?C.length:void 0;z===C&&y===x||w.dispatchEvent({type:d.ec,Sg:x?100-100*C/x:100});z!==C&&0===C&&w.dispatchEvent({type:d.Z})};r.prototype.Q9=function(w,x){if(x!=w.visible){var y=g.iwa(w),z=p.getAttribute(y,p.Sz),C=p.getAttribute(y,p.Z_);if(void 0===z||void 0===C)w.visible= 2588x;else{var A=q.Kk(this.A.pg).filter(e);z=p.IY(A,p.Sz,z);C=p.IY(z,p.Z_,C);var B=p.sz(y).indexOf(w);w=C.map(function(I){return p.sz(I)[B]});for(y=0;y<w.length&&x;y++)x=x&&m(w[y]).Qca();for(y=0;y<w.length;y++)w[y].visible=x}}};r.Yxa=function(){var w=n.tZ()||n.uZ()?384:n.lb()?128:384;r.Yxa=function(){return w};return w};r.Wb=function(w,x){p.Ej(w,function(y){k(y).enabled=x})};r.enabled=l;r.v_=function(w,x){p.Ej(w,function(y){k(y).mZa=x})};r.So="all";r.f1="in view";r.kw=function(w,x){p.Ej(w,function(y){k(y).Uca= 2589x})};r.br="always";r.lR="on demand";r.lw=function(w,x){p.Ej(w,function(y){k(y).Xca=x})};r.CQ=function(w,x){p.Ej(w,function(y){k(y).priority=x})};r.ZD=function(w,x){p.Ej(w,function(y){k(y).S3a=x;p.sz(y).forEach(function(z){m(z).$_a(x)})})};r.Q3a=function(w){return 100-100*k(w).Nq.length/k(w).fw.length};r.P3a=function(w){return 0==k(w).Nq.length};r.XI=function(w,x){(k(w).gE=x)&&(w.visible=x.Qca())};r.gE=m;var v=(new Date).getTime();return r}); 2590define("h","require lx ji et V kA oZ".split(" "),function(a){var e=a("lx"),k=a("ji"),m=a("et"),l=a("V"),b=a("kA"),h=a("oZ");a=e.extend(k,function(){k.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null)});a.prototype.An=function(){return[]};a.prototype.Qb=function(){m.dispose(this.get("meshGroup"));m.Lz(this.get("meshGroup"),null);this.set("meshGroup",null);k.prototype.Qb.call(this)};a.prototype.fa=function(d){k.prototype.fa.call(this, 2591d);this.set("camera",l.getCamera(d.pg));this.set("webglScene",d.pg);this.get("meshGroup")||(this.set("meshGroup",m.fva(this.An())),this.get("meshGroup").userData.hZa=this);this.N("webglScene","meshGroup")&&m.Lz(this.get("meshGroup"),this.get("webglScene"));this.Fl();this.pq(d);this.bD();this.N("loadingActive","meshGroup")&&b.Wb(this.get("meshGroup"),this.get("loadingActive"));this.N("blendingActive","meshGroup")&&h.kAa(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.Fl=function(){this.N("composedAlpha", 2592"meshGroup")&&this.ax()};a.prototype.ax=function(){m.Se(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.pq=function(){throw"Must be overridden in descendants.";};a.prototype.bD=function(){if(this.N("index","meshGroup")){var d=this.get("meshGroup");
2592d&&d.children.forEach(function(c,f,g){m.A_(c,this.get("index")+f/g.length)}.bind(this))}};return a}); 2593define("fD",["require","lx","hc","h","et"],function(a){var e=a("lx"),k=a("hc"),m=a("h"),l=a("et"),b=new THREE.Matrix4,h=Math.PI/180;a=e.extend(m,function(){m.call(this);this.set("tag","Frame");this.kh=new THREE.Matrix4;this.Cd=new THREE.Matrix4;this.zl=new THREE.Matrix4;this.gi=new THREE.Matrix4});a.prototype.fa=function(d){m.prototype.fa.call(this,d)};a.prototype.pq=function(d){var c=!1;this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.kh.makeTranslation(.5*-this.get("composedTranslationX")* 2594k.qg,.5*this.get("composedTranslationY")*k.qg,.5*this.get("composedTranslationZ")*k.qg),c=!0);this.N("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Cd.makeRotationY(-d.$a*h),this.Cd.multiply(b.makeRotationX(-this.get("composedDeltaPitch")*h)),this.Cd.multiply(b.makeRotationY(this.get("composedDeltaYaw")*h)),this.Cd.multiply(b.makeRotationY(d.$a*h)),c=!0);this.N("flipHorizontally")&&(d=this.get("flipHorizontally")?-1:1,this.zl.makeScale(d,1,1),c=!0);if(c||this.N("meshGroup"))this.gi.copy(this.kh), 2595this.gi.multiply(this.Cd),this.gi.multiply(this.zl),l.zq(this.get("meshGroup"),this.gi)};return a}); 2596define("z",["require"],function(){function a(){this.NF=e++;this.IL="_map_"+this.NF+"_key";this.cU={};this.yp=[];this.length=0}var e=0;a.prototype.set=a.prototype.add=function(k,m){0>this.yp.indexOf(k)&&this.yp.push(k);if("object"===typeof k&&null!==k){var l=k[this.IL];if(!l){l=this.IL;for(var b=[],h=0;8>h;h++)b.push(Math.floor(16*Math.random()).toString(16));l=k[l]=b.join("")}}else l=k;this.cU[l]=m;this.length=this.yp.length};a.prototype.get=function(k){return this.cU["object"===typeof k&&null!== 2597k?k[this.IL]:k]};a.prototype.tXa=function(k){return 0<=this.yp.indexOf(k)};a.prototype.remove=function(k){var m=this.yp.indexOf(k);0>m||(this.yp.splice(m,1),"object"===typeof k&&null!==k?(m=k[this.IL],delete k[this.IL]):m=k,delete this.cU[m],this.length=this.yp.length)};a.prototype.forEach=function(k){this.yp.slice().forEach(function(m){k(m,this.get(m))}.bind(this))};a.prototype.dispose=function(){for(;this.yp.length;)this.remove(this.yp.pop());this.yp=this.cU=null};return a}); 2598define("ol",["require","lx","gp","z"],function(a){function e(){this.rD=[]}var k=a("lx"),m=a("gp"),l=a("z");a=k.extend(m,function(b){m.call(this);this.ff=b;this.Yc=[];this.zu=new l;this.KO=[];this.D4=[];this.nG=this.nG.bind(this)});a.prototype.sf=function(b){this.Yc.forEach(function(h){if(h.removeEventListener)h.removeEventListener(this.ff,this.nG);else if(h.unbind)h.unbind(this.ff,this.nG,this,!0);else throw"invalid instance type";}.bind(this));this.Yc=b.slice();this.Yc.forEach(function(h){if(h.addEventListener)h.addEventListener(this.ff, 2599this.nG);else if(h.bind)h.bind(this.ff,this.nG,this,!0);else throw"invalid instance type";this.zu.tXa(h)||this.zu.set(h,new e)}.bind(this));this.eaa()};a.prototype.dispose=function(){this.sf([]);this.Yc=null;this.zu.dispose();this.D4=this.KO=this.zu=null};a.prototype.Yl=function(b){this.KO.push(b);this.eaa();return this};a.prototype.Ao=function(b){this.D4.push(b);return this};a.prototype.Fs=function(b){this.Yc.forEach(function(h){b(h,this.zu.get(h).rD)}.bind(this))};a.prototype.Nl=function(b){b=this.zu.get(b).rD; 2600return 0==b.length?null:b[b.length-1]};a.prototype.nG=function(b){var h=b.target||b.source;if(h=this.zu&&this.zu.get(h))h.rD.push(b),this.D4.forEach(function(d){d(b,this)}.bind(this)),this.eaa()};a.prototype.eaa=function(){if(0!=this.Yc.length){for(var b=0;b<this.Yc.length;b++)if(0==this.zu.get(this.Yc[b]).rD.length)return;this.KO.length&&(b=this.KO.slice(),this.KO=[],b.forEach(function(h){h(this)}.bind(this)))}};return a}); 2601define("dd","require lx oR id gp cw nI".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("id"),l=a("gp"),b=a("cw"),h=a("nI"),d=e.extend(l,function(){l.call(this);this.$e=void 0;this.Sa=h.createTexture();this.A=d.EJ;this.FL=m.Sk});d.prototype.type=function(){return this.$e};d.prototype.texture=function(){return this.Sa};d.prototype.material=function(){return this.Sa&&h.rca(this.Sa)};d.prototype.yo=function(){var c=this.Sa&&h.rca(this.Sa);return c&&b.iwa(c)};d.prototype.$_a=function(c){this.FL=c}; 2602d.prototype.load=function(){this.A==d.EJ&&(this.A=d.rR,this.Q2())};d.prototype.gVa=function(){this.OP()&&(this.A==d.rR?this.lX():this.XN(),this.A=d.EJ)};d.prototype.unload=function(){this.A!=d.EJ&&(this.A==d.rR?this.lX():this.A==d.C1?this.XN():this.bz(),this.A=d.EJ)};d.prototype.zZa=function(){if(this.Sa){var c=this.material(),f=h.createTexture();f.flipY=this.Sa.flipY;f.format=this.Sa.format;f.encoding=this.Sa.encoding;h.dispose(this.Sa);c&&h.RAa(f,c);c&&b.TUa(c,f);this.Sa=f}};d.prototype.Q2=function(){}; 2603d.prototype.lX=function(){};d.prototype.O2=function(){};d.prototype.XN=function(){};d.prototype.bz=function(){h.oVa(this.texture)};d.prototype.OP=function(){return this.A==d.rR||this.A==d.C1};d.prototype.Qca=function(){return this.A==d.B1||this.A==d.Pga};d.prototype.dispose=function(){h.dispose(this.Sa);this.Sa=null};d.prototype.qG=function(c){this.A=c?d.C1:d.Pga;c?this.O2():this.trigger(k.uc)};d.prototype.zna=function(){this.A=d.B1;this.trigger(k.Z)};d.EJ="initial";d.rR="loading";d.C1="adding";d.Pga= 2604"error loading";d.B1="added";d.WDa="custom";d.XDa="image tile";d.Y2a="image animation";d.Z2a="video 360";return d}); 2605define("fh","require lx oR ct lu nI hD dd".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("ct"),l=a("lu"),b=a("nI");a("hD");var h=a("dd");a=e.extend(h,function(d){h.call(this);this.$e=h.WDa;this.Fd=d;this.Fd||(this.A=h.B1);this.ig=this.ud=null;this.SC=this.TC=this.v2=this.DO=void 0});a.prototype.Ul=function(d){this.ig=d;b.Nz(this.Sa,this.ig);d=this.Sa&&this.Sa.image&&this.Sa.image.width||void 0;var c=this.Sa&&this.Sa.image&&this.Sa.image.height||void 0;void 0===this.TC||void 0===this.SC||this.TC=== 2606d&&this.SC===c||(this.zZa(),b.Nz(this.Sa,this.ig));this.TC=d;this.SC=c;this.ig&&void 0!==this.DO&&b.R_(this.ig,this.DO,this.v2)};a.prototype.R_=function(d,c){this.DO!==d&&(this.DO=d,this.v2=c,this.ig&&b.R_(this.ig,this.DO,this.v2))};a.prototype.rf=function(){return l.rf(this.Fd)};a.prototype.update=function(){b.Nz(this.Sa,this.ig)};a.prototype.Q2=function(){this.Fd?this.uK():this.qG(!0)};a.prototype.lX=function(){this.qp()};a.prototype.O2=function(){this.zna()};a.prototype.bz=function(){this.qp()}; 2607a.prototype.dispose=function(){this.qp();h.prototype.dispose.call(this)};a.prototype.od=function(){this.qG(!0)};a.prototype.Mf=function(){this.qG(!1)};a.prototype.uK=function(){this.ud||(this.ud=new m,this.ud.YI([this.Fd]),this.ud.bind(k.Z,this.od,this,!0),this.ud.bind(k.uc,this.Mf,this,
2607!0),l.dn(this.ud,this.FL))};a.prototype.qp=function(){this.ud&&(this.ud.unbind(k.Z,this.od,this,!0),this.ud.unbind(k.uc,this.Mf,this,!0),l.cj(this.ud,this.FL),this.ud=null)};return a}); 2608define("dK","require lx oR gp nI bh".split(" "),function(a){function e(){f||(f=!0,d.requestFrame(k,null))}function k(){for(f=!1;c.length;){var p=c.shift();p.add();if(p.uYa())break}c.length&&e()}var m=a("lx"),l=a("oR"),b=a("gp"),h=a("nI"),d=a("bh"),c=[],f=!1,g=m.extend(b,function(p,q){b.call(this);this.texture=p;this.source=q});g.prototype.uYa=function(){return!this.source.Sha&&h.YUa(this.source)};g.prototype.decode=function(){this.source.Sha||(h.decode(this.source),this.source.Sha=!0)};g.prototype.add= 2609function(){h.Nz(this.texture,this.source);this.trigger(l.Z)};g.prototype.remove=function(){var p=c.indexOf(this);0<=p&&c.splice(p,1);h.Nz(this.texture,null)};return{add:function(p,q){p=new g(p,q);c.push(p);e();return p}}}); 2610define("mT","require lx oR ct lu dK dd".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("ct"),l=a("lu"),b=a("dK"),h=a("dd");a=e.extend(h,function(d){h.call(this);this.$e=h.XDa;this.Fd=d;this.ig=this.OG=this.ud=null});a.prototype.rf=function(){return this.ig};a.prototype.Q2=function(){this.uK()};a.prototype.lX=function(){this.qp()};a.prototype.O2=function(){this.XHa()};a.prototype.XN=function(){this.qp();this.n4()};a.prototype.bz=function(){this.qp();this.n4()};a.prototype.dispose=function(){this.qp(); 2611this.n4();h.prototype.dispose.call(this)};a.prototype.od=function(){this.ig=l.rf(this.Fd);this.qG(!0)};a.prototype.Mf=function(){this.qG(!1)};a.prototype.Ana=function(){this.zna()};a.prototype.uK=function(){this.ud||(this.ud=new m,this.ud.YI([this.Fd]),this.ud.bind(k.Z,this.od,this,!0),this.ud.bind(k.uc,this.Mf,this,!0),l.dn(this.ud,this.FL))};a.prototype.qp=function(){this.ud&&(this.ud.unbind(k.Z,this.od,this,!0),this.ud.unbind(k.uc,this.Mf,this,!0),l.cj(this.ud,this.FL),this.ud=null)};a.prototype.XHa= 2612function(){this.OG=b.add(this.Sa,this.ig);this.OG.bind(k.Z,this.Ana,this,!0)};a.prototype.n4=function(){this.OG&&(this.OG.unbind(k.Z,this.Ana,this,!0),this.OG.remove(),this.OG=null)};return a}); 2613define("pa",["require","lx","lu","nI","mT"],function(a){var e=a("lx"),k=a("lu"),m=a("nI"),l=a("mT");a=e.extend(l,function(b,h,d,c,f){l.call(this,b.get("url"));this.Ia=h;this.La=d;this.ja=c;this.wa=f;this.vMa=0!=this.Ia||0!=this.La||this.ja!=b.get("width")||this.wa!=b.get("height")});a.prototype.od=function(){this.vMa?(this.eIa(),this.qp(),this.qG(!!this.ig)):l.prototype.od.call(this)};a.prototype.XN=function(){l.prototype.XN.call(this);this.o4()};a.prototype.bz=function(){l.prototype.bz.call(this); 2614this.o4()};l.prototype.dispose=function(){l.prototype.dispose.call(this);this.o4()};a.prototype.eIa=function(){var b=k.rf(this.Fd);this.ig=m.HVa(b,this.Ia,this.La,this.ja,this.wa)};a.prototype.o4=function(){this.ig&&(m.DY(this.ig),this.ig=null)};return a}); 2615define("fA","require nH dH mM hD fh mT pa hc cw et cb nr kA v".split(" "),function(a){var e=a("nH"),k=a("dH"),m=a("mM"),l=a("hD"),b=a("fh"),h=a("mT"),d=a("pa"),c=a("hc"),f=a("cw"),g=a("et"),p=a("cb"),q=a("nr"),n=a("kA"),r=a("v"),t={CVa:function(u,v){var w=p.get(u);switch(w){case p.Uw:case p.rt:case p.Tk:return this.HHa(w,u,v);case p.To:case p.Zo:case p.kr:return this.JHa(w,u,v)}},JVa:function(u,v){var w=new h(v.get("posterURL"));return this.Lja(u,v,w)},IVa:function(u,v){var w=new b;return this.Lja(u, 2616v,w)},Lja:function(u,v,w){var x=u.get("hfov"),y=u.get("vfov"),z=u.get("pitch"),C=v.get("width");v=v.get("url");u=p.get(u);var A=u==p.kr?2:1,B=u==p.Zo?2:1;u=2<A+B?[k.Ya,k.rb]:[k.ct];var I=Math.round(C/A),E=f.nz(w.texture(),new f.bm(v));n.XI(E,w);E.visible=!0;return u.map(function(G,F){F=c.iva(x,y,z,1,1,F%A/A,(B-1-Math.floor(F/A))/B,1/A,1/B);F=g.create(F,[E]);F.layers.set(G);n.v_(F,I/x);return F}.bind(this))},FVa:function(u){var v=[m.rb,m.Ya,m.vc,m.oc,m.FRONT,m.BACK].map(function(){var x=new b;x.Ul(t.aLa(u)); 2617var y=f.nz(x.texture());n.XI(y,x);y.visible=!0;return y}),w=c.hva(1,1);v=g.create(w,v);n.v_(v,256/90);v.layers.set(k.ct);return v},e$:{},aLa:function(u){if(!t.e$[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.e$[u]=v}return t.e$[u]},HHa:function(u,v,w){var x=u==p.Uw?[k.rb,k.Ya]:[k.ct],y=v.get("flipImageHorizontally");y&&(x=x.reverse());
2617var z=u==p.Tk?1:6*x.length,C=w.get("width")/z,A=w.get("height");if(e.Oa("TiledImageResourceLevel", 2618w)){var B=w.get("colCount",z)/z;var I=w.get("rowCount",1)}else this.Pqa(u,w)?(B=Math.ceil(C/l.Dt()),I=Math.ceil(A/l.Dt())):I=B=1;var E=[m.rb,m.Ya,m.vc,m.oc,m.FRONT,m.BACK];return x.map(function(G,F){var N=Array(6);E.forEach(function(Q,W){var H=q.dca(v,w,Q);if(e.Oa("TiledImageResourceLevel",w))N[c.Tga.indexOf(Q)]=this.CHa(H,u,G,Q,y,B,I);else{W=u==p.Tk?0:Math.round((F*E.length+W)*C);var L=1<B||1<I||u!=p.Tk?256<C?1:.5:0;N[c.Tga.indexOf(Q)]=this.Fja(H,B,I,W,0,C,A,L)}}.bind(this));var R=Array.prototype.concat.apply([], 2619N),S=c.hva(B,I);R=g.create(S,R);R.layers.set(G);n.v_(R,C/90);return R}.bind(this))},JHa:function(u,v,w){var x=u==p.To?[k.ct]:[k.Ya,k.rb];v.get("flipImageHorizontally")&&(x=x.reverse());var y=w.get("width"),z=w.get("height"),C=v.get("hfov"),A=v.get("vfov"),B=v.get("pitch"),I=Math.round(y/C/(z/A)),E=Math.round(y/I),G=Math.round(z/Math.round(z/A/(y/C))),F=(u=this.Pqa(u,w))?Math.ceil(E/l.Dt()):1,N=u?Math.ceil(G/l.Dt()):1;return x.map(function(R,S){S=this.Fja(w,F,N,S%I*E,Math.floor(S/I)*G,E,G);var Q=c.iva(C, 2620A,B,F,N,0,0,1,1);S=g.create(Q,S);S.layers.set(R);n.v_(S,E/C);return S}.bind(this))},Pqa:function(u,v){switch(u){case p.Uw:case p.rt:case p.Zo:case p.kr:return!0;case p.Tk:return!1;case p.To:return r.Bwa().maxTextureSize<Math.max(v.get("width"),v.get("height"))?!0:l.cn()||r.lb()?!1:r.ic()==r.et?!0:!1}},Fja:function(u,v,w,x,y,z,C,A){A||(A=0);for(var B=[],I=0;I<w;I++)for(var E=y+A+(C-2*A)*I/w,G=y+A+(C-2*A)*(I+1)/w,F=0;F<v;F++){var N=x+A+(z-2*A)*F/v,R=x+A+(z-2*A)*(F+1)/v;N=u?new d(u,N,E,R-N,G-E):new b; 2621R=f.Fba(N.texture());n.XI(R,N);B.push(R)}return B},CHa:function(u,v,w,x,y,z,C){for(var A=[],B=0;B<C;B++)for(var I=0;I<z;I++){var E=u?new h(q.wwa(u,v,w,x,y,C,B,I)):new b;var G=f.Fba(E.texture());n.XI(G,E);G.visible=!1;A.push(G)}return A}};return t}); 2622define("do","require lx oR fD ol fA kA".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("fD"),l=a("ol"),b=a("fA"),h=a("kA");a=e.extend(m,function(d){m.call(this);this.qc=d;this.set("tag","SolidFrame");this.Jg=null});a.prototype.Nb=function(){this.Jg=(new l(k.Z)).Yl(this.od.bind(this));m.prototype.Nb.call(this)};a.prototype.Qb=function(){this.Jg.dispose();m.prototype.Qb.call(this)};a.prototype.An=function(){var d=[b.FVa(this.qc)];h.lw(d,h.br);h.kw(d,h.So);this.Jg.sf(d);return d};a.prototype.od= 2623function(){this.trigger(k.Wc);this.trigger(k.Z)};return a}); 2624define("lO","require lx eR do ou bG kt".split(" "),function(a){var e=a("lx"),k=a("eR"),m=a("do"),l=a("ou"),b=a("bG"),h=a("kt");a=e.extend(k,function(d,c,f,g){k.call(this,d,c,f,g);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(d){if(!this.Eb){this.F.Qk||(this.F.Qk=new m("#000000"),this.F.Qk.set("alpha",1),this.j.add(this.F.Qk));if(!this.V){this.F.Qk.mh();var c=2*this.F.RH;this.V=new l("linear",[new b("alpha",2,0,void 0)],c);this.F.Qk.mh()}this.V.Cb(d);this.F.Qk.set("alpha", 2625Math.min(.99,this.V.fb("alpha")));this.j.af(this.F.Dc).set("alpha",1);this.V&&this.V.Oe()&&(this.Eb=!0,this.j.remove(this.F.Qk),this.F.Qk=null);h.Bg.forEach(function(f){h.KAa(f,!this.Eb)}.bind(this))}};return a}); 2626define("bK",["require","lx","eR","ou","bG"],function(a){var e=a("lx"),k=a("eR"),m=a("ou"),l=a("bG");a=e.extend(k,function(b,h,d,c){k.call(this,b,h,d,c);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(b){if(!this.Eb){if(!this.V){var h=this.F.jc?.01*this.F.RH:this.F.ova;this.V=new m("linear",[new l("alpha",1,0,void 0)],h)}this.V.Cb(b);b=this.V.fb("alpha");this.j.af(this.F.og).set("alpha",b);this.V.Oe()&&(this.Eb=!0)}};return a}); 2627define("nN","require lx eR do ou bG kt".split(" "),function(a){var e=a("lx"),k=a("eR"),m=a("do"),l=a("ou"),b=a("bG"),h=a("kt");a=e.extend(k,function(d,c,f,g){k.call(this,d,c,f,g);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(d){if(!this.Eb){this.F.Qk||(this.F.Qk=new m("#000000"),this.F.Qk.set("alpha",0),this.j.add(this.F.Qk));if(!this.V){this.F.Qk.mh();var c=2*this.F.ova;this.V=new l("linear",[new b("alpha",0,2,void 0)],c)}this.V.Cb(d);d=Math.min(1,this.V.fb("alpha")); 2628this.F.Qk.set("alpha",d);h.Bg.forEach(function(f){h.KAa(f,!0)});1==d&&this.j.af(this.F.og).set("alpha",0);
2628this.V.Oe()&&(this.Eb=!0)}};return a}); 2629define("cl",["require","lx","eR","ou","bG"],function(a){function e(h,d,c){for(;h<d;)h+=c-d;for(;h>c;)h-=c-d;return h}var k=a("lx"),m=a("eR"),l=a("ou"),b=a("bG");a=k.extend(m,function(h,d,c,f){m.call(this,h,d,c,f);this.V=null;this.Eb=!1;this.Gm=0});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(h){this.Eb||(this.V||(this.V=this.Gm<this.F.uo.length?this.UHa(this.Gm):this.yHa()),this.V.Cb(h),this.zc.sea(this.V.fb("yaw"),this.V.fb("pitch")),this.zc.Fo(this.V.fb("hfov")),this.zc.bE(this.V.fb("stereographicFactor")), 2630this.V.Oe()&&(this.V=null,this.Gm++,this.Gm>this.F.uo.length&&(this.zc.wQ(!0),this.Eb=!0)))};a.prototype.yHa=function(){var h=e(this.j.Pc(),-180,180),d=this.j.Oc();this.j.Nf();var c=this.j.yg(),f=this.j.A.Wl,g=this.F.Ag.get("hfov");g={$a:this.F.Ag.get("yaw"),pitch:this.F.Ag.get("pitch",d),ng:this.j.Nf(),Be:g?this.zc.oD(g):c,Wl:0};this.zc.ZZa(this.F.Dc,g);g.$a=e(g.$a,h-180,h+180);var p=.5<Math.abs(c-g.Be),q=Math.abs(f-g.Wl),n=.01<q;p=this.F.ub()?1:Math.max(p?this.F.Y_:1,n?this.F.aza*q:1);return new l(n? 2631"linear":"cubic_in_out",[new b("yaw",h,g.$a,void 0),new b("pitch",d,g.pitch,void 0),new b("hfov",c,g.Be,void 0),new b("stereographicFactor",f,g.Wl,void 0)],p)};a.prototype.UHa=function(h){var d=this.F.uo[h],c=e(this.j.Pc(),-180,180),f=this.j.Oc();this.j.Nf();var g=this.j.yg(),p=this.j.A.Wl,q=d.get("targetStereographicFactor",p),n=d.get("targetHfov");if(n)n=this.zc.oD(n);else{for(n=!1;h<this.F.uo.length&&!n;h++)n=void 0!==this.F.uo[h].get("targetHfov");n?n=g:(n=this.zc.oD(this.F.Ag.get("hfov",this.zc.kva())), 2632n=g+(n-g)*(p-q))}h=d.get("targetYaw",c);var r=d.get("targetPitch",f);this.j.Nf();switch(d.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 l(d.get("easing"),[new b("yaw",c,h,d.get("yawSpeed")),new b("pitch",f,r,d.get("pitchSpeed")),new b("hfov",g,n,d.get("hfovSpeed")),new b("stereographicFactor",p,q,d.get("stereographicFactorSpeed"))],d.get("duration"))};return a}); 2633define("fY",["require","lx","eR","ou","bG"],function(a){var e=a("lx"),k=a("eR"),m=a("ou"),l=a("bG");a=e.extend(k,function(b,h,d,c){k.call(this,b,h,d,c);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(b){if(!this.Eb){if(!this.V){var h=this.j.Oc(),d=this.j.yg(),c=this.j.A.Wl,f=this.F.Cf.get("stereographicFactor",0),g=Math.abs(c-f),p=0<f?this.F.Cf.get("pitch",h):h,q=this.F.Cf.get("hfov");q=q?this.zc.oD(q):d;0==f&&(q=Math.min(d,this.zc.q_(this.F.Dc,q)));this.zc.wQ(!1); 2634g=this.F.ub()?1:Math.max(.5<Math.abs(d-q)?this.F.Y_:1,.01<g?this.F.aza:1);this.V=new m("cubic_in_out",[new l("hfov",d,q,void 0),new l("pitch",h,p,void 0),new l("stereographicFactor",c,f,void 0)],g)}this.V.Cb(b);this.zc.Fo(this.V.fb("hfov"));this.zc.bE(this.V.fb("stereographicFactor"));this.zc.sea(this.j.Pc(),this.V.fb("pitch"));this.V.Oe()&&(this.zc.yi(this.F.Dc,this.F.Cf.get("yaw"),this.F.Cf.get("pitch",this.j.Oc())),this.Eb=!0)}};return a}); 2635define("eB",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){var m=this.j.af(this.F.og);this.j.remove(m)};return a});define("jd",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){var m=(this.F.jc||this.F.nc).get("model");m.set("objects",m.get("objects").filter(function(l){return l!=this.F.bw}.bind(this)));this.F.bw=null};return a}); 2636define("s",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){this.zc.yi(this.F.Dc,this.F.Ag.get("yaw"),this.F.Ag.get("pitch",this.j.Oc()));var m=this.F.Ag.get("hfov");m&&(m=this.zc.oD(m),this.zc.Fo(m))};return a}); 2637define("du",["require","lx","kY","mj"],function(a){var e=a("lx");a("kY");var k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){if(this.F.eE.get("keepInitialPositionOnTranslation")){var m=this.F.Ag.get("yaw");var l=this.F.Ag.get("pitch")}else l=this.F.nc.get("model").get("camera"),m=l.get("yaw")-this.F.nc.get("yaw"),l=this.F.eE.get("enterPointingToHorizon")?0:l.get("pitch");this.zc.yi(this.F.Dc,m,l);if(m=this.F.Ag.get("hfov"))m=this.zc.oD(m),this.zc.Fo(m)};return a}); 2638define("pn",["require","lx","kY","mj"],function(a){var e=a("lx");a("kY");var k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){if(this.F.eE.get("keepInitialPositionOnTranslation")){var m=this.F.Ag.get("yaw");var l=this.F.Ag.get("pitch")}else l=this.F.nc.get("model").get("camera"),m=l.get("yaw")-this.F.nc.get("yaw"),l=l.get("pitch");this.zc.yi(this.F.Dc,m,l)};return a}); 2639define("kZ",["require","lx","oR","eR"],function(a){var e=a("lx"),k=a("oR"),m=a("eR");a=e.extend(m,function(l,b,h,d){m.call(this,l,b,h,d);this.ea=null;this.Eb=!1});a.prototype.yNa=function(){this.Eb=!0};a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(){if(!this.ea&&(this.ea=this.F.jc.get("model"),this.F.Kj.get("model")==this.ea)){var l=this.ea.get("camera");l.set("easing",0);l.set("x",this.F.jc.get("x"));l.set("y",this.F.jc.get("y"));l.set("z",this.F.jc.get("z"));l.set("yaw",this.j.Pc()+ 2640this.F.jc.get("yaw"));l.set("pitch",this.j.Oc());l.set("fov",this.j.Xa()>this.j.Ab()?this.j.eI():this.j.fI());this.ea.bind(k.rn,this.yNa,this,!0)}};return a});define("ia",["require","lx","mj","pq"],function(a){var e=a("lx"),k=a("mj"),m=a("pq");a=e.extend(k,function(l,b,h,d){k.call(this,l,b,h,d)});a.prototype.Si=function(){this.F.Dc&&(this.F.mode==m.L1||this.F.mode==m.M1?this.F.Dc.set("minFaceSize",1024):this.F.Dc.set("minFaceSize",void 0))};return a}); 2641define("hr",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){var m=this.F.Nea?this.F.Cf.get("stereographicFactor",0):0;this.zc.bE(m);this.zc.yi(this.F.Dc,this.F.Cf.get("yaw"),this.F.Cf.get("pitch",this.j.Oc()));(m=this.F.Cf.get("hfov"))||this.F.og||(m=this.zc.kva());m&&(m=this.zc.oD(m),this.zc.Fo(m),this.zc.wQ(!this.F.Nea))};return a}); 2642define("gs",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){var m=this.zc.q_(this.F.Dc,this.j.yg());this.zc.Fo(m);this.zc.yi(this.F.Dc,this.j.Pc()+this.F.fJ.Xva(),this.j.Oc())};a.prototype.FD=function(){return!0};return a}); 2643define("oE",["require","lx","eR","ou","bG"],function(a){var e=a("lx"),k=a("eR"),m=a("ou"),l=a("bG");a=e.extend(k,function(b,h,d,c){k.call(this,b,h,d,c);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(b){if(!this.Eb){if(!this.V){var h=this.j.yg(),d=this.zc.q_(this.F.Dc,h),c=!this.F.ub()&&.01<Math.abs(h-d)?this.F.Y_:1;this.V=new m("cubic_in_out",[new l("hfov",h,d,void 0)],c)}this.V.Cb(b);this.zc.Fo(this.V.fb("hfov"));
2643this.V.Oe()&&(this.zc.wQ(!0),this.Eb=!0)}}; 2644return a}); 2645define("fN",["require","lx","eR","ou","bG"],function(a){var e=a("lx"),k=a("eR"),m=a("ou"),l=a("bG");a=e.extend(k,function(b,h,d,c){k.call(this,b,h,d,c);this.V=null;this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(b){if(!this.Eb){if(!this.V){var h=this.j.yg(),d=Math.min(this.zc.q_(this.F.Dc,h),h),c=!this.F.ub()&&.01<Math.abs(h-d)?this.F.Y_:1;this.V=new m("cubic_in_out",[new l("hfov",h,d,void 0)],c);this.zc.wQ(!1)}this.V.Cb(b);this.zc.Fo(this.V.fb("hfov"));this.V.Oe()&&(this.zc.yi(this.F.Dc, 2646this.j.Pc()+this.F.fJ.Xva(),this.j.Oc()),this.Eb=!0)}};a.prototype.FD=function(){return!0};return a});define("dU",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){this.F.jc&&this.F.Kj.get("model")==this.F.jc.get("model")&&this.j.yc.RI([this.F.Kj])};return a}); 2647define("mo",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Si=function(){var m=[this.j.yc];this.F.nc&&m.push(this.F.Kj);this.j.yc.RI(m)};return a}); 2648define("bx",["require","lx","eR","v"],function(a){var e=a("lx"),k=a("eR"),m=a("v");a=e.extend(k,function(l,b,h,d){k.call(this,l,b,h,d);this.A="not initialized";this.ab=0});a.prototype.Rg=function(){return"ended"==this.A};a.prototype.nh=function(l){this.Rg()||("not initialized"==this.A&&this.w6(),"initialized"==this.A&&(this.hq.get("ready")||this.hq.Aca())&&this.UN(),"started"==this.A&&this.fa(l),1<=this.ab&&this.JK())};a.prototype.w6=function(){this.$pa=this.F.IBa;this.$J=.25;this.TFa=.75;this.aPa= 2649.25;this.Tsa=this.gLa();this.c2=.5*this.$pa;this.WSa=this.$pa-2*this.c2;this.XB=1/(this.c2+this.WSa);this.FR=this.XB/this.c2;this.sv=0;this.hq=this.j.af(this.F.Dc);this.g$=this.j.af(this.F.og);this.vF=this.F.fJ.zWa();this.A="initialized"};a.prototype.gLa=function(){var l=this.F.fJ.get("distance");return l?Math.min(.99,l/this.F.og.get("distanceToFloor")):.75};a.prototype.UN=function(){this.j.FAa(!this.F.ub()&&m.browser()!=m.am);this.hq.mh();this.A="started"};a.prototype.fa=function(l){this.hq.get("ready")|| 2650this.ab<this.aPa?this.ab>=1-.5*this.sv*this.sv/this.FR?this.sv=Math.sqrt(2*(1-this.ab)*this.FR):this.sv<this.XB&&(this.sv=Math.min(this.sv+this.FR*l,this.XB)):this.sv=Math.max(this.sv-this.FR*l,0);this.ab=Math.min(Math.max(0,this.ab+this.sv*l),1);this.hq.get("ready")||(this.$J=Math.max(this.$J,this.ab));this.LX(this.ab,Math.max(0,Math.min(1,(this.ab-this.$J)/(this.TFa-this.$J))))};a.prototype.JK=function(){this.hq.set("alpha",1);this.j.FAa(!1);this.A="ended"};a.prototype.LX=function(l,b){var h=(l- 26511)*this.Tsa;this.hq.set("translationX",h*this.vF.x);this.hq.set("translationY",h*this.vF.y);this.hq.set("translationZ",h*this.vF.z);this.hq.get("ready");l*=this.Tsa;this.g$.set("translationX",l*this.vF.x);this.g$.set("translationY",l*this.vF.y);this.g$.set("translationZ",l*this.vF.z);this.hq.set("alpha",Math.max(.01,Math.min(.99,b)))};a.prototype.FD=function(){return this.ab<this.$J};return a}); 2652define("fp",["require","nH","fo"],function(a){var e=a("nH"),k=a("fo");return e.define("TargetModel3DCameraMovement",k,function(){k.call(this)})}); 2653define("gK","require lx oR gW fp eR".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("gW"),l=a("fp"),b=a("eR");a=e.extend(b,function(d,c,f,g){b.call(this,d,c,f,g);this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(){var d=this.F.jc.get("model");if(this.F.Kj.get("model")!=d)this.yy();else if(!this.Pa){d=d.get("camera");var c=d.nX;c||(c={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", 2654d.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.jc.get("x"));d.set("y",this.F.jc.get("y"));d.set("z",this.F.jc.get("z"));d.set("distance",0);d.set("yaw",this.j.Pc()+this.F.jc.get("yaw"));d.set("pitch",this.j.Oc());d.set("fov",this.j.Xa()>this.j.Ab()?this.j.eI():this.j.fI());this.Dd=new l;this.Dd.set("targetX",c.x);this.Dd.set("targetY",c.y);this.Dd.set("targetZ",c.z);this.Dd.set("targetYaw",c.yaw);this.Dd.set("targetPitch", 2655c.pitch);this.Dd.set("targetFov",c.fov);this.Dd.set("targetDistance",c.distance);this.Dd.set("duration",this.F.iZa);this.Dd.set("easing","quad_in_out");this.Dd.bind(k.rn,this.X7,this,!0);this.Pa=new m;this.Pa.set("movements",[this.Dd]);this.Pa.set("mandatory",!0);this.Pa.set("internal",!0);this.Pa.bind(k.vb,this.yy,this,!0);d.set("sequences",d.get("sequences").concat([this.Pa]));this.Pa.play();this.KN();this.y$=(new THREE.Vector3).set(c.x,c.y,c.z);this.ON=(new THREE.Vector3).set(this.F.jc.get("x"), 2656this.F.jc.get("y"),this.F.jc.get("z"))}};var h=new THREE.Vector3;a.prototype.X7=function(){var d=this.F.jc.get("model").get("camera");d=h.set(d.get("x"),d.get("y"),d.get("z")).distanceTo(this.ON)/this.ON.distanceTo(this.y$);var c=Math.max(.01,Math.min(.99,(d-0)/.33));this.j.DQ(0<d&&1>d);this.F.bw.set("position",c)};a.prototype.yy=function(){var d=this.F.jc.get("model").get("camera");d.set("sequences",d.get("sequences").filter(function(c){return c!=this.Pa}.bind(this)));this.Eb=!0;this.qN()};a.prototype.KN= 2657function(){var d=this.F.jc.get("model");this.gN=d.get("postprocessing");this.hN=d.get("surfaceSelectionEnabled");d.set("postprocessing",!1);d.set("surfaceSelectionEnabled",!1)};a.prototype.qN=function(){var d=this.F.jc.get("model"),c=this.gN,f=this.hN;setTimeout(function(){d.set("postprocessing",c);d.set("surfaceSelectionEnabled",f)}
2657,30)};return a}); 2658define("ip","require lx oR nH gW fp dS eR".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("nH"),l=a("gW"),b=a("fp"),h=a("dS"),d=a("eR");a=e.extend(d,function(p,q,n,r){d.call(this,p,q,n,r);this.Eb=!1;this.UFa=0;this.VFa=1;this.RM=[];this.RL=[];this.RM.push(this.Vra.bind(this))});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(){if(this.F.Kj.get("model")!=this.F.nc.get("model"))this.Joa();else{var p=this.RM;for(this.RM=[];0<p.length;)p.shift()()}};a.prototype.zNa=function(){var p= 2659this.RL;for(this.RL=[];0<p.length;)p.shift()()};a.prototype.PRa=function(){this.kRa();this.KN();this.RL.push(this.ALa.bind(this));this.RL.push(this.Jta.bind(this))};a.prototype.kRa=function(){var p=this.F.nc.get("model").get("camera");p.set("easing",0);p.set("x",this.F.jc.get("x"));p.set("y",this.F.jc.get("y"));p.set("z",this.F.jc.get("z"));p.set("distance",0);p.set("yaw",this.j.Pc()+this.F.jc.get("yaw"));p.set("pitch",this.j.Oc());p.set("fov",this.j.Xa()>this.j.Ab()?this.j.eI():this.j.fI());this.Dd= 2660new b;this.Dd.set("targetX",this.F.nc.get("x"));this.Dd.set("targetY",this.F.nc.get("y"));this.Dd.set("targetZ",this.F.nc.get("z"));if(this.F.eE.get("keepInitialPositionOnTranslation")){var q=this.F.Ag.get("yaw")+this.F.nc.get("yaw"),n=this.F.Ag.get("pitch"),r=this.F.Ag.get("hfov");this.Dd.set("targetYaw",q);void 0!==n&&this.Dd.set("targetPitch",n);void 0!==r&&this.Dd.set("targetFov",r)}this.Dd.set("duration",1500);this.Dd.set("easing","cubic_in_out");this.Dd.bind(k.rn,this.zNa,this,!0);this.Pa=new l; 2661this.Pa.set("movements",[this.Dd]);this.Pa.set("mandatory",!0);this.Pa.set("internal",!0);this.Pa.bind(k.vb,this.Joa,this,!0);p.set("sequences",p.get("sequences").concat([this.Pa]));this.Pa.play()};a.prototype.Vra=function(){if(this.j.af(this.F.Dc).get("ready")){var p=this.F.jc,q=this.F.nc,n=p.get("model"),r=n.get("objects").find(function(u){return m.Oa("ProjectedMaterialModel3DObject",u)}),t=!r;r||(r=new h);this.F.bw=r;r.set("sourceX",p.get("x"));r.set("sourceY",p.get("y"));r.set("sourceZ",p.get("z")); 2662r.set("sourceYaw",p.get("yaw"));r.set("targetX",q.get("x"));r.set("targetY",q.get("y"));r.set("targetZ",q.get("z"));r.set("targetYaw",q.get("yaw"));p=this.j.af(this.F.og);q=this.j.af(this.F.Dc);p.set("alpha",1);q.set("alpha",.01);r.set("sourceFaces",this.j.VO(this.F.ZAa,r.get("sourceFaces")));p.set("alpha",.01);q.set("alpha",1);r.set("targetFaces",this.j.VO(this.F.pBa,r.get("targetFaces")));p.set("alpha",1);q.set("alpha",.01);r.set("position",0);t&&n.set("objects",n.get("objects").concat([this.F.bw])); 2663this.PRa()}else this.RM.push(this.Vra.bind(this))};a.prototype.ALa=function(){this.j.af(this.F.og).set("alpha",0);this.Vja()};a.prototype.Vja=function(){(this.dqa=void 0===this.dqa?10:this.dqa-1)?this.RM.push(this.Vja.bind(this)):this.j.DQ(!0)};a.prototype.RIa=function(){this.j.DQ(!1)};var c=new THREE.Vector3,f=new THREE.Vector3,g=new THREE.Vector3;a.prototype.hLa=function(){var p=this.F.jc;c.set(p.get("x"),p.get("y"),p.get("z"));var q=this.F.nc;f.set(q.get("x"),q.get("y"),q.get("z"));p=p.get("model").get("camera"); 2664g.set(p.get("x"),p.get("y"),p.get("z"));return g.distanceTo(c)/f.distanceTo(c)};a.prototype.Jta=function(){var p=this.hLa();p=Math.max(0,Math.min(1,(p-this.UFa)/this.VFa));this.F.bw.set("position",p);1>p&&this.RL.push(this.Jta.bind(this))};a.prototype.Joa=function(){var p=this.F.jc.get("model").get("camera");p.set("sequences",p.get("sequences").filter(function(q){return q!=this.Pa}.bind(this)));this.RIa();this.qN();this.Eb=!0};a.prototype.KN=function(){var p=this.F.jc.get("model"),q=this.F.Kj;this.gN= 2665p.get("postprocessing");this.hN=p.get("surfaceSelectionEnabled");this.POa=q.get("spritesEnabled");p.set("postprocessing",!1);p.set("surfaceSelectionEnabled",!1);q.set("spritesEnabled",!1)};a.prototype.qN=function(){var p=this.F.jc.get("model"),q=this.F.Kj,n=this.gN,r=this.hN,t=this.POa;setTimeout(function(){p.set("postprocessing",n);p.set("surfaceSelectionEnabled",r);q.set("spritesEnabled",t)},500)};return a}); 2666define("lt","require lx oR gW fp eR kY".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("gW"),l=a("fp"),b=a("eR"),h=a("kY");a=e.extend(b,function(c,f,g,p){b.call(this,c,f,g,p);this.Eb=!1});a.prototype.Rg=function(){return this.Eb};a.prototype.nh=function(){if(!this.Pa){var c=this.F.nc.get("model").get("camera");c.w1a();var f=Math.abs(c.get("pitch")-this.j.Oc()),g=30<f;this.Dd=new l;this.Dd.set("targetX",this.F.nc.get("x"));this.Dd.set("targetY",this.F.nc.get("y"));this.Dd.set("targetZ",this.F.nc.get("z")); 2667this.Dd.set("targetDistance",0);this.Dd.set("targetFov",this.xLa(this.j.yg()));this.Dd.set("targetYaw",this.j.Pc()+this.F.nc.get("yaw"));g?this.Dd.set("targetPitch",c.get("pitch")):this.Dd.set("targetPitch",this.j.Oc());this.Dd.set("duration",this.F.qYa);this.Dd.set("easing","cubic_in_out");this.Dd.bind(k.rn,this.X7,this,!0);var p=[this.Dd];
2667g&&(g=new l,g.set("targetPitch",this.j.Oc()),g.set("duration",f/90*1E3),g.set("easing","quad_in_out"),p.push(g));this.Pa=new m;this.Pa.set("movements",p);this.Pa.set("mandatory", 2668!0);this.Pa.set("internal",!0);this.Pa.bind(k.vb,this.yy,this,!0);c.set("sequences",c.get("sequences").concat([this.Pa]));this.Pa.play();this.KN();this.ON=(new THREE.Vector3).set(c.get("x"),c.get("y"),c.get("z"));this.y$=(new THREE.Vector3).set(this.F.nc.get("x"),this.F.nc.get("y"),this.F.nc.get("z"))}};a.prototype.xLa=function(c){return this.j.Xa()<this.j.Ab()?h.Ll(c,this.j.Xa(),this.j.Ab()):c};var d=new THREE.Vector3;a.prototype.X7=function(){var c=this.F.nc.get("model").get("camera");c=d.set(c.get("x"), 2669c.get("y"),c.get("z")).distanceTo(this.ON)/this.ON.distanceTo(this.y$);var f=Math.max(.01,Math.min(.99,(c-.66)/(1-.66)));this.j.DQ(0<c&&1>c);this.F.bw.set("position",f)};a.prototype.yy=function(){var c=this.F.nc.get("model").get("camera");c.set("sequences",c.get("sequences").filter(function(f){return f!=this.Pa}.bind(this)));this.Eb=!0;this.qN()};a.prototype.KN=function(){var c=this.F.nc.get("model");this.gN=c.get("postprocessing");this.hN=c.get("surfaceSelectionEnabled");c.set("postprocessing",!1); 2670c.set("surfaceSelectionEnabled",!1)};a.prototype.qN=function(){var c=this.F.nc.get("model"),f=this.gN,g=this.hN;setTimeout(function(){c.set("postprocessing",f);c.set("surfaceSelectionEnabled",g)},30)};return a});define("je",["require","lx","mj"],function(a){var e=a("lx"),k=a("mj");a=e.extend(k,function(m,l,b,h,d){k.call(this,m,l,b,h);this.rGa=d});a.prototype.Si=function(){this.rGa.call(this.L)};return a}); 2671define("gm",["require","lx","eR"],function(a){var e=a("lx"),k=a("eR");a=e.extend(k,function(m,l,b,h){k.call(this,m,l,b,h)});a.prototype.Rg=function(){var m=this.j.Gb(),l=m&&m.CH;m=m&&m.eG;return!!l&&!l.get("visible")&&!!m&&!m.get("visible")};return a}); 2672define("N",["require","lx","eR"],function(a){var e=a("lx"),k=a("eR"),m=e.extend(k,function(l,b,h,d){k.call(this,l,b,h,d);this.jv=null});m.prototype.Rg=function(){this.jv||(this.jv=this.F.Dc&&this.j.af(this.F.Dc));return this.jv&&this.jv.get("ready")};m.prototype.FD=function(){return!0};m.wga=e.extend(m,function(l,b,h,d){m.call(this,l,b,h,d)});m.wga.prototype.FD=function(){return!1};m.zga=e.extend(m,function(l,b,h,d){m.call(this,l,b,h,d)});m.zga.prototype.Rg=function(){this.jv||(this.jv=this.F.Dc&& 2673this.j.af(this.F.Dc));return this.jv&&(this.jv.get("ready")||this.jv.zda())};return m}); 2674define("nT",["require","lx","bn","cB","gp"],function(a){var e=a("lx"),k=a("bn"),m=a("cB"),l=a("gp"),b=e.extend(l,function(h){l.call(this);this.j=h;this.W=!1;this.Fu=this.Fu.bind(this);this.yc=this.j.yc});b.prototype.clear=function(){this.yc=this.j=null};b.prototype.Wb=function(h){this.W!=h&&(this.W&&document.removeEventListener("keyup",this.Fu),(this.W=h)&&document.addEventListener("keyup",this.Fu))};b.prototype.Fu=function(h){"translate"==this.yc.get("arrowKeysAction")&&(h.which!=k.Bi||h.shiftKey? 2675h.which!=k.Vj||h.shiftKey||this.trigger(new m(b.M0)):this.trigger(new m(b.L0)))};b.M0="moveForward";b.L0="moveBackward";return b}); 2676define("pb","require cB gp gT pq ma cV lP kU lK oh hQ fl lO bK nN cl fY eB jd s du pn kZ ia hr gs oE fN dU mo bx gK ip lt je gm N nT lx".split(" "),function(a){var e=a("cB"),k=a("gp"),m=a("gT"),l=a("pq"),b=a("ma"),h=a("cV"),d=a("lP"),c=a("kU"),f=a("lK"),g=a("oh"),p=a("hQ"),q=a("fl"),n=a("lO"),r=a("bK"),t=a("nN"),u=a("cl"),v=a("fY"),w=a("eB"),x=a("jd"),y=a("s"),z=a("du"),C=a("pn"),A=a("kZ"),B=a("ia"),I=a("hr"),E=a("gs"),G=a("oE"),F=a("fN"),N=a("dU"),R=a("mo"),S=a("bx"),Q=a("gK"),W=a("ip"),H=a("lt"), 2677L=a("je"),T=a("gm"),O=a("N");a("nT");var V=a("lx").extend(k,function(Y,ca,D){k.call(this);this.M=Y;this.j=ca;this.Gc=D;this.zc=this.oy=null;this.Yja=this.yr=this.VM=this.Zu=void 0;this.F=null;this.Mg=[]});V.prototype.lea=function(Y){this.oy=Y};V.prototype.clear=function(){this.r9(this.yr);this.F&&this.r9(this.F.Dc);this.VM=this.Zu=void 0;this.ha=this.Gc=this.j=this.M=this.F=null};V.prototype.start=function(Y,ca){!this.F&&Y==this.yr||this.F&&Y==this.F.Dc?this.VM=this.Zu=void 0:(this.Zu=Y,this.VM=ca, 26780==this.Mg.length&&this.iX())};V.prototype.hide=function(){this.Zu=null;!this.F&&this.yr&&this.iX()};V.prototype.uWa=function(){return this.F&&this.F.Dc};V.prototype.iX=function(){this.F=new l(this.j,this.oy,this.yr,this.Zu,this.VM);this.zc=new m(this.j,this.Gc,this.F);this.VM=this.Zu=void 0;this.sa(B);this.sa(f);switch(this.F.mode){case l.Lfa:this.xb(this.ps);this.sa(r);this.xb(this.Bv);this.sa(w);this.xb(this.lq);break;case l.Kfa:this.sa(R);this.xb(this.Cv);this.sa(O);this.sa(p);this.sa(I);this.xb(this.qs); 2679this.sa(q);this.sa(T);this.sa(u);this.xb(this.az);break;case l.jR:this.F.ub()?(this.sa(R),this.ID?(this.sa(t),this.xb(this.Cv),this.xb(this.ps)):(this.xb(this.Cv),this.xb(this.ps),this.sa(t)),this.xb(this.Bv),this.sa(w),this.xb(this.lq),this.sa(O),this.sa(y),this.xb(this.qs),this.xb(this.az),this.sa(n)):(this.sa(R),this.xb(this.Cv),this.xb(this.ps),this.sa(r),this.xb(this.Bv),this.sa(w),this.xb(this.lq),this.sa(O),this.sa(p),this.sa(I),this.xb(this.qs),this.sa(q),this.sa(T),this.sa(u),this.xb(this.az)); 2680break;case l.Wga:this.sa(R);this.xb(this.Cv);this.xb(this.ps);this.xb(this.Bv);this.F.ub()?(this.sa(O),this.sa(E),this.xb(this.qs),this.sa(S),this.sa(w),this.xb(this.lq)):(this.sa(F),this.xb(this.qs),this.sa(S),this.sa(w),this.xb(this.lq),this.sa(G),this.sa(p),this.sa(T));this.xb(this.az);break;case l.pn:this.sa(R);this.xb(this.Cv);this.sa(O);this.F.ub()?(this.xb(this.ps),this.xb(this.Bv),this.sa(y),this.xb(this.qs),this.sa(b),this.sa(w),this.xb(this.lq)):(this.xb(this.ps),this.xb(this.Bv),this.sa(v), 2681this.xb(this.qs),this.sa(b),this.sa(w),this.xb(this.lq),this.sa(p),this.sa(T),this.sa(u));this.xb(this.az);break;case l.L1:this.sa(R);this.xb(this.Cv);this.sa(g);this.sa(O);this.sa(h.eha);this.sa(z);this.sa(H);this.xb(this.qs);this.sa(q);this.sa(x);this.sa(d);this.sa(p);this.sa(T);this.xb(this.az);break;case l.Yga:this.sa(g);this.sa(h.Rga);this.sa(c);this.sa(A);this.xb(this.ps);this.sa(r);this.xb(this.Bv);this.sa(w);this.xb(this.lq);this.sa(Q);this.sa(x);this.sa(N);break;case l.M1:this.xb(this.Cv); 2682this.sa(g);this.sa(c);this.xb(this.ps);this.xb(this.Bv);this.sa(O.zga);this.sa(W);this.sa(w);this.xb(this.lq);this.sa(O.wga);this.sa(C);this.xb(this.qs);this.sa(q);this.sa(x);this.sa(d);this.sa(p);this.sa(T);this.xb(this.az);break;case l.Xga:this.xb(this.Cv),this.sa(g),this.sa(h.Rga),this.sa(c),this.sa(A),this.sa(O),this.xb(this.ps),this.sa(r),this.xb(this.Bv),this.sa(w),this.xb(this.lq),this.sa(Q),this.sa(x),this.sa(h.eha),this.sa(z),this.sa(H),this.xb(this.qs),this.sa(q),this.sa(x),this.sa(d),this.xb(this.az)}this.xb(this.QSa); 2683this.Na()};V.prototype.P$=function(){this.yr=this.F.Dc;this.Yja=this.F.eE;this.F=this.zc=null;void 0===this.Zu?this.yr?this.ASa(this.yr,this.Yja):this.BSa():this.iX()};window.uVa=!0;window.vVa=!0;document.addEventListener("keydown",function(Y){67==Y.which&&(window.uVa=window.vVa=!0)});V.prototype.dw=function(Y){for(;this.Mg.length;){var ca=this.Mg[0];if(void 0!==this.Zu&&this.Zu!==this.yr&&ca.FD()){this.r9(this.F.Dc);this.Mg=[];this.iX();break}else if(ca.nh(Y),this.Na(),this.zc.dw(Y),ca.Rg())this.Mg.shift(), 26840==this.Mg.length&&this.P$();else break}};document.addEventListener("keydown",function(){(new Date).getTime()});document.addEventListener("keyup",function(){(new Date).getTime()});V.prototype.vd=function(){};V.prototype.sa=function(Y){this.Mg.push(new Y(this,this.zc,this.j,this.F))};V.prototype.xb=function(Y){this.Mg.push(new L(this,this.zc,this.j,this.F,Y))};V.prototype.r9=function(Y){Y&&(Y=this.j.af(Y))&&(this.j.remove(Y),this.lq())};V.prototype.Cv=function(){this.trigger(new e(V.W0,{panorama:this.F.Dc}))}; 2685V.prototype.lq=function(){this.trigger(new e(V.N0,{panorama:this.F?this.F.og:this.yr,nextPanorama:this.F?this.F.Dc:null}))};V.prototype.ps=function(){this.trigger(new e(V.fA,{panorama:this.F.og}))};V.prototype.Bv=function(){this.trigger(new e(V.eA,{panorama:this.F.og,nextPanorama:this.F.Dc}))};V.prototype.az=function(){this.trigger(new e(V.gA,{panorama:this.F.Dc,camera:this.F.eE}))};V.prototype.QSa=function(){this.trigger(new e(V.Po))};V.prototype.qs=function(){this.trigger(new e(V.hA,{panorama:this.F.Dc, 2686camera:this.F.eE}))};V.prototype.ASa=function(Y,ca){this.trigger(new e(V.t0,{panorama:Y,camera:ca}))};V.prototype.BSa=function(){this.trigger(new e(V.u0))};V.prototype.Na=function(){this.trigger(new e(V.Hb))};V.Hb="request frame";V.W0="request load";V.N0="panorama removed";V.t0="all pending panoramas displayed";V.u0="all pending panoramas hidden";V.eA="panorama end";V.hA="panorama start";V.gA="panorama show";V.fA="panorama hide";V.Po="transition end";return V}); 2687define("lo",["require","lx","cB","gp"],function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=e.extend(m,function(b){m.call(this);this.j=b});l.prototype.clear=function(){this.end();this.j=null};l.prototype.vI=function(b){for(var h=this.rT(b),d=b.ZY(),c=0;c<h;c++)this.j.af(this.t5(b,c)).set("alpha",c==d?1:0)};l.prototype.getTime=function(){return 0};l.prototype.start=function(){};l.prototype.end=function(){};l.prototype.play=function(){};l.prototype.pause=function(){};l.prototype.II=function(){};l.prototype.SI= 2688function(){};l.prototype.D_=function(){};l.prototype.stop=function(){};l.prototype.aE=function(){};l.prototype.Fz=function(){};l.prototype.Oz=function(){};l.prototype.vd=function(){};l.prototype.Ij=function(){};l.prototype.rT=function(b){return b.get("frames").length};l.prototype.t5=function(b,h){return b.get("frames")[h]};l.prototype.Na=function(){this.trigger(new k(l.Hb))};l.prototype.mq=function(b,h,d,c,f,g){this.trigger(new k(l.dj,{time:b,duration:h,transitionPosition:d,transitionLength:c,steps:f, 2689selectedStep:g}))};l.prototype.zj=function(){this.trigger(new k(l.Ec,{state:this.Ij()}))};l.Hb="request frame";l.DCa="frame display";l.ECa="frame hide";l.dj="time change";l.Ec="playback state change";return l}); 2690define("br","require jquery.mod ek lx oR id cB lo fg fr ms kt kF".split(" "),function(a){a("jquery.mod");var e=a("ek"),k=a("lx"),m=a("oR"),l=a("id");a("cB");var b=a("lo"),h=a("fg"),d=a("fr");a("ms");var c=a("kt"),f=a("kF"),g=k.extend(b,function(p){b.call(this,p);this.hT=null;this.c5=this.vB=0;this.ma=this.WB=null;this.SK=void 0;this.N8=!1;this.Ma=360;this.dua=180;this.ib=.5;this.On=.2;this.Iu=.45;this.Qma=5E3;this.Uma=1;this.xU=[[.5,.25],[.5,.375],[.25,.5],[.375,.5],[.5,.5],[.625,.5],[.75,.5],[.5, 2691.625],[.5,.75]];this.NMa=[.05,.1,.05,.1,.4,.1,.05,.1,.05]});g.prototype.vI=function(p){b.prototype.vI.call(this,p);this.DN(p)};g.prototype.start=function(p){this.DN(p);this.Na()};g.prototype.end=function(){this.DN(null)};g.prototype.DN=function(p){this.ma!=p&&(this.ma&&(this.TSa(),this.ma=null,this.YSa()),this.ma=p)&&(this.QFa(),this.Ma=p.get("hfov",360),this.dua=p.get("vfov",180),this.ib=p.get("pitch",0),this.U8=this.uC=void 0,this.GMa(p),this.ab=.5)};g.prototype.Oz=function(){this.N8=!1};g.prototype.aE= 2692function(p){this.ab=p/g.OJ;this.Na();this.N8=!0};g.prototype.Fz=function(p){this.aE(p)};g.prototype.mq=function(){var p=this.rT(this.ma),q=this.ab*(p-1),n=Math.max(0,Math.min(p-2,Math.floor(q))),r=void 0;.01>q-n?r=n:.99<q-n&&(r=n+1);b.prototype.mq.call(this,this.ab*g.OJ,g.OJ,this.ab*g.OJ,g.OJ,p,r)};g.prototype.vd=function(p){if(this.ma){var q=this.j.Pc(),n=this.j.Oc(),r=this.j.Nf(),t=0;if(void 0!==this.uC&&void 0!==this.U8&&void 0!==this.lqa){var u=q-this.uC,v=n-this.U8,w=r-this.lqa;t=1E3*Math.sqrt(u* 2693u+v*v+w*w)/p}this.uC=q;this.U8=n;this.lqa=r;u=this.rT(this.ma);var x=this.ab*(u-1);v=Math.max(0,Math.min(u-2,Math.floor(x)));w=v+1;x=1-(x-v);for(var y=1-x,z=[],C=0;C<u;C++)z.push(0);z[w]=y;z[v]=1>y?1:0;for(C=0;C<u;C++)this.j.af(this.t5(this.ma,C)).set("alpha",z[C]);this.mq();if(this.hT&&(t<=this.Uma||c.isPresenting)&&!this.N8){C=Math.PI/180;t=180/Math.PI;z=this.j.Xa();var A=this.j.Ab(),B=new d;B.rotateZ(-r*C);B.rotateX(-n*C);B.rotateY(-q*C);q=[];for(C=0;C<this.xU.length;C++)n=new h(this.xU[C][0]*
2694z,this.xU[C][1]*A,0),r=this.j.unproject(n).ywa(),r.apply(B),n=r.Pc()*t,r=r.Oc()*t,q.push(Math.round((90-r)*this.c5/180)*this.vB+Math.round((n+180)*this.vB/360));n=[];for(C=0;C<u;C++){r=this.hT[C];for(z=t=0;z<this.xU.length;z++)t+=this.NMa[z]*r[q[z]];n.push(t)}C=n[v];q=n[w];v=x*n[v]+y*n[w];p=Math.min(1/u,p/this.Qma);u=this.ab;w=Math.max.apply(Math,n);x=Math.min.apply(Math,n);v<this.On&&v<w?u=q>v?u+p:u-p:v>this.Iu&&v>x&&(u=C<v?u-p:u+p);u=Math.min(1,Math.max(0,u));this.ab!=u&&(this.ab=u,this.Na())}}}; 2695g.prototype.GMa=function(p){var q=e(p.get("frames",[])).map(function(n){return n.get("thumbnailUrl")});this.WB=e(q).map(function(n){var r=null;n&&(r=new f(l.Sk),r.bind(m.Z,this.zoa,this),r.bind(m.uc,this.Aoa,this));return r},this);e(this.WB).each(function(n,r){n&&n.load(q[r])})};g.prototype.YSa=function(){this.Tja();this.hT=null};g.prototype.vNa=function(){this.vB=150;this.WB.map(function(p){p&&(this.vB=Math.min(360*p.yd()/this.Ma,this.vB))},this);this.c5=Math.round(this.vB/2);this.hT=this.WB.map(function(p){return this.QHa(p, 2696this.vB,this.c5,this.Ma,this.dua,this.ib)},this);this.Tja()};g.prototype.QHa=function(p,q,n,r,t,u){var v=document.createElement("canvas");v.width=q;v.height=n;var w=v.getContext("2d");w.fillStyle="#000000";w.fillRect(0,0,q,n);p&&(p=p.rf(),r=Math.round(q*r/360),w.drawImage(p,.5*(q-r),Math.round(n*(90-(u+.5*t))/180),r,Math.round(n*t/180)));q=[];v=w.getImageData(0,0,v.width,v.height);for(n=w=0;w<v.height;w++)for(t=0;t<v.width;t++,n+=4)q.push((.299*v.data[n]+.587*v.data[n+1]+.114*v.data[n+2])/255);return q}; 2697g.prototype.Tja=function(){e(this.WB).each(function(p){p&&(p.unbind(m.Z,this.zoa,this),p.unbind(m.uc,this.Aoa,this),p.cancel())},this);this.WB=null};g.prototype.zoa=function(){0==e(this.WB).filter(function(p){return p&&!p.Vh()}).length&&this.vNa()};g.prototype.Aoa=function(){};g.prototype.QFa=function(){this.ma.bind(m.G("minimumLuminance"),this.Su,this);this.ma.bind(m.G("maximumLuminance"),this.Su,this);this.ma.bind(m.G("luminanceChangeTime"),this.Su,this);this.ma.bind(m.G("maxLuminanceChangeSpeed"), 2698this.Su,this);this.Su()};g.prototype.TSa=function(){this.ma.unbind(m.G("minimumLuminance"),this.Su,this);this.ma.unbind(m.G("maximumLuminance"),this.Su,this);this.ma.unbind(m.G("luminanceChangeTime"),this.Su,this);this.ma.unbind(m.G("maxLuminanceChangeSpeed"),this.Su,this)};g.prototype.Su=function(){this.On=this.ma.get("minimumLuminance");this.Iu=this.ma.get("maximumLuminance");void 0==this.On&&void 0==this.Iu?(this.On=.2,this.Iu=.45):void 0==this.On?this.On=Math.min(.2,this.Iu):void 0==this.On?this.Iu= 2699Math.max(.45,this.On):this.On=Math.min(this.On,this.Iu);this.Iu=Math.min(1,Math.max(0,this.Iu));this.On=Math.min(1,Math.max(0,this.On));this.Qma=Math.max(100,this.ma.get("luminanceChangeTime",5E3));this.Uma=this.ma.get("maxLuminanceChangeSpeed",1);this.Na()};g.OJ=1E3;return g}); 2700define("es",["require","lx","y","kX","lo"],function(a){var e=a("lx"),k=a("y"),m=a("kX"),l=a("lo");a=e.extend(l,function(b){l.call(this,b);this.fT=this.gT=null;this.mj=this.Fh=5E3;this.Ed=void 0;this.sb=this.Fh;this.xm=1;this.ma=null;this.OB=!1});a.prototype.start=function(b){this.ma=b;this.OB=!1;this.XT=!0;this.gT=k.$s(this.ma,"frameDisplayTime",this.iaa,this);this.fT=k.$s(this.ma,"frameTransitionTime",this.iaa,this);this.xm=this.rT(this.ma);this.Ed=this.ma.ZY()*(this.Fh+this.mj);this.iaa(!0);this.mq(); 2701this.Na();this.zj()};a.prototype.iaa=function(b){var h=Math.max(100,this.ma.get("frameDisplayTime",5E3)),d=Math.max(100,this.ma.get("frameTransitionTime",5E3));if(this.Fh!=h||this.mj!=d||b){b=this.FF();var c=this.$Ja();this.Fh=h;this.mj=d;1<this.xm?(this.Ed=b*(this.Fh+this.mj)+c*this.Fh+c*this.mj,this.sb=this.xm*(this.Fh+this.mj)):(this.Ed=c*this.Fh,this.sb=this.Fh)}};a.prototype.FF=function(){return 1<this.xm?Math.floor(this.Ed/(this.Fh+this.mj)):0};a.prototype.aKa=function(){return 1<this.xm?(this.FF()+ 27021)%this.xm:0};a.prototype.$Ja=function(){return 1<this.xm?Math.max(0,Math.min(1,this.Ed-this.FF()*(this.Fh+this.mj))):this.Ed/this.Fh};a.prototype.jla=function(){return 1<this.xm?Math.max(0,Math.min(1,(this.Ed-(this.FF()*(this.Fh+this.mj)+this.Fh))/this.mj)
2702):0};a.prototype.RRa=function(b){var h=Math.floor(b/this.mj);return h*(this.Fh+this.mj)+this.Fh+(b-h*this.mj)};a.prototype.Ksa=function(b){var h=Math.floor(b/(this.Fh+this.mj));return h*this.mj+Math.max(0,b-h*(this.Fh+this.mj)-this.Fh)};a.prototype.play= 2703function(){this.OB&&(this.OB=!1,this.XT&&this.Na(),this.zj())};a.prototype.pause=function(){this.OB=!0;this.zj()};a.prototype.II=function(){this.pause()};a.prototype.SI=function(){this.play()};a.prototype.end=function(){this.XT=!1;this.ma=null;this.gT&&(this.gT.Mz(),this.gT=null);this.fT&&(this.fT.Mz(),this.fT=null);this.zj()};a.prototype.aE=function(b){this.Ed=b;this.Na()};a.prototype.Fz=function(b){this.Ed=this.RRa(b);this.Na();this.pause()};a.prototype.vd=function(b){if(this.XT){this.OB||(this.Ed+= 2704b);this.Ed%=this.sb;b=this.FF();var h=this.aKa(),d=this.jla(),c=h>b?d:1;d=h>b?1:1-d;for(var f=0;f<this.xm;f++){var g=f==b?d:f==h?c:0;var p=this.j.af(this.t5(this.ma,f));p.get("alpha")!=g&&(0<g&&1>g&&p.mh(),p.set("alpha",g))}this.mq();this.OB||this.Na()}};a.prototype.Ij=function(){return this.XT?this.OB?m.Ib:m.X:m.T};a.prototype.zj=function(){l.prototype.zj.call(this,this.Ij())};a.prototype.mq=function(){l.prototype.mq.call(this,this.Ed,this.sb,this.Ksa(this.Ed),this.Ksa(this.sb),this.xm+1,0===this.jla()? 2705this.FF():void 0)};return a});define("bN",["require","lx","lo"],function(a){var e=a("lx"),k=a("lo");return e.extend(k,function(m){k.call(this,m)})}); 2706define("mz",["require","lx","oR","kX","lo"],function(a){var e=a("lx"),k=a("oR"),m=a("kX"),l=a("lo");a=e.extend(l,function(b){l.call(this,b);this.hf=!1});a.prototype.vI=function(){};a.prototype.start=function(b){this.end();this.ma=b;this.ma.set("mute",this.hf);this.ma.get("autoplay")&&this.ma.set("state",m.X);this.Kt()};a.prototype.getTime=function(){return this.ma?this.ma.get("currentTime"):0};a.prototype.Ij=function(){return this.ma?this.ma.get("state"):m.T};a.prototype.play=function(){this.ma&& 2707this.ma.set("state",m.X)};a.prototype.pause=function(){this.ma&&this.ma.set("state",m.Ib)};a.prototype.D_=function(){this.ma&&this.ma.set("state",m.Ib)};a.prototype.stop=function(){this.ma&&this.ma.set("state",m.T)};a.prototype.end=function(){this.ma&&(this.hv(),this.ma=null)};a.prototype.aE=function(b){this.ma&&this.ma.set("state",m.X);this.ma&&this.ma.set("currentTime",b)};a.prototype.Ef=function(b){this.hf=b;this.ma&&this.ma.set("mute",this.hf)};a.prototype.Kt=function(){this.ma.bind(k.G("currentTime"), 2708this.Xe,this,!0);this.ma.bind(k.G("duration"),this.Im,this,!0);this.ma.bind(k.G("state"),this.yf,this,!0);this.ma.get("state")!=m.T&&this.zj()};a.prototype.hv=function(){this.ma.unbind(k.G("currentTime"),this.Xe,this,!0);this.ma.unbind(k.G("duration"),this.Im,this,!0);this.ma.unbind(k.G("state"),this.yf,this,!0)};a.prototype.yf=function(){this.zj()};a.prototype.Xe=function(){this.mq()};a.prototype.Im=function(){this.mq()};a.prototype.mq=function(){this.ma&&l.prototype.mq.call(this,this.ma.get("currentTime"), 2709this.ma.get("duration"))};return a}); 2710define("x","require lx kX cB gp nH lo br es bN mz".split(" "),function(a){var e=a("lx");a("kX");var k=a("cB"),m=a("gp"),l=a("nH"),b=a("lo"),h=a("br"),d=a("es"),c=a("bN"),f=a("mz"),g=e.extend(m,function(p){m.call(this);this.j=p;this.d7=this.DS(d);this.W5=this.DS(h);this.XX=this.DS(f);this.l$=this.DS(c);this.Ld=null});g.prototype.clear=function(){this.rS(this.d7);this.d7=null;this.rS(this.W5);this.W5=null;this.rS(this.XX);this.XX=null;this.rS(this.l$);this.j=this.Ld=this.l$=null};g.prototype.DS=function(p){p= 2711new p(this.j);p.bind(b.Hb,this.Je,this,!0);p.bind(b.dj,this.Lp,this,!0);p.bind(b.Ec,this.Ve,this,!0);return p};g.prototype.rS=function(p){p.unbind(b.Hb,this.Je,this);p.unbind(b.dj,this.Lp,this);p.unbind(b.Ec,this.Ve,this);p.clear()};g.prototype.J6=function(p,q){return l.Oa(q,p)};g.prototype.ela=function(p){return this.J6(p,"HDRPanorama")?this.W5:this.J6(p,"LivePanorama")?this.d7:this.J6(p,"VideoPanorama")?this.XX:this.l$};g.prototype.vI=function(p){(this.Ld=this.ela(p))&&this.Ld.vI(p)};g.prototype.start= 2712function(p){this.Je();(this.Ld=this.ela(p))&&this.Ld.start(p)};g.prototype.Ij=function(){if(this.Ld)return this.Ld.Ij()};g.prototype.getTime=function(){return this.Ld?this.Ld.getTime():0};g.prototype.play=function(){this.Ld&&this.Ld.play()};g.prototype.pause=function(){this.Ld&&this.Ld.pause()};g.prototype.II=function(){this.Ld&&this.Ld.II()};g.prototype.SI=function(){this.Ld&&this.Ld.SI()};g.prototype.D_=function(){this.Ld&&this.Ld.D_()};g.prototype.stop=function(){this.Ld&&this.Ld.stop();this.trigger(new k(g.dj, 2713{duration:0,time:0,steps:void 0,selectedStep:void 0}))};g.prototype.end=function(){this.Ld&&(this.Ld.end(),this.Ld=null)};g.prototype.aE=function(p){this.Ld&&this.Ld.aE(p)};g.prototype.Fz=function(p){this.Ld&&this.Ld.Fz(p)};g.prototype.Oz=function(){this.Ld&&this.Ld.Oz()};g.prototype.vd=function(p){this.Ld&&this.Ld.vd(p)};g.prototype.Ef=function(p){this.XX.Ef(p)};g.prototype.Je=function(){this.trigger(new k(g.Hb))};g.prototype.Lp=function(p){this.trigger(new k(g.dj,p.data))};g.prototype.Ve=function(p){this.trigger(new k(g.Ec, 2714p.data))};g.Hb="request frame";g.DCa="frame display";g.ECa="frame hide";g.dj="time change";g.Ec="playback state change";return g}); 2715define("mB",["require","lx","oR","gp","ly"],function(a){var e=a("lx"),k=a("oR"),m=a("gp"),l=a("ly");a=e.extend(m,function(b){m.call(this);this.j=b;this.ih=this.ma=null});a.prototype.start=function(b){this.ma=b;this.ih=this.j.af(this.ma);this.ih.bind(k.Z,this.od,this,!0);this.ih.bind(k.ec,this.Wu,this,!0);this.ih.get("ready")?this.trigger(k.Wc,{panorama:this.ma}):this.ih.bind(k.Wc,this.wG,this,!0);this.ih.set("loadingActive",!0)};a.prototype.stop=function(){this.ma=null;this.ih&&(this.ih.unbind(k.Wc, 2716this.wG,this),this.ih.unbind(k.Z,this.od,this),this.ih.unbind(k.ec,this.Wu,this),this.ih.set("loadingActive",!1),this.ih=null,this.trigger(k.Gf))};a.prototype.clear=function(){this.stop()};a.prototype.wG=function(){this.ih.unbind(k.Wc,this.wG,this);this.trigger(k.Wc,{panorama:this.ma})};a.prototype.od=function(){this.ih.unbind(k.Wc,this.wG,this);this.ih.unbind(k.Z,this.od,this);this.ih.unbind(k.ec,this.Wu,this);this.ih=null;this.trigger(k.Z,{panorama:this.ma});this.ma=null;this.trigger(k.Gf)};a.prototype.Wu= 2717function(b){this.trigger(new l(k.ec,b.Sg))};return a}); 2718define("kc","require lx oR cB gp R".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("R"),h=e.extend(l,function(d){l.call(this);this.j=d;this.Ap=this.ma=this.fi=null;this.ib=this.Ea=0;this.Ma=.5*Math.PI});h.prototype.clear=function(){this.stop();this.Hqa();this.fi=this.j=null};h.prototype.jea=function(d){this.fi!=d&&(this.Hqa(),this.uS(),this.fi=d,this.$ha(),this.PEa())};h.prototype.PEa=function(){this.fi&&this.fi.bind(k.G("map"),this.Boa,this,!1)};h.prototype.Hqa=function(){this.fi&& 2719this.fi.unbind(k.G("map"),this.Boa,this,!1)};h.prototype.stop=function(){this.uS();this.ma=null};h.prototype.vd=function(){this.Ea=this.j.Pc();this.ib=this.j.Oc();this.Ma=this.j.yg();this.fi&&this.Ap&&this.fi.kn(this.Ap,this.Ea,this.ib,this.Ma)};h.prototype.Boa=function(){this.ma&&(this.uS(),(this.Ap=this.mra(this.ma,this.fi.get("map",null),!1))&&this.esa())};h.prototype.display=function(d){this.ma!=d&&(this.uS(),this.ma=d,this.$ha())};h.prototype.hide=function(d){this.ma==d&&this.stop()};h.prototype.uS= 2720function(){this.Ap&&(this.yLa(),this.Ap=null)};h.prototype.$ha=function(){this.fi&&this.ma&&(this.Ap=this.mra(this.ma,this.fi.get("map",null),!0))&&this.esa()};h.prototype.mra=function(d,c,f){d=d.get("mapLocations",[]);for(var g=0;g<d.length;g++){var p=d[g];if(p.get("map")==c)return p}return f&&0<d.length?d[0]:null};h.prototype.esa=function(){this.fi.NUa(this.Ap);this.fi.bind(b.Qj,this.Oqa,this,!0);this.fi.kn(this.Ap,this.Ea,this.ib,this.Ma)};h.prototype.yLa=function(){this.fi&&(this.fi.LZa(this.Ap), 2721this.fi.unbind(b.Qj,this.Oqa,this))};h.prototype.Oqa=function(d){this.trigger(new m(h.Qj,{yawDelta:d.data.yawDelta}))};h.Qj="request yaw change";return h}); 2722define("hp","require oR lA gp bh ms kt".split(" "),function(a){function e(w){this.xS=w;this.$j=null;this.X2={};for(w=0;w<this.xS.buttons.length;
2722w++)this.X2[this.xS.buttons[w]]=!1;this.V2=0;this.Jy=null;this.xC=[new THREE.Quaternion,new THREE.Quaternion];this.wk=this.xC[0];this.Nh=[new THREE.Vector3,new THREE.Vector3];this.ab=this.Nh[0];this.NG=new THREE.Vector3;this.tC=new THREE.Quaternion;this.bja=0}function k(w,x,y){this.HXa=w;this.buttons=x;this.vZa=y}function m(){if(!v&&u!=c.Wd){u=c.Wd;var w= 2723navigator.getGamepads&&navigator.getGamepads();if(w){for(var x=0;x<n.length;x++)n[x].vAa(null);for(x=0;x<w.length;x++){var y=w[x];if(y&&(y.pose||y.gxa)){var z=y.id||y.H3a,C=z+(y.hand?"-"+y.hand:""),A=t[C];if(!A){a:{for(var B=0;B<g.length;B++){var I=g[B];if(0==z.indexOf(p[I].HXa)){z=I;break a}}z=void 0}z&&n.push(A=t[C]=new e(p[z]))}A&&t[C].vAa(y)}}(w=r)&&!r.Lca()&&(r=null);for(x=0;x<n.length;x++)if(A=n[x],A.Lca()&&A.pressed()){r=A;break}if(!r)for(x=0;x<n.length;x++)if(A=n[x],A.Lca()){if("right"==A.hand()){r= 2724A;break}r||(r=A)}w!=r&&h.Ez(l)}}}function l(){q.trigger(b.va)}var b=a("oR"),h=a("lA"),d=a("gp"),c=a("bh"),f=a("ms");a("kt");var g="oculus go;oculus touch;xr-standard;gear vr;daydream;vive;vive focus;microsoft;unknown".split(";"),p={};p["oculus go"]=new k("Oculus Go",["trackpad","trigger"],"trigger");p["oculus touch"]=new k("Oculus Touch","thumbstick trigger grip abutton bbutton surface".split(" "),"trigger");p["xr-standard"]=new k("xr-standard","trigger grip unknow_button_0 thumbstick abutton bbutton unknow_button".split(" "), 2725"trigger");p["gear vr"]=new k("Gear VR",["trackpad","trigger"],"trigger");p.daydream=new k("Daydream Controller",["trackpad","menu","system"],"trackpad");p.vive=new k("OpenVR",["trackpad","trigger","grip","menu","system"],"trigger");p["vive focus"]=new k("HTC Vive Focus",["trackpad","trigger","grip"],"trigger");p.microsoft=new k("Spatial Controller (Spatial Interaction Source)",["thumbstick","trigger","grip","menu","thumbpad"],"trigger");p.unknown=new k("",[],void 0);e.prototype.vAa=function(w){if(this.$j= 2726w){this.rLa=this.$j.hand||this.$j.G3a;this.$j.pose&&this.$j.pose.orientation?(this.Jy=this.$j.pose,this.Jy.orientation&&(this.wk=this.xC[0]==this.wk?this.xC[1]:this.xC[0],this.wk.fromArray(this.Jy.orientation)),this.Jy.position?(this.ab=this.Nh[0]==this.ab?this.Nh[1]:this.Nh[0],this.ab.fromArray(this.Jy.position)):this.ab=null):this.$j.gxa&&(this.Jy=this.$j.gxa.transform,this.wk=this.xC[0]==this.wk?this.xC[1]:this.xC[0],this.wk.copy(this.Jy.orientation),this.ab=this.Nh[0]==this.ab?this.Nh[1]:this.Nh[0], 2727this.ab.copy(this.Jy.position));w=0;for(var x=Math.min(this.$j.buttons.length,this.$j.buttons.length);w<x;
2727w++)this.X2[this.xS.buttons[w]]=this.$j.buttons[w].pressed;for(w=this.V2=0;w<this.$j.buttons.length;w++)this.$j.buttons[w].pressed&&this.V2++;(w=!!this.NG!=!!this.ab||this.ab&&this.NG.x!=this.ab.x&&this.NG.y!=this.ab.y&&this.NG.z!=this.ab.z)&&(this.ab?this.NG.copy(this.ab):this.NG.set(0,0,0,0));(x=!!this.tC!=!!this.wk||this.wk&&(this.tC.x!=this.wk.x||this.tC.y!=this.wk.y||this.tC.z!=this.wk.z|| 2728this.tC.w!=this.wk.w))&&(this.wk?this.tC.copy(this.wk):this.tC.set(0,0,0));if(w||x)this.bja=c.Wd}};e.prototype.Lca=function(){return!!this.$j};e.prototype.XXa=function(){return 500<c.Wd-this.bja};e.prototype.hand=function(){return this.rLa};e.prototype.quaternion=function(){return this.wk};e.prototype.position=function(){return this.ab};e.prototype.pressed=function(w){w||(w=this.xS.vZa);return w?this.X2[w]:0<this.V2};var q=new d;q.all=function(){m();return n};q.Tca=function(){m();return r};q.Ya="left"; 2729q.rb="right";var n=[],r=null,t={},u=void 0,v=f.Qg("disable-controller",!1);return q});define("dn",["require","fg","a"],function(a){function e(l,b){this.Pf=l||new k(0,0,0);this.Zi=b||new k(1,0,0)}var k=a("fg"),m=a("a");e.prototype.clone=function(){return new e(this.Pf.clone(),this.Zi.clone())};e.prototype.apply=function(l){l.QH(this.Pf);l.QH(this.Zi)};e.prototype.ywa=function(){return m.pz(this.Pf,this.Zi)};return e}); 2730define("il",["require","dn","fg"],function(a){function e(l,b,h){this.ja=l||100;this.wa=b||100;this.Ma=h||Math.PI;this.Y8=void 0;this.wr=!0}var k=a("dn"),m=a("fg");e.prototype.XD=function(l){this.Ma!=l&&(this.Ma=l,this.wr=!0)};e.prototype.Rv=function(){return this.Ma};e.prototype.GQ=function(l){this.ja!=l&&(this.ja=l,this.wr=!0)};e.prototype.yd=function(){return this.ja};e.prototype.xAa=function(l){this.wa!=l&&(this.wa=l,this.wr=!0)};e.prototype.je=function(){return this.wa};e.prototype.project=function(l){if(0!= 2731l.z){this.Kta();var b=1/l.z,h=this.Y8*b;l.x=.5*this.ja-l.x*h;l.y=.5*this.wa-l.y*h;l.z=b}};e.prototype.unproject=function(l){this.Kta();return new k(new m(0,0,0),new m(.5*this.ja-l.x,.5*this.wa-l.y,this.Y8))};e.prototype.Kta=function(){this.wr&&(this.Y8=.5*this.ja/Math.tan(.5*this.Ma),this.wr=!1)};return e}); 2732define("oY",["require"],function(){function a(){this.ng=this.pitch=this.$a=0;this.Uh=this.Be=90;this.UO=this.uY=this.height=this.width=100;this.Lj=1;this.ED=this.ub=!1;this.Wl=0;this.RY=this.hY=this.KZ=!1;this.CD=this.hQ=!0;this.camera=this.dP=this.cP=this.pg=null;this.enabled=!1;this.Wd=0;this.MQ=void 0}a.prototype.clone=function(){var e=new a;e.$a=this.$a;e.pitch=this.pitch;e.ng=this.ng;e.Be=this.Be;e.Uh=this.Uh;e.width=this.width;e.height=this.height;e.uY=this.uY;e.UO=this.UO;e.Lj=this.Lj;e.ub= 2733this.ub;e.ED=this.ED;e.Wl=this.Wl;e.KZ=this.KZ;e.RY=this.RY;e.hY=this.hY;e.hQ=this.hQ;e.CD=this.CD;e.pg=this.pg;e.cP=this.cP;e.dP=this.dP;e.camera=this.camera;e.enabled=this.enabled;e.Wd=this.Wd;e.MQ=this.MQ;return e};return a}); 2734define("dF","require jquery.mod ek oR mZ bh hB".split(" "),function(a){function e(p){this.Lea=p;this.element=document.createElement("div");this.Uea=document.createElement("span");this.element.appendChild(this.Uea);this.Uea.innerHTML=p.text.split("<br>").join("\n").split("\n").map(m).join("<br>");this.vY=!1}function k(p){this.M=p;this.uO=b.throttle(this.uO.bind(this),100);this.vO=b.throttle(this.vO.bind(this),100);this.oa=document.createElement("div");this.oa.style.position="absolute";this.oa.style.left= 27350;this.oa.style.top=0;this.oa.style.right=0;this.oa.style.bottom=0;this.oa.style.zIndex=1;this.oa.style.cursor="inherit";this.oa.style.display="none";this.O1=l(this.oa);this.tl=document.createElement("div");this.tl.style.position="absolute";this.tl.style.left=0;this.tl.style.right=0;this.tl.style.zIndex=1;this.tl.style.cursor="inherit";this.oa.appendChild(this.tl);this.Xy=null;this.pH=[];this.Lh=[];this.t8={};this.EH=d.oc;this.M.bind(h.G("subtitlesEnabled"),this.wH,this);k.Bga.forEach(function(q){this.M.bind(h.G(q), 2736this.uO,this)}.bind(this));k.Cga.forEach(function(q){this.M.bind(h.G(q),this.vO,this)}.bind(this));this.wH();this.uO();this.vO()}function m(p){g.innerHTML=p;return g.innerText}
2736var l=a("jquery.mod"),b=a("ek"),h=a("oR"),d=a("mZ"),c=a("bh"),f=a("hB");k.prototype.clear=function(){this.yea(null);this.M&&(this.M.unbind(h.G("subtitlesEnabled"),this.wH,this),k.Bga.forEach(function(p){this.M.unbind(h.G(p),this.uO,this)}.bind(this)),k.Cga.forEach(function(p){this.M.unbind(h.G(p),this.vO,this)}.bind(this)), 2737this.M=null)};k.prototype.Bc=function(){return this.O1};k.prototype.yea=function(p){this.Xy!=p&&(this.Xy&&this.Xy.unbind(h.G("activeSubtitles"),this.E7,this,!0),(this.Xy=p)&&this.Xy.bind(h.G("activeSubtitles"),this.E7,this,!0),this.E7())};k.prototype.E7=function(){this.fRa(this.Xy&&this.Xy.get("activeSubtitles")||[])};k.prototype.wH=function(){this.W=this.M.get("subtitlesEnabled");this.Daa()};k.prototype.uO=function(){this.EH=this.UK("subtitlesVerticalAlign",[d.vc,d.fe,d.oc],d.oc);this.tl.style["text-align"]= 2738this.UK("subtitlesHorizontalAlign",[d.Ya,d.rb,d.De],d.De);this.tl.style.bottom=this.EH==d.oc?this.bk("subtitlesBottom",0):"";this.tl.style.top=this.EH==d.vc?this.bk("subtitlesTop",0):this.EH==d.fe?"50%":"";this.tl.style.transform=this.EH==d.fe?"translate(0, -50%)":"";this.Daa()};k.prototype.vO=function(){var p={};p["background-color"]=this.K5("subtitlesBackgroundColor","subtitlesBackgroundOpacity");p.border=[this.bk("subtitlesBorderSize"),"solid",this.bi("subtitlesBorderColor")].join(" ");p["box-shadow"]= 2739this.bi("subtitlesShadow",!1)?[this.bk("subtitlesShadowHorizontalLength"),this.bk("subtitlesShadowVerticalLength"),this.bk("subtitlesShadowBlurRadius"),this.K5("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";p.display="inline-block";p["font-family"]=f.Ov(this.bi("subtitlesFontFamily"));p["font-size"]=this.bk("subtitlesFontSize");p.color=this.bi("subtitlesFontColor");p["font-weight"]=this.UK("subtitlesFontWeight","bold bolder lighter 100 200 300 400 500 600 700 800 900 normal".split(" "), 2740"normal");p["font-style"]=this.UK("subtitlesFontStyle",["italic","normal"],"normal");p["margin-bottom"]=this.bk("subtitlesGap");p.opacity=this.bi("subtitlesOpacity");p["padding-top"]=this.bk("subtitlesPaddingTop");p["padding-bottom"]=this.bk("subtitlesPaddingBottom");p["padding-left"]=this.bk("subtitlesPaddingLeft");p["padding-right"]=this.bk("subtitlesPaddingRight");p.position="relative";p["text-align"]=this.UK("subtitlesHorizontalAlign",["left","right","center"],"center");p["text-decoration"]=this.bi("subtitlesTextDecoration", 2741["underline","overline","line-through","none"],"none");p["text-shadow"]=[this.bk("subtitlesTextShadowHorizontalLength"),this.bk("subtitlesTextShadowVerticalLength"),this.bk("subtitlesTextShadowBlurRadius"),this.K5("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.t8=p;this.zFa()};k.prototype.fRa=function(p){this.pH=p;this.Daa()};k.prototype.Daa=function(){for(var p=this.W?this.pH:[],q=this.Lh.length-1;0<=q;q--){var n=this.Lh[q];if(0<=p.indexOf(n.Lea))break;this.tl.removeChild(n.element)}for(var r= 2742[],t=!1;0<=q;q--)n=this.Lh[q],!n.vY&&0>p.indexOf(n.Lea)&&(n.vY=!0,n.element.style.visibility="hidden",t=!0),r.splice(0,0,n);t&&c.requestFrame(this.pja,this);this.Lh=r;var u=this.Lh.filter(function(v){return!v.vY}).map(function(v){return v.Lea});p.filter(function(v){return 0>u.indexOf(v)}).forEach(function(v){v=new e(v);this.qia(v);this.EH==d.oc&&0<this.Lh.length?this.tl.insertBefore(v.element,this.Lh[this.Lh.length-1].element):this.tl.appendChild(v.element);this.Lh.push(v)}.bind(this));this.oa.style.display= 27430<this.Lh.length?"block":"none"};k.prototype.pja=function(p){var q=!1;p=Math.round(200*p/1E3);for(var n=0;n<this.Lh.length;n++){var r=this.Lh[n];if(r.vY)if(q=!0,p>=r.element.clientHeight)p-=r.element.clientHeight,this.tl.removeChild(r.element),this.Lh.splice(n,1),n--;else{r.element.style.height=r.element.clientHeight-p+"px";break}}q&&c.requestFrame(this.pja,this)};k.prototype.zFa=function(){this.Lh.forEach(this.qia.bind(this))};k.prototype.qia=function(p){for(var q in this.t8)p.Uea.style[q]=this.t8[q]}; 2744k.prototype.bi=function(p,q){return this.M.get(p,q)};k.prototype.bk=function(p,q){p=this.M.get(p,q);isNaN(p)||(p=Math.round(p)+"px");return p};k.prototype.UK=function(p,q,n){p=this.M.get(p);return 0>q.indexOf(p)?n:p};k.prototype.K5=function(p,q,n,r){p=this.M.get(p,n);q=this.M.get(q,r);return"rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+q+")"};
2744k.Bga=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"]; 2745k.Cga="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(" "); 2746var g=document.createElement("div");return k});define("eO",["require","lx","oR","dF"],function(a){var e=a("lx"),k=a("oR"),m=a("dF");a=e.extend(m,function(l,b){m.call(this,l);this.yc=b;this.yc.bind(k.G("panorama"),this.Y7,this);this.Y7()});a.prototype.clear=function(){this.yc&&(this.yc.unbind(k.G("panorama"),this.Y7,this),this.yc=null);m.prototype.clear.call(this)};a.prototype.Y7=function(){this.yea(this.yc.get("panorama"))};return a}); 2747define("oN",["require"],function(){function a(k,m){this.j=k;this.QG=m;this.gg=new THREE.CustomRenderPass(m);this.gg.renderToScreen=!1;this.xW=new THREE.SavePass;this.xW.enabled=!0;this.ix=new THREE.ShaderPass(THREE.BlendShader,"tDiffuse1");this.ix.uniforms.tDiffuse2.value=this.xW.renderTarget.texture;this.ix.uniforms.mixRatio.value=.8;this.ix.renderToScreen=!0;this.ix.enabled=!0;this.Ipa=new THREE.ShaderPass(THREE.CopyShader);this.Ipa.renderToScreen=!0;this.pm=new THREE.EffectComposer(k);this.pm.addPass(this.gg); 2748this.pm.addPass(this.ix);this.pm.addPass(this.xW);this.pm.addPass(this.Ipa);this.tx=this.ux=void 0}var e=new THREE.Vector2;a.prototype.destroy=function(){this.pm=this.ix=this.xW=this.gg=this.QG=this.j=null};a.prototype.start=function(){this.ix.uniforms.mixRatio.value=0;this.d5=3};a.prototype.render=function(k,m){this.j.getSize(e);if(this.ux!==e.width||this.tx!==e.height)this.ux=e.width,this.tx=e.height,this.pm.setSize(this.ux,this.tx);this.gg.scene=k;this.gg.camera=m;0<this.d5&&(this.d5--,0===this.d5&& 2749(this.ix.uniforms.mixRatio.value=.65));this.pm.render()};return a}); 2750define("jB",["require"],function(){function a(k,m){this.j=k;this.QG=m;this.pm=new THREE.EffectComposer(k);this.gg=new THREE.CustomRenderPass(m);this.gg.renderToScreen=!1;this.pm.addPass(this.gg);this.kT=new THREE.ShaderPass(THREE.FXAAShader);this.pm.addPass(this.kT);this.tx=this.ux=void 0}var e=new THREE.Vector2;a.prototype.destroy=function(){this.pm=this.kT=this.gg=this.QG=this.j=null};a.prototype.render=function(k,m){this.j.getSize(e);if(this.ux!==e.width||this.tx!==e.height)this.ux=e.width,this.tx= 2751e.height,this.pm.setSize(this.ux,this.tx),this.kT.material.uniforms.resolution.value.x=1/this.ux,this.kT.material.uniforms.resolution.value.y=1/this.tx;this.gg.scene=k;this.gg.camera=m;this.pm.render()};return a}); 2752define("lf",["require","oN","jB"],function(a){function e(l,b){this.j=l;this.QG=b;this.BU=new k(l,b);this.h5=new m(l,b);this.VS=e.NONE}var k=a("oN"),m=a("jB");e.Mfa="fxaa";e.h1="motionBlur";e.NONE="none";e.prototype.destroy=function(){this.BU.destroy();this.BU=null;this.h5.destroy();this.QG=this.j=this.h5=null};e.prototype.bea=function(l){this.VS!=l&&(this.VS=l,this.VS==e.h1&&this.BU.start())};e.prototype.render=function(l,b){switch(this.VS){case e.Mfa:this.h5.render(l,b);break;case e.h1:this.BU.render(l, 2753b);break;default:this.QG(this.j,l,b,null,!1)}};return e}); 2754define("bj",["require","dH","V","hD"],function(a){var e=a("dH"),k=a("V"),m=a("hD");return{oDa:function(l,b){var h,d,c;this.setSize=function(g,p){var q=l.xr.isPresenting;if(h!=g||d!=p||c!=q)h=g,d=p,(c=q)||l.setSize(g,p)};this.yd=function(){return h};this.je=function(){return d};this.start=function(g){k.$da(g,[b]);h&&d&&l.setSize(h,d);l.setPixelRatio(m.getPixelRatio())};this.stop=function(){};this.updateCamera=function(){};this.camera=function(){return b};var f=!1;this.render=function(g,p,q){l.xr.isPresenting!= 2755f&&(f=l.xr.isPresenting,k.$da(g,f?l.xr.getCamera().cameras:[b]));l.xr.isPresenting||l.setRenderTarget(p);q&&l.clear();l.render(g,b)}}
2755,QDa:function(l,b){var h,d,c=1,f=new THREE.WebGLCubeRenderTarget(1024),g=new THREE.CubeCamera(.1,1E4,f);g.layers.enable(e.ct);g.layers.enable(e.Ya);f=new THREE.ShaderMaterial;f.uniforms={tCube:{value:g.renderTarget.texture},tFlip:{value:1},opacity:{value:1}};f.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}\n"; 2756f.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";f.side=THREE.BackSide;f.depthWrite=!1;f.transparent=!0;f.depthTest=!1;f.needsUpdate=!0;var p=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),f);p.overdraw=!1;p.matrixAutoUpdate=!1;p.renderOrder=1E3;var q=new THREE.Matrix4;this.bE=function(r){c=r};this.setSize= 2757function(r,t){h==r&&d==t||l.setSize(h=r,d=t)};this.yd=function(){return h};this.je=function(){return d};this.start=function(r){r.add(p);r.add(g);r.traverse(function(t){t.layers.test(g.layers)&&(t.userData.Nca=t.layers.mask,t.layers.mask=g.layers.mask)});g.visible=!0;p.visible=!0;k.$da(r,[b]);l.setClearColor(16777215,1);l.setPixelRatio(m.getPixelRatio());h&&d&&l.setSize(h,d)};this.stop=function(r){l.setClearColor(0,0);r.traverse(function(t){void 0!==t.userData.Nca&&(t.layers.mask=t.userData.Nca,delete t.userData.Nca)}); 2758g.visible=!1;p.visible=!1;r.remove(p);r.remove(g)};this.updateCamera=function(){0<c&&(p.matrix.copy(b.matrixWorld),p.matrix.multiply(q.makeTranslation(0,0,5*-c)),p.matrixWorldNeedsUpdate=!0)};this.camera=function(){return b};var n=0;this.render=function(r,t,u){0<c&&(n++,m.RXa()&&0!=n%10||(m.m_a(),p.visible=!1,g.update(l,r),p.visible=!0));l.setRenderTarget(t);u&&l.clear();l.render(r,b)}}}}); 2759define("eI","require jquery.mod mE kY nD dH lf bj hc hD kt".split(" "),function(a){function e(v){this.M=v;this.oa=k("<div/>");this.oa.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.Fa=new THREE.PerspectiveCamera(90,16/9,.1,2*f.qg);this.Fa.layers.enable(h.Ya);this.hB=new THREE.PerspectiveCamera;this.Ga=new THREE.Scene;this.Mja=new THREE.Scene;this.Nja=new THREE.Scene;this.Ga.add(this.Fa);this.du=this.Ax=this.j=null;this.UB=0;this.av=this.Zg=this.s$=this.k$= 2760null;this.rna=this.M3=!1}var k=a("jquery.mod"),m=a("mE"),l=a("kY"),b=a("nD"),h=a("dH"),d=a("lf"),c=a("bj"),f=a("hc"),g=
2760a("hD"),p=a("kt");e.prototype.Jj=function(){return this.Ga};e.prototype.getCamera=function(){return this.hB};e.prototype.nWa=function(){return this.hB.isArrayCamera&&0<this.hB.cameras.length?2*Math.atan2(1,this.hB.cameras[0].projectionMatrix.elements[5])*u:this.hB.fov};e.prototype.getPixelRatio=function(){return this.j.getPixelRatio()};e.prototype.Bc=function(){return this.oa};e.prototype.qWa= 2761function(){return p.isPresenting&&p.framebufferWidth?.5*p.framebufferWidth:this.j?this.j.domElement.width:this.oa.width()};e.prototype.pWa=function(){return p.isPresenting&&p.framebufferHeight?p.framebufferHeight:this.j?this.j.domElement.height:this.oa.height()};e.prototype.Xf=function(){return this.j.domElement};e.prototype.update=function(v){this.QTa(v);this.qTa(v);this.nq(v);this.NTa(v)};var q=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,0,-1),new THREE.Vector3(0,0,1), 2762new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0)],n=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)];e.prototype.VO=function(v){var w=this.Zg,x=this.Zg.yd(),y=this.Zg.je();w.stop();this.j.setPixelRatio(1);this.j.setSize(v,v);var z=new THREE.PerspectiveCamera(90,1,this.Fa.near,this.Fa.far);z.layers=this.Fa.layers;z.visible=!0;this.Ga.add(z);for(var C=[],A=0;6>A;A++){var B=document.createElement("canvas"); 2763B.width=B.height=v;var I=B.getContext("2d");z.up.copy(q[A]);z.lookAt(n[A]);z.updateProjectionMatrix();z.updateMatrixWorld();this.j.clear();this.j.render(this.Ga,z);I.save();I.scale(-1,1);I.drawImage(this.j.domElement,0,0,-v,v);
2763I.restore();C.push(B)}this.Ga.remove(z);this.Zg=w;this.Zg.start(this.Ga);this.Zg.setSize(x,y);this.nN();return C};e.prototype.render=function(){this.nN()};e.prototype.QTa=function(v){v.enabled&&(this.UB=(new Date).getTime(),this.j||this.pRa(v),v.ub&&p.getType()==p.Et.Rk&&(this.rna= 2764!0),p.y0a(this.j,this.Ga,this.Fa,this.M,p.FDa.Dga));if(this.M3=v.enabled&&!v.ub)this.Ax.setSize(v.width,v.height),this.du.setSize(v.width,v.height)};e.prototype.pRa=function(v){if(!this.j&&v.enabled){for(;r.length>=t;)r.sort(function(y,z){return y.UB-z.UB}),r[0].IGa();r.push(this);var w=this.Bc().get(0);this.Ax=new THREE.CSS3DRenderer;this.Ax.domElement.style.position="absolute";this.Ax.domElement.style.zIndex=0;w.appendChild(this.Ax.domElement);var x={precision:"mediump",alpha:!0};x.canvas=document.createElement("canvas"); 2765x.context=g.KVa(x.canvas,v.hY);this.j=new THREE.WebGLRenderer(x);this.j.debug.checkShaderErrors=m.qJ;this.j.domElement.style.position="absolute";this.j.domElement.style.zIndex=1;this.j.domElement.style.pointerEvents="none";this.j.setClearColor(0,0);w.appendChild(this.j.domElement);this.du=new THREE.CSS3DRenderer;this.du.domElement.style.position="absolute";this.du.domElement.style.zIndex=2;this.du.domElement.style.pointerEvents="none";w.appendChild(this.du.domElement);this.av=new d(this.j,function(y, 2766z,C,A,B){this.rna&&this.j.resetState();this.Zg.render(z,A,B)}.bind(this));this.k$=new c.oDa(this.j,this.Fa);
2766this.s$=new c.QDa(this.j,this.Fa);p.OUa(this.j)}};e.prototype.IGa=function(){if(this.j){r.splice(r.indexOf(this),1);this.Zg=this.k$=null;this.av.destroy();this.av=null;p.NZa(this.j);var v=this.Bc().get(0);v.removeChild(this.du.domElement);this.du=null;v.removeChild(this.j.domElement);this.j.dispose();this.j=null;v.removeChild(this.Ax.domElement);this.Ax=null}};e.prototype.nq=function(v){v.ub? 2767this.hB=this.j.xr.getCamera():(this.Fa.quaternion.copy(b.Pva(v.$a,v.pitch,v.ng)),this.Fa.fov=l.Ll(v.Be,v.width,v.height),this.Fa.aspect=v.width/v.height,this.Fa.updateProjectionMatrix(),this.Fa.updateMatrixWorld(),this.hB=this.Fa);this.Zg&&this.Zg.updateCamera();!0===this.Ga.T3a&&this.Ga.updateMatrixWorld()};e.prototype.qTa=function(v){var w=!v.ub&&0<v.Wl?this.s$:this.k$;this.Zg!=w&&(this.Zg&&this.Zg.stop(this.Ga),(this.Zg=w)&&this.Zg.start(this.Ga));this.Zg&&(this.Zg.setSize(v.width,v.height),this.Zg== 2768this.s$&&this.Zg.bE(v.Wl))};e.prototype.NTa=function(v){this.av&&(v.KZ?this.av.bea(d.h1):v.RY&&!v.ub?this.av.bea(d.Mfa):this.av.bea(d.NONE))};e.prototype.nN=function(){this.av&&this.av.render(this.Ga,this.Fa);this.M3&&(this.Ax.render(this.Mja,this.Fa),this.du.render(this.Nja,this.Fa))};var r=[],t=10,u=180/Math.PI;return e}); 2769define("c","require lx ji fh cw et V kA oZ".split(" "),function(a){var e=a("lx"),k=a("ji"),m=a("fh"),l=a("cw"),b=a("et"),h=a("V"),d=a("kA"),c=a("oZ");a=e.extend(k,function(){k.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.Yb=new l.bm);this.au&&this.au();this.gB&&this.gB();this.zx&&this.zx();this.Bn&&this.Bn()});a.prototype.Nb=function(){k.prototype.Nb.call(this); 2770this.Un&&this.Un();this.KL&&this.KL();this.HG&&this.HG()};a.prototype.Qb=function(){this.dG&&this.dG();this.IG&&this.IG();this.Wn&&this.Wn();b.dispose(this.get("meshGroup"));b.Lz(this.get("meshGroup"),null);this.set("meshGroup",null);k.prototype.Qb.call(this)};a.prototype.fa=function(f){this.nf&&this.nf(f);k.prototype.fa.call(this,f);this.set("camera",h.getCamera(f.pg));this.set("webglScene",f.pg);this.get("meshGroup")||(this.set("meshGroup",b.fva(this.An())),this.get("meshGroup").userData.hZa=this); 2771this.N("webglScene","meshGroup")&&b.Lz(this.get("meshGroup"),this.get("webglScene"));this.Fl();this.Aj&&this.Aj(f);this.cUa();this.Ev&&this.Ev(f);this.rq&&this.rq(f);this.bD();this.N("loadingActive","meshGroup")&&d.Wb(this.get("meshGroup"),this.get("loadingActive"));this.N("blendingActive","meshGroup")&&c.kAa(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.Fl=function(){this.N("composedAlpha","meshGroup")&&this.ax()};a.prototype.ax=function(){b.Se(this.get("meshGroup"),this.get("composedAlpha"))}; 2772a.prototype.cUa=function(){if(this.N("textureSource")||this.N("materialConfig")&&!this.Yb.isEqual(this.get("materialConfig"))){var f=this.EF();f&&(b.c0a(f,this.sK()),this.ax())}};a.prototype.bD=function(){if(this.N("index","meshGroup")){var f=this.get("meshGroup");f&&f.children.forEach(function(g,p,q){b.A_(g,this.get("index")+p/q.length)}.bind(this))}};a.prototype.sK=function(){var f=this.get("textureSource")||new m;this.Yb=this.get("materialConfig");var g=l.nz(f.texture(),this.Yb);d.XI(g,f);return[g]}; 2773a.prototype.Dja=function(){var f=new m,g=l.nz(f.texture());d.XI(g,f);return[g]};a.prototype.ru=function(f){return b.JWa(this.get("meshGroup"),f)};return a}); 2774define("of","require id hc et jH kA kY nD mZ".split(" "),function(a){var e=a("id"),k=a("hc"),m=a("et"),l=a("jH"),b=a("kA"),h=a("kY"),d=a("nD"),c=a("mZ"),f=new THREE.Matrix4,g=Math.PI/180;return{au: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", 2775null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.set("attachToCamera",!1);this.Hg=this.yx();this.kh=new THREE.Matrix4;this.Cd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.sm=new THREE.Matrix4;this.Ui=new THREE.Matrix4;
2775this.K2=new THREE.Matrix4;this.uia=new THREE.Quaternion;this.xja=new THREE.Matrix4;this.bK=new THREE.Matrix4;this.oK=new THREE.Matrix4;this.kx=new THREE.Matrix4;this.Bh=new THREE.Matrix4},Ev:function(p){this.pq(p);this.Gaa()},Gaa:function(){if(this.N("hfov", 2776"vfov","contentWidth","contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var p=l.lca(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=k.JAa(this.Hg[1],p.QQ,p.UQ,p.vw,p.ww);this.Hg[1]!=p&&(this.Hg[1]=p,(p=this.EF())&&m.fea(p,this.Hg[1]))}},EF:function(){var p=this.get("meshGroup");return p?m.Kk(p)[1]:null},An:function(){return[0, 27771].map(function(p){var q=0==p?this.Dja():this.sK();p=m.create(this.Hg[p],q);b.kw(p,b.So);b.lw(p,b.br);b.ZD(p,e.AJ);b.CQ(p,1);return p}.bind(this))},yx:function(){return[k.XH(),k.XH()]},pq:function(p){var q=!1;this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.kh.makeTranslation(.5*-this.get("composedTranslationX")*k.qg,.5*this.get("composedTranslationY")*k.qg,.5*this.get("composedTranslationZ")*k.qg),q=!0);this.N("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&& 2778(this.Cd.makeRotationY(-p.$a*g),this.Cd.multiply(f.makeRotationX(-this.get("composedDeltaPitch")*g)),this.Cd.multiply(f.makeRotationY(this.get("composedDeltaYaw")*g)),this.Cd.multiply(f.makeRotationY(p.$a*g)),q=!0);this.N("yaw","pitch")&&(this.Vn.makeRotationY(-this.get("yaw")*g),this.Vn.multiply(f.makeRotationX(this.get("pitch")*g)),q=!0);if(this.N("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX", 2779"composedTranslationY","composedTranslationZ")){var n=0==this.la.get("composedTranslationX")&&0==this.la.get("composedTranslationY")&&0==this.la.get("composedTranslationZ")&&void 0!==this.get("distance")?k.Ls(this.get("distance")):k.Dq();this.sm.makeTranslation(0,0,-n);var r=this.get("contentWidth"),t=this.get("contentHeight"),u=this.get("hfov"),v=this.get("vfov")||h.Ll(u,r,t),w=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),z=this.get("panoramaPixelsPerDegree"); 2780q=this.get("horizontalAlign")||c.De;var C=this.get("verticalAlign")||c.fe;r=l.lca(u,v,r,t,y,z,q,C);u=w*k.mca(n,u);v=x*k.nca(n,v);this.bK.makeScale(u,v,1);w*=k.mca(n,r.Be);n=x*k.nca(n,r.Xq);this.oK.makeScale(w,n,1);this.xja.makeTranslation(q==c.Ya?.5*-(u-w):q==c.rb?.5*(u-w):0,C==c.vc?.5*(v-n):C==c.oc?.5*-(v-n):0,0);q=!0}this.N("rotationX","rotationY","rotationZ","roll")&&(this.Ui.makeRotationZ(this.get("roll")*g),this.Ui.multiply(f.makeRotationY(this.get("rotationY")*g)),this.Ui.multiply(f.makeRotationX(this.get("rotationX")* 2781g)),this.Ui.multiply(f.makeRotationZ(this.get("rotationZ")*g)),q=!0);this.set("cameraYaw",p.$a);this.set("cameraPitch",p.pitch);this.set("cameraRoll",p.ng);this.get("attachToCamera")&&this.N("cameraYaw","cameraPitch","cameraRoll")?(this.uia.copy(d.Pva(p.$a,p.pitch,p.ng)),this.K2.makeRotationFromQuaternion(this.uia),q=!0):this.N("attachToCamera")&&(this.K2.identity(),q=!0);if(q||this.N("meshGroup"))this.Bh.copy(this.kh),this.Bh.multiply(this.Cd),this.Bh.multiply(this.K2),this.Bh.multiply(this.Vn), 2782this.Bh.multiply(this.sm),this.Bh.multiply(this.Ui),this.kx.copy(this.Bh),this.kx.multiply(this.bK),this.Bh.multiply(this.xja),this.Bh.multiply(this.oK),p=m.Kk(this.get("meshGroup")),m.zq(p[0],this.kx),m.zq(p[1],this.Bh)}}});define("jF",["require","lx","c","of"],function(a){var e=a("lx"),k=a("c");a=a("of");return e.extend(k,a,function(){k.call(this);this.set("tag","Plane")})}); 2783define("hN","require lx kJ oR nH jF mT ol nr eE ly".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?k(v,t,Math.abs(1/(1500*n))):k(v,t,.08)}function k(n,r,t){n=(r-n)*(1-t);1E-5>Math.abs(n)&&(n=0);return r-n}var m=a("lx"),l=a("kJ"),b=a("oR"),h=a("nH"),d=a("jF"),c=a("mT"),f=a("ol"),g=a("nr"),p=a("eE"),q=a("ly");a=m.extend(d,function(n){d.call(this);this.v=n;this.gk.push(this.v);this.Tf=this.Tf.bind(this);this.$e=h.Oa("CeilingCapPanoramaOverlay", 2784this.v)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch","tripod"==this.$e?-90:90);this.ad=!1;this.uC=this.W8=this.Wr=void 0;this.LOa="tripod"==this.$e?1:-1;this.gj=this.vk=this.Jg=null});a.prototype.Nb=function(){d.prototype.Nb.call(this);this.Jg=(new f(b.Z)).Yl(this.Fp.bind(this));this.vk=(new f(b.ec)).Ao(this.dC.bind(this));l.ga(this.v,"angle distance hfov image.levels.url inertia rotate".split(" "),this.Tf,!0)};a.prototype.Qb=function(){this.gj&&this.gj.dispose();this.gj=null;this.Jg.dispose(); 2785this.vk.dispose();l.ca(this.v,"angle distance hfov image.levels.url inertia rotate".split(" "),this.Tf);d.prototype.Qb.call(this)};a.prototype.Tf=function(){this.set("angle",this.v.get("angle"));this.set("distance",this.v.get("distance"));this.set("hfov",this.v.get("hfov"));var n=g.rWa(this.v,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.v.get("inertia"));this.set("rotate", 2786this.v.get("rotate"))};a.prototype.An=function(){var n=d.prototype.An.call(this);this.Jg.sf(n);this.vk.sf(n);return n};a.prototype.fa=function(n){this.laa();this.zH(n);d.prototype.fa.call(this,n)};a.prototype.laa=function(){this.N("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.Fp=function(){this.gj&&this.gj.dispose();
2786this.gj=new p(this.get("textureSource").rf()); 2787this.trigger(b.Wc);this.trigger(b.Z)};a.prototype.dC=function(n,r){var t=0;r.Fs(function(u){(u=r.Nl(u))&&(t+=u.Sg)});this.trigger(new q(b.ec,t/r.Yc.length))};a.prototype.zH=function(n){this.set("rendererYaw",n.$a);if(this.N("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.N("rendererYaw")){var r=this.get("angle"),t=this.get("rotate"),u=this.get("inertia"),v=this.LOa*n.$a;t&&(r+=v);var w=0,x=r-v;void 0!==this.Wr&&(u&&(t?(w=e(v,this.uC,r,this.Wr,this.W8,n.Wd),r=this.Wr+w* 2788n.Wd):(w=e(v,this.uC,x,this.iqa,this.W8,n.Wd),x=this.iqa+w*n.Wd,r=x+v)),this.Wr!=r&&this.Ca());this.iqa=x;this.Wr=r;this.W8=w;this.uC=v;this.set("rotationZ",-r)}};a.prototype.Tl=function(n){if(n.ff==b.Uk){var r=!n.Jk()&&this.iq(n);r&&(n.gz(this.v),this.v.get("useHandCursor")&&n.iD(this.v),n.Ik(this.get("distance")));this.ad!=r&&(this.ad=r,this.v.trigger(this.ad?b.Xc:b.ac),n.Ss()&&this.v.trigger(this.ad?b.rA:b.Uo))}else n.ff==b.$f&&!n.Jk()&&this.iq(n)&&(1<this.v.hI(b.ra,!0).length&&n.Rq(this.v),n.Ik(this.get("distance")), 2789this.v.trigger(b.ra))};a.prototype.iq=function(n){return this.ru(n.Xp).some(function(r){return this.gj&&this.gj.qw(r.x,r.y)}.bind(this))};return a}); 2790define("kj","require lx oR kX ji kt".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("kX"),l=a("ji"),b=a("kt");a=e.extend(l,function(){l.call(this);this.kh=new THREE.Matrix4;this.Zta=!1;this.gi=new THREE.Matrix4;this.eg=null;this.zl=new THREE.Matrix4;this.mN=this.ZM=0;this.TJ=.75;this.BK=.5;this.Ir=4;this.n7=0;this.Jr=-2;this.Bp=3;this.vU=0;this.rB=7;this.TM=this.Gy=1;this.QL=.15;this.sB=this.nC=0;this.OT=this.WV=m.T;this.jX=this.dX=1E3});var h=Math.PI/180,d=new THREE.Matrix4;a.prototype.lm=function(){}; 2791a.prototype.Nb=function(){l.prototype.Nb.call(this);this.trigger(k.Wc);this.trigger(k.Z)};a.prototype.Qb=function(){this.i3()};a.prototype.kk=function(){this.lm();this.oN()};a.prototype.lk=function(){this.Ca()};a.prototype.oN=function(){this.eg&&(this.i3(),this.Gja())};a.prototype.FS=function(){};a.prototype.Gja=function(){this.CPa();this.eg=new THREE.Group;for(var c=this.OT==m.X,f=this.nC,g=this.sB;0<g+f;){var p=Math.random()*(g+f)<=g;p?g--:f--;var q=this.FS();q.matrixAutoUpdate=!1;q.overdraw=!1; 2792q.material.opacity=0;q.userData={bWa:p,MI:new THREE.Matrix4,Cua:new THREE.Matrix4,Oda:new THREE.Matrix4,y:void 0,jCa:void 0,wda:c};this.eg.add(q);c&&this.A9(q,this.Jr,this.Bp);this.APa(q)}this.ZM=c?this.eg.children.length:0;this.eba.add(this.eg);this.tia()};a.prototype.i3=function(){if(this.eg){this.eg.parent&&this.eg.parent.remove(this.eg);for(var c=0,f=this.eg&&this.eg.children.length;c<f;c++)this.eg.children[c].material.dispose();this.eg=null;this.mN=0}};a.prototype.CPa=function(){this.zl=(new THREE.Matrix4).makeScale(this.Gy, 2793this.Gy,this.Gy)};a.prototype.A9=function(c,f,g){f+=Math.random()*(g-f);if(c.userData.bWa){g=this.rB;var p=360*Math.random()*h;c.userData.MI.makeTranslation(g*Math.cos(p),f,g*Math.sin(p))}else g=2*Math.random()*Math.PI,p=this.n7+(this.Ir-this.n7)*Math.sqrt(Math.random()),c.userData.MI.makeTranslation(p*Math.cos(g),f,p*Math.sin(g));c.userData.MI.multiply(this.zl);c.userData.y=f};a.prototype.APa=function(c){var f=this.QL+Math.random()*(this.XB-this.QL);do var g=Math.random()*this.vU;while(80<g&&100> 2794g);var p=360*Math.random(),q=Math.sin(p*h)*Math.sin(g*h)*f,n=-Math.cos(g*h)*f;f*=Math.cos(p*h)*Math.sin(g*h);c.userData.jCa=n*this.Gy;c.userData.Cua.makeTranslation(q,n,f);c.userData.Oda.makeRotationY(p*h);c.userData.Oda.multiply(d.makeRotationX(-g*h))};a.prototype.fa=function(c){l.prototype.fa.call(this,c);this.hTa(c);this.eba=c.pg;this.eba!=(this.eg&&this.eg.parent)?(this.i3(),this.eba&&this.Gja()):this.N("index")&&this.tia();this.ITa(c)};a.prototype.hTa=function(c){c=c.ub&&b.getType()==b.Et.Rk; 2795c!=this.fma&&(this.fma=c)&&setTimeout(function(){this.eg&&this.oN()}.bind(this),0)};a.prototype.ITa=function(c){if(this.eg){this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Zta=0!=this.get("composedTranslationX")||0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"),this.kh.makeTranslation(-this.get("composedTranslationX")*this.Ir,this.get("composedTranslationY")*this.Ir,this.get("composedTranslationZ")*this.Ir));var f=this.WV==m.X,g=this.eg.children, 2796p=g.length,q=f?Math.round(p*c.Wd/this.dX):0;if(0<this.ZM+q){this.mN=f?0:Math.min(this.ZM,this.mN+Math.round(p*c.Wd/this.jX));c=this.get("composedAlpha");for(f=0;f<p;f++){var n=g[f];if(!n.userData.wda)if(0<q)q--,n.userData.wda=!0,this.ZM++,this.A9(n,this.Bp,this.Bp+(this.Bp-this.Jr));else continue;n.userData.MI.multiply(n.userData.Cua);n.userData.y+=n.userData.jCa;if(n.userData.y<this.Jr||n.userData.y>this.Bp){if(0<this.mN){this.mN--;
2796n.userData.wda=!1;this.ZM--;n.material.opacity=0;continue}var r= 2797n.userData.y<this.Jr?this.Bp:this.Jr;this.A9(n,r,r)}r=c;n.userData.y<this.Jr+this.BK?r*=(n.userData.y-this.Jr)/this.BK:n.userData.y>this.Bp-this.TJ&&(r*=(this.Bp-n.userData.y)/this.TJ);n.material.opacity=r*this.TM;this.Zta?(n.matrix.copy(this.kh),n.matrix.multiply(n.userData.MI)):n.matrix.copy(n.userData.MI);n.matrix.multiply(n.userData.Oda);n.matrixWorldNeedsUpdate=!0}this.Ca()}}};a.prototype.tia=function(){if(this.eg)for(var c=this.get("index"),f=0;f<this.eg.children.length;f++)this.eg.children[f].renderOrder= 2798c};return a}); 2799define("iR","require lx kJ kX kj nJ v".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("kX"),l=a("kj"),b=a("nJ"),h=a("v");a=e.extend(l,function(c){l.call(this);this.v=c;this.kk=this.kk.bind(this);this.lk=this.lk.bind(this);this.lm()});a.prototype.Nb=function(){l.prototype.Nb.call(this);this.v.set("state",this.v.get("startState"));k.ga(this.v,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.kk, 2800!0);k.ga(this.v,["state"],this.lk,!0)};a.prototype.Qb=function(){k.ca(this.v,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.kk);k.ca(this.v,["state"],this.lk);this.v.set("state",m.T);l.prototype.Qb.call(this)};a.prototype.kk=function(){this.lm();this.oN()};a.prototype.lk=function(){this.WV=this.v.get("state");this.Ca()};a.prototype.lm=function(){l.prototype.lm.call(this);var c=h.lb()||h.browser()== 2801h.Vz?2500:h.Of()?4E3:5E3;this.QL=this.XB=.2*this.v.get("speed",.2);this.Ir=14.5*this.v.get("distance",.5)+.5;this.TM=1*this.v.get("opacity",.1);this.Gy=.036;this.nC=this.v.get("intensity",.1)*c;this.qc=b.Lq(this.v.get("color","#ffffff"));this.sB=0;this.rB=15;this.OT=this.v.get("initialState");this.dX=this.v.get("startDuration");this.jX=this.v.get("stopDuration");this.TJ=.75;this.BK=.5;this.Jr=-2;this.Bp=4;this.vU=180;this.nka()};a.prototype.FS=function(){return new THREE.Sprite(this.bu())};a.prototype.bu= 2802function(){var c=new THREE.SpriteMaterial;c.map=this.kp();c.side=THREE.FrontSide;c.transparent=!0;c.depthTest=!1;c.needsUpdate=!0;return c};a.prototype.kp=function(){if(this.Sa)return this.Sa;var c=document.createElement("canvas");c.width=c.height=d;this.Sa=new THREE.Texture;this.Sa.image=c;this.Sa.needsUpdate=!0;this.nka();return this.Sa};a.prototype.nka=function(){if(this.Sa){var c=this.Sa.image,f=c.getContext("2d"),g=f.createRadialGradient(.5*c.width,.5*c.height,.2*c.height,.5*c.width,.5*c.height, 2803.5*c.height);g.addColorStop(0,"rgba("+this.qc[0]+", "+this.qc[1]+", "+this.qc[2]+", 1)");g.addColorStop(1,"rgba("+this.qc[0]+", "+this.qc[1]+", "+this.qc[2]+", 0)");f.fillStyle=g;f.clearRect(0,0,c.width,c.height);f.fillRect(0,0,c.width,c.height);this.Sa.needsUpdate=!0}};var d=32;return a}); 2804define("lI","require lx id hc et jH kA mZ".split(" "),function(a){a("lx");var e=a("id"),k=a("hc"),m=a("et"),l=a("jH"),b=a("kA"),h=a("mZ"),d=new THREE.Matrix4,c=Math.PI/180;return{au: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", 2805null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.Hg=this.yx();this.kh=new THREE.Matrix4;this.Cd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.sm=new THREE.Matrix4;this.YE=new THREE.Matrix4;this.bH=new THREE.Matrix4;this.Dia=new THREE.Matrix4;this.Ui=new THREE.Matrix4;this.Aja=new THREE.Matrix4;this.bK=new THREE.Matrix4;this.oK=new THREE.Matrix4;this.kx=new THREE.Matrix4;this.Bh=new THREE.Matrix4;this.$E=new THREE.Matrix4;this.WA=new THREE.Vector3},Ev:function(f){this.pq(f); 2806this.Gaa()},Gaa:function(){if(this.N("width","height","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign")){var f=l.XY(this.get("width"),this.get("height"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"));f=k.JAa(this.Hg[1],f.QQ,f.UQ,f.vw,f.ww);this.Hg[1]!=f&&(this.Hg[1]=f,(f=this.EF())&&m.fea(f,this.Hg[1]))}},EF:function(){var f=this.get("meshGroup");return f?m.Kk(f)[1]:null},An:function(){return[0, 28071].map(function(f){var g=0==f?this.Dja():this.sK();f=m.create(this.Hg[f],g);
2807b.kw(f,b.So);b.lw(f,b.br);b.ZD(f,e.AJ);b.CQ(f,1);return f}.bind(this))},yx:function(){return[k.XH(),k.XH()]},pq:function(f){var g=!1;this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.kh.makeTranslation(.5*-this.get("composedTranslationX")*k.qg,.5*this.get("composedTranslationY")*k.qg,.5*this.get("composedTranslationZ")*k.qg),g=!0);this.N("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&& 2808(this.Cd.makeRotationY(-f.$a*c),this.Cd.multiply(d.makeRotationX(-this.get("composedDeltaPitch")*c)),this.Cd.multiply(d.makeRotationY(this.get("composedDeltaYaw")*c)),this.Cd.multiply(d.makeRotationY(f.$a*c)),g=!0);this.N("yaw","pitch")&&(this.Vn.makeRotationY(-this.get("yaw")*c),this.Vn.multiply(d.makeRotationX(this.get("pitch")*c)),g=!0);if(this.N("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var p=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&& 28090==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",p?k.Ls(this.get("distance")):k.Dq())}this.N("z")&&(this.sm.makeTranslation(0,0,-this.get("z")),g=!0);g&&(this.$E.copy(this.kh),this.$E.multiply(this.Cd),this.$E.multiply(this.Vn),this.$E.multiply(this.sm));p=!1;this.set("rendererYaw",f.$a);this.set("rendererPitch",f.pitch);this.set("rendererRoll",f.ng);this.set("rendererCameraFOV",f.Uh);this.set("rendererWidth",f.width);this.set("rendererHeight",f.height);f.Uh&&this.N("z", 2810"rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(f.Uh*c*.5)*this.get("z")*2);if(f.Uh&&(g||this.N("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR"))){if(f.ub)this.YE.copy(this.$E),this.bH.identity();else{p=f.camera;this.YE.copy(p.matrixWorld);this.WA.setFromMatrixPosition(p.matrixWorld);this.WA.applyMatrix4(this.$E);this.WA.applyMatrix4(p.matrixWorldInverse);var q=-10,n=-10;0>this.WA.z&&(this.WA.applyMatrix4(p.projectionMatrix), 2811q=.5*this.WA.x,n=.5*this.WA.y);var r=this.get("rendererHeightZ");this.bH.makeTranslation(q*r*p.aspect,n*r,0)}p=!0}this.N("roll")&&(this.Ui.makeRotationZ(this.get("roll")*c),p=!0);if(f.Uh&&(g||this.N("rendererHeight","inVR","rendererHeightZ","width","height","contentWidth","contentHeight","scale","scaleMode","horizontalAlign","verticalAlign","flipHorizontally","offsetX","offsetY"))){g=f.ub?1024:f.height;p=this.get("scale")*this.get("rendererHeightZ")/g*(f.ub?2:1);var t=this.get("width");n=this.get("height"); 2812var 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");f=this.get("horizontalAlign")||h.De;g=this.get("verticalAlign")||h.fe;x=l.XY(t,n,v,w,x,f,g);v=q*t;w=p*n;this.bK.makeScale(v,w,1);t=q*(.5*t-u);n=p*(r-.5*n);this.Dia.makeTranslation(t,n,0);q*=x.width;p*=x.height;this.oK.makeScale(q,p,1);this.Aja.makeTranslation((f==h.Ya?.5*-(v-q):f==h.rb?.5*(v-q):0)+t,(g==h.vc?.5*(w-p):g==h.oc? 2813.5*-(w-p):0)+n,0);p=!0}p&&(this.Bh.copy(this.YE),this.Bh.multiply(this.sm),this.Bh.multiply(this.bH),this.Bh.multiply(this.Ui),this.kx.copy(this.Bh),this.kx.multiply(this.Dia),this.kx.multiply(this.bK),this.Bh.multiply(this.Aja),this.Bh.multiply(this.oK),f=m.Kk(this.get("meshGroup")),m.zq(f[0],this.kx),m.zq(f[1],this.Bh))}}}); 2814define("gk",["require","oR","kX"],function(a){function e(l,b){this.Ad=l;this.rc=b;this.Kb=!1;this.f2();this.i2();this.fC()}var k=a("oR"),m=a("kX");e.prototype.clear=function(){this.k9();this.p9();this.Ad.set("state",m.T);this.rc=this.Ad=null};e.prototype.tf=function(l){this.Kb!=l&&(this.Kb=l,this.rs())};e.prototype.fC=function(){this.rc.Id(this.Ad.get("state"))};e.prototype.kM=function(){this.rs()};e.prototype.mM=function(){this.rc.eea(this.Ad.get("frameDuration"))};e.prototype.lM=function(){this.rc.sAa("first"== 2815this.Ad.get("finalFrame"))};e.prototype.iM=function(){this.Ad.trigger(k.ir)};e.prototype.hM=function(){this.Ad.trigger(k.vb)};e.prototype.jM=function(){this.Ad.set("state",this.rc.getState())};e.prototype.rs=function(){this.Ad.get("autoplay")&&this.rc.Id(this.Kb?m.X:m.T)};e.prototype.f2=function(){this.Ad.bind(k.G("state"),this.fC,this,!0);this.Ad.bind(k.G("autoplay"),this.kM,this,!0);this.Ad.bind(k.G("frameDuration"),this.mM,this,!0);this.Ad.bind(k.G("finalFrame"),this.lM,this,!0)};e.prototype.k9= 2816function(){this.Ad.unbind(k.G("state"),this.fC,this,!0);this.Ad.unbind(k.G("autoplay"),this.kM,this,!0);this.Ad.unbind(k.G("frameDuration"),this.mM,this,!0);this.Ad.unbind(k.G("finalFrame"),this.lM,this,!0)};e.prototype.i2=function(){this.rc.bind(k.ir,this.iM,this,!0);this.rc.bind(k.vb,this.hM,this,!0);this.rc.bind(k.ne,this.jM,this,!0)};e.prototype.p9=function(){this.rc.unbind(k.ir,this.iM,this,!0);this.rc.unbind(k.vb,this.hM,this,!0);this.rc.unbind(k.ne,this.jM,this,!0)};return e}); 2817define("hd","require kJ oR kX id nH cw et gk fh kA eE bg".split(" "),function(a){var e=a("kJ"),k=a("oR"),m=a("kX"),l=a("id"),b=a("nH"),h=a("cw"),d=a("et"),c=a("gk"),f=a("fh"),g=
2817a("kA"),p=a("eE"),q=a("bg");return{gB: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", 2818null);this.set("state",null);this.set("visibleOnStop",!0);this.set("side",void 0);this.VU=this.VU.bind(this);this.YU=this.YU.bind(this);this.gj=this.Ra=this.zn=this.rc=null},Aj:function(){this.laa();this.qO();this.PTa()},laa:function(){if(this.N("level")){var n=this.get("level");this.set("levelURL",n&&n.get("url"))}this.N("image","level","levelURL","projected")&&(this.ija(),this.Ra=this.get("image"),this.Za=this.get("level"),this.set("textureSource",new f(this.Ra&&this.Za.get("url"))),this.set("premultipliedAlpha", 2819this.Ra&&this.Za.get("premultipliedAlpha")),this.XEa(),this.Ra?(this.HEa(),this.KEa()):(this.trigger(k.Wc),this.trigger(k.Z)))},qO:function(){if(this.N("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var n=new h.bm;n.kz=this.get("blending");n.As=this.get("chromaColor");n.YO=this.get("chromaThreshold");n.XO=this.get("chromaSmoothing");n.premultipliedAlpha=this.get("premultipliedAlpha");n.side=this.get("side");this.set("materialConfig",n)}},PTa:function(){if(this.N("meshGroup", 2820"projected","visible")){var n=this.get("projected")&&this.get("visible")?l.u1:l.AJ;d.Kk(this.get("meshGroup")).forEach(function(r){g.ZD(r,n)}.bind(this))}},Fl:function(){this.N("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha")&&(this.get("visibleOnStop")||this.get("state")!=m.T));this.N("composedAlpha","meshGroup","inView")&&d.Se(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.zn&&this.zn.tf(this.get("inView"))}, 2821VU:function(){this.Ra&&b.Oa("AnimatedImageResource",this.Ra)?this.set("visibleOnStop",this.Ra.get("visibleOnStop")):this.set("visibleOnStop",!0)},YU:function(){this.set("levelURL",this.Za.get("url"))},dG:function(){this.ija()},ija:function(){this.zn&&(this.zn.clear(),this.zn=null);this.rc&&(this.rc.unbind(k.va,this.iL,this,!0),this.rc.unbind(k.ne,this.cma,this,!0),this.rc.clear(),this.rc=null);this.gj&&(this.gj.dispose(),this.gj=null);this.get("textureSource")&&(this.s9(),this.set("textureSource", 2822null));this.Ra&&(this.iPa(),this.Ra=null);this.Za&&(this.lPa(),this.Za=null)},HEa:function(){e.ga(this.Ra,["visibleOnStop"],this.VU,!0)},iPa:function(){e.ca(this.Ra,["visibleOnStop"],this.VU)},KEa:function(){e.ga(this.Za,["url"],this.YU,!0)},lPa:function(){e.ca(this.Za,["url"],this.YU)},jL:function(){this.s9();var n=this.get("image");if(b.Oa("AnimatedImageResource",n)){this.rc=new q(this.get("textureSource").rf(),n.get("rowCount",1),n.get("colCount",1),n.get("frameDuration"),n.get("frameCount",n.get("rowCount", 28231)*n.get("colCount",1)),n.get("repeat"),"first"==n.get("finalFrame"));var r=this.rc.Xf();this.rc.bind(k.ne,this.cma,this,!0);this.rc.bind(k.va,this.iL,this,!0);this.zn=new c(n,this.rc);this.set("visibleOnStop",n.get("visibleOnStop"));this.set("state",this.rc.getState())}else r=this.get("textureSource").rf(),this.gj=new p(r),this.set("visibleOnStop",!0),this.set("state",null);this.Fl();this.set("contentWidth",r.width);this.set("contentHeight",r.height);this.get("textureSource").Ul(r);this.trigger(k.Wc); 2824this.trigger(k.Z)},dma:function(){this.s9();this.trigger(k.Wc);this.trigger(k.Z)},cma:function(){this.set("state",this.rc.getState())},iL:function(){this.get("textureSource").update();this.Ca()},XEa:function(){var n=this.get("textureSource");n.bind(k.Z,this.jL,this,!0);n.bind(k.uc,this.dma,this,!0)},s9:function(){var n=this.get("textureSource");n.unbind(k.Z,this.jL,this,!0);n.unbind(k.uc,this.dma,this,!0)},x5:function(n){return this.gj&&this.gj.ig==n.source?this.gj.info(n.x,n.y):p.info(n.source,n.x, 2825n.y)}}}); 2826define("oO","require kJ oR nH nJ bd z".split(" "),function(a){function e(f){f=f.get("mapColor");return"image"==f||"transparent"==f||"any"==f}function k(f){f=f.get("mapColor");return"image"!=f&&"transparent"!=f&&"any"!=f}
2826var m=a("kJ"),l=a("oR"),b=a("nH"),h=a("nJ"),d=a("bd"),c=new (a("z"));return{zx:function(){this.set("beamEnabled",!1);this.UU=this.UU.bind(this);this.BT=null;this.Zh=[];this.sr=[];this.xu=null},I_a:function(f){this.xu!=f&&(this.l9(),this.xu=f,this.Vha())},rq:function(f){this.Ny=f.$a; 2827this.My=f.pitch},l9:function(){this.xu&&m.ca(this.xu,["areas"],this.UU)},Vha:function(){this.xu&&m.ga(this.xu,["areas"],this.UU,!0)},HG:function(){this.l9();this.Vha()},IG:function(){this.sra([]);this.l9()},UU:function(){var f=this.xu.get("areas",[]);b.Oa("HotspotPanoramaOverlayImage",this.v)||b.Oa("FlatHotspotPanoramaOverlayImage",this.v)||b.Oa("QuadHotspotPanoramaOverlayImage",this.v)?this.BT=f.filter(e):this.BT=f.filter(k);this.BT.forEach(function(g){c.set(g,0)})},Tl:function(f){if(f.ff==l.Uk){var g= 2828this.j5(f);if(0<g.length){f.gz(g);var p=this.CJa(g),q;for(q in p)f.zua(p[q],q);f.Ik(this.get("distance"));(p=this.Ob(g,f.HD()))&&f.lY(p,this.Yy(f.HD()))}this.sra(g,f.Ss(),f.HD())}else if(f.ff==l.$f){if(g=this.j5(f),0<g.length){var n=!1;g.forEach(function(r){r.trigger(l.ra);!n&&1<r.hI(l.ra,!0).length&&(n=!0)});f.Ik(this.get("distance"));n&&f.Rq(g)}}else f.ff==l.uA?(g=this.j5(f),0<g.length&&(n=!1,g.forEach(function(r){var t={};f.Ss()&&(t=f.Ws().mwa());r.trigger(l.wb,t);!n&&1<r.hI(l.wb,!0).length&&(n= 2829!0)}),this.sr=g,f.Ik(this.get("distance")),n&&f.Rq(g))):f.ff==l.w1&&this.sr.length&&(this.sr.forEach(function(r){var t={};f.Ss()&&(t=f.Ws().mwa());r.trigger(l.Zb,t)}),this.sr=[])},j5:function(f){if(!this.get("beamEnabled")||0==this.get("alpha")||f.Jk())return[];var g=this.ru(f.Xp);return 0==g.length?[]:this.BT.filter(function(p){var q=p.get("mapColor");return"any"==q?!0:"image"==q?g.some(function(n){return this.x5(n).qw}.bind(this)):"transparent"==q?g.every(function(n){return!this.x5(n).qw}.bind(this)): 2830q&&"#"==q[0]?g.some(function(n){return 10>h.WY(this.x5(n).color,q)}.bind(this)):!1}.bind(this))},sra:function(f,g,p){this.Zh.forEach(function(n){if(0>f.indexOf(n)){var r=c.get(n)-1;c.set(n,r);0==r&&(n.trigger(l.ac,{center:p}),g&&n.trigger(l.Uo))}});var q=this.Zh;this.Zh=f;this.Zh.forEach(function(n){if(0>q.indexOf(n)){var r=(c.get(n)||0)+1;c.set(n,r);1==r&&(n.trigger(l.Xc,{center:p}),g&&n.trigger(l.rA))}})},Ob:function(f,g){for(var p="",q=f.length-1;0<=q&&""==p;q--){var n=f[q];if(!g||n.get("displayTooltipInTouchScreens")&& 2831!1!==this.Da.M.get("displayTooltipInTouchScreens"))p=n.get("toolTip","")}return p},Yy:function(f){if(f){f=this.get("yaw")-this.Ny;var g=this.get("pitch")-this.My;return Math.sqrt(f*f+g*g)}return 0},CJa:function(f){var g={};!0===this.xu.get("useHandCursor")?g[d.Ee]=f:!1!==this.xu.get("useHandCursor")&&f.forEach(function(p){var q;(q=p.get("useHandCursor")?d.Ee:p.get("cursor"))&&(g[q]?g[q].push(p):g[q]=[p])});return g}}}); 2832define("nG",["require","v","cF"],function(a){function e(){this.Nh=void 0;this.QF=this.pC=0;this.xa=!0;this.wS=this.I$=this.f5=void 0;this.Kb=!1}var k=a("v"),m=a("cF"),l=Math.PI/180,b=k.browser()==k.Wh?[-.5,0]:[0,0];e.prototype.Jz=function(h){this.Nh!=h&&(this.Nh=h,this.xa=!0)};e.prototype.Iz=function(h){if(h<this.pC+b[0]||h>this.pC+b[1])this.pC=h,this.xa=!0};e.prototype.get=function(h,d){void 0!==d||(d=!0);this.xa&&(this.fa(),this.xa=!1);var c=this.f5.get(h)||0;h=(this.I$.get(h)||0)-c;d&&(180<h?h-= 2833360:-180>h&&(h+=360));return c+h*this.wS};e.prototype.kca=function(){this.xa&&(this.fa(),this.xa=!1);for(var h=this.f5.get("vertices"),d=this.I$.get("vertices"),c=[],f=0;f<h.length;f++){var g=h[f].get("yaw")||0,p=(d[f].get("yaw")||0)-g;180<p?p-=360:-180>p&&(p+=360);var q=h[f].get("pitch")||0,n=(d[f].get("pitch")||0)-q;c.push(new m(g+p*this.wS,q+n*this.wS))}h=this.CL&&this.CL.length==c.length;for(f=0;f<c.length&&h;f++)h=this.CL[f].get("yaw")==c[f].get("yaw")||this.CL[f].get("pitch")==c[f].get("pitch"); 2834return h?this.CL:this.CL=c};e.prototype.Lk=function(){return this.get("opacity",!1)};e.prototype.yD=function(){var h=this.get("hfov")||this.get("vfov"),d=this.Nh[0].get("hfov")||this.Nh[0].get("vfov");return Math.tan(.5*h*l)/Math.tan(.5*d*l)};e.prototype.fa=function(){for(var h=this.QF,d,c=this.Nh.length-1,f,g;;){d=Math.min(h+1,c);f=this.Qla(h);g=this.Qla(d);if(f<=this.pC&&this.pC<=g)break;
2834if(f>this.pC){if(0==h){d=h;break}--h}else{if(h==c){d=h;break}h+=1}}this.f5=this.Nh[h];this.I$=this.Nh[d];h=g- 2835f;this.wS=0<h?(this.pC-f)/h:0};e.prototype.Qla=function(h){return this.Nh[h].get("timestamp")};return e}); 2836define("cj",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),this.Od,!0)},Wn:function(){e.ca(this.v,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "), 2837this.Od)},Od:function(){this.set("horizontalAlign",this.v.get("horizontalAlign"));this.set("verticalAlign",this.v.get("verticalAlign"));this.set("scale",this.v.get("scale"));this.set("scaleMode",this.v.get("scaleMode"));this.set("width",this.v.get("width"));this.set("height",this.v.get("height"));this.set("offsetX",this.v.get("offsetX",.5*this.v.get("width")));this.set("offsetY",this.v.get("offsetY",.5*this.v.get("height")));this.set("distance",this.v.get("distance"));this.set("playbackPositions", 2838this.v.get("playbackPositions"))},nf:function(){this.N("playbackPositions","currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("yaw",this.nb.get("yaw")),this.set("pitch",this.nb.get("pitch")),this.set("roll",this.nb.get("roll")),this.set("alpha",this.nb.Lk()))}}}); 2839define("jT","require lx kJ oR et c lI hd oO cj nr".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("et"),b=a("c"),h=a("lI"),d=a("hd"),c=a("oO"),f=a("cj"),g=a("nr"),p=0;a=e.extend(b,h,f,d,c,function(q){b.call(this);this.set("tag","FlatHotspotImage");this.set("id","flat_hs_image_"+p++);this.v=q;this.gk.push(this.v);this.Tf=this.Tf.bind(this)});a.prototype.Nb=function(){b.prototype.Nb.call(this);k.ga(this.v,["image.levels"],this.Tf,!0)};a.prototype.Qb=function(){k.ca(this.v,["image.levels"], 2840this.Tf);b.prototype.Qb.call(this)};a.prototype.Tf=function(){this.set("image",this.v.get("image"));this.set("level",g.BWa(this.v))};a.prototype.fa=function(q){this.YC();b.prototype.fa.call(this,q);this.N("inView")&&this.v.trigger(this.get("inView")?m.ld:m.hd)};a.prototype.YC=function(){if(this.N("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){l.setAttribute(n,l.Sz,this.get("panoramaId"));l.setAttribute(n,l.$_,this.get("id"))}.bind(this))}};return a}); 2841define("bB",["require","oR","V"],function(a){var e=a("oR"),k=a("V");a={haa:function(g){if(this.Da){var p=this.eKa(g);p?(g=this.sla(this).some(function(q){return p.intersectsObject(q)}),this.O9(g)):this.O9(!1)}},sla:function(g){var p=g.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)});g.Lb().forEach(function(n){q=q.concat(this.sla(n))}.bind(this));return q}};var m=new THREE.Frustum, 2842l=new THREE.PerspectiveCamera,b=90,h=.5,d=new THREE.Matrix4,c=Math.PI/180,f=180/Math.PI;a.eKa=function(g){g=k.getCamera(g.pg);if(!g)return null;var p=this.Da.M.get("focusAreaScale");if(!l.projectionMatrix.equals(g.projectionMatrix)||!l.matrixWorldInverse.equals(g.matrixWorldInverse)||b!=g.fov||h!=p){l.copy(g);var q=.5*l.fov*c;l.fov=2*Math.atan2(h*Math.sin(q),Math.cos(q))*f;l.updateProjectionMatrix();m.setFromProjectionMatrix(d.copy(l.projectionMatrix).multiply(l.matrixWorldInverse));b=g.fov;h=p}return m}; 2843a.V4=function(){this.E6=!1};a.W4=function(){this.O9(!1)};a.N9=function(g){this.Hka=g};a.O9=function(g){this.E6!==g&&(this.E6=g,this.Hka&&this.Hka.trigger(this.E6?e.PCa:e.QCa))};return a}); 2844define("mq","require lx kJ oR ji bB ol v ou bG ly".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("ji"),b=a("bB"),h=a("ol");a("v");var d=a("ou"),c=a("bG"),f=a("ly");a=e.extend(l,b,function(g){l.call(this);this.v=g;this.gk.push(this.v);this.mV=this.mV.bind(this);this.lV=this.lV.bind(this);this.nV=this.nV.bind(this);this.$o(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Hotspot");this.set("over",!1);this.set("centerOver",!1);this.set("enabled",!0);this.set("visible", 2845!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.B2=this.C2=this.Yn=this.Rd=this.xf=null;this.Zh=[];this.A2=[];this.Il=null;this.N9(this.v)});a.prototype.Nb=function(){this.xf=(new h(m.Z)).Yl(this.$B.bind(this));this.Rd=(new h(m.ec)).Ao(this.cC.bind(this));this.Yn=(new h(m.Wc)).Yl(this.lNa.bind(this)); 2846this.C2=(new h(m.Xc)).Ao(this.eNa.bind(this));this.B2=(new h(m.ac)).Ao(this.dNa.bind(this));l.prototype.Nb.call(this);k.ga(this.v,["items","rollOverItems","maps","rollOverMaps"],this.mV,!0);k.ga(this.v,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.nV,!0);k.ga(this.v,["areas"],this.lV,!0);this.V4()};a.prototype.Qb=function(){this.W4();this.tH([],this.Zh);this.baa([],this.A2);this.xf.dispose(); 2847this.Rd.dispose();this.Yn.dispose();this.C2.dispose();this.B2.dispose();k.ca(this.v,["items","rollOverItems","maps","rollOverMaps"],this.mV);k.ca(this.v,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.nV);
2847k.ca(this.v,["areas"],this.lV);this.get("visible")&&this.v.trigger(m.hd);l.prototype.Qb.call(this)};a.prototype.mV=function(){this.set("items",this.Da.Tv(this.v.get("items",[]))); 2848this.set("rollOverItems",this.Da.Tv(this.v.get("rollOverItems",[])));this.set("maps",this.Da.Tv(this.v.get("maps",[])));this.set("rollOverMaps",this.Da.Tv(this.v.get("rollOverMaps",[])));var g=[].concat(this.get("maps"),this.get("items"),this.get("rollOverMaps"),this.get("rollOverItems"));g.forEach(function(p){p.I_a(this.v)}.bind(this));this.get("items").forEach(function(p){p.set("projected",this.v.get("projected"))}.bind(this));this.Tg(g);this.xf.sf(g);this.Rd.sf(g);this.Yn.sf(g)};a.prototype.nV= 2849function(){this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration",this.v.get("fadeOutDuration"));this.set("enabled",this.v.get("enabled",!0));this.set("enabledInVR",this.v.get("enabledInVR"));this.set("enabledInStandard",this.v.get("enabledInStandard",!0));this.set("enabledInSurfaceSelection",this.v.get("enabledInSurfaceSelection",!0));this.set("centerOverDisplay",this.v.get("centerOverDisplay"));this.set("rollOverDisplay",this.v.get("rollOverDisplay",!1));this.set("interactionEnabled", 2850this.v.get("interactionEnabled",!0))};a.prototype.lV=function(){var g=this.v.get("areas");this.C2.sf(g);this.B2.sf(g)};a.prototype.fa=function(g){this.Fl(g);l.prototype.fa.call(this,g);this.Td(g);this.haa(g)};a.prototype.Td=function(g){this.set("inVR",g.ub);this.set("surfaceSelection",g.MQ);this.set("hotspotsEnabled",g.CD);if(this.N("items","rollOverItems","maps","rollOverMaps","over","centerOver","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","surfaceSelection","enabledInSurfaceSelection", 2851"enabled","interactionEnabled","rollOverDisplay","centerOverDisplay")||this.la&&this.la.N("composedAlpha")){var p=g=!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.la&&0<this.la.get("composedAlpha"),n=this.get("interactionEnabled");q&&(g=this.get("centerOver")&&!this.get("inVR"),p=this.get("over")||g,g=!this.get("rollOverDisplay")&& 2852!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")||g&&!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; 2853this.get("maps").forEach(function(w){w.set("visible",!1);w.set("beamEnabled",q&&(t||!p)&&n)});this.set("visible",g)}if(this.N("visible")){g=this.get("alpha");var u=this.get("visible")?1:0,v=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(g-u);this.Il=new d("linear",[new c("alpha",g,u)],Math.max(v,1));this.Ca();this.get("visible")?this.v.trigger(m.ld):this.v.trigger(m.hd)}};a.prototype.Fl=function(g){this.Il&&(this.Il.Oe()?this.Il=null:(this.Il.Cb(g.Wd),this.set("alpha", 2854this.Il.fb("alpha"))),this.Ca())};a.prototype.$B=function(){this.Bj();this.trigger(m.Z)};a.prototype.lNa=function(){this.Bj();this.trigger(m.Wc)};a.prototype.cC=function(){this.Bj()};a.prototype.Bj=function(){var g=0;this.Rd.Fs(function(p){var q=0,n;this.xf.Nl(p)?q=100:(n=this.Rd.Nl(p))&&(q=n.Sg);g+=q}.bind(this));this.trigger(new f(m.ec,g/this.Rd.Yc.length))};a.prototype.eNa=function(g){g.data.center?this.baa([g.source],[]):this.tH([g.source],[])};a.prototype.dNa=function(g){g.data.center?this.baa([], 2855[g.source]):this.tH([],[g.source])};a.prototype.tH=function(g,p){this.kta(this.Zh,g,p);this.set("over",0<this.Zh.length)};a.prototype.baa=function(g,p){this.kta(this.A2,g,p);this.set("centerOver",0<this.A2.length)};a.prototype.kta=function(g,p,q){p||(p=[]);q||(q=[]);q.forEach(function(n){n=g.indexOf(n);0<=n&&g.splice(n,1)});p.forEach(function(n){0>g.indexOf(n)&&g.push(n)})};return a}); 2856define("cG",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Od,!0)},Wn:function(){e.ca(this.v,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Od)},Od:function(){this.set("horizontalAlign", 2857this.v.get("horizontalAlign"));this.set("verticalAlign",this.v.get("verticalAlign"));this.set("scaleMode",this.v.get("scaleMode"));this.set("distance",this.v.get("distance"));this.set("scale",this.v.get("scale"));this.set("playbackPositions",this.v.get("playbackPositions"))},nf:function(){this.N("playbackPositions","currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("yaw",this.nb.get("yaw")),this.set("pitch",this.nb.get("pitch")),this.set("roll", 2858this.nb.get("roll")),this.set("rotationX",this.nb.get("rotationX")),this.set("rotationY",this.nb.get("rotationY")),this.set("hfov",this.nb.get("hfov")),this.set("vfov",this.nb.get("vfov")),this.set("alpha",this.nb.Lk()))}}}); 2859define("cc","require lx kJ oR et c of hd oO cG nr".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("et"),b=a("c"),h=a("of"),d=a("hd"),c=a("oO"),f=a("cG"),g=a("nr"),p=0;a=e.extend(b,h,d,c,f,function(q){b.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+p++);this.set("side",THREE.DoubleSide);this.v=q;this.gk.push(this.v);this.Tf=this.Tf.bind(this)});a.prototype.Nb=function(){b.prototype.Nb.call(this);k.ga(this.v,["image.levels"],this.Tf,!0)};a.prototype.Qb=function(){k.ca(this.v, 2860["image.levels"],this.Tf);b.prototype.Qb.call(this)};a.prototype.Tf=function(){this.set("image",this.v.get("image"));this.set("level",g.GWa(this.v,this.get("panoramaPixelsPerDegree")))};a.prototype.fa=function(q){this.YC();b.prototype.fa.call(this,q);this.N("inView")&&this.v.trigger(this.get("inView")?m.ld:m.hd)};a.prototype.YC=function(){if(this.N("meshGroup","panoramaId","id")){var q=this.get("meshGroup");
2860q&&q.children.forEach(function(n){l.setAttribute(n,l.Sz,this.get("panoramaId"));l.setAttribute(n, 2861l.$_,this.get("id"))}.bind(this))}};return a}); 2862define("bv",["require","fg","a"],function(a){function e(l,b,h){this.Pf=l||new k(0,0,0);this.Zi=b||new k(1,0,0);this.Dz=h||new k(0,1,0)}var k=a("fg"),m=a("a");e.prototype.clone=function(){return new e(this.Pf.clone(),this.Zi.clone(),this.Dz.clone())};e.prototype.apply=function(l){l.QH(this.Pf);l.QH(this.Zi);l.QH(this.Dz)};e.prototype.intersection=function(l,b){var h=m.pz(l.Pf,l.Zi),d=m.pz(this.Pf,l.Pf),c=m.pz(this.Pf,this.Zi);c.AY(m.pz(this.Pf,this.Dz));h=h.pD(c);if(!(0==h||b&&0>h))return b=-c.pD(d)/ 2863h,new k(l.Pf.x+(l.Zi.x-l.Pf.x)*b,l.Pf.y+(l.Zi.y-l.Pf.y)*b,l.Pf.z+(l.Zi.z-l.Pf.z)*b)};e.prototype.l_=function(l,b){var h=m.pz(this.Pf,this.Zi),d=m.pz(this.Pf,this.Dz);l=m.pz(this.Pf,l);var c=h.ica(),f=d.ica();return b?new k(l.pD(h)/(c*c),l.pD(d)/(f*f),0):new k(l.pD(h)/c,l.pD(d)/f,0)};return e}); 2864define("dI","require kY il dn fg bv fr mm".split(" "),function(a){var e=a("kY"),k=a("il"),m=a("dn"),l=a("fg"),b=a("bv"),h=a("fr"),d=a("mm"),c=Math.PI/180,f=180/Math.PI,g=new h,p=new k,q=new b,n=new l;return{get:function(r,t,u,v,w,x,y,z){r*=c;t*=c;t=new l(Math.sin(-r)*Math.cos(t),Math.sin(t),Math.cos(-r)*Math.cos(t));g.identity();g.rotateY(u*c);g.rotateZ(w*c);g.rotateX(v*c);t.apply(g);return 0<t.z?(p.GQ(y),p.xAa(z),p.XD(x*c),p.project(t),t):null},q2a:function(r,t,u){g.identity();g.rotateX(-u.Oc()* 2865c);g.rotateZ(-u.Nf()*c);g.rotateY(-u.Pc()*c);n.set(r,t,0);r=u.unproject(n).ywa();r.apply(g);return{$a:r.Pc()*f,pitch:r.Oc()*f}},$3a:function(r,t,u,v,w,x,y,z,C,A,B,I,E,G){G||(G=d.Jw);E||(E=e.Ll(I,A,B));I||(I=e.Wq(E,A,B));var F=.5*A/Math.tan(.5*I*c),N=F*Math.tan(.5*I*c)*2,R=F*Math.tan(.5*E*c)*2;q.Pf.set(.5*+N,.5*+R,0);q.Zi.set(.5*-N,.5*+R,0);q.Dz.set(.5*+N,.5*-R,0);g.identity();g.rotateZ(-C*c);g.rotateX(-y*c);g.rotateY(z*c);g.translate(0,0,F);g.rotateZ(-x*c);g.rotateX(-w*c);g.rotateY(-v*c);g.rotateY(u.Pc()* 2866c);g.rotateZ(u.Nf()*c);g.rotateX(u.Oc()*c);q.apply(g);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.l_(w),v.xScaled=v.x=w.x/N,v.yScaled=v.y=w.y/R);if(G!=d.Jw){switch(G){case d.sh:var S=Math.min(e.Wq(E,A,B),I);var Q=Math.min(e.Ll(I,A,B),E);break;case d.Zq:S=Math.max(e.Wq(E,A,B),I);Q=Math.max(e.Ll(I,A,B),E);break;case d.Ro:S=I;Q=e.Ll(I,A,B);break;case d.Rj:S=e.Wq(E,A,B),Q=E}if(S!=I||Q!=E)N=F*Math.tan(.5*S*c)*2,R=F*Math.tan(.5*Q*c)*2, 2867q.Pf.set(.5*+N,.5*+R,0),q.Zi.set(.5*-N,.5*+R,0),q.Dz.set(.5*+N,.5*-R,0),q.apply(g),n.set(r,t,0),(w=q.intersection(u.unproject(n)))&&0<w.z&&(w=q.l_(w),v.xScaled=w.x/N,v.yScaled=w.y/R)}return v},D3a:function(r,t,u,v,w,x,y){y=.5*w/Math.tan(.5*y*c);q.Pf.set(.5*+w,.5*+x,y);q.Zi.set(.5*-w,.5*+x,y);q.Dz.set(.5*+w,.5*-x,y);g.identity();g.rotateZ(-v*c);g.rotateX(-u*c);g.rotateY(-t*c);g.rotateY(r.Pc()*c);g.rotateZ(r.Nf()*c);g.rotateX(r.Oc()*c);q.apply(g);r=new m(new l(0,0,0),new l(0,0,1));return(r=q.intersection(r))&& 28680<r.z?(r=q.l_(r),{x:r.x/w,y:r.y/x}):null}}}); 2869define("eb",["require","id","hc","et","kA"],function(a){var e=a("id"),k=a("hc"),m=a("et"),l=a("kA"),b=Math.PI/180;return{au: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.Hg=this.yx();this.wB=k.XH();this.sm=new THREE.Matrix4;this.YE=new THREE.Matrix4;this.bH=new THREE.Matrix4;this.yna=new THREE.Matrix4;this.Ui=new THREE.Matrix4;this.zl=new THREE.Matrix4; 2870this.gi=new THREE.Matrix4},Ev:function(h){this.pq(h)},EF:function(){var h=this.get("meshGroup");return h?m.Kk(h)[0]:null},An:function(){return[0].map(function(h){var d=this.sK();h=m.create(this.Hg[h],d);l.kw(h,l.So);l.lw(h,l.br);l.ZD(h,e.AJ);l.CQ(h,1);return h}.bind(this))},yx:function(){return[k.XH()]},pq:function(h){var d=!1,c=!1;this.set("rendererYaw",h.$a);this.set("rendererPitch",h.pitch);this.set("rendererRoll",h.ng);this.set("rendererCameraFOV",h.Uh);this.set("rendererWidth",h.width);this.set("rendererHeight", 2871h.height);this.set("inVR",h.ub);if(this.N("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var f=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",f?k.Ls(this.get("distance")):k.Dq())}this.N("z")&&(this.sm.makeTranslation(0,0,-this.get("z")),c=!0);h.Uh&&this.N("z","rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(h.Uh*b*.5)*this.get("z")*2);h.camera&&this.N("rendererYaw", 2872"rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR","centerX","centerY")&&(this.YE.copy(h.camera.matrixWorld),d=this.get("rendererHeightZ"),f=d*h.camera.aspect,f=(this.get("centerX")-.5*h.width)*f/h.width*.5,d=(.5*h.height-this.get("centerY"))*d/h.height*.5,this.bH.makeTranslation(f,d,0),d=!0);this.N("roll")&&(this.Ui.makeRotationZ(this.get("roll")*b),d=!0);h.Uh&&(c||this.N("rendererHeight","inVR","rendererHeightZ","width","height","flipHorizontally"))&& 2873(c=h.ub?512/h.height:1,h=(this.get("flipHorizontally")?-1:1)*this.get("width")*c,c*=this.get("height"),this.zl.makeScale(h,c,1),d=!0);this.N("width","height","offsetX","offsetY")&&(h=.5-this.get("offsetX")/this.get("width"),c=this.get("offsetY")/this.get("height")-.5,this.yna.makeTranslation(h,c,0),d=!0);d&&(this.gi.copy(this.YE),this.gi.multiply(this.sm),this.gi.multiply(this.bH),this.gi.multiply(this.Ui),this.gi.multiply(this.zl),this.gi.multiply(this.yna),m.zq(this.get("meshGroup"),this.gi))}}}); 2874define("jX",["require","lx","c","eb"],function(a){var e=a("lx"),k=a("c");a=a("eb");return e.extend(k,a,function(){k.call(this);this.set("tag","Sprite")})}); 2875define("gP",["require","nJ"],function(a){function e(m,l,b,h,d,c){this.fo=l;this.O=document.createElement("canvas");this.O.width=this.fo;this.O.height=this.fo;switch(m){case e.oJ:this.IIa(b,h,d,c);break;case e.kR:this.JIa(b,h,d,c)}}var k=a("nJ");e.prototype.yd=function(){return this.fo};e.prototype.je=function(){return this.fo};e.prototype.Xf=function(){return this.O};e.prototype.IIa=function(m,l,b,h){var d=.5*this.fo,c=.5*this.fo,f=.5*this.fo,g=this.O.getContext("2d");l=k.Lq(l);for(var p=g.createRadialGradient(d, 2876c,0,d,c,f),q=0;q<b.length;q++)p.addColorStop(h[q],"rgba("+l[0]+","+l[1]+","+l[2]+","+b[q]+")");g.fillStyle=p;g.globalAlpha=m;g.beginPath();g.arc(d,c,f,0,2*Math.PI,!0);g.closePath();g.fill()};e.prototype.JIa=function(m,l,b,h){var d=.5*this.fo,c=.5*this.fo,f=.5*this.fo,g=this.O.getContext("2d");g.clearRect(0,0,this.fo,this.fo);var p=k.Lq(l),q=g.createRadialGradient(d,c,0,d,c,f);for(l=0;l<b.length;l++)q.addColorStop(h[l],"rgba("+p[0]+","+p[1]+","+p[2]+","+b[l]+")");g.fillStyle=q;g.globalAlpha=m;g.beginPath(); 2877for(l=0;6>l;l++)b=45*Math.PI/180+2*Math.PI*l/6,m=d+Math.cos(b)*f,b=c+Math.sin(b)*f,0==l?g.moveTo(m,b):g.lineTo(m,b);g.closePath();g.fill()};e.oJ="circle";e.kR="hexagon";return e}); 2878define("nt","require lx kJ oR dI ji do jX gP fh".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("dI"),b=a("ji"),h=a("do"),d=a("jX"),c=a("gP"),f=a("fh");a=e.extend(b,function(p){b.call(this);this.v=p;this.gk.push(this.v);this.Tf=this.Tf.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.D2=this.jHa();this.Bf=this.fIa();this.Tg(this.D2.concat([this.Bf]))});a.prototype.Nb=function(){b.prototype.Nb.call(this);this.trigger(m.Wc);this.trigger(m.Z);k.ga(this.v,["yaw", 2879"pitch","bleaching","bleachingDistance"],this.Tf,!0)};a.prototype.Qb=function(){k.ca(this.v,["yaw","pitch","bleaching","bleachingDistance"],this.Tf);b.prototype.Qb.call(this)};a.prototype.Tf=function(){this.set("yaw",this.v.get("yaw"));this.set("pitch",this.v.get("pitch"));this.set("bleaching",this.v.get("bleaching"));this.set("bleachingDistance",this.v.get("bleachingDistance"))};a.prototype.fa=function(p){b.prototype.fa.call(this,p);this.set("rendererYaw",p.$a);this.set("rendererPitch",p.pitch); 2880this.set("rendererRoll",p.ng);this.set("rendererCameraFOV",p.Uh);this.set("rendererWidth",p.width);this.set("rendererHeight",p.height);this.set("inVR",p.ub);if(this.N("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.N("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth", 2881"rendererHeight","inVR","yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var t=p.$a+this.get("composedDeltaYaw"),u=p.pitch+this.get("composedDeltaPitch"),v=p.ng+this.get("composedDeltaRoll");q=this.get("translationAlpha");r=n=0;if(!p.ub&&(t=l.get(this.get("yaw"),this.get("pitch"),t,u,v,p.Uh,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, 28821-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.D2.length;p++)q=this.D2[p],q.set("alpha",n),0<n&&(q.set("centerX",y+w*g[p].position),q.set("centerY",z+x*g[p].position));this.Bf.set("alpha",r)}};a.prototype.jHa=function(){return g.map(function(p){var q=(new c(p.form,p.fE,p.opacity,p.color,p.zD,p.AD)).Xf(),n=new f;n.Ul(q);q=new d;q.set("textureSource",n);q.set("width",p.size);q.set("height", 2883p.size);q.set("offsetX",.5*p.size);q.set("offsetY",.5*p.size);q.set("alpha",0);return q})};a.prototype.fIa=function(){return new h("#ffffff")};var g=[{form:c.kR,position:.1,size:52,fE:128,opacity:.8,color:"#FCFCFC",zD:[1,.5],AD:[0,.866]},{form:c.kR,position:.2,size:52,fE:128,opacity:.6,color:"#C8FCC8",zD:[1,.5],AD:[0,.866]},{form:c.oJ,position:.36,size:112,fE:128,opacity:.5,color:"#C8C8FC",zD:[1,.9,.6,0],AD:[0,.2,.4,1]}
2883,{form:c.oJ,position:.47,size:32,fE:128,opacity:.3,color:"#96C8AF",zD:[1,1,0], 2884AD:[0,.9,1]},{form:c.oJ,position:.65,size:52,fE:128,opacity:.7,color:"#FCFCFC",zD:[.7,.7,.2,0],AD:[0,.1,.4,1]},{form:c.kR,position:.88,size:128,fE:128,opacity:.4,color:"#AF96C8",zD:[1,.5],AD:[0,.866]},{form:c.oJ,position:1,size:33,fE:128,opacity:.8,color:"#C89696",zD:[.8,.8,.6,0],AD:[0,.2,.4,1]}];return a}); 2885define("dl",["require","bT","hB"],function(a){function e(b,h){this.yb=b;this.Ppa=5;this.$d=h.map(function(d){return new k(b,d)});this.WF=this.XF=this.Ah=this.uf=0;this.paa();this.O=document.createElement("canvas");this.O.width=this.uf;this.O.height=this.Ah;this.za=this.O.getContext("2d");this.xa=!0;this.mf=this.Jpa=-1}function k(b,h){this.KD=b;this.item=h;this.label=h.get("label");this.fontFamily=this.KD.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.KD.get("backgroundColor", 2886"#000000");this.Sza=this.KD.get("rollOverBackgroundColor",this.backgroundColor);this.b_a=this.KD.get("selectedBackgroundColor",this.Sza);this.Mva=this.KD.get("fontColor","#000000");this.Tza=this.KD.get("rollOverFontColor",h.Mva);this.c_a=this.KD.get("selectedFontColor",h.Tza);this.zBa=this.yBa=this.ABa=this.BBa=this.height=this.width=this.left=this.top=0;this.status=!1;this.Dca=!0}var m=a("bT"),l=a("hB");k.prototype.n2a=function(){var b=new m.G1;b.fontFamily=this.fontFamily;b.fontSize=this.fontSize; 2887b=m(this.label,b);this.BBa=b.width;this.ABa=b.height};k.prototype.J0a=function(b){this.status!=b&&(this.status=b,this.Dca=!0)};k.prototype.UVa=function(b){if(this.Dca){this.Dca=!1;switch(this.status){case "normal":var h=this.backgroundColor;var d=this.Mva;break;case "over":h=this.Sza;d=this.Tza;break;case "selected":h=this.b_a,d=this.c_a}b.clearRect(this.left,this.top,this.width,this.height);b.fillStyle=h;b.fillRect(this.left,this.top,this.width,this.height);b.fillStyle=d;b.font=this.fontSize+" '"+ 2888this.fontFamily+"'";b.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+l.Ov(this.fontFamily);b.textBaseline="middle";b.textAlign="center";b.fillText(this.label,Math.round(this.yBa),Math.round(this.zBa));return!0}return!1};e.prototype.yd=function(){return this.uf};e.prototype.je=function(){return this.Ah};e.prototype.Xf=function(){return this.O};e.prototype.paa=function(){var b=0,h=0;this.$d.forEach(function(g){g.n2a();b=Math.max(g.BBa,b);h=Math.max(g.ABa,h)});this.XF=b+2*this.Ppa;this.WF=h+2* 2889this.Ppa;var d=0,c=0,f=0;this.LL=20;20<this.$d.length&&(this.LL=Math.ceil(this.$d.length/Math.ceil(this.$d.length/20)));this.$d.forEach(function(g){f>=this.LL&&(f=0,c+=this.XF,d=0);g.left=c;g.top=d;g.yBa=c+.5*this.XF;g.zBa=d+.5*this.WF;g.width=this.XF;g.height=this.WF;f+=1;d+=this.WF}.bind(this));this.uf=Math.ceil(this.$d.length/this.LL)*this.XF;this.Ah=Math.min(this.LL,this.$d.length)*this.WF};e.prototype.update=function(){for(var b=!1,h=0;h<this.$d.length;h++)this.$d[h].J0a(this.Jpa==h?"over":this.mf== 2890h?"selected":"normal"),b=this.$d[h].UVa(this.za)||b;return b};e.prototype.cwa=function(b,h){var d=-1;0<=b&&b<this.uf&&0<=h&&h<this.Ah&&(d=Math.floor(b/this.XF)*this.LL+Math.floor(h/this.WF),d>=this.$d.length&&(d=-1));return d};e.prototype.nea=function(b){this.Jpa=b};e.prototype.wea=function(b){this.mf=b};e.prototype.clear=function(){this.$d=this.O=this.za=this.yb=null};return e}); 2891define("bz","require lx kJ oR jF dl fh ou bG kt".split(" "),function(a){function e(n,r,t){n=(r-n)*(1-t);1E-5>Math.abs(n)&&(n=0);return r-n}var k=a("lx"),m=a("kJ"),l=a("oR"),b=a("jF"),h=a("dl"),d=a("fh"),c=a("ou"),f=a("bG"),g=a("kt");a=k.extend(b,function(n){b.call(this);this.yb=n;this.Gp=this.Gp.bind(this);this.Tn=this.O=null;this.xv=this.Xm=this.X8=this.dv=void 0;this.Yia=20;this.bg=null;this.zb=this.yb.get("opacity",.5);this.OM=this.yb.get("rollOverOpacity",this.zb);this.MMa=1;this.OMa=.66;this.set("tag", 2892"MenuButton");this.set("visible",!1);this.set("over",!1);this.set("centerDistance",void 0)});a.prototype.Nb=function(){b.prototype.Nb.call(this);m.ga(this.yb,["label"],this.Gp,!0)};a.prototype.Qb=function(){m.ca(this.yb,["label"],this.Gp);b.prototype.Qb.call(this)};a.prototype.Gp=function(){this.O=null};a.prototype.fa=function(n){this.oq(n);this.jg(n);this.XC(n);this.nf(n);this.Td(n);b.prototype.fa.call(this,n)};a.prototype.oq=function(n){n.ub&&!this.Tn&&g.getType()==g.Et.Rk&&this.Tg([this.Tn=new b])}; 2893a.prototype.jg=function(){this.get("visible")&&(this.O||(this.get("textureSource")||this.set("textureSource",new d),this.O=new h(this.yb,[this.yb]),this.get("textureSource").Ul(this.O.Xf()),this.set("contentWidth",this.O.yd()),this.set("contentHeight",this.O.je()),this.set("hfov",2*Math.atan2(.5*this.O.yd(),300)*q),this.set("distance",this.yb.get("distance"))),this.O.update(
2893)&&(this.get("textureSource").update(),this.Ca()),this.N("over")&&this.O.nea(this.get("over")?0:-1))};a.prototype.XC=function(n){this.N("visible")&& 2894(this.bg=new c("linear",[new f("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,void 0)],300));this.bg&&(this.bg.Oe()?this.bg=null:this.bg.Cb(n.Wd))};a.prototype.nf=function(n){if(this.get("visible")||this.bg){this.Xm=n.$a;this.xv=Math.min(90,Math.max(-90,this.Yia+this.Yia-n.pitch));if(this.N("visible")&&this.get("visible"))this.set("yaw",n.$a),this.set("pitch",n.pitch);else{for(;this.Xm+180<this.dv;)this.dv-=360;for(;this.Xm-180>this.dv;)this.dv+=360;var r=(this.Xm-this.dv)/n.Wd,t=(this.xv- 2895this.X8)/n.Wd,u=Math.atan2(t,r);t=Math.sqrt(t*t+r*r);t=Math.min(t,10*p);r=Math.cos(u)*t;u=Math.sin(u)*t;this.set("yaw",e(this.get("yaw"),this.Xm+r,.02));this.set("pitch",e(this.get("pitch"),this.xv+u,.02))}this.dv=this.Xm;this.X8=this.xv;u=this.get("yaw")-n.$a;n=this.get("pitch")-n.pitch;this.set("centerDistance",Math.sqrt(u*u+n*n))}};a.prototype.Td=function(){if(!this.get("visible")&&!this.bg)this.set("alpha",0);else if(this.N("over","centerDistance")||this.bg){var n=this.get("over")?this.OM:this.zb, 2896r=this.OMa,t=this.get("centerDistance")/this.get("hfov");1>t&&(r+=(1-t)*(this.MMa-r),n+=(1-t)*(this.OM-n));this.bg&&(n*=this.bg.fb("displayCoef"),r*=this.bg.fb("displayCoef"));this.set("alpha",n);this.set("scale",r)}};a.prototype.Tl=function(n){if(n.ff==l.Uk){var r=!1;this.get("visible")&&!n.Jk()&&(r=0<this.ru(n.Xp).length);r&&(n.gz(this.yb),n.iD(this.yb),n.Ik(this.get("distance")));this.get("over")!=r&&(this.get("over")&&this.yb.trigger(l.ac),this.set("over",r),this.get("over")&&this.yb.trigger(l.Xc))}else n.ff== 2897l.$f&&this.get("visible")&&!n.Jk()&&0<this.ru(n.Xp).length&&(n.Rq(this.yb),this.yb.trigger(l.ra),this.trigger(l.ra))};var p=Math.PI/180,q=180/Math.PI;return a}); 2898define("jJ","require lx kJ oR jF dl fh ou bG kt".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("jF"),b=a("dl"),h=a("fh"),d=a("ou"),c=a("bG"),f=a("kt");a=e.extend(l,function(p,q){l.call(this);this.yb=p;this.ny=q;this.Gp=this.Gp.bind(this);this.O=null;this.X8=this.dv=void 0;this.bg=null;this.zb=this.yb.get("opacity",.5);this.OM=this.yb.get("rollOverOpacity",this.zb);this.set("textureSource",new h);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.Xja= 2899!1});a.prototype.Nb=function(){l.prototype.Nb.call(this);k.ga(this.yb,["label"],this.Gp,!0);this.ny.forEach(function(p){k.ga(p,["label"],this.Gp,!0)}.bind(this))};a.prototype.Qb=function(){k.ca(this.yb,["label"],this.Gp);this.ny.forEach(function(p){k.ca(p,["label"],this.Gp)}.bind(this));l.prototype.Qb.call(this)};a.prototype.Gp=function(){this.O=null};a.prototype.fa=function(p){this.oq(p);this.jg(p);this.XC(p);this.nf(p);l.prototype.fa.call(this,p)};a.prototype.sHa=function(){this.O||(this.O=new b(this.yb, 2900this.ny),this.get("textureSource").Ul(this.O.Xf()),this.set("contentWidth",this.O.yd()),this.set("contentHeight",this.O.je()),this.set("hfov",2*Math.atan2(.5*this.O.yd(),300)*g),this.set("distance",this.yb.get("distance")))};a.prototype.jg=function(){this.O||this.sHa();this.N("selectedIndex")&&this.O.nea(this.get("selectedIndex"));this.N("overIndex")&&this.O.nea(this.get("overIndex"));this.O.update()&&(this.get("textureSource").update(),this.Ca())};a.prototype.oq=function(p){p.ub&&!this.Tn&&f.getType()== 2901f.Et.Rk&&this.Tg([this.Tn=new l])};a.prototype.XC=function(p){this.bg||this.Xja||(this.bg=new d("linear",[new c("alpha",0,1,void 0),new c("scale",0,1,void 0),new c("yaw",p.$a,this.get("yaw"),void 0),new c("pitch",p.pitch,this.get("pitch"),void 0)],300));this.bg&&(this.bg.Oe()?(this.Xja=!0,this.bg=null):this.bg.Cb(p.Wd))};a.prototype.nf=function(){if(this.bg){var p=0>this.get("overIndex")?this.zb:this.OM;this.set("alpha",p*this.bg.fb("alpha"));this.set("scale",this.bg.fb("scale"));this.set("yaw",this.bg.fb("yaw")); 2902this.set("pitch",this.bg.fb("pitch"))}else this.N("overIndex")&&(p=0>this.get("overIndex")?this.zb:this.OM,this.set("alpha",p))};a.prototype.Tl=function(p){if(p.ff==m.Uk){var q=-1;if(!p.Jk()){var n=this.ru(p.Xp).filter(function(r){return r.source==this.O.Xf()}.bind(this));0<n.length&&(q=this.O.cwa(n[0].x,n[0].y))}0<=q&&(p.gz(this.ny[q]),p.iD(this.ny[q]),p.Ik(this.get("distance")));0<=this.get("overIndex")!=0<=q&&(0<q?this.trigger(m.Xc):this.trigger(m.ac));this.get("overIndex")!=q&&(0<=this.get("overIndex")&&
2903this.ny[this.get("overIndex")].trigger(m.ac),this.set("overIndex",q),0<=this.get("overIndex")&&this.ny[this.get("overIndex")].trigger(m.Xc))}else p.ff!=m.$f||p.Jk()||(n=this.ru(p.Xp).filter(function(r){return r.source==this.O.Xf()}.bind(this)),0<n.length&&(q=this.O.cwa(n[0].x,n[0].y),0<=q&&(n=this.ny[q],this.set("selectedIndex",q),p.Rq(n),p.Ik(this.get("distance")),n.trigger(m.ra),this.trigger(m.ra,{item:n}))))};var g=180/Math.PI;return a}); 2904define("iC",["require","lx","oR","ji","jJ"],function(a){var e=a("lx"),k=a("oR"),m=a("ji"),l=a("jJ");a=e.extend(m,function(d){m.call(this);this.yb=d;this.Ey=[];this.AG=null;this.set("tag","MenuPanels");this.set("visible",!1)});a.prototype.fa=function(d){this.N("visible")&&this.get("visible")&&(this.set("yaw",d.$a),this.set("pitch",d.pitch),this.bia(this.yb));m.prototype.fa.call(this,d)};a.prototype.bia=function(d){d=new l(this.yb,d.get("children",[]));var c=this.get("yaw");this.Lb().forEach(function(f){c+= 2905f.get("hfov")+h});d.set("yaw",c);d.set("pitch",this.get("pitch"));this.REa(d);this.appendChild(d)};a.prototype.Jqa=function(d){this.Lb().slice(d).forEach(function(c){this.qPa(c);c.remove()}.bind(this));this.Ey=this.Ey.filter(function(c){return 0<=this.Lb().indexOf(c)}.bind(this))};a.prototype.REa=function(d){d.bind(k.Xc,this.Spa,this,!0);d.bind(k.ac,this.Rpa,this,!0);d.bind(k.ra,this.Qpa,this,!0)};a.prototype.qPa=function(d){d.unbind(k.Xc,this.Spa,this,!0);d.unbind(k.ac,this.Rpa,this,!0);d.unbind(k.ra, 2906this.Qpa,this,!0)};a.prototype.Spa=function(d){0>this.Ey.indexOf(d.source)&&(this.Ey.push(d.source),1==this.Ey.length&&this.kja())};a.prototype.Rpa=function(d){d=this.Ey.indexOf(d.source);0<=d&&(this.Ey.splice(d,1),0==this.Ey.length&&this.MQa())};a.prototype.Qpa=function(d){var c=d.source;d=d.data.item;d.get("children",[]).length?(this.Jqa(this.Lb().indexOf(c)+1),this.bia(d)):this.oja()};a.prototype.oja=function(){this.set("visible",!1);this.Jqa(0);this.kja();this.trigger(k.pE)};a.prototype.kja=function(){this.AG&& 2907(clearTimeout(this.AG),this.AG=null)};a.prototype.MQa=function(){this.AG||(this.AG=setTimeout(function(){this.AG=null;this.oja()}.bind(this),b))};var b=3E3,h=1;return a}); 2908define("gi","require lx oR ji bz iC".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("ji"),l=a("bz"),b=a("iC");a=e.extend(m,function(h){m.call(this);this.v=h;this.gk.push(this.v);this.set("tag","Menu");this.set("visible",!1);this.Yd=new l(this.v);this.Yd.bind(k.ra,this.ZFa,this,!1);this.Lh=new b(this.v);this.Lh.bind(k.pE,this.tOa,this,!1);this.Tg([this.Yd,this.Lh])});a.prototype.Nb=function(){m.prototype.Nb.call(this);this.trigger(k.Wc);this.trigger(k.Z)};a.prototype.fa=function(h){this.set("visible", 2909h.ub);this.N("visible")&&(this.Yd.set("visible",this.get("visible")),this.Lh.set("visible",!1));m.prototype.fa.call(this,h)};a.prototype.ZFa=function(){this.Yd.set("visible",!1);this.Lh.set("visible",!0)};a.prototype.tOa=function(){this.Yd.set("visible",this.get("visible"))};return a}); 2910define("lm","require lx oR jF fh ol ly".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("jF"),l=a("fh"),b=a("ol"),h=a("ly");a=e.extend(m,function(){m.call(this);this.set("tag","CustomPlane");this.set("source",null);this.set("sourceUpdated",!1);this.Rd=this.Jg=null});a.prototype.Nb=function(){this.Jg=(new b(k.Z)).Yl(this.Fp.bind(this));this.Rd=(new b(k.Z)).Ao(this.Wu.bind(this));m.prototype.Nb.call(this)};a.prototype.Qb=function(){this.Jg.dispose();this.Rd.dispose();m.prototype.Qb.call(this)};a.prototype.fa= 2911function(d){if(this.N("source","sourceUpdated","useMipmapping","anisotropy")){var c=this.get("textureSource");c||this.set("textureSource",c=new l);this.N("source")&&c.Ul(this.get("source"));this.N("sourceUpdated")&&(c.update(),this.set("sourceUpdated",!1));this.N("useMipmapping")&&c.R_(this.get("useMipmapping"),this.get("anisotropy"))}m.prototype.fa.call(this,d);this.N("meshGroup")&&(d=(d=this.get("meshGroup"))&&d.children||[],d.length&&(this.Jg.sf(d),this.Rd.sf(d)))};a.prototype.Fp=function(){this.trigger(k.Wc); 2912this.trigger(k.Z)};a.prototype.Wu=function(d,c){var f=0;c.Fs(function(g){(g=c.Nl(g))&&(f+=g.Sg)});this.trigger(new h(k.ec,f/c.Yc.length))};return a}); 2913define("hk","require lx kJ oR hc ji lm lV dn bv".split(" "),function(a){function e(n,r,t){this.d_=n;this.d_.bind(l.G("distanceToFloor"),this.fa,this,!1);this.Cj=r;this.Cj.bind(l.G("yaw"),this.fa,this,!1);this.Cj.bind(l.G("distance"),this.fa,this,!1);this.Cj.bind(l.G("enabled"),this.fa,this,!1);this.Cj.bind(l.G("enabledInSurfaceSelection"),this.fa,this,!1);this.ab=null;this.me=new d;this.me.set("hfov",20);this.me.set("vfov",20);this.me.set("pitch",-90);this.me.set("useMipmapping",!0);this.me.set("anisotropy", 291416);this.me.set("source",t.Xf());this.me.set("contentWidth",t.yd());this.me.set("contentHeight",t.je());this.fa()}
2914var k=a("lx"),m=a("kJ"),l=a("oR"),b=a("hc"),h=a("ji"),d=a("lm"),c=a("lV"),f=a("dn"),g=a("bv");a=k.extend(h,function(n){h.call(this);this.SU=this.SU.bind(this);this.Nr=this.Nr.bind(this);this.PU=this.PU.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",!1);this.set("enabled",!1);this.ma=n;this.JR=[];this.QK=new g;this.yj=new f;this.ce=new d;this.ce.set("useMipmapping", 2915!0);this.ce.set("anisotropy",16);this.ce.set("hfov",20);this.ce.set("vfov",20);this.ce.set("pitch",-90);this.set("reticleCoef",1);this.Tg([this.ce])});a.prototype.Nb=function(){this.RHa();h.prototype.Nb.call(this);m.ga(this.ma,["distanceToFloor"],this.SU,!0);m.ga(this.ma,["adjacentPanoramas"],this.Nr,!0);m.ga(this.Da.yc,["adjacentPanoramaPositionsEnabled"],this.PU,!0);this.trigger(l.Wc);this.trigger(l.Z)};a.prototype.Qb=function(){h.prototype.Qb.call(this);m.ca(this.ma,["distanceToFloor"],this.SU); 2916m.ca(this.ma,["adjacentPanoramas"],this.Nr);m.ca(this.Da.yc,["adjacentPanoramaPositionsEnabled"],this.PU);this.rra([])};a.prototype.SU=function(){var n=this.ma.get("distanceToFloor");this.ce.set("distance",n);n=b.Ls(n);var r=b.mca(n,90),t=b.nca(n,90);this.QK.Pf.set(.5*-r,-n,.5*-t);this.QK.Zi.set(.5*r,-n,.5*-t);this.QK.Dz.set(.5*-r,-n,.5*t);this.Uqa=n/b.Dq()};a.prototype.Nr=function(){this.rra(this.ma.get("adjacentPanoramas",[]))};a.prototype.PU=function(){this.Nr()};a.prototype.rra=function(n){this.JR.forEach(function(r){r.clear()}); 2917this.JR=n.map(function(r){return new e(this.ma,r,this.O8)}.bind(this));n=[];this.Da.yc.get("adjacentPanoramaPositionsEnabled")&&(n=n.concat(this.JR.map(function(r){return r.me})));n=n.concat([this.ce]);this.Tg(n)};a.prototype.fa=function(n){h.prototype.fa.call(this,n);this.set("enabled",n.MQ);this.Jaa();this.dz(n)};a.prototype.Jaa=function(){this.N("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&& 2918(this.ce.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.ota())};a.prototype.RHa=function(){this.VG=new c(this.Da.M);this.VG.setPosition(this.get("reticleCoef"));this.ce.set("source",this.VG.Xf());this.ce.set("contentWidth",this.VG.yd());this.ce.set("contentHeight", 2919this.VG.je());this.O8=new c(this.Da.M);this.O8.setPosition(0);this.O8.update(1)};a.prototype.dz=function(n){this.N("reticleCoef")&&this.VG.setPosition(this.get("reticleCoef"));this.ce.set("sourceUpdated",this.VG.update(n.Wd))};a.prototype.Tl=function(n){if(n.lMa)if(!this.get("enabled")||0==n.Xp.length||n.Jk()||n.Co())this.set("reticleVisible",!1);else{var r=n.Xp[0];this.yj.Pf.set(r.origin.x,r.origin.y,r.origin.z);this.yj.Zi.set(r.origin.x+r.direction.x,r.origin.y+r.direction.y,r.origin.z+r.direction.z); 2920if(r=this.QK.intersection(this.yj,!0)){var t=this.QK.l_(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.Uqa,y:-t*this.Uqa};n.Ss()||n.oxa()?n.ff==l.Uk&&(this.set("reticleVisible",!0),this.ce.set("alpha",Math.min(1,(w- -75)/5)),this.ce.set("translationX",x.x),this.ce.set("translationZ",x.y)):this.set("reticleVisible",!1);var y=.5*this.Da.yc.get("surfaceSelectionHorizontalAngle"),z=.5* 2921this.Da.yc.get("surfaceSelectionVerticalAngle");t=this.JR.map(function(C){return{Cj:C.Cj,IP:C.FWa(v),vertical:C.fXa(w),distance:C.WY(x)}}).filter(function(C){return C.IP<y&&C.vertical<z});0==t.length?this.set("reticleCoef",0):(t.sort(function(C,A){return C.distance-A.distance}),u=t[0].Cj,this.set("reticleCoef",Math.max(0,Math.min(1,(1-t[0].IP/y)*(1-t[0].vertical/z)))),r=this.ma.get("distanceToFloor")*Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z)/-r.y,n.oxa()&&n.KUa([u]),n.Ik(r),n.ff==l.$f?(n.Rq([u]),this.get("blendingActive")|| 2922u.trigger(l.Yo)):(n.gz([u]),n.Ss()&&n.iD([u]),(r=this.Da.M.get("displayTooltipInSurfaceSelection")&&u.get("panorama")&&u.get("panorama").get("label"))&&n.lY(r,0)))}}else this.set("reticleVisible",!1)}};e.prototype.clear=function(){this.d_.unbind(l.G("distanceToFloor"),this.fa,this,!1);this.d_=null;this.Cj.unbind(l.G("yaw"),this.fa,this,!1);this.Cj.unbind(l.G("distance"),this.fa,this,!1);this.Cj.unbind(l.G("enabled"),this.fa,this,!1);this.Cj.unbind(l.G("enabledInSurfaceSelection"),this.fa,this,!1); 2923this.Cj=null};e.prototype.FWa=function(n){if(!this.ab)return Infinity;n=Math.abs(this.ab.$a-n);return 180<n?360-n:n};e.prototype.fXa=function(n){return this.ab?Math.abs(this.ab.pitch-n):Infinity};e.prototype.WY=function(n){if(!this.qH)return Infinity;var r=n.x-this.qH.x;n=n.y-this.qH.y;return Math.sqrt(r*r+n*n)};e.prototype.fa=function(){var n=this.Cj.get("yaw"),r=this.Cj.get("distance"),t=this.Cj.get("enabled")&&this.Cj.get("enabledInSurfaceSelection");if(void 0!==n&&void 0!==r&&t){t=this.d_.get("distanceToFloor"); 2924var u=-90+Math.atan2(r,t)*p;this.me.set("alpha",-1>u?1:0);this.ab={$a:n,pitch:u};u=b.Ls(t)/b.Dq();this.qH={x:-Math.sin(n*q)*r/t*u,y:-Math.cos(n*q)*r/t*u};this.me.set("translationX",this.qH.x);this.me.set("translationZ",this.qH.y);this.me.set("distance",t)}else this.qH=this.ab=null,this.me.set("alpha",0)};var p=180/Math.PI,q=Math.PI/180;return a}); 2925define("X","require lx kJ oR ly ji jF hk ol nr jA kt".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("ly"),b=
2925a("ji"),h=a("jF"),d=a("hk"),c=a("ol"),f=a("nr"),g=a("jA"),p=a("kt"),q=0;a=e.extend(b,function(t){b.call(this);this.v=t;this.gk.push(this.v);this.bC=this.bC.bind(this);this.Sf=this.Sf.bind(this);this.Nr=this.Nr.bind(this);this.$o(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",!1);this.set("blendingActive",!0);this.set("currentTime", 29260);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.ZV=[];this.Yn=this.Rd=this.xf=null;this.Gh=new n;this.nqa=new r;this.$Ra=new d(this.v);this.Sn=new r;this.Tg([this.Gh,this.nqa,this.$Ra,this.Sn])});a.prototype.Nb=function(){this.xf=(new c(m.Z)).Yl(this.Fp.bind(this));this.Rd=(new c(m.ec)).Ao(this.dC.bind(this));this.Yn=(new c(m.Wc)).Yl(this.oNa.bind(this)); 2927b.prototype.Nb.call(this);this.get("blendingActive")&&this.Da.set("globalBlendingActive",this.Da.get("globalBlendingActive")+1);k.ga(this.v,["currentTime"],this.bC,!0);k.ga(this.v,["frames","overlays","vrMenu","flipImageHorizontally"],this.Sf,!0);k.ga(this.v,["adjacentPanoramas"],this.Nr,!0)};a.prototype.Qb=function(){this.xf.dispose();this.Rd.dispose();this.Yn.dispose();this.get("blendingActive")&&this.Da.set("globalBlendingActive",this.Da.get("globalBlendingActive")-1);b.prototype.Qb.call(this); 2928k.ca(this.v,["currentTime"],this.bC);k.ca(this.v,["frames","overlays","vrMenu","flipImageHorizontally"],this.Sf);k.ca(this.v,["adjacentPanoramas"],this.Nr);this.t$()};a.prototype.Sf=function(){function t(C,A,B){C=y.indexOf(C);return 0>C?B:w[C].get(A,B)}function u(C){return t(C,"projected",!1)}var v=this.Da.Tv(this.v.get("frames"));v.forEach(function(C){C.set("panoramaId",this.get("id"));C.set("flipHorizontally",this.v.get("flipImageHorizontally"))}.bind(this));var w=this.v.get("overlays"),x=this.Da.Tv(w), 2929y=x.slice(),z=x.filter(u).filter(function(C){return t(C,"enabled",!0)});this.v.get("vrMenu")&&x.push(this.Da.Tv(this.v.get("vrMenu")));x.forEach(function(C){C.set("panoramaId",this.get("id"))}.bind(this));this.xf.sf(v.concat(x));this.Rd.sf(v.concat(x));this.Yn.sf(v.concat(z));this.nqa.Tg(x.filter(u));this.Gh.Tg(v);this.Sn.Tg(x.filter(function(C){return!u(C)}));this.set("panoramaPixelsPerDegree",f.kwa(this.v));this.vta()};a.prototype.bC=function(){this.set("currentTime",this.v.get("currentTime",0))}; 2930a.prototype.Nr=function(){this.set("adjacentPanoramas",this.v.get("adjacentPanoramas",[]))};a.prototype.Fp=function(){this.Bj();this.trigger(m.Z)};a.prototype.oNa=function(){this.Bj();this.set("ready",!0);this.trigger(m.Wc)};a.prototype.dC=function(){this.Bj()};a.prototype.Bj=function(){var t=0;this.Rd.Fs(function(u){var v=0,w;this.xf.Nl(u)?v=100:(w=this.Rd.Nl(u))&&(v=w.Sg);t+=v}.bind(this));this.trigger(new l(m.ec,t/this.Rd.Yc.length))};a.prototype.fa=function(t){t.ub&&!this.Tn&&p.getType()==p.Et.Rk&& 2931this.Tg([this.Tn=new h].concat(this.Lb()));var u=this.get("blendingActive");this.set("blendingActive",1>this.get("alpha"));u!=this.get("blendingActive")&&this.Da.set("globalBlendingActive",this.Da.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",!1!==this.Da.sc.get("backgroundPreloadEnabled"));this.set("preloadEnabled",t.hQ);this.N("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")? 2932this.HRa():this.t$());this.N("index")&&this.vta();b.prototype.fa.call(this,t)};a.prototype.Aca=function(){return f.Aca(this.v,this.get("preloadEnabled"))};a.prototype.zda=function(){return f.zda(this.v,this.get("preloadEnabled"))};a.prototype.HRa=function(){this.t$();this.ZV=this.get("adjacentPanoramas").map(function(t){t=t.get("panorama");return[t,f.bn(t,this.get("preloadEnabled"))]}.bind(this));this.ZV.forEach(function(t){g.Aua(t[0],t[1]);g.JZ(t[0],1)})};a.prototype.t$=function(){this.ZV.forEach(function(t){g.JZ(t[0], 2933-1);g.PZa(t[0],t[1])});this.ZV=[]};a.prototype.vta=function(){var t=this.get("index");
2933this.Gh.Lb().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.$o(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});n.prototype.fa=function(t){this.Lb().forEach(function(u,v,w){u.set("frontFrame",w[w.length-1])});b.prototype.fa.call(this, 2934t)};var r=e.extend(b,function(){b.call(this);this.$o(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});return a}); 2935define("jx",["require","lx","fD","et"],function(a){var e=a("lx"),k=a("fD"),m=a("et"),l=0;a=e.extend(k,function(){k.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+l++)});a.prototype.fa=function(b){k.prototype.fa.call(this,b);this.YC()};a.prototype.bD=function(){if(this.N("panoramaIndex","frameIndex","frameCount","meshGroup")){var b=this.get("meshGroup");if(b){var h=this.get("panoramaIndex"),d=this.get("frameIndex"), 2936c=this.get("frameCount"),f=b.children.length;b.children.forEach(function(g,p){m.A_(g,h+(p+d/c)/f)}.bind(this))}}};a.prototype.YC=function(){if(this.N("meshGroup","panoramaId","id")){var b=this.get("meshGroup");b&&b.children.forEach(function(h,d){m.setAttribute(h,m.Sz,this.get("panoramaId"));m.setAttribute(h,m.Z_,d);m.setAttribute(h,m.kE,this.get("id"))}.bind(this))}};return a}); 2937define("nZ","require lx kJ oR id ji jx ol nr fA kA ly".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("id"),b=a("ji"),h=a("jx"),d=a("ol"),c=a("nr"),f=a("fA"),g=a("kA"),p=a("ly");a=e.extend(h,function(n){h.call(this);this.set("tag","ImagePanoramaFrame");this.eqa=!0;this.v=n;this.gk.push(this.v);this.vk=this.Jg=this.Yn=null;this.e7=[];this.Sf=this.Sf.bind(this);this.$o(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.Tg([this.Sn=new q])});a.prototype.Nb=function(){this.Yn= 2938new d(m.Z);this.Jg=new d(m.Z);this.vk=new d(m.ec);h.prototype.Nb.call(this);k.ga(this.v,["overlays"],this.Sf,!0)};a.prototype.Qb=function(){this.Yn.dispose();this.Jg.dispose();this.vk.dispose();k.ca(this.v,["overlays"],this.Sf);h.prototype.Qb.call(this)};a.prototype.Sf=function(){this.Sn.Tg(this.Da.Tv(this.v.get("overlays")));this.ita()};a.prototype.ita=function(){this.Jg.sf([].concat(this.e7,this.Sn.Lb()));this.vk.sf([].concat(this.e7,this.Sn.Lb()))};a.prototype.An=function(){var n=[],r=[],t=[]; 2939c.hca(this.v,this.eqa).forEach(function(u,v){var w=f.CVa(this.v,u);c.bYa(u)?(0==v&&(n=n.concat(w),r=r.concat(w)),g.lw(w,0==v?g.br:g.lR),g.kw(w,0==v?g.So:g.f1)):(0==v&&(n=n.concat(w)),r=r.concat(w),g.lw(w,g.br),g.kw(w,g.So));g.ZD(w,0==v?l.u1:l.Sk);g.CQ(w,v);t=t.concat(w)}.bind(this));this.Yn.sf(n);this.e7=r;this.ita();this.Jg.Yl(this.Fp.bind(this));this.Yn.Yl(this.QNa.bind(this));this.vk.Ao(this.dC.bind(this));this.trigger(new p(m.ec,0));return t};a.prototype.QNa=function(){this.trigger(m.Wc)};a.prototype.Fp= 2940function(){this.trigger(m.Z)};a.prototype.fa=function(n){this.eqa=n.hQ;this.GTa();h.prototype.fa.call(this,n)};a.prototype.GTa=function(){var n=this.get("frontFrame");
2940if(this.N("frontFrame")||n&&n.N("alpha"))n=n&&n!=this?1-n.get("alpha"):1,this.Sn.set("alpha",n)};a.prototype.dC=function(){var n=0;this.vk.Fs(function(r){var t=0,u;this.Jg.Nl(r)?t=100:(u=this.vk.Nl(r))&&(t=u.Sg);n+=t}.bind(this));this.trigger(new p(m.ec,n/this.vk.Yc.length))};var q=e.extend(b,function(){b.call(this);this.$o(["loadingActive", 2941"panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("tag","Group")});return a}); 2942define("gG","require lx oR jF mT ol ly".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("jF"),l=a("mT"),b=a("ol"),h=a("ly");a=e.extend(m,function(){m.call(this);this.set("tag","ImagePlane");this.set("url",null);this.Rd=this.xf=null});a.prototype.Nb=function(){this.xf=(new b(k.Z)).Yl(this.Fp.bind(this));this.Rd=(new b(k.ec)).Ao(this.Wu.bind(this));m.prototype.Nb.call(this)};a.prototype.Qb=function(){this.xf.dispose();this.Rd.dispose();m.prototype.Qb.call(this)};a.prototype.fa=function(d){if(this.N("url")){var c= 2943this.get("url");c=c?new l(c):null;this.set("textureSource",c)}m.prototype.fa.call(this,d);this.N("meshGroup")&&(d=(d=this.get("meshGroup"))&&d.children||[],d.length&&(this.xf.sf(d),this.Rd.sf(d)))};a.prototype.Fp=function(){this.trigger(k.Wc);this.trigger(k.Z)};a.prototype.Wu=function(d,c){var f=0;c.Fs(function(g){(g=c.Nl(g))&&(f+=g.Sg)});this.trigger(new h(k.ec,f/c.Yc.length))};return a}); 2944define("mx","require ek oR cB kX oo".split(" "),function(a){function e(c,f){this.Nc=c;this.aa=f;this.tk=!1;this.Ki=[];this.qm=this.hF=void 0;this.ue=[];this.R2();this.G3();this.hX();this.yf()}function k(c,f,g){this.time=c;this.cue=f;this.action=g}var m=a("ek"),l=a("oR"),b=a("cB"),h=a("kX"),d=a("oo");e.prototype.clear=function(){this.hK();this.Ki=[];this.$$();this.aa=this.Nc=null};e.prototype.R2=function(){this.aa.bind(d.Ff,this.Xe,this,!0);this.aa.bind(l.ne,this.yf,this,!0);this.aa.bind(l.vb,this.Cy, 2945this,!0)};e.prototype.$$=function(){this.aa.unbind(d.Ff,this.Xe,this,!0);this.aa.unbind(l.ne,this.yf,this,!0);this.aa.unbind(l.vb,this.Cy,this,!0)};e.prototype.yf=function(){var c=this.aa.getState()!=h.T;this.tk!=c&&((this.tk=c)?this.hX():this.hK())};e.prototype.Cy=function(){this.eD()};e.prototype.Xe=function(){this.eD()};e.prototype.hX=function(){this.qm=this.hF=0};e.prototype.eD=function(){if(this.aa&&this.tk){var c=this.ue.slice(),f=this.aa.getCurrentTime(),g=f-this.hF;0>g&&(this.ue=[],this.qm= 29460);g=0<=g&&2>g;this.hF=f;var p;for(p=this.qm;p<this.Ki.length&&!(this.Ki[p].time>f);p++);for(;this.qm<p;this.qm++)f=this.Ki[this.qm],"start"==f.action?(this.ue=m(this.ue).union([f.cue]),g&&f.cue.trigger(new b(l.Yq))):(this.ue=m(this.ue).difference([f.cue]),g&&f.cue.trigger(new b(l.vb)));c.length==this.ue.length&&m(c).intersection(this.ue).length==this.ue.length||this.oO()}};e.prototype.hK=function(){0<this.ue.length&&(this.ue=[],this.oO())};e.prototype.oO=function(){this.Nc.trigger(new b(l.Nj,{activeCues:this.ue.slice()}))}; 2947e.prototype.G3=function(){this.Ki=[];var c=this.Nc.get("cues",[]);m(c).each(function(f){this.Ki.push(new k(f.get("startTime",0),f,"start"));this.Ki.push(new k(f.get("endTime",Number.POSITIVE_INFINITY),f,"end"))},this);this.Ki.sort(function(f,g){return f.time==g.time?f.action==g.start?0:"start"==f.action?-1:1:f.time-g.time})};return e}); 2948define("lU",["require","oR","kX","cB","oo"],function(a){function e(h,d,c){this.sc=h;this.Nc=d;this.aa=c;this.aa.setCurrentTime(this.Rf=this.Nc.get("currentTime",0));this.aa.Ef(this.hf=this.sc.get("mute",!1));this.aa.Id(this.A=this.Nc.get("state",m.T));this.aa.setLoop(this.hl=this.Nc.get("loop"));this.sb=this.aa.Xi();this.SEa();this.$Ea();this.Kt()}var k=a("oR"),m=a("kX"),l=a("cB"),b=a("oo");e.prototype.clear=function(){this.rPa();this.xPa();this.hv();this.aa.Id(m.T);this.Nc.set("state",m.T);this.Nc.set("currentTime", 29490);this.Nc.set("duration",void 0)};e.prototype.Epa=function(){var h=this.Nc.get("state",m.T);this.A!=h&&this.aa.Id(this.A=h)};e.prototype.Cpa=function(){var h=this.Nc.get("currentTime",0);this.Rf!=h&&this.aa.setCurrentTime(this.Rf=h)};e.prototype.CM=function(){var h=this.sc.get("mute",0);this.hf!=h&&this.aa.Ef(this.hf=h)};e.prototype.Dpa=function(){var h=this.Nc.get("loop");this.hl!=h&&this.aa.setLoop(this.hl=h)};e.prototype.LM=function(){this.Nc.set("currentTime",this.Rf=this.aa.getCurrentTime())}; 2950e.prototype.JM=function(){this.Nc.set("duration",this.sb=this.aa.Xi())};e.prototype.KM=function(){this.Nc.set("state",this.A=this.aa.getState())};e.prototype.MM=function(){this.Nc.trigger(new l(k.vb))};e.prototype.SEa=function(){this.sc.bind(k.G("mute"),this.CM,this,!0)};e.prototype.rPa=function(){this.sc.unbind(k.G("mute"),this.CM,this,!0)};e.prototype.$Ea=function(){this.Nc.bind(k.G("state"),this.Epa,this,!0);this.Nc.bind(k.G("currentTime"),this.Cpa,this,!0);this.Nc.bind(k.G("loop"),this.Dpa,this, 2951!0)};e.prototype.xPa=function(){this.Nc.unbind(k.G("state"),this.Epa,this,!0);this.Nc.unbind(k.G("currentTime"),this.Cpa,this,!0);this.Nc.unbind(k.G("loop"),this.Dpa,this,!0)};e.prototype.Kt=function(){this.aa.bind(b.Ff,this.LM,this,!0);this.aa.bind(b.Ci,this.JM,this,!0);this.aa.bind(k.ne,this.KM,this,!0);this.aa.bind(k.vb,this.MM,this,!0)};e.prototype.hv=function(){this.aa.unbind(b.Ff,this.LM,this,!0);this.aa.unbind(b.Ci,this.JM,this,!0);this.aa.unbind(k.ne,this.KM,this,!0);this.aa.unbind(k.vb,this.MM, 2952this,!0)};return e}); 2953define("dP","require lx oR id kX gG jx ol fA mx lU cb et kA v on oo ly cf ou bG".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("id"),l=a("kX"),b=a("gG"),h=a("jx"),d=a("ol"),c=a("fA"),f=a("mx"),g=a("lU"),p=a("cb"),q=a("et"),n=a("kA"),r=a("v"),t=a("on"),u=a("oo"),v=a("ly"),w=a("cf"),x=a("ou"),y=a("bG");a=e.extend(h,function(I){h.call(this);this.v=I;this.gk.push(this.v);this.$o(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",void 0); 2954this.set("atStart",void 0);p.get(this.v)==p.To?this.Zaa=this.v.get("sphere"):this.Zaa=this.v.get("stereoSphere");this.tk=!1;this.Za=u.Gj(this.Zaa);this.C8=this.Wja=!1;this.FH=[];this.rC=[];this.Om=this.sk=this.vk=this.Jg=this.Pg=this.aa=null;this.vl=!1;this.Ima=this.by=this.ey=0});a.prototype.Nb=function(){this.Jg=(new d(k.Z)).Yl(this.Fp.bind(this));this.vk=(new d(k.ec)).Ao(this.dC.bind(this));
2954this.aa=new u(this.Da.sc,this.Zaa);this.mp=new f(this.v.uz(),this.aa);this.Ka=new g(this.Da.sc,this.v.uz(), 2955this.aa);this.wv=new t(this.v.uz(),this.aa);this.Kt();this.WHa();this.Wja=this.Da.yc.get("displayPlayOverlay");this.C8="play_pause"==this.Da.yc.get("clickAction");var I=this.Da.af(this.v.uz());I.appendChild(this.sk);I.appendChild(this.Om);h.prototype.Nb.call(this)};a.prototype.Qb=function(){this.Jg.dispose();this.vk.dispose();this.hv();this.mp.clear();this.mp=null;this.Ka.clear();this.Ka=null;this.wv.clear();this.wv=null;this.aa.clear();this.Pg=this.aa=null;this.eka();h.prototype.Qb.call(this)};a.prototype.WHa= 2956function(){this.eka();this.sk=this.Hja(w.Tw,w.v1,w.ADa);this.Om=this.Hja(w.CE,w.wDa,w.vDa)};a.prototype.Hja=function(I,E,G){var F=new b;F.set("url",I);F.set("contentWidth",E);F.set("contentHeight",G);F.set("hfov",10);F.set("yaw",0);F.set("pitch",0);F.set("alpha",0);return F};a.prototype.eka=function(){this.sk&&(this.sk.remove(),this.sk=null);this.Om&&(this.Om.remove(),this.Om=null)};a.prototype.An=function(){this.FH=c.IVa(this.v,this.Za);this.pUa=n.gE(q.sz(this.FH[0])[0]);this.FH.forEach(function(E){n.lw(E, 2957n.br);n.kw(E,n.So)});this.Za.get("posterURL")?(this.rC=c.JVa(this.v,this.Za),this.rC.forEach(function(E){n.lw(E,n.br);n.kw(E,n.So);n.ZD(E,m.u1)})):this.rC=[];var I=[].concat(this.FH,this.rC);this.Jg.sf(I);this.vk.sf(I);this.trigger(new v(k.ec,0));return I};a.prototype.fa=function(I){this.JTa(I);var E=this.aa.VY();this.set("frameEmpty",E.isEmpty());this.set("atStart",!(1<this.get("currentTime")));h.prototype.fa.call(this,I);this.Pg&&this.Pg.isEqual(E)?this.aa.getState()==l.X&&this.Ca():(this.Pg=E, 2958this.pUa.Ul(this.Pg.zr),this.Ca())};a.prototype.Fl=function(){this.N("composedAlpha","meshGroup","frameEmpty","atStart")&&(this.rC.length&&this.get("frameEmpty")&&this.get("atStart")?(this.rC.forEach(function(I){q.Se(I,this.get("composedAlpha"))}.bind(this)),this.FH.forEach(function(I){q.Se(I,0)}.bind(this))):(this.rC.forEach(function(I){q.Se(I,0)}.bind(this)),this.FH.forEach(function(I){q.Se(I,this.get("composedAlpha"))}.bind(this))))};a.prototype.Fp=function(){this.trigger(k.Wc);this.trigger(k.Z)}; 2959a.prototype.dC=function(I,E){var G=0;E.Fs(function(F){(F=E.Nl(F))&&(G+=F.Sg)});this.trigger(new v(k.ec,G/E.Yc.length))};a.prototype.yf=function(){this.Ca()};a.prototype.Xe=function(){this.Ca()};a.prototype.Tl=function(I){if(I.ff==k.$f&&!I.Jk()&&this.C8&&(I.Rq(this.v),I=Date.now(),!(500>I-this.Ima))){this.Ima=I;I=this.v.uz();var E=I.get("state");E==l.X?I.set("state",l.Ib):E==l.Ib&&I.set("state",l.X)}};a.prototype.JTa=function(I){if(this.C8){if(this.vl!=(this.aa.getState()==l.Ib))if(this.vl=!this.vl, 2960this.Wja){var E=this.sk.get("alpha"),G=this.vl?1:0;this.$u=new x("linear",[new y("playAlpha",E,G),new y("playScale",I.ub?1.5:1,I.ub?1.5:1),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],Math.abs(G-E)*z);this.sk.mh()}else this.$u=new x("linear",this.vl?[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)],C),this.sk.mh(),this.Om.mh();this.$u&&(this.$u.Cb(I.Wd), 2961E=this.$u.fb("playAlpha"),this.sk.set("alpha",1>E?E:2-E),this.sk.set("scale",this.$u.fb("playScale")),E=this.$u.fb("pauseAlpha"),this.Om.set("alpha",1>E?E:2-E),this.Om.set("scale",this.$u.fb("pauseScale")),this.Ca(),this.$u.Oe()&&(this.$u=null));0<this.sk.get("alpha")&&(this.get("globalBlendingActive")&&this.sk.set("alpha",0),this.sk.set("yaw",I.$a),this.sk.set("pitch",I.pitch),this.sk.set("hfov",this.Jla(I)));0<this.Om.get("alpha")&&(this.get("globalBlendingActive")&&this.Om.set("alpha",0),this.Om.set("yaw", 2962I.$a),this.Om.set("pitch",I.pitch),this.Om.set("hfov",this.Jla(I)))}};var z=300,C=600;a.prototype.Jla=function(I){return I.ub?15:2*Math.atan((r.lb()?Math.min(I.width,I.height)/100*20:w.v1)*Math.tan(I.Be*A*.5)/I.width)*B};var A=Math.PI/180,B=180/Math.PI;a.prototype.Kt=function(){this.aa.bind(u.Ff,this.Xe,this,!0);this.aa.bind(k.ne,this.yf,this,!0)};a.prototype.hv=function(){this.aa.unbind(u.Ff,this.Xe,this,!0);this.aa.unbind(k.ne,this.yf,this,!0)};return a}); 2963define("bE","require lx kJ oR kX hD ji do lm gG lU nG ol nr eE kY S ly ou bG oo".split(" "),function(a){function e(B,I){for(B-=I;180<B;)B-=360;for(;-180>B;)B+=360;return B+I}
2963var k=a("lx"),m=a("kJ"),l=a("oR"),b=a("kX");a("hD");var h=a("ji"),d=a("do"),c=a("lm"),f=a("gG"),g=a("lU"),p=a("nG"),q=a("ol"),n=a("nr"),r=a("eE"),t=a("kY"),u=a("S"),v=a("ly"),w=a("ou"),x=a("bG"),y=a("oo"),z=Math.PI/180;a=k.extend(h,function(B){h.call(this);this.v=B;this.gk.push(this.v);this.Sf=this.Sf.bind(this);this.oV=this.oV.bind(this); 2964this.$o(["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.T);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.ge=this.tb=this.Ra=this.Rd=this.xf=null;this.nb= 2965new p;this.Ot=this.$x=this.Il=this.Pg=this.aa=null});a.prototype.Nb=function(){this.xf=(new q(l.Z)).Yl(this.$B.bind(this));this.Rd=(new q(l.ec)).Ao(this.cC.bind(this));h.prototype.Nb.call(this);this.kHa();this.appendChild(this.ge);m.ga(this.v,C,this.Sf,!0);m.hD(this.v,A,this.oV,!0)};var C="playbackPositions popupDistance popupMaxHeight popupMaxWidth image.levels.url video state".split(" "),A=["visible"];a.prototype.Qb=function(){this.xf.dispose();this.Rd.dispose();m.ca(this.v,C,this.Sf);m.ca(this.v, 2966A,this.oV);this.jB();this.Ix();this.Hx();h.prototype.Qb.call(this)};a.prototype.Sf=function(){var B=n.VWa(this.v,this.get("panoramaPixelsPerDegree"));this.set("imageURL",B&&B.get("url"));this.set("imageWidth",B&&B.get("width"));this.set("imageHeight",B&&B.get("height"));this.set("video",this.v.get("video"));this.set("state",this.v.get("state"));this.set("popupDistance",this.v.get("popupDistance"));this.set("popupMaxWidth",this.v.get("popupMaxWidth"));this.set("popupMaxHeight",this.v.get("popupMaxHeight")); 2967this.set("playbackPositions",this.v.get("playbackPositions"))};a.prototype.oV=function(){this.set("visible",this.v.get("visible"))};a.prototype.fa=function(B){this.Ny=B.$a;this.My=B.pitch;this.oq(B);this.KTa();this.BO(B);this.Td(B);this.yTa(B);this.eTa(B);h.prototype.fa.call(this,B)};a.prototype.KTa=function(){this.N("playbackPositions","currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("sourceYaw",this.nb.get("yaw")),this.set("sourcePitch",this.nb.get("pitch")), 2968this.set("sourceRotationX",this.nb.get("rotationX")),this.set("sourceRotationY",this.nb.get("rotationY")),this.set("sourceRotationZ",this.nb.get("rotationZ")),this.set("sourceHFOV",this.nb.get("hfov")))};a.prototype.oq=function(){if(this.N("video","imageURL")){var B=[this.ge];this.N("imageURL")&&(this.tK(),this.Ra&&B.push(this.Ra),this.wN("itemVisible"));this.N("video")&&(this.vK(),this.tb&&B.push(this.tb),this.wN("itemVisible"));this.xf.sf(B);this.Rd.sf(B);this.Tg(B)}};a.prototype.BO=function(){if(this.aa){var B= 2969this.aa.VY();this.set("frameEmpty",!!B&&B.isEmpty());!this.Pg||B&&!this.Pg.isEqual(B)?(this.Pg=B,this.tb.set("source",this.Pg.zr),this.tb.set("sourceUpdated",!0),this.Ca()):this.aa.getState()==b.X&&this.Ca()}else this.set("frameEmpty",!1)};a.prototype.Td=function(B){this.set("inVR",B.ub);this.set("hotspotsEnabled",B.CD);this.set("rendererYaw",B.$a);this.set("rendererPitch",B.pitch);this.set("rendererRoll",B.ng);this.set("rendererWidth",B.uY);this.set("rendererHeight",B.UO);this.set("rendererHFOV", 2970B.Be);if(this.N("visible")){var I=this.get("visiblePosition"),E=this.get("visible")?1:0,G=Math.max(1,this.v.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(E-I)),F=this.v.get(this.get("visible")?"showEasing":"hideEasing");I!=E&&(this.Il=new w(F,[new x("position",I,E)],G));this.get("visible")||this.aa&&this.aa.Id(b.T)}this.Il&&(this.Il.Oe()?(this.Il=null,this.get("visible")?(this.v.trigger(l.DJ),this.v.get("autoplay")&&this.aa&&this.aa.Id(b.X)):setTimeout(function(){this.v&&this.v.trigger(l.uJ)}.bind(this), 29710)):this.Il.Cb(B.Wd),this.Il&&(this.set("visiblePosition",this.Il.fb("position")),this.Ca()));I=!1;if(I=B.ub?this.N("visible","itemVisible"):this.N("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV"))this.set("targetImageScale",this.Pla(this.Ra,B)),this.set("targetVideoScale",this.Pla(this.tb,B)),this.set("targetYaw",e(this.get("rendererYaw"),this.get("sourceYaw"))),this.set("targetPitch",this.get("rendererPitch")), 2972this.set("targetRotationZ",e(B.ub?0:this.get("rendererRoll"),this.get("sourceRotationZ")));if(I||this.N("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){E=this.get("visiblePosition");var N=this.get("targetYaw")*E+this.get("sourceYaw")*(1-E),R=this.get("targetPitch")*E+this.get("sourcePitch")*(1-E),S=this.get("sourceRotationX")*(1-E),Q=this.get("sourceRotationY")*(1-E),W=this.get("targetRotationZ")*E+this.get("sourceRotationZ")*(1-E);B=Math.min(1,2*E); 2973var H=this.get("popupDistance"),L=this.get("sourceHFOV");I=this.get("targetImageScale")*E+(1-E);E=this.get("targetVideoScale")*E+(1-E);this.set("alpha",B);this.Ra&&this.Ra.set("scale",I);this.tb&&this.tb.set("scale",E);
2973[].concat(this.tb?[this.tb]:[],this.Ra?[this.Ra]:[]).forEach(function(T){T.set("yaw",N);T.set("pitch",R);T.set("rotationX",S);T.set("rotationY",Q);T.set("rotationZ",W);T.set("distance",H);T.set("hfov",L)})}};a.prototype.yTa=function(B){if(this.N("frameEmpty","state","imageURL","video")){var I= 2974"none";!this.tb||this.Ra&&(this.get("frameEmpty")||this.get("state")==b.T)?this.Ra&&(I="image"):I="video";this.set("itemVisible",I)}if(this.N("itemVisible")){"video"!=this.get("itemVisible")&&this.aa&&this.aa.Id(b.T);I=this.Ra?this.Ra.get("alpha"):0;var E=this.tb?this.tb.get("alpha"):0,G="image"==this.get("itemVisible")?1:0,F="video"==this.get("itemVisible")?1:0,N="video"==this.get("itemVisible")?1:200*Math.max(Math.abs(G-I),Math.abs(F-E));this.$x=new w("linear",[new x("imageAlpha",I,G),new x("videoAlpha", 2975E,F)],N)}this.$x&&(this.$x.Oe()?this.$x=null:this.$x.Cb(B.Wd),this.$x&&(this.Ra&&this.Ra.set("alpha",this.$x.fb("imageAlpha")),this.tb&&this.tb.set("alpha",this.$x.fb("videoAlpha")),this.Ca()))};a.prototype.eTa=function(B){this.N("gazeOver","inVR","visible")&&(this.hja(),this.get("inVR")&&this.v.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("visible")&&this.ERa());B.ub&&this.v.get("darkenBackground")&&this.v.get("lookAwayToHide")?(this.N("visible")&&this.get("visible")&&(this.ge.set("alpha", 2976.8),this.Ot=null),this.N("gazeOver")&&(this.Ot=new w(this.get("gazeOver")?"linear":"quad_in",[new x("alpha",this.ge.get("alpha"),this.get("gazeOver")?.8:0)],this.get("gazeOver")?300:this.v.get("lookAwayToHideTime")))):(this.Ot=null,this.ge.set("alpha",B.ub&&this.v.get("darkenBackground")?.8:0));this.Ot&&(this.Ot.Oe()?this.Ot=null:this.Ot.Cb(B.Wd),this.Ot&&(this.ge.set("alpha",this.Ot.fb("alpha")),this.Ca()))};a.prototype.ERa=function(){this.hja();this.qU=setTimeout(function(){this.qU=null;this.v.set("visible", 2977!1)}.bind(this),this.v.get("lookAwayToHideTime"))};a.prototype.hja=function(){this.qU&&(clearTimeout(this.qU),this.qU=null)};a.prototype.Pla=function(B,I){if(!B)return 1;var E=this.get("popupMaxWidth","100%"),G=u.Do(E),F=B.get("contentWidth"),N=B.get("contentHeight"),R=this.get("popupMaxHeight","100%"),S=u.Do(R);if(this.get("inVR")){var Q=B=.5*this.get("rendererWidth"),W=Math.min(I.Uh,80);I=t.nD(W,B,Q);var H=this.get("sourceHFOV");E=Math.min(Math.tan(I*(void 0!==G?G/100:E/B)*.5*z)/Math.tan(.5*H*z), 2978Math.tan(W*(void 0!==S?S/100:R/Q)*.5*z)/Math.tan(.5*t.nD(H,F,N)*z))}else B=this.get("rendererWidth"),Q=this.get("rendererHeight"),E=F*Math.min((void 0!==G?B*G/100:E)/F,(void 0!==S?Q*S/100:R)/N),I=this.get("rendererHFOV"),H=this.get("sourceHFOV"),E=Math.tan(.5*I*z)*E/B/Math.tan(.5*H*z);return E};a.prototype.tK=function(){this.jB();this.get("imageURL")&&(this.Ra=new f,this.Ra.set("url",this.get("imageURL")),this.Ra.set("contentWidth",this.get("imageWidth")),this.Ra.set("contentHeight",this.get("imageHeight")), 2979this.Ra.set("alpha",0))};a.prototype.jB=function(){this.Ra&&(this.Ra.remove(),this.Ra=null)};a.prototype.vK=function(){this.Ix();if(this.get("video")){this.tb=new c;var B=y.Gj(this.get("video"));this.tb.set("contentWidth",B.get("width"));this.tb.set("contentHeight",B.get("height"));this.tb.set("alpha",0);this.aa=new y(this.Da.sc,this.get("video"));this.Ka=new g(this.Da.sc,this.v,this.aa);this.Kt()}};a.prototype.Ix=function(){this.tb&&(this.hv(),this.Ka.clear(),this.Ka=null,this.aa.clear(),this.Pg= 2980this.aa=null,this.tb.remove(),this.tb=null)};a.prototype.kHa=function(){this.Hx();this.ge=new d("#000000")};a.prototype.Hx=function(){this.ge&&(this.ge.remove(),this.ge=null)};a.prototype.$B=function(){this.trigger(l.Wc);this.trigger(l.Z)};a.prototype.cC=function(B,I){var E=0;I.Fs(function(G){var F=0,N;this.xf.Nl(G)?F=100:(N=this.Rd.Nl(G))&&(F=N.Sg);E+=F}.bind(this));this.trigger(new v(l.ec,E/I.Yc.length))};a.prototype.yf=function(){this.Ca()};a.prototype.Xe=function(){this.Ca()};a.prototype.Cy=function(){this.v.trigger(l.vb)}; 2981a.prototype.Kt=function(){this.aa.bind(y.Ff,this.Xe,this,!0);this.aa.bind(l.ne,this.yf,this,!0);this.aa.bind(l.vb,this.Cy,this,!0)};a.prototype.hv=function(){this.aa.unbind(y.Ff,this.Xe,this,!0);this.aa.unbind(l.ne,this.yf,this,!0);this.aa.unbind(l.vb,this.Cy,this,!0)};a.prototype.Tl=function(B){B.ff==l.Uk?(!B.Jk()&&this.get("visible")?(B.Rq(this.v),this.set("over",this.iq(B)),this.set("gazeOver",this.lSa(B))):this.set("over",!1),this.get("over")&&(B.gz(this.v),B.Ss()&&B.iD(this.v),B.Ik(this.get("popupDistance"))), 2982this.N("over")&&(this.v.trigger(this.get("over")?l.Xc:l.ac),B.Ss()&&this.v.trigger(this.get("over")?l.rA:l.Uo))):B.ff==l.$f&&!B.Jk()&&this.get("visible")&&(B.Rq(this.v),B.Ik(this.get("popupDistance")),this.iq(B)?B.UXa()||this.v.trigger(l.ra):this.v.set("visible",!1))};a.prototype.iq=function(B){return this.Hsa(B.Xp)};a.prototype.lSa=function(B){B=B.tD();return!!B&&this.Hsa([B])};a.prototype.Hsa=function(B){if(this.get("visible")){B=("video"==this.get("itemVisible")?this.tb:this.Ra).ru(B);for(var I= 29830;I<B.length;I++){var E=B[I];if(r.qw(E.source,E.x,E.y))return!0}}return!1};return a}); 2984define("cX",["require","lx","ji"],function(a){var e=a("lx"),k=a("ji");a=e.extend(k,function(){k.call(this);this.zx&&this.zx();this.Bn&&this.Bn()});a.prototype.Nb=function(){k.prototype.Nb.call(this);this.Un&&this.Un();this.HG&&this.HG()};a.prototype.Qb=function(){this.Wn&&this.Wn();this.IG&&this.IG();k.prototype.Qb.call(this)};a.prototype.fa=function(m){this.nf&&this.nf(m);k.prototype.fa.call(this,m);this.rq&&this.rq(m)};return a}); 2985define("jU",["require","oR"],function(a){var e=a("oR");return{zx:function(){this.set("beamEnabled",!1);this.ad=!1;this.My=this.Ny=void 0},rq:function(k){this.Ny=k.$a;this.My=k.pitch},Tl:function(k){if(k.ff==e.Uk){var m=!k.Jk()&&this.iq(k);if(m){k.gz(this.v);this.v.get("useHandCursor")&&k.iD(this.v);k.Ik(this.get("distance"));var l=this.Ob(k.HD());l&&k.lY(l,this.Yy(k.HD()))}this.ad!=m&&(this.ad=m,this.v.trigger(this.ad?e.Xc:e.ac),k.Ss()&&this.v.trigger(this.ad?e.rA:e.Uo))}else k.ff==e.$f&&!k.Jk()&& 2986this.iq(k)&&(1<this.v.hI(e.ra,!0).length&&k.Rq(this.v),k.Ik(this.get("distance")),this.v.trigger(e.ra))},iq:function(k){return this.get("beamEnabled")&&0<this.I5().ru(k.Xp).length?!0:!1},Ob:function(k){return!k||this.v.get("displayTooltipInTouchScreens")&&!1!==this.Da.M.get("displayTooltipInTouchScreens")?this.v.get("toolTip",""):""},Yy:function(k){if(k){k=this.get("yaw")-this.Ny;var m=this.get("pitch")-this.My;return Math.sqrt(k*k+m*m)}return 0}}}); 2987define("bV","require lx kJ oR cX bB ol nr jU".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("cX"),b=a("bB"),h=a("ol"),d=a("nr");a=a("jU");e=e.extend(l,a,b,function(c){l.call(this);this.v=c;this.GB=this.b5=this.g6=null;this.gk.push(this.v);this.Sf=this.Sf.bind(this);this.$o(["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); 2988this.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.Kf=this.Gr=this.Rd=this.xf=null;this.N9(this.v)});e.prototype.Nb=function(){this.xf=(new h(m.Z)).Yl(this.$B.bind(this));this.Rd=(new h(m.ec)).Ao(this.cC.bind(this));this.tHa();l.prototype.Nb.call(this);k.ga(this.v,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "), 2989this.Sf,!0);this.V4()};e.prototype.Qb=function(){this.W4();this.xf.dispose();this.Rd.dispose();k.ca(this.v,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),this.Sf);this.aka();this.cka();l.prototype.Qb.call(this)};e.prototype.Sf=function(){this.set("url",this.v.get("url"));this.Kf.set("url",this.get("url"));this.set("image",this.v.get("image"));this.Ra.set("image",this.get("image"));this.Ra.set("level",this.get("image")&&d.Yva(this.v, 2990this.get("panoramaPixelsPerDegree")));this.set("enabled",this.v.get("enabled"));this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration",this.v.get("fadeOutDuration"));this.set("interactionEnabled",this.v.get("interactionEnabled"));this.set("contentInteractive",this.v.get("contentInteractive"));this.set("transparent",this.v.get("transparent"));this.Ca()};e.prototype.fa=function(c){this.set("loaded",!!this.Kf&&this.Kf.get("frameLoaded"));this.set("inVR",c.ub);this.set("inScreenshot", 2991c.ED);this.set("hotspotsEnabled",c.CD);l.prototype.fa.call(this,c);this.Td(c);this.haa(c)};e.prototype.tHa=function(){this.tK();this.FHa();this.EHa();var c=[this.Ra,this.Gr,this.Kf];this.xf.sf(c);this.Rd.sf(c);this.Tg(c)};e.prototype.Td=function(){this.set("globalBlendingActiveCopy",this.get("globalBlendingActive"));if(this.N("globalBlendingActive","globalBlendingActiveCopy","url","inVR","hotspotsEnabled","enabled","interactionEnabled","contentInteractive","composedTranslationX","composedTranslationY", 2992"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.Kf.set("contentInteractive",c&&this.get("interactionEnabled")&&this.get("contentInteractive"))}this.set("frameHidden",!this.Kf.get("geometryVisible")); 2993this.N("visible","loaded","frameHidden","transparent","inScreenshot")&&(this.get("visible")||this.set("loaded",!1),this.Ra.set("alpha",!this.get("visible")||!this.get("frameHidden")&&this.get("loaded")?0:1),this.Ra.set("alpha",1),this.Gr.set("alpha",!this.get("visible")||this.get("frameHidden")||!this.get("loaded")||this.get("transparent")||this.get("inScreenshot")?0:1),this.Kf.set("alpha",this.get("visible")?1:0),this.Kf.set("transparent",this.get("transparent")),this.set("inView",this.get("visible")&& 2994(this.get("loaded")||this.get("image"))),this.Ca());this.N("inView")&&this.v.trigger(this.get("inView")?m.ld:m.hd)};e.prototype.tK=function(){this.jB();this.Ra=new this.GB;this.Ra.set("image",this.get("image"));this.Ra.set("level",this.get("image")&&d.Yva(this.v,this.get("panoramaPixelsPerDegree")));this.Ra.set("visible",!0);this.Ra.set("alpha",0);this.set("imagePlane",this.Ra)};e.prototype.jB=function(){this.Ra&&(this.Ra.remove(),this.Ra=null,this.set("imagePlane",null))};e.prototype.EHa=function(){this.aka(); 2995this.Kf=new this.b5;this.Kf.bind(m.Z,this.Mka,this,!0);this.Kf.set("url",this.get("url"));this.Kf.set("visible",!0);this.Kf.set("alpha",1);this.set("framePlane",this.Kf)};e.prototype.aka=function(){this.Kf&&(this.Kf.unbind(m.Z,this.Mka,this,!0),this.Kf.remove(),this.Kf=null,this.set("framePlane",null))};e.prototype.FHa=function(){this.cka();this.Gr=new this.g6;this.Gr.set("visible",!0);this.Gr.set("alpha",1);this.set("holePlane",this.Gr)};e.prototype.cka=function(){this.Gr&&(this.Gr.remove(),this.Gr= 2996null,this.set("holePlane",null))};e.prototype.I5=function(){return this.Gr};e.prototype.Mka=function(){this.Ca()};e.prototype.$B=function(){this.trigger(m.Wc);this.trigger(m.Z)};e.prototype.cC=function(c,f){var g=0;f.Fs(function(p){(p=f.Nl(p))&&(g+=p.Sg)});
2996this.trigger(new ProgressEvent(m.ec,g/f.Yc.length))};return e}); 2997define("fR",["require","lx","ji"],function(a){var e=a("lx"),k=a("ji");a=e.extend(k,function(){k.call(this);this.set("tag","ComposedCSSObject");this.set("transparent",!1);this.set("cssScene",null);this.set("cssSceneOver",null);this.set("cssObject",this.D3());this.au&&this.au();this.gB&&this.gB();this.zx&&this.zx();this.Bn&&this.Bn()});a.prototype.D3=function(){var m=new THREE.CSS3DObject;m.matrixAutoUpdate=!1;return m};a.prototype.Nb=function(){k.prototype.Nb.call(this);this.Un&&this.Un();this.KL&& 2998this.KL();this.HG&&this.HG()};a.prototype.Qb=function(){this.dG&&this.dG();this.IG&&this.IG();this.Wn&&this.Wn();var m=this.get("cssObject");m&&m.parent&&m.parent.remove(m);this.set("cssScene",null);k.prototype.Qb.call(this)};a.prototype.fa=function(m){this.nf&&this.nf(m);k.prototype.fa.call(this,m);this.set("cssScene",m.cP);this.set("cssSceneOver",m.dP);if(this.N("transparent")){var l=this.get("cssObject");l&&l.parent&&l.parent.remove(l)}this.N("cssScene","cssSceneOver","transparent")&&(l=this.get("transparent")? 2999m.dP:m.cP)&&l.add(this.get("cssObject"));this.Fl();this.Aj&&this.Aj(m);this.Ev&&this.Ev(m);this.bD()};a.prototype.Fl=function(){this.N("composedAlpha","meshGroup")&&this.ax()};a.prototype.ax=function(){this.get("cssObject").element.style.display=0<this.get("composedAlpha")?"block":"none"};a.prototype.bD=function(){this.N("index")&&(this.get("cssObject").containerElement.style.zIndex=this.get("index"))};return a}); 3000define("en",["require","hc","a"],function(a){var e=a("hc"),k=a("a"),m=new THREE.Matrix4,l=Math.PI/180;return{au:function(){this.set("vertices",void 0);this.kh=new THREE.Matrix4;this.Cd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.sm=new THREE.Matrix4;this.Ep=new THREE.Matrix4},D3:function(){var b=new THREE.CSS3DQuad;b.matrixAutoUpdate=!1;return b},Ev:function(b){var h=!1;if(this.N("vertices","contentWidth","contentHeight")){var d=this.get("vertices");h=k.Gs(d[0].get("yaw")*l,d[0].get("pitch")* 3001l).normalize();var c=k.Gs(d[1].get("yaw")*l,d[1].get("pitch")*l).normalize(),f=k.Gs(d[2].get("yaw")*l,d[2].get("pitch")*l).normalize();d=k.Gs(d[3].get("yaw")*l,d[3].get("pitch")*l).normalize();var g=this.get("cssObject");g.vertices[0].set(h.x,h.y,-h.z);g.vertices[1].set(c.x,c.y,-c.z);g.vertices[2].set(f.x,f.y,-f.z);g.vertices[3].set(d.x,d.y,-d.z);g.contentWidth=this.get("contentWidth");g.contentHeight=this.get("contentHeight");h=!0}c=!1;this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&& 3002(this.kh.makeTranslation(.5*-this.get("composedTranslationX")*e.qg,.5*this.get("composedTranslationY")*e.qg,.5*this.get("composedTranslationZ")*e.qg),c=!0);this.N("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Cd.makeRotationY(-b.$a*l),this.Cd.multiply(m.makeRotationX(-this.get("composedDeltaPitch")*l)),this.Cd.multiply(m.makeRotationY(this.get("composedDeltaYaw")*l)),this.Cd.multiply(m.makeRotationY(b.$a*l)),c=!0);if(c||this.N("meshGroup"))this.Ep.copy(this.kh),this.Ep.multiply(this.Cd), 3003this.get("cssObject").matrix.copy(this.Ep),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.$a);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.ng);this.set("cameraHfov",b.Be);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(c||h||this.N("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.N("geometryVisible")&& 3004this.w9())}}}); 3005define("dW","require id hc et kA a".split(" "),function(a){var e=a("id"),k=a("hc"),m=a("et"),l=a("kA"),b=a("a"),h=new THREE.Matrix4,d=Math.PI/180;return{au:function(){this.set("distance",void 0);this.set("vertices",void 0);this.Hg=null;this.kh=new THREE.Matrix4;this.Cd=new THREE.Matrix4;this.zl=new THREE.Matrix4;this.gi=new THREE.Matrix4},Ev:function(c){this.gUa(c);this.pq(c)},EF:function(){var c=this.get("meshGroup");return c?m.Kk(c)[0]:null},An:function(){this.Hg||(this.Hg=this.yx());return[0].map(function(c){var f= 3006this.sK();c=m.create(this.Hg[c],f);l.kw(c,l.So);l.lw(c,l.br);l.ZD(c,e.AJ);l.CQ(c,1);return c}.bind(this))},gUa:function(){if(this.N("vertices")){var c=this.get("meshGroup");if(c)return this.Hg&&this.Hg.forEach(function(f){k.dispose(f)}),this.Hg=this.yx(),m.Kk(c).map(function(f,g){m.fea(f,this.Hg[g])}.bind(this))}}
3006,yx:function(){function c(w){return 0==w||isNaN(w)||!isFinite(w)}var f=this.get("vertices")||[];if(4!=f.length)return[k.gva(-1,1,1,1,1,1,1,-1,1,-1,-1,1)];var g=b.Gs(f[0].get("yaw")*d,f[0].get("pitch")* 3007d).normalize(),p=b.Gs(f[1].get("yaw")*d,f[1].get("pitch")*d).normalize(),q=b.Gs(f[2].get("yaw")*d,f[2].get("pitch")*d).normalize();f=b.Gs(f[3].get("yaw")*d,f[3].get("pitch")*d).normalize();var n=g.clone().AY(q),r=f.clone().AY(p),t=n.clone().AY(r).normalize();r=(2*g.y*t.x/g.x-2*t.y)/(-q.y+g.y*q.x/g.x);c(r)&&(r=(2*g.z*t.x/g.x-2*t.z)/(-q.z+g.z*q.x/g.x));c(r)&&(r=(2*g.z*t.y/g.y-2*t.z)/(-q.z+g.z*q.y/g.y));var u=(2*t.x-q.x*r)/g.x;c(u)&&(u=(2*t.y-q.y*r)/g.y);c(u)&&(u=(2*t.z-q.z*r)/g.z);n=(2*p.y*t.x/p.x- 30082*t.y)/(-f.y+p.y*f.x/p.x);c(n)&&(n=(2*p.z*t.x/p.x-2*t.z)/(-f.z+p.z*f.x/p.x));c(n)&&(n=(2*p.z*t.y/p.y-2*t.z)/(-f.z+p.z*f.y/p.y));var v=(2*t.x-f.x*n)/p.x;c(v)&&(v=(2*t.y-f.y*n)/p.y);c(v)&&(v=(2*t.z-f.z*n)/p.z);g=g.VI(u);p=p.VI(v);q=q.VI(r);f=f.VI(n);return[k.gva(g.x,g.y,-g.z,p.x,p.y,-p.z,q.x,q.y,-q.z,f.x,f.y,-f.z)]},pq:function(c){var f=!1;this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.kh.makeTranslation(.5*-this.get("composedTranslationX")*k.qg,.5*this.get("composedTranslationY")* 3009k.qg,.5*this.get("composedTranslationZ")*k.qg),f=!0);this.N("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Cd.makeRotationY(-c.$a*d),this.Cd.multiply(h.makeRotationX(-this.get("composedDeltaPitch")*d)),this.Cd.multiply(h.makeRotationY(this.get("composedDeltaYaw")*d)),this.Cd.multiply(h.makeRotationY(c.$a*d)),f=!0);this.N("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&(c=0==this.la.get("composedTranslationX")&&0==this.la.get("composedTranslationY")&& 30100==this.la.get("composedTranslationZ")&&void 0!==this.get("distance")?k.Ls(this.get("distance")):k.Dq(),this.zl.makeScale(c,c,c),f=!0);if(f||this.N("meshGroup"))this.gi.copy(this.kh),this.gi.multiply(this.Cd),this.gi.multiply(this.zl),c=m.Kk(this.get("meshGroup")),m.zq(c[0],this.gi)}}}); 3011define("cs",["require","oR"],function(a){var e=a("oR");return{gB: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.xc=this.Vd=null;this.CT=void 0;this.dY=this.dY.bind(this);this.eY=this.eY.bind(this);this.fY=this.fY.bind(this);this.FB=this.FB.bind(this);this.m6=this.m6.bind(this)},Aj:function(){this.N("cssObject")&&(this.GHa(),this.get("cssObject").element.appendChild(this.Vd)); 3012this.N("url")&&this.FQa(this.get("url"));this.N("contentWidth","contentHeight")&&(this.Vd.style.width=this.get("contentWidth")+2+"px",this.Vd.style.height=this.get("contentHeight")+2+"px");this.N("contentInteractive")&&(this.Vd.style.pointerEvents=this.get("contentInteractive")?"auto":"none")},Fl:function(){this.N("composedAlpha")&&(0<this.get("composedAlpha")?this.xc&&!this.xc.parentNode&&(this.uta(),this.Vd.appendChild(this.xc)):this.xc&&this.xc.parentNode&&this.Vd.removeChild(this.xc))},KL:function(){this.trigger(e.Wc); 3013this.get("frameLoaded")&&this.trigger(e.Z)},dG:function(){this.NGa()},eY:function(k){k.preventDefault();k.stopImmediatePropagation()},dY:function(){this.Da.sc.UD(null)},fY:function(k){k.preventDefault();k.stopImmediatePropagation()},FB:function(){this.set("frameLoaded",!0);this.trigger(e.Z)},m6:function(){this.DT=null;this.FB()},GHa:function(){this.xc||(this.Vd=document.createElement("div"),this.Vd.style.position="absolute",this.Vd.style.left=this.Vd.style.top="-1px",this.get("cssObject").isCSS3DObject&& 3014(this.Vd.style.transform="translate(-50%, -50%)"),this.Vd.style.overflow="hidden",this.Vd.style["-webkit-overflow-scrolling"]="touch",this.Vd.addEventListener("mouseenter",this.dY,!0),this.Vd.addEventListener("mousemove",this.eY,!0),this.Vd.addEventListener("mousewheel",this.fY,!0),this.xc=document.createElement("iframe"),this.xc.setAttribute("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),this.xc.setAttribute("frameborder", 3015"0"),this.xc.setAttribute("scrolling","auto"),this.xc.style.width="100%",this.xc.style.height="100%",this.xc.addEventListener("load",this.FB,!0),0<this.get("composedAlpha")&&this.Vd.appendChild(this.xc))},NGa:function(){this.xc&&(this.xc.src="",this.q9(),this.sx(),this.xc.parentNode&&this.xc.parentNode.removeChild(this.xc),this.xc=null);this.Vd&&(this.Vd.parentNode&&this.Vd.parentNode.removeChild(this.Vd),this.Vd.removeEventListener("mouseenter",this.dY,!0),this.Vd.removeEventListener("mousemove", 3016this.eY,!0),this.Vd.removeEventListener("mousewheel",this.fY,!0),this.Vd=null)}
3016,FQa:function(k){this.CT!==k&&(this.CT=k,this.set("frameLoaded",!1),this.uta())},uta:function(){this.CT?(this.JQa(),this.MEa(),this.xc.src=this.CT):(this.sx(),this.q9(),this.xc.src="",this.FB())},JQa:function(){this.sx();this.DT=setTimeout(this.m6,3E3)},sx:function(){this.DT&&(clearTimeout(this.DT),this.DT=null)},MEa:function(){this.q9();this.xc.addEventListener("load",this.FB,!0)},q9:function(){this.xc.removeEventListener("load", 3017this.FB,!0)}}});define("kE",["require","et","oR"],function(a){var e=a("et"),k=a("oR");return{gB:function(){this.get("materialConfig").params.blending=THREE.NoBlending},KL:function(){this.trigger(k.Wc);this.trigger(k.Z)},Fl:function(){this.N("meshGroup","composedAlpha")&&e.Se(this.get("meshGroup"),0<this.get("composedAlpha")?.001:0)}}}); 3018define("mI",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,["playbackPositions","width","height"],this.Od,!0)},Wn:function(){e.ca(this.v,["playbackPositions","width","height"],this.Od)},Od:function(){this.set("playbackPositions",this.v.get("playbackPositions"));this.set("contentWidth",this.v.get("width"));this.set("contentHeight",this.v.get("height"))},nf:function(){this.N("playbackPositions", 3019"currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("vertices",this.nb.kca()));this.N("framePlane","holePlane","imagePlane","vertices")&&this.Lb().forEach(function(m){m.set("vertices",this.get("vertices"));m.set("contentWidth",this.get("contentWidth"));m.set("contentHeight",this.get("contentHeight"))}.bind(this))}}}); 3020define("jK","require lx bV fR c en dW cs hd kE mI".split(" "),function(a){var e=a("lx"),k=a("bV"),m=a("fR"),l=a("c"),b=a("en"),h=a("dW"),d=a("cs"),c=a("hd"),f=a("kE");a=a("mI");var g=e.extend(l,h,c,function(){l.call(this);this.set("tag","QuadFrameHotspotImage")}),p=e.extend(m,b,d,function(){m.call(this);this.set("tag","QuadFrameHotspotFrame")}),q=e.extend(l,h,f,function(){l.call(this);this.set("tag","QuadFrameHotspotHole")});return e.extend(k,a,function(n){k.call(this,n);this.GB=g;this.b5=p;this.g6= 3021q})}); 3022define("jE",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,["vertices","distance","playbackPositions"],this.Od,!0)},Wn:function(){e.ca(this.v,["vertices","distance","playbackPositions"],this.Od)},Od:function(){this.set("distance",this.v.get("distance"));this.set("vertices",this.v.get("vertices"));this.set("playbackPositions",this.v.get("playbackPositions"))},nf:function(){this.N("playbackPositions", 3023"currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("vertices",this.nb.kca()),this.set("alpha",this.nb.Lk()))}}}); 3024define("jp","require lx kJ oR et c dW hd oO jE nr".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("et"),b=a("c"),h=a("dW"),d=a("hd"),c=a("oO"),f=a("jE"),g=a("nr"),p=0;a=e.extend(b,h,f,d,c,function(q){b.call(this);this.set("tag","QuadHotspotImage");this.set("id","quad_hs_image_"+p++);this.set("side",THREE.DoubleSide);this.v=q;this.gk.push(this.v);this.Tf=this.Tf.bind(this)});a.prototype.Nb=function(){b.prototype.Nb.call(this);k.ga(this.v,["image.levels"],this.Tf,!0)};a.prototype.Qb=function(){k.ca(this.v, 3025["image.levels"],this.Tf);b.prototype.Qb.call(this)};a.prototype.Tf=function(){this.set("image",this.v.get("image"));this.set("level",g.YWa(this.v))};a.prototype.fa=function(q){this.YC();b.prototype.fa.call(this,q);this.N("inView")&&this.v.trigger(this.get("inView")?m.ld:m.hd)};a.prototype.YC=function(){if(this.N("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){l.setAttribute(n,l.Sz,this.get("panoramaId"));l.setAttribute(n,l.$_,this.get("id"))}.bind(this))}}; 3026return a}); 3027define("jg",["require","oR","kX"],function(a){function e(b,h){this.sc=b;this.Nc=h;this.Kb=!1;this.BV=!0;this.M2=this.v8=!1;this.h2();this.G7()}var k=a("oR"),m=a("kX");e.prototype.clear=function(){this.Ooa();this.n9()};e.prototype.tf=function(b){this.Kb!=b&&(this.Kb=b,this.rs())};e.prototype.m0a=function(b){this.BV!=b&&((this.BV=b)&&this.Ooa(),this.rs())};e.prototype.rs=function(){if(!this.Kb||this.BV)this.Nc.set("state",m.T);else if(this.Nc.get("autoplay")||this.M2)this.M2=!1,this.Nc.set("state",m.X)}; 3028e.prototype.G7=function(){if(!this.v8){var b=this.Nc.get("video").get("autoplayTime");void 0!==b&&this.Nc.get("video").get("autoplayTimeLimit")<(new Date).getTime()&&(b=void 0);this.Nc.set("currentTime",b);this.M2=void 0!==b}};e.prototype.Ooa=function(){this.v8||(this.v8=!0,this.Nc.get("state")==m.X?(this.Nc.get("video").set("autoplayTimeLimit",(new Date).getTime()+l),this.Nc.get("video").set("autoplayTime",this.Nc.get("currentTime",0))):this.Nc.get("video").set("autoplayTime",void 0))};e.prototype.h2= 3029function(){this.Nc.get("video").bind(k.G("autoplayTime"),this.G7,this,!0)};e.prototype.n9=function(){this.Nc.get("video").unbind(k.G("autoplayTime"),this.G7,this,!0)};var l=1E3;return e}); 3030define("eG",["require","oR","eE"],function(a){var e=a("oR"),k=a("eE");return{zx:function(){this.set("beamEnabled",!1);this.ad=!1;this.My=this.Ny=void 0},rq:function(m){this.Ny=m.$a;this.My=m.pitch},Tl:function(m){if(m.ff==e.Uk){var l=!m.Jk()&&this.iq(m)&&!this.get("blendingActive");if(l){m.gz(this.v);this.v.get("useHandCursor")&&m.iD(this.v);m.Ik(this.get("distance"));var b=this.Ob(m.HD());
3030b&&m.lY(b,this.Yy(m.HD()))}this.ad!=l&&(this.ad=l,this.v.trigger(this.ad?e.Xc:e.ac),m.Ss()&&this.v.trigger(this.ad? 3031e.rA:e.Uo))}else m.ff==e.$f&&!m.Jk()&&this.iq(m)&&(1<this.v.hI(e.ra,!0).length&&m.Rq(this.v),m.Ik(this.get("distance")),this.v.trigger(e.ra))},iq:function(m){if(this.get("beamEnabled")){m=this.I5().ru(m.Xp);for(var l=0;l<m.length;l++){var b=m[l];if(k.qw(b.source,b.x,b.y))return!0}}return!1},Ob:function(m){return!m||this.v.get("displayTooltipInTouchScreens")&&!1!==this.Da.M.get("displayTooltipInTouchScreens")?this.v.get("toolTip",""):""},Yy:function(m){if(m){m=this.get("yaw")-this.Ny;var l=this.get("pitch")- 3032this.My;return Math.sqrt(m*m+l*l)}return 0}}}); 3033define("fc","require lx kJ oR kX oo cX jg bB ol nr eG ly ou bG".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("kX"),b=a("oo"),h=a("cX"),d=a("jg"),c=a("bB"),f=a("ol"),g=a("nr"),p=a("eG"),q=a("ly"),n=a("ou"),r=a("bG");a=e.extend(h,p,c,function(t){h.call(this);this.v=t;this.$aa=this.GB=null;this.gk.push(this.v);this.Sf=this.Sf.bind(this);this.$o(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("overlaysEnabled", 3034!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",l.T);this.set("itemVisible","none");this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.tb=this.Ra=this.Rd=this.xf=null;this.aba=!1;this.Ar=[];this.N9(this.v)});a.prototype.Nb=function(){this.xf=(new f(m.Z)).Yl(this.$B.bind(this)); 3035this.Rd=(new f(m.ec)).Ao(this.cC.bind(this));this.Wk=new d(this.Da.sc,this.v);h.prototype.Nb.call(this);k.ga(this.v,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),this.Sf,!0);this.V4()};a.prototype.Qb=function(){this.W4();this.Wk.clear();this.xf.dispose();this.Rd.dispose();k.ca(this.v,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "), 3036this.Sf);this.jB();this.Ix();h.prototype.Qb.call(this)};a.prototype.Sf=function(){this.set("image",this.v.get("image"));this.set("imageLevel",g.hXa(this.v,this.get("panoramaPixelsPerDegree")));this.set("video",this.v.get("video"));this.set("videoLevel",b.Gj(this.get("video")));this.set("enabled",this.v.get("enabled"));this.set("enabledInStandard",this.v.get("enabledInStandard"));this.set("enabledInVR",this.v.get("enabledInVR"));this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration", 3037this.v.get("fadeOutDuration"));this.set("interactionEnabled",this.v.get("interactionEnabled"));this.set("state",this.v.get("state"));this.set("videoVisibleOnStop",this.v.get("videoVisibleOnStop"));this.set("blending",this.v.get("blending"));this.set("chromaColor",this.v.get("chromaColor"));this.set("chromaThreshold",this.v.get("chromaThreshold"));this.set("chromaSmoothing",this.v.get("chromaSmoothing"))};a.prototype.fa=function(t){this.set("inVR",t.ub);this.set("hotspotsEnabled",t.CD);this.oq();this.qO(); 3038h.prototype.fa.call(this,t);this.rs();this.BO(t);this.Td(t);this.haa(t)};a.prototype.oq=function(){if(this.N("video","videoLevel","image","imageLevel")){var t=[];this.N("image","imageLevel")&&(this.tK(),this.Ra&&t.push(this.Ra));this.N("video","videoLevel")&&(this.vK(),this.tb&&t.push(this.tb));this.Tg(t);this.xf.sf(t);this.Rd.sf(t)}};a.prototype.qO=function(){this.N("video","videoLevel","image","imageLevel","blending","chromaColor","chromaThreshold","chromaSmoothing")&&this.Lb().forEach(function(t){t.set("blending", 3039this.get("blending"));t.set("chromaColor",this.get("chromaColor"));t.set("chromaThreshold",this.get("chromaThreshold"));t.set("chromaSmoothing",this.get("chromaSmoothing"))}.bind(this))};a.prototype.rs=function(){this.N("video","composedAlpha","enabledInVR","enabledInStandard","enabled","inVR")&&this.Wk.tf(0<this.get("composedAlpha")&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.N("blendingActive")&& 3040this.Wk.m0a(this.get("blendingActive"))};a.prototype.BO=function(){this.set("frameEmpty",!this.tb||this.tb.get("frameEmpty"))};a.prototype.Td=function(t){var u=this.get("itemVisible");if(this.N("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.tb&&(!this.Ra|| 3041!this.get("frameEmpty")&&(this.get("state")!=l.T||this.aba&&this.get("videoVisibleOnStop")))?v="video":this.Ra&&(v="image"),this.get("state")!=l.T&&(this.aba=!0));this.set("itemVisible",v);this.set("beamEnabled","none"!=v&&this.get("interactionEnabled"))}if(this.N("itemVisible")){v="none"!=this.get("itemVisible");var w="none"!=u;if(v&&w&&!this.get("chromaColor")&&0==this.Ar.length)this.Ra&&this.Ra.set("alpha","image"==this.get("itemVisible")?1:0),this.tb&&this.tb.set("alpha","video"==this.get("itemVisible")? 30421:0);else{u=v==w?100:v?this.get("fadeInDuration"):this.get("fadeOutDuration");v!=w&&this.v.trigger(v?m.ld:m.hd);w=this.Ra?this.Ra.get("alpha"):0;var x=this.tb?this.tb.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.Ar=[];for(u=1;u< 3043v.length;u++)0<v[u].time&&this.Ar.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.Ar.length&&(this.Ar[0].Oe()?this.Ar.shift():this.Ar[0].Cb(t.Wd),0<this.Ar.length&&(this.Ra&&this.Ra.set("alpha",this.Ar[0].fb("imageAlpha")),this.tb&&this.tb.set("alpha",this.Ar[0].fb("videoAlpha")),this.Ca()))};a.prototype.tK=function(){this.jB();this.get("image")&&this.get("imageLevel")&&(this.Ra=new this.GB,this.Ra.set("image",this.get("image")), 3044this.Ra.set("level",this.get("imageLevel")),this.Ra.set("visible",!0),this.Ra.set("alpha",0),this.Ra.set("side",THREE.DoubleSide))};a.prototype.jB=function(){this.Ra&&(this.Ra.remove(),this.Ra=null)};a.prototype.vK=function(){this.Ix();this.get("video")&&this.get("videoLevel")&&(this.tb=new this.$aa,this.tb.set("scriptObject",this.v),this.tb.set("video",this.get("video")),this.tb.set("level",this.get("videoLevel")),this.tb.set("visible",!0),this.tb.set("alpha",0),this.tb.set("side",THREE.DoubleSide))}; 3045a.prototype.Ix=function(){this.tb&&(this.tb.remove(),this.tb=null)};a.prototype.$B=function(){this.trigger(m.Wc);this.trigger(m.Z)};a.prototype.cC=function(t,u){var v=0;u.Fs(function(w){(w=u.Nl(w))&&(v+=w.Sg)});this.trigger(new q(m.ec,v/u.Yc.length))};a.prototype.I5=function(){return"video"==this.get("itemVisible")?this.tb:this.Ra};return a}); 3046define("gM","require oR kX cw et hD mx lU fh on oo".split(" "),function(a){var e=a("oR"),k=a("kX"),m=a("cw"),l=a("et");a("hD");var b=a("mx"),h=a("lU"),d=a("fh"),c=a("on"),f=a("oo");return{gB:function(){this.set("visible",!1);this.set("inView",!1);this.set("frameEmpty",!0);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); 3047this.Za=this.tb=null;this.aba=!1;this.vX=this.Pg=this.wv=this.Ka=this.mp=this.aa=null},dG:function(){this.Ix()},Aj:function(g){this.hUa();this.qO();this.BO(g)},hUa:function(){this.N("scriptObject","video","level")&&(this.Ix(),this.tb=this.get("video"),this.Za=this.get("level"),this.v=this.get("scriptObject"),this.vK())},qO:function(){if(this.N("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.tb){var g=new m.bm(this.tb.ui());g.kz=this.get("blending");g.As=this.get("chromaColor"); 3048g.YO=this.get("chromaThreshold");g.XO=this.get("chromaSmoothing");g.side=this.get("side");this.set("materialConfig",g)}},Fl:function(){this.N("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha"));this.N("composedAlpha","meshGroup","inView")&&l.Se(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},BO:function(){var g=!!this.Pg&&this.Pg.isEmpty(),p=this.aa&&this.aa.VY(),q=!!p&&p.isEmpty();q&&!g&&this.aa.getState()==k.X&&this.v.get("loop")&& 3049(p=this.Pg,q=!1);this.set("frameEmpty",q);!this.Pg||p&&!this.Pg.isEqual(p)?(this.Pg=p,(g=this.Pg.zr)&&"VIDEO"==g.tagName&&(g.width=this.get("contentWidth"),g.height=this.get("contentHeight")),this.vX.Ul(g),this.vX.update(),this.Ca()):this.aa.getState()==k.X&&this.Ca()},vK:function(){this.tb&&this.Za&&this.v&&(this.set("textureSource",this.vX=new d),this.set("contentWidth",this.Za.get("width")),this.set("contentHeight",this.Za.get("height")),this.set("alpha",0),this.aa=new f(this.Da.sc,this.tb),this.aa.n_a(), 3050this.mp=new b(this.v,this.aa),this.Ka=new h(this.Da.sc,this.v,this.aa),this.wv=new c(this.Da.yc.get("panorama"),this.aa),this.Kt(),this.trigger(e.Wc),this.trigger(e.Z))},Ix:function(){this.aa&&(this.set("textureSource",this.vX=null),this.hv(),this.Ka.clear(),this.Ka=null,this.mp.clear(),this.mp=null,this.wv.clear(),this.wv=null,this.aa.clear(),this.Pg=this.aa=null,this.set("frameEmpty",!0),this.Za=this.tb=null)},Kt:function(){this.aa.bind(f.Ff,this.Xe,this,!0);this.aa.bind(e.ne,this.yf,this,!0)}, 3051hv:function(){this.aa.unbind(f.Ff,this.Xe,this,!0);this.aa.unbind(e.ne,this.yf,this,!0)},yf:function(){this.Ca()},Xe:function(){this.Ca()}}}); 3052define("ot",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,["playbackPositions","distance"],this.Od,!0)},Wn:function(){e.ca(this.v,["playbackPositions","distance"],this.Od)},Od:function(){this.set("distance",this.v.get("distance"));this.set("playbackPositions",this.v.get("playbackPositions"))},nf:function(){this.N("playbackPositions","currentTime")&& 3053(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("vertices",this.nb.kca()),this.set("alpha",this.nb.Lk()));
3053this.N("video","image","vertices","distance")&&this.Lb().forEach(function(m){m.set("vertices",this.get("vertices"));m.set("distance",this.get("distance"))}.bind(this))}}}); 3054define("kp","require lx fc c dW hd gM ot".split(" "),function(a){var e=a("lx"),k=a("fc"),m=a("c"),l=a("dW"),b=a("hd"),h=a("gM");a=a("ot");var d=e.extend(m,l,b,function(){m.call(this);this.set("tag","QuadVideoHotspotImage")}),c=e.extend(m,l,h,function(){m.call(this);this.set("tag","QuadVideoHotspotVideo")});return e.extend(k,a,function(f){k.call(this,f);this.GB=d;this.$aa=c})}); 3055define("kT","require lx kJ kX kj nJ v".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("kX"),l=a("kj"),b=a("nJ"),h=a("v");a=e.extend(l,function(d){l.call(this);this.v=d;this.kk=this.kk.bind(this);this.lk=this.lk.bind(this);this.lm()});a.prototype.Nb=function(){l.prototype.Nb.call(this);this.v.set("state",this.v.get("startState"));k.ga(this.v,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.kk,!0);k.ga(this.v,["state"],this.lk, 3056!0)};a.prototype.Qb=function(){k.ca(this.v,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.kk);k.ca(this.v,["state"],this.lk);this.v.set("state",m.T);l.prototype.Qb.call(this)};a.prototype.kk=function(){this.lm();this.oN()};a.prototype.lk=function(){this.WV=this.v.get("state");this.Ca()};a.prototype.lm=function(){l.prototype.lm.call(this);if(h.Of()){this.rB=this.Ir=4;this.nC=2400;this.sB=1200;var d=1.5;var c=1.6}else this.Ir=2, 3057this.rB=4,this.nC=4800,this.sB=2400,c=d=1;var f=this.v.get("intensity",.5);this.qc=b.Lq(this.v.get("color","#ffffff"));this.TM=.24*this.v.get("opacity",.25)+.01;this.TM*=2;this.Gy=(f*(.37-.17)+.17)*d;d=(this.v.get("speed",.5)*(.09-.02)+.02)/this.Gy*c;this.QL=.9*d;this.XB=1.1*d;this.nC=Math.round(this.v.get("particleCount",this.nC)*f);this.sB=Math.round(this.v.get("farPlaneParticleCount",this.sB)*f);this.vU=0;this.Bp=2;this.Jr=-2;this.n7=0;this.TJ=.75;this.BK=.5;this.OT=this.v.get("initialState"); 3058this.dX=this.v.get("startDuration");this.jX=this.v.get("stopDuration");this.Ir=this.v.get("maxDistance",this.Ir);this.rB=this.v.get("farPlaneDistance",this.rB);this.cz()};a.prototype.FS=function(){var d=new THREE.MeshBasicMaterial;d.color=new THREE.Color(this.qc[0]/255,this.qc[1]/255,this.qc[2]/255);d.side=THREE.FrontSide;d.transparent=!0;d.depthTest=!1;d.needsUpdate=!0;this.wB||(this.wB=new THREE.BoxGeometry(.01,.2,.01));return new THREE.Mesh(this.wB,d)};a.prototype.cz=function(){var d=this.eg&& 3059this.eg.children||[],c=new THREE.Color(this.qc[0]/255,this.qc[1]/255,this.qc[2]/255);d.forEach(function(f){f.material.color=c;f.material.needsUpdate=!0})};return a}); 3060define("gx","require lx z oR cB ji".split(" "),function(a){var e=a("lx"),k=a("z"),m=a("oR"),l=a("cB"),b=a("ji"),h=e.extend(b,function(d,c,f,g){b.call(this);this.sc=d;this.M=c;this.yc=f;this.j=g;this.aM=new k;this.T9(this);this.set("tag","Root");this.set("globalBlendingActive",0)});h.prototype.af=function(d){return this.aM.get(d)};h.prototype.all=function(){for(var d=[],c=[this];0<c.length;){var f=c.pop();d.push(f);for(var g=f.Kd.length-1;0<=g;g--)c.push(f.Kd[g])}return d};h.prototype.update=function(d){var c= 3061this.all(),f=c.length,g;for(g=0;g<f;g++)c[g].SGa();for(g=0;g<f;g++)c[g].set("index",g);for(g=0;g<f;g++)c[g].Da&&c[g].fa(d);for(g=0;g<f;g++)c[g].KGa();if(this.MT){for(g=0;g<f;g++)c[g].OGa();this.update(d)}};h.prototype.Ca=function(){this.Wf||this.trigger(new l(m.va));b.prototype.Ca.call(this)};h.prototype.Tv=function(d){return Array.isArray(d)?d.map(this.Tv.bind(this)):this.aM.get(d)||h.aWa.create(d)};return h}); 3062define("ga","require lx kJ kX kj v".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("kX"),l=a("kj"),b=a("v");a=e.extend(l,function(d){l.call(this);this.v=d;this.kk=this.kk.bind(this);this.lk=this.lk.bind(this);this.lm()});a.prototype.Nb=function(){l.prototype.Nb.call(this);this.v.set("state",this.v.get("startState"));k.ga(this.v,["intensity","speed"],this.kk,!0);k.ga(this.v,["state"],this.lk,!0)};a.prototype.Qb=function(){k.ca(this.v,["intensity","speed"],this.kk);k.ca(this.v,["state"],this.lk); 3063this.v.set("state",m.T);l.prototype.Qb.call(this)};a.prototype.kk=function(){this.lm();this.oN()};a.prototype.lk=function(){this.WV=this.v.get("state");this.Ca()};a.prototype.lm=function(){l.prototype.lm.call(this);var d=this.v.get("intensity"),c=this.v.get("speed");if(b.lb()||b.browser()==b.Vz){var f=1E3;var g=350;var p=1800;var q=400;var n=.8;var r=1.2}else b.Of()?(f=1500,g=500,p=2500,q=500,n=.8,r=1.2):(f=3E3,g=1E3,p=5E3,q=1E3,n=.6,r=1);this.OT=this.v.get("initialState");this.dX=this.v.get("startDuration"); 3064this.jX=this.v.get("stopDuration");this.TJ=.75;this.BK=.5;this.Ir=4;this.Jr=-2;this.Bp=3;this.vU=35;this.rB=7;this.Gy=(n+d*(r-n))/h;this.QL=this.XB=.15+1.35*c;this.nC=g+d*(f-g);this.sB=q+d*(p-q)};a.prototype.FS=function(){return new THREE.Sprite(this.bu())};a.prototype.bu=function(){var d=new THREE.SpriteMaterial;d.map=this.kp();d.side=THREE.FrontSide;d.transparent=!0;d.depthTest=!1;d.needsUpdate=!0;return d};a.prototype.kp=function(){if(this.Sa)return this.Sa;var d=document.createElement("canvas"); 3065d.width=d.height=h;var c=d.getContext("2d"),f=c.createRadialGradient(.5*d.width,.5*d.height,.2*d.height,.5*d.width,.5*d.height,.5*d.height);f.addColorStop(0,"rgba(255, 255, 255, 0.8)");f.addColorStop(1,"rgba(255, 255, 255, 0)");c.fillStyle=f;c.fillRect(0,0,d.width,d.height);this.Sa=new THREE.Texture;this.Sa.image=d;this.Sa.needsUpdate=!0;return this.Sa};var h=32;return a}); 3066define("cZ",["require","hc","v"],function(a){var e=a("hc"),k=a("v"),m=new THREE.Matrix4,l=Math.PI/180;return{au: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.kh=new THREE.Matrix4;this.Cd=new THREE.Matrix4;this.Vn=new THREE.Matrix4;this.sm=new THREE.Matrix4;this.Ui=new THREE.Matrix4;this.zl=new THREE.Matrix4;this.Ep=new THREE.Matrix4}, 3067D3:function(){var b=k.zd()==k.Fi||k.browser()==k.Vz?new THREE.CSS3DRectangle:new THREE.CSS3DObject;b.matrixAutoUpdate=!1;return b},Ev:function(b){if(this.N("contentWidth","contentHeight")){var h=this.get("cssObject");h.contentWidth=this.get("contentWidth");h.contentHeight=this.get("contentHeight");h.updateVertices()}h=!1;this.N("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.kh.makeTranslation(.5*-this.get("composedTranslationX")*e.qg,.5*this.get("composedTranslationY")* 3068e.qg,.5*this.get("composedTranslationZ")*e.qg),h=!0);this.N("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Cd.makeRotationY(-b.$a*l),this.Cd.multiply(m.makeRotationX(-this.get("composedDeltaPitch")*l)),this.Cd.multiply(m.makeRotationY(this.get("composedDeltaYaw")*l)),this.Cd.multiply(m.makeRotationY(b.$a*l)),h=!0);this.N("yaw","pitch")&&(this.Vn.makeRotationY(-this.get("yaw")*l),this.Vn.multiply(m.makeRotationX(this.get("pitch")*l)),h=!0);if(this.N("flipHorizontally","hfov","vfov", 3069"composedTranslationX","composedTranslationY","composedTranslationZ")){h=this.get("contentWidth");var d=this.get("contentHeight"),c=this.get("hfov"),f=this.get("vfov");this.sm.makeTranslation(0,0,-(h/(2*Math.tan(c*l*.5))));var g=(this.get("flipHorizontally")?-1:1)*this.get("scale"),p=this.get("scale");f&&(p*=h*Math.tan(f*l*.5)/(d*Math.tan(c*l*.5)));this.zl.makeScale(g,p,1);h=!0}this.N("rotationX","rotationY","rotationZ","roll")&&(this.Ui.makeRotationZ(this.get("roll")*l),this.Ui.multiply(m.makeRotationY(this.get("rotationY")* 3070l)),this.Ui.multiply(m.makeRotationX(this.get("rotationX")*l)),this.Ui.multiply(m.makeRotationZ(this.get("rotationZ")*l)),h=!0);if(h||this.N("meshGroup"))this.Ep.copy(this.kh),this.Ep.multiply(this.Cd),this.Ep.multiply(this.Vn),this.Ep.multiply(this.sm),this.Ep.multiply(this.Ui),this.Ep.multiply(this.zl),this.get("cssObject").matrix.copy(this.Ep),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.$a);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.ng);this.set("cameraHfov", 3071b.Be);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(h||this.N("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").project
3071Vertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.N("geometryVisible")&&this.w9())}}}); 3072define("mp",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,["playbackPositions","width","height"],this.Od,!0)},Wn:function(){e.ca(this.v,["playbackPositions","width","height"],this.Od)},Od:function(){this.set("playbackPositions",this.v.get("playbackPositions"));this.set("contentWidth",this.v.get("width"));this.set("contentHeight",this.v.get("height"))},nf:function(){this.N("playbackPositions", 3073"currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("yaw",this.nb.get("yaw")),this.set("pitch",this.nb.get("pitch")),this.set("roll",this.nb.get("roll")),this.set("rotationX",this.nb.get("rotationX")),this.set("rotationY",this.nb.get("rotationY")),this.set("hfov",this.nb.get("hfov")),this.set("vfov",this.nb.get("vfov")));this.N("framePlane","holePlane","imagePlane","yaw","pitch","roll","rotationX","rotationY","hfov","vfov","contentWidth","contentHeight")&& 3074this.Lb().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))}}}); 3075define("mL","require lx bV fR c cZ of cs hd kE mp".split(" "),function(a){var e=a("lx"),k=a("bV"),m=a("fR"),l=a("c"),b=a("cZ"),h=a("of"),d=a("cs"),c=a("hd"),f=a("kE");a=a("mp");var g=e.extend(l,h,c,function(){l.call(this);this.set("tag","RectangleFrameHotspotImage")}),p=e.extend(m,b,d,function(){m.call(this);this.set("tag","RectangleFrameHotspotFrame")}),q=e.extend(l,h,f,function(){l.call(this);this.set("tag","RectangleFrameHotspotHole")});return e.extend(k,a,function(n){k.call(this,n);this.GB=g; 3076this.b5=p;this.g6=q})}); 3077define("oi",["require","kJ","nG"],function(a){var e=a("kJ"),k=a("nG");return{Bn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Od=this.Od.bind(this);this.nb=new k},Un:function(){e.ga(this.v,["playbackPositions","distance","scaleMode"],this.Od,!0)},Wn:function(){e.ca(this.v,["playbackPositions","distance","scaleMode"],this.Od)},Od:function(){this.set("scaleMode",this.v.get("scaleMode"));this.set("distance",this.v.get("distance"));this.set("playbackPositions", 3078this.v.get("playbackPositions"))},nf:function(){this.N("playbackPositions","currentTime")&&(this.nb.Jz(this.get("playbackPositions")),this.nb.Iz(this.get("currentTime")),this.set("yaw",this.nb.get("yaw")),this.set("pitch",this.nb.get("pitch")),this.set("roll",this.nb.get("roll")),this.set("rotationX",this.nb.get("rotationX")),this.set("rotationY",this.nb.get("rotationY")),this.set("hfov",this.nb.get("hfov")),this.set("vfov",this.nb.get("vfov")),this.set("alpha",this.nb.Lk()));this.N("video","image", 3079"yaw","pitch","roll","rotationX","rotationY","hfov","vfov","distance","scaleMode","image","video")&&this.Lb().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))}}}); 3080define("oU","require lx fc c of hd gM oi".split(" "),function(a){var e=a("lx"),k=a("fc"),m=a("c"),l=a("of"),b=a("hd"),h=a("gM");a=a("oi");var d=e.extend(m,l,b,function(){m.call(this);this.set("tag","RectangleVideoHotspotImage")}),c=e.extend(m,l,h,function(){m.call(this);this.set("tag","RectangleVideoHotspotVideo")});return e.extend(k,a,function(f){k.call(this,f);this.GB=d;this.$aa=c})}); 3081define("dX","require nH ji hN iR jT mq cc nt gi X nZ dP bE jK jp kp kT gx ga mL oU cb".split(" "),function(a){function e(A,B){Array.isArray(B)||(B=[B]);for(var I=0;I<B.length;I++)if(k.Oa(B[I],A))return!0;return!1}var k=a("nH"),m=a("ji"),l=a("hN"),b=a("iR"),h=a("jT"),d=a("mq"),c=a("cc"),f=a("nt"),g=a("gi"),p=a("X"),q=a("nZ"),n=a("dP"),r=a("bE"),t=a("jK"),u=a("jp"),v=a("kp"),w=a("kT"),x=a("gx"),y=a("ga"),z=a("mL"),C=a("oU");a("cb");a={};x.aWa=a;a.create=function(A){if(A instanceof m)return A;if(e(A, 3082["HDRPanorama","LivePanorama","Panorama","VideoPanorama"]))return new p(A);if(e(A,["CubicPanoramaFrame","SphericPanoramaFrame"]))return e(A,"SphericPanoramaFrame")&&A.Ml()?new n(A):new q(A);if(e(A,["DustPanoramaOverlay"]))return new b(A);
3082if(e(A,"HotspotPanoramaOverlay"))return new d(A);if(e(A,["HotspotPanoramaOverlayImage","HotspotPanoramaOverlayMap"]))return new c(A);if(e(A,"Menu"))return new g(A);if(e(A,["CeilingCapPanoramaOverlay","TripodCapPanoramaOverlay"]))return new l(A);if(e(A,["FlatHotspotPanoramaOverlayImage", 3083"FlatHotspotPanoramaOverlayMap"]))return new h(A);if(e(A,["LensFlarePanoramaOverlay"]))return new f(A);if(e(A,["RainPanoramaOverlay"]))return new w(A);if(e(A,["SnowPanoramaOverlay"]))return new y(A);if(e(A,["PopupPanoramaOverlay"]))return new r(A);if(e(A,["QuadFramePanoramaOverlay"]))return new t(A);if(e(A,["QuadHotspotPanoramaOverlayImage","QuadHotspotPanoramaOverlayMap"]))return new u(A);if(e(A,["QuadVideoPanoramaOverlay"]))return new v(A);if(e(A,["FramePanoramaOverlay"]))return new z(A);if(e(A, 3084["VideoPanoramaOverlay"]))return new C(A);throw"Invalid script object";};return a}); 3085define("cm",["require","exports","three.mod"],function(a,e,k){return function(){function m(){}m.nwa=function(l,b,h,d,c,f){return m.oWa(l,b/d*2-1,2*-(h/c)+1,f)};m.oWa=function(l,b,h,d){d||(d=new k.Ray);d.origin.setFromMatrixPosition(l.matrixWorld);d.direction.set(b,h,.5).unproject(l).sub(d.origin).normalize();return d};m.EWa=function(l,b){b||(b=new k.Ray);b.origin.set(0,0,0);b.direction.set(0,0,-1).applyQuaternion(l.quaternion);return b};m.DWa=function(l,b){b||(b=new k.Ray);b.origin.set(0,0,0).applyMatrix4(l); 3086b.direction.set(0,0,-1).applyMatrix4(l).sub(b.origin).normalize();return b};return m}()}); 3087define("mC","require lx et jF lT fh kt".split(" "),function(a){var e=a("lx"),k=a("et"),m=a("jF"),l=a("lT"),b=a("fh"),h=a("kt");a=e.extend(m,function(){m.call(this);this.O=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.Tn=null});a.prototype.fa=function(d){this.oq(d);this.jg(d);this.nf(d);m.prototype.fa.call(this,d)};a.prototype.oq=function(d){d.ub&&!this.Tn&&h.getType()==h.Et.Rk&&this.Tg([this.Tn= 3088new m])};a.prototype.jg=function(d){this.O||(this.set("textureSource",new b),this.O=new l(this.Da.M),this.get("textureSource").Ul(this.O.Xf()),this.set("contentWidth",this.O.yd()),this.set("contentHeight",this.O.je()),this.set("hfov",6),this.set("distance",this.Da.M.get("vrPointerDistance")));this.N("changing")&&this.O.jw(this.get("changing"));this.N("over","overProgress")&&this.O.$D(this.get("over"),this.get("overProgress"));this.O.update(d.Wd)&&this.get("textureSource").update();this.get("changing")&& 3089this.Ca()};a.prototype.nf=function(){this.mh()};a.prototype.Fl=function(){this.N("composedAlpha","meshGroup","visible")&&this.ax()};a.prototype.ax=function(){k.Se(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a}); 3090define("bl","require jquery.mod ek oR v po hB".split(" "),function(a){function e(c){this.hb=c;this.Psa=this.hb.Jn;this.hb.bind(l.kc,this.jf,this);this.oa=k("<span></span>");this.oa.css({"pointer-events":"none",position:"absolute","z-index":b.SDa,"text-align":"center",display:"none"});this.ge=k("<span></span>");this.ge.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.oa.append(this.ge);this.uX=k("<span></span>");this.uX.css({position:"relative"});this.oa.append(this.uX);this.Wi=this.RT= 3091this.Dg=null;this.Yu=this.Xu=void 0;this.Au=!1;this.Qsa=void 0}var k=a("jquery.mod"),m=a("ek"),l=a("oR");a("v");var b=a("po"),h=a("hB"),d={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, 3092toolTipPaddingBottom: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.Bc=function(){return this.oa};e.prototype.UD=function(c){if(!this.Psa){for(;c&& 3093c.get("toolTipDisabled");)c=c.getParent();this.hide();this.Dg&&m(m(d).keys()).each(function(f){this.Dg.unbind(l.G(f),this.Z7,this)},this);if(this.Dg=c)m(m(d).keys()).each(function(f){this.Dg.bind(l.G(f),this.Z7,this)},this),this.Z7()}};e.prototype.h1a=function(c,f){this.Dg=c;this.Qsa=f;this.ZT()||(this.Au?this.dsa():this.WN())};e.prototype.bsa=function(c,f,g){this.Au&&this.Dg.trigger(l.Uga);this.bTa(c);this.uX.html(this.bLa(f));this.$ia=g;this.nf();this.Dg.trigger(l.RDa);this.Au=!0;this.oa.css("display",
3094"inline");(g||c.get("checkToolTipOcclusion"))&&this.vRa(c)};e.prototype.nf=function(){var c=this.sp(),f=c.x;c=c.y;var g=this.oa.outerWidth(),p=this.oa.outerHeight();if(this.$ia){f-=.5*this.oa.width();var q=this.Dg.get("toolTipCenteredOffsetY");c=void 0===q?c-.5*this.oa.height():0<q?c+q:c-(this.oa.height()-q)}f=Math.max(Math.min(f,this.hb.Xa()-g-3),3);c=Math.max(Math.min(c,this.hb.Ab()-p-3),3);this.oa.css("left",f+"px");this.oa.css("top",c+"px")};e.prototype.sp=function(){var c={};if(this.$ia){var f= 3095this.Dg.Bc().offset();c.x=f.left+.5*this.Dg.Xa();c.y=f.top+.5*this.Dg.Ab()}else c.x=this.Xu,c.y=this.Yu+25;return c};e.prototype.hide=function(){this.bB();this.usa();this.Au&&(this.oa.css("display","none"),this.Dg.trigger(l.Uga),this.Au=!1)};e.prototype.Z7=function(){this.Dg.get("toolTip")?this.ZT()||(this.Au?this.csa():this.WN()):this.ZT()?this.bB():this.Au&&this.hide()};e.prototype.jf=function(c){this.Xu=c.pageX;this.Yu=c.pageY;this.Au&&this.Dg.get("toolTipFollowMouse")&&this.nf()};e.prototype.csa= 3096function(){this.bsa(this.Dg,this.Dg.get("toolTip"),this.Dg.get("toolTipCentered"))};e.prototype.dsa=function(){this.bsa(this.Dg,this.Qsa,!0)};e.prototype.ZT=function(){return null!=this.Wi};e.prototype.WN=function(){var c=this.Dg&&this.Dg.get("toolTipDisplayTime");if(void 0===c||null===c)c=d.toolTipDisplayTime;this.bB();this.Wi=setTimeout(function(){this.Wi=null;this.Psa?this.dsa():this.csa()}.bind(this),c)};e.prototype.bB=function(){this.ZT()&&(clearTimeout(this.Wi),this.Wi=null)};e.prototype.vRa= 3097function(c){var f=this.sp();this.usa();var g=function(){this.oa.css("display",this.Au&&!this.gMa(c,f.x,f.y)?"inline":"none")}.bind(this);this.RT=setInterval(g,300);g()};e.prototype.usa=function(){this.RT&&(clearInterval(this.RT),this.RT=null)};e.prototype.bTa=function(c){function f(n){var r=c.get(n);return void 0===r?d[n]:r}var g={};g.opacity=f("toolTipOpacity");g.filter=g["-ms-filter"]="alpha(opacity="+Math.round(100*f("toolTipOpacity"))+")";g.paddingTop=f("toolTipPaddingTop")+"px";g.paddingBottom= 3098f("toolTipPaddingBottom")+"px";g.paddingLeft=f("toolTipPaddingLeft")+"px";g.paddingRight=f("toolTipPaddingRight")+"px";g["text-align"]=f("toolTipHorizontalAlign");this.oa.css(g);g={};g.opacity=f("toolTipBackgroundOpacity");g.filter=g["-ms-filter"]="alpha(opacity="+Math.round(100*f("toolTipBackgroundOpacity"))+")";g["background-color"]=f("toolTipBackgroundColor");g.border=[f("toolTipBorderSize")+"px","solid",f("toolTipBorderColor")].join(" ");var p=f("toolTipShadowColor");g["-moz-box-shadow"]=g["-webkit-box-shadow"]= 3099g["box-shadow"]=[f("toolTipShadowHorizontalLength")+"px",f("toolTipShadowVerticalLength")+"px",f("toolTipShadowBlurRadius")+"px",f("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+f("toolTipShadowOpacity")+")"].join(" ");g["-moz-border-radius"]=g["-webkit-border-radius"]=g.borderRadius=f("toolTipBorderRadius")+"px";this.ge.css(g);g={};g["font-family"]=h.Ov(f("toolTipFontFamily"));p=f("toolTipFontSize");m(p).isNumber()? 3100p+="px":m(p).isString()||(p="");g["font-size"]=p;g["font-weight"]=f("toolTipFontWeight");g["font-style"]=f("toolTipFontStyle");g.color=f("toolTipFontColor");p=f("toolTipTextShadowColor");g["-moz-text-shadow"]=g["-webkit-text-shadow"]=g["text-shadow"]=[f("toolTipTextShadowHorizontalLength")+"px",f("toolTipTextShadowVerticalLength")+"px",f("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+f("toolTipTextShadowOpacity")+ 3101")"].join(" ");var q=0==f("toolTipTextShadowVerticalLength")&&0==f("toolTipTextShadowHorizontalLength")?135:45*Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-f("toolTipTextShadowVerticalLength"))/Math.PI);g.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+function(n){for(n=n.toString(16);2>n.length;)n="0"+n;return n}(255*f("toolTipTextShadowOpacity"))+p.substr(1,6)+",direction="+q+")";this.uX.css(g)};e.prototype.gMa=function(c,f,g){f=document.elementsFromPoint(f,g);c=c.Bc()[0]; 3102g=this.hb.Bc()[0];for(var p=0;p<f.length;p++){var q=f[p];if(c==q||c.contains(q))break;if(!this.oa[0].contains(q)&&g.contains(q)){var n=window.getComputedStyle(q);
3102if("none"!=n.display&&"hidden"!=n.visibility&&.29<("CANVAS"==q.tagName?1:this.ZGa(n.backgroundColor))*n.opacity)return!0}}return!1};e.prototype.ZGa=function(c){if(!c)return 0;c=c.toLowerCase();var f=c.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return f?parseFloat(f[1]):c.match(/transparent/)?0:1};e.prototype.bLa=function(c){c= 3103(c||"").split("\n");for(var f=0;f<c.length;f++)c[f]=this.XIa(c[f]);return c.map(function(g){return"<div>"+g+"</div>"})};e.prototype.XIa=function(c){e.Nha.nodeValue=c;return e.Jha.innerHTML};e.vCa=d;e.Jha=document.createElement("pre");e.Nha=document.createTextNode("");e.Jha.appendChild(e.Nha);return e}); 3104define("cU",["require","bl","bT","hB"],function(a){function e(b,h){this.M=b;this.El=h;this.mRa()}var k=a("bl"),m=a("bT"),l=a("hB");e.prototype.Xf=function(){return this.O};e.prototype.yd=function(){return this.O.width};e.prototype.je=function(){return this.O.height};e.prototype.mRa=function(){this.O=document.createElement("canvas");var b=this.El.split("\n"),h=this.Ig("toolTipBackgroundColor"),d=this.Ig("toolTipBackgroundOpacity"),c=this.Ig("toolTipBorderRadius"),f=this.Ig("toolTipBorderColor"),g= 3105this.Ig("toolTipBorderSize");this.Ig("toolTipDisplayTime");var p=this.Ig("toolTipFontFamily"),q=this.Ig("toolTipFontSize"),n=this.Ig("toolTipFontColor"),r=this.Ig("toolTipFontWeight"),t=this.Ig("toolTipFontStyle"),u=this.Ig("toolTipPaddingBottom"),v=this.Ig("toolTipPaddingLeft"),w=this.Ig("toolTipPaddingTop"),x=this.Ig("toolTipPaddingRight"),y=this.Ig("toolTipOpacity"),z=this.Ig("toolTipTextShadowBlurRadius"),C=this.Ig("toolTipTextShadowColor"),A=this.Ig("toolTipTextShadowHorizontalLength"),B=this.Ig("toolTipTextShadowVerticalLength"), 3106I=this.Ig("toolTipTextShadowOpacity"),E=new m.G1;E.fontFamily=p;E.fontSize=q+(isNaN(q)?"":"px");E.fontWeight=r;E.fontStyle=t;this.O=document.createElement("canvas");var G=this.O.getContext("2d"),F=b.map(function(T){return m(T,E,G)}),N=0,R=0;F.forEach(function(T){N=Math.max(T.width,N);R+=T.height});var S=1<b.length?R/b.length*.25:0;R+=(b.length-1)*S;x=g+v+N+x+g;u=g+w+R+u+g;this.O.width=this.O.height=Math.max(256,Math.max(128,Math.pow(2,Math.ceil(Math.log(Math.max(x,u))/Math.LN2))));G=this.O.getContext("2d"); 3107var Q=.5*(this.O.width-x),W=.5*(this.O.height-u);G.save();G.translate(Q,W);G.globalAlpha=y;G.strokeStyle=f;G.fillStyle="transparent"===h?"rgba(0,0,0,0)":this.aia(d,h);G.lineWidth=g;G.beginPath();G.moveTo(c,0);G.lineTo(x-c,0);G.quadraticCurveTo(x,0,x,c);G.lineTo(x,u-c);G.quadraticCurveTo(x,u,x-c,u);G.lineTo(c,u);G.quadraticCurveTo(0,u,0,u-c);G.lineTo(0,c);G.quadraticCurveTo(0,0,c,0);G.closePath();G.fill();0<g&&G.stroke();G.fillStyle=n;G.font=r+" "+("normal"!=t?t+" ":"")+q+(isNaN(q)?"":"px")+" "+l.Ov(p); 3108G.shadowColor=this.aia(I,C);G.shadowOffsetX=A;G.shadowOffsetY=B;G.shadowBlur=z;G.textBaseline="middle";G.textAlign="center";var H=g+v+.5*N,L=g+w;b.forEach(function(T,O){G.fillText(T,Math.round(H),Math.round(L+.5*F[O].height));L+=F[O].height+S})};e.prototype.Ig=function(b){var h=this.M.get(b);return void 0===h?k.vCa[b]:h};e.prototype.aia=function(b,h){return"rgba("+parseInt("0x"+h.substr(1,2))+", "+parseInt("0x"+h.substr(3,2))+", "+parseInt("0x"+h.substr(5,2))+", "+b+")"};return e}); 3109define("oL","require lx hc jF cU fh kt".split(" "),function(a){var e=a("lx"),k=a("hc"),m=a("jF"),l=a("cU"),b=a("fh"),h=a("kt");a=e.extend(m,function(){m.call(this);this.O=null;this.set("tag","ToolTip");this.set("text","");this.qo=new THREE.Vector3(0,0,-k.Dq());this.Tn=null});a.prototype.fa=function(g){this.oq(g);this.jg(g);m.prototype.fa.call(this,g)};a.prototype.oq=function(g){g.ub&&!this.Tn&&h.getType()==h.Et.Rk&&this.Tg([this.Tn=new m])};a.prototype.jg=function(g){if(!this.O||this.N("text")){this.get("textureSource")|| 3110this.set("textureSource",new b);this.O=new l(this.Da.M,this.get("text"));this.get("textureSource").Ul(this.O.Xf());this.set("contentWidth",this.O.yd());this.set("contentHeight",this.O.je());this.set("hfov",2*Math.atan2(.5*this.O.yd(),600)*d);this.set("distance",this.Da.M.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)):p?(this.qo.applyMatrix4(p),0==this.qo.x&&0==this.qo.z|| 3111this.set("yaw",d*Math.atan2(this.qo.x,-this.qo.z)),0==this.qo.y&&0==this.qo.z||this.set("pitch",d*Math.atan2(this.qo.y,Math.sqrt(this.qo.z*this.qo.z+this.qo.x*this.qo.x))+c)):(this.set("yaw",g.$a),this.set("pitch",g.pitch+f))}};var d=180/Math.PI,c=2,f=5;return a}); 3112define("oe",["require","exports","cm","V"],function(a,e,k,m){return function(){function l(b,h){this.$e=b;this.j=h}l.prototype.update=function(){};l.prototype.clear=function(){};l.prototype.getType=function(){return this.$e};l.prototype.Zva=function(b){return this.mT=(b=b.pg&&m.getCamera(b.pg))?k.EWa(b,this.mT):void 0};l.JJ="webxr";l.N1="gaze";l.$ga="gaze_click";l.bha="laser";l.HJ="mouse";l.IJ="touch";return l}()}); 3113define("fm",["require","exports","oe","bd"],function(a,e,k,m){return function(){function l(b,h,d,c,f){void 0===f&&(f=!0);this.Qd=b;this.Xp=h;this.mT=d;this.ff=c;this.lMa=f;this.Wia=[];this.nk=[];this.QN={};this.d6=[];this.Ob="";this.Yy=Number.MAX_VALUE}l.prototype.Ws=function(){return this.Qd};l.prototype.tD=function(){return this.mT};l.prototype.Ss=function(){return this.Qd.getType()==k.HJ};l.prototype.oxa=function(){return this.Qd.getType()==k.JJ};l.prototype.HD=function(){return this.Qd.getType()== 3114k.IJ};l.prototype.UXa=function(){return this.Qd.getType()==k.N1};l.prototype.zua=function(b,h){this.QN[h]=(this.QN[h]||[]).concat(b)};l.prototype.aBa=function(){return l.qCa.find(this.zXa.bind(this))};l.prototype.zXa=function(b){return void 0!==this.QN[b]&&0<this.QN[b].length?!0:!1};l.prototype.S_=function(){return 0<Object.keys(this.QN).length};l.prototype.iD=function(b){this.zua(b,m.Ee)};l.prototype.KUa=function(b){this.d6=this.d6.concat(b)};l.prototype.MVa=function(){return!this.aBa()&&0<this.d6.length}; 3115l.prototype.gz=function(b){this.nk=this.nk.concat(b)};l.prototype.Co=function(){return 0<this.nk.length};l.prototype.Ik=function(b){b&&(void 0===this.rF||this.rF>b)&&(this.rF=b)};l.prototype.lY=function(b,h){if(""==this.Ob||this.Yy>h)this.Ob=b,this.Yy=h};l.prototype.uw=function(){return this.Ob};l.prototype.Rq=function(b){this.Wia=void 0===b?[]:Array.isArray(b)?b:[b]};l.prototype.Jk=function(){return 0<this.Wia.length};l.qCa=[m.th,m.ega,m.Lw,m.Ee,m.te];return l}()}); 3116define("cM","require lx oR cm V mC oL fm oe kt".split(" "),function(a){var e=a("lx"),k=a("oR");a("cm");a("V");var m=a("mC"),l=a("oL"),b=a("fm"),h=a("oe"),d=a("kt");a=e.extend(h,function(c,f){h.call(this,h.N1,c);this.yj=this.A=null;this.nk=[];this.ad=this.Wt=!1;this.fL=null;this.Xla=void 0;this.vN=null;this.Kpa=void 0;this.ce=new m;this.mo="";this.Ob=new l;this.Ob.set("alpha",0);this.j.add(this.Ob);this.I9=f?this.j.M.get("vrPointerSelectionTime"):void 0;this.Yla=this.j.M.get("vrGazePointerHideTime"); 3117this.yX=this.yX.bind(this);document.body.addEventListener("touchend",this.yX);d.ba.bind(k.Yo,this.kua,this,!0);this.kaa();this.Haa()});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.yX);d.ba.unbind(k.Yo,this.kua,this,!0);this.v$();this.j.remove(this.ce);this.ce=null;this.j.remove(this.Ob);this.Ob=null};a.prototype.update=function(c){this.A=c;this.rQa(c.yq);this.Gk()};a.prototype.yX=function(){this.iK()};a.prototype.kua=function(){this.iK()};a.prototype.iK=function(){var c= 3118this.ak(k.$f);this.Bk(c);this.MC(!1);this.V$()};a.prototype.V$=function(){this.j.Gb().trigger(k.AA,{cJ:k.$f})};a.prototype.Gk=function(){var c=this.ak(k.Uk);this.Bk(c);this.qv(c.uw());a:{var f=this.nk;for(var g=c.nk,p=0;p<f.length;p++)if(0>g.indexOf(f[p])){f=!1;break a}for(p=0;p<g.length;p++)if(0>f.indexOf(g[p])){f=!1;break a}f=!0}f||(this.MC(!1),this.nk=c.nk,this.nk.length&&this.MC(!0,c.S_()))};a.prototype.rQa=function(c){this.Wt!=c&&(this.Wt=c,this.ce.set("changing",this.Wt),this.kaa(),this.Haa())}; 3119a.prototype.MC=function(c,f){this.ad!=c&&(this.ad=c,this.ce.set("over",this.ad&&f),this.kaa(),this.Haa())};a.prototype.qv=function(c){this.mo!=c&&(this.mo=c,this.Ob.set("text",this.mo),this.Ob.set("alpha",this.mo?1:0),this.mo&&this.Ob.mh())};a.prototype.Bk=function(c){this.j.wP().sort(function(f,g){return g.get("index")-f.get("index")}
3119).forEach(function(f){f.Tl(c)}.bind(this))};a.prototype.ak=function(c){this.yj=this.Zva(this.A);return new b(this,this.yj?[this.yj]:[],this.yj,c)};a.prototype.Haa=function(){!this.ad|| 3120this.Wt||void 0===this.I9?this.v$():this.ad&&!this.vN&&this.ORa()};a.prototype.kaa=function(){this.ad||this.Wt||void 0===this.Yla?(this.ce.set("alpha",1),this.ysa()):1!=this.ce.get("alpha")||this.fL||this.BRa()};a.prototype.v$=function(){this.vN&&(clearInterval(this.vN),this.vN=null)};a.prototype.ORa=function(){this.ce.set("overProgress",0);this.Kpa=(new Date).getTime();this.vN=setInterval(this.XNa.bind(this),100)};a.prototype.XNa=function(){var c=(new Date).getTime()-this.Kpa;c>=this.I9?(this.v$(), 3121this.iK()):this.ce.set("overProgress",c/this.I9)};a.prototype.ysa=function(){this.fL&&(clearInterval(this.fL),this.fL=null)};a.prototype.BRa=function(){this.Xla=(new Date).getTime();this.fL=setInterval(this.rNa.bind(this),10)};a.prototype.rNa=function(){var c=this.Yla-((new Date).getTime()-this.Xla);this.ce.set("alpha",Math.max(.01,Math.min(1,c/500)));0>=c&&this.ysa()};return a}); 3122define("kM","require lx hc cw et fh h nJ".split(" "),function(a){var e=a("lx"),k=a("hc"),m=a("cw"),l=a("et"),b=a("fh"),h=a("h"),d=a("nJ"),c=new THREE.Matrix4,f=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.f9=this.jN=this.Yr=this.e9=null;new THREE.Matrix4;this.g9=new THREE.Matrix4;this.g9.multiply(c.makeRotationX(-90* 3123f));this.g9.multiply(c.makeTranslation(0,.5*g,0));this.RS=this.QS=this.PS=this.iu=this.s4=null;new THREE.Matrix4;this.t4=new THREE.Matrix4;this.qK=this.OS=this.r4=null;new THREE.Matrix4;this.fB=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.fB[0].multiply(c.makeRotationX(-90*f));this.fB[0].multiply(c.makeTranslation(0,.5*-q,0));this.fB[1].multiply(c.makeRotationX(-90*f));this.fB[1].multiply(c.makeTranslation(0,.5*-q,.5*-p));this.fB[2].multiply(c.makeRotationX(-90*f));this.fB[2].multiply(c.makeTranslation(0, 3124.5*-q,-p))});a.prototype.fa=function(n){h.prototype.fa.call(this,n);this.Jaa();this.dz()};a.prototype.Jaa=function(){this.N("visible")&&(this.get("meshGroup").visible=this.get("visible"));this.N("dotVisible")&&l.Se([this.QS,this.OS],this.get("dotVisible")?1:0)};a.prototype.dz=function(){this.N("over","pressed")&&(this.tta(),this.Lta())};var g=.35,p=.012,q=.1;a.prototype.An=function(){this.OS=l.create(new THREE.SphereGeometry(2.3,32,32),this.wHa());this.QS=l.create(new THREE.SphereGeometry(2,32,32), 3125this.xHa());this.f9=l.create(new THREE.CylinderGeometry(.003,.003,g,8),this.YHa());this.eF=[];this.eF.push(l.create(new THREE.CylinderGeometry(p,p,q,32),this.F3()));this.eF.push(l.create(new THREE.BoxGeometry(2*p,q,p),this.F3()));this.eF.push(l.create(new THREE.CylinderGeometry(p,p,q,32),this.F3()));return[this.OS,this.QS,this.f9].concat(this.eF)};a.prototype.wHa=function(){if(null==this.r4){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),t=new b;t.Ul(n);this.r4= 3126m.nz(t.texture(),new m.bm);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.r4};a.prototype.xHa=function(){null==this.s4&&(this.iu=document.createElement("canvas"),this.iu.width=this.iu.height=256,this.PS=this.iu.getContext("2d"),this.RS=new b,this.RS.Ul(this.iu),this.s4=m.nz(this.RS.texture(),new m.bm),this.tta());return this.s4};a.prototype.tta=function(){this.PS.fillStyle=this.n5();this.PS.clearRect(0,0,this.iu.width,this.iu.height); 3127this.PS.fillRect(0,0,this.iu.width,this.iu.height);this.RS.update()};a.prototype.YHa=function(){null==this.e9&&(this.Yr=document.createElement("canvas"),this.Yr.width=this.Yr.height=256,this.jN=this.Yr.getContext("2d"),this.h9=new b,this.h9.Ul(this.Yr),this.e9=m.nz(this.h9.texture(),new m.bm),this.Lta());return[this.e9]};a.prototype.Lta=function(){var n=d.Lq(this.n5()).join(", "),r=this.jN.createLinearGradient(0,0,0,this.Yr.height);r.addColorStop(0,"rgba("+n+", 0)");r.addColorStop(.5,"rgba("+n+", 1)"); 3128r.addColorStop(1,"rgba("+n+", 1)");this.jN.fillStyle=r;this.jN.clearRect(0,0,this.Yr.width,this.Yr.height);this.jN.fillRect(0,0,this.Yr.width,this.Yr.height);
3128this.h9.update()};a.prototype.F3=function(){if(null==this.qK){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),t=new b;t.Ul(n);this.qK=m.nz(t.texture(),new m.bm);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.qK,this.qK,this.qK]};a.prototype.pq= 3129function(){var n=!1,r=!1,t=!1;if(this.N("intersectionDistance")){r=(r=this.get("intersectionDistance"))?k.Ls(r):k.Dq();var u=r/k.Dq();this.t4.makeTranslation(0,0,-r);this.t4.multiply(c.makeScale(u,u,u));r=!0}this.N("matrix")&&(t=r=n=!0);r&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.t4),l.zq(this.QS,c),l.zq(this.OS,c));n&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.g9),l.zq(this.f9,c));if(t)for(r=this.get("matrix"),n=0;n<this.eF.length;n++)c.identity(), 3130r&&c.multiply(r),c.multiply(this.fB[n]),l.zq(this.eF[n],c)};a.prototype.bD=function(){if(this.N("index","meshGroup")){var n=this.get("meshGroup");n&&n.children.forEach(function(r){l.A_(r,this.get("index"))}.bind(this))}};a.prototype.n5=function(){return this.get("pressed")?this.Da.M.get("vrPointerSelectionColor"):this.get("over")?this.Da.M.get("vrPointerOverColor"):this.Da.M.get("vrPointerColor")};return a}); 3131define("ep","require lx oR cm kM mC oL fm oe hp kt nD".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cm"),l=a("kM"),b=a("mC"),h=a("oL"),d=a("fm"),c=a("oe"),f=a("hp"),g=a("kt"),p=a("nD"),q=new THREE.Matrix4,n=Math.PI/180;a=e.extend(c,function(r){c.call(this,c.bha,r);this.yj=this.A=null;this.nk=[];this.qj=new l;this.j.add(this.qj);this.ce=new b;this.j.add(this.ce);this.uk=!1;this.mo="";this.Ob=null;this.$k=new THREE.Matrix4});a.prototype.clear=function(){this.j.remove(this.qj);this.j.remove(this.ce); 3132this.ce=this.qj=null;this.Ob&&this.j.remove(this.Ob);this.Ob=null};a.prototype.update=function(r){this.A=r;this.ce.set("changing",r.yq);this.ce.set("visible",r.yq);var t=f.Tca();if(t&&!t.XXa()){var u=t.quaternion(),v=t.position(),w=g.$i&&g.Aba,x=p.$a(g.$i&&g.TO);this.$k.identity();v?(this.$k.multiply(q.makeRotationY((x-r.$a)*n)),this.$k.multiply(q.makeTranslation(-w.x,-w.y,-w.z)),this.$k.multiply(q.makeTranslation(v.x,v.y,v.z)),this.$k.multiply(q.makeRotationFromQuaternion(u))):(this.$k.multiply(q.makeRotationY(-r.$a* 3133n)),t.hand()==f.Ya?this.$k.multiply(q.makeTranslation(-.2,-.4,0)):this.$k.multiply(q.makeTranslation(.2,-.4,0)),this.$k.multiply(q.makeRotationY(x*n)),this.$k.multiply(q.makeRotationFromQuaternion(u)),this.$k.multiply(q.makeTranslation(0,0,-.3)));this.qj.set("matrix",null);this.qj.set("matrix",this.$k);this.qj.set("pressed",t.pressed());this.qj.set("visible",!0)}else this.qj.set("visible",!1);this.Gk();r=!!t&&t.pressed();this.uk!=r&&(this.uk&&this.iK(),this.uk=r);this.qj.mh();this.ce.mh()};a.prototype.iK= 3134function(){var r=this.ak(k.$f);this.Bk(r);this.qj.set("over",!0);this.qj.set("dotVisible",!0);this.qj.set("intersectionDistance",r.rF);f.Tca();this.V$()};a.prototype.V$=function(){this.j.Gb().trigger(k.AA,{cJ:k.$f})};a.prototype.Gk=function(){var r=this.ak(k.Uk);this.Bk(r);this.qv(r.uw());a:{var t=this.nk;for(var u=r.nk,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.S_()&&!this.qj.get("over")||(this.nk=r.nk,f.Tca());this.qj.set("over", 3135r.S_());this.qj.set("intersectionDistance",r.rF);this.qj.set("dotVisible",!r.MVa())};a.prototype.qv=function(r){this.mo!=r&&(this.mo&&this.j.remove(this.Ob),this.mo=r)&&(this.Ob=new h(this.mo),this.Ob.set("text",this.mo),this.Ob.set("matrix",null),this.Ob.set("matrix",this.$k),this.j.add(this.Ob))};a.prototype.Bk=function(r){this.j.wP().sort(function(t,u){return u.get("index")-t.get("index")}).forEach(function(t){t.Tl(r)}.bind(this))};a.prototype.ak=function(r){this.yj=m.DWa(this.$k,this.yj);return new d(this, 3136[this.yj],this.Zva(this.A),r)};return a}); 3137define("jl","require lx oR cm V fm oe bd".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cm"),l=a("V"),b=a("fm"),h=a("oe"),d=a("bd");a=e.extend(h,function(c){h.call(this,h.HJ,c);this.j.M.bind(k.kc,this.sj,this,!0);this.j.M.bind(k.Uo,this.ana,this,!0);this.j.M.bind(k.ac,this.GPa,this,!0);this.j.M.bind(k.wb,this.Nd,this,!0);this.j.M.bind(k.Zb,this.tj,this,!0);this.Yu=this.Xu=this.cv=this.Sm=this.$c=this.Zc=void 0;this.yj=this.A=null;this.jH=void 0;this.Ob=""});a.prototype.clear=function(){this.j.M.unbind(k.kc, 3138this.sj,this,!0);this.j.M.unbind(k.Uo,this.ana,this,!0);this.j.M.unbind(k.wb,this.Nd,this,!0);this.j.M.unbind(k.Zb,this.tj,this,!0);this.Naa&&(this.j.LI(d.Ee),this.Naa=!1);this.qv("")};a.prototype.update=function(c){this.A=c;this.uaa()};a.prototype.mwa=function(){return{x:this.Zc,y:this.$c,pageX:this.Xu,pageY:this.Yu}};a.prototype.sj=function(c){this.Zc=c.x;this.$c=c.y;this.Xu=c.pageX;this.Yu=c.pageY;this.MX()};a.prototype.ana=function(){this.Yu=this.Xu=this.$c=this.Zc=void 0;this.MX()};a.prototype.GPa= 3139function(){this.Yu=this.Xu=this.$c=this.Zc=void 0;this.MX()};a.prototype.Nd=function(c){this.Zc=this.Sm=c.x;this.$c=this.cv=c.y;this.Xu=c.pageX;this.Yu=c.pageY;this.Bk(this.ak(k.uA))};a.prototype.tj=function(c){this.Zc=c.x;this.$c=c.y;this.Xu=c.pageX;this.Yu=c.pageY;this.Bk(this.ak(k.w1));this.K6(this.Sm,this.cv,this.Zc,this.$c)&&this.Bk(this.ak(k.$f))};a.prototype.uaa=function(){this.qq||(this.qq=setTimeout(function(){this.qq=null;this.Gk()}.bind(this),300))};a.prototype.MX=function(){this.qq&&(clearTimeout(this.qq), 3140this.qq=null);this.Gk()};a.prototype.Gk=function(){var c=this.ak(k.Uk);this.Bk(c);this.qv(c.uw());c=c.aBa();this.jH!=c&&(this.jH&&this.j.LI(this.jH),(this.jH=c)&&this.j.n_(this.jH))};a.prototype.qv=function(c){this.Ob!=c&&(this.Ob=c,this.j.M.set("toolTip",this.Ob))};a.prototype.Bk=function(c){this.j.wP().sort(function(f,g){return g.get("index")-f.get("index")}
3140).forEach(function(f){f.Tl(c)}.bind(this))};a.prototype.ak=function(c){return new b(this,this.wT(),null,c)};a.prototype.wT=function(){if(void 0!== 3141this.Zc&&void 0!==this.$c&&this.A.pg){var c=l.getCamera(this.A.pg);if(c)return this.yj=m.nwa(c,this.Zc,this.$c,this.A.width,this.A.height,this.yj),[this.yj]}return[]};a.prototype.K6=function(c,f,g,p){c=g-c;f=p-f;return 5>=Math.sqrt(c*c+f*f)};return a}); 3142define("gE","require lx oR cm V fm oe".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cm"),l=a("V"),b=a("fm"),h=a("oe");a=e.extend(h,function(c){h.call(this,h.IJ,c);this.M=this.j.M;this.M.bind(k.wb,this.Nd,this,!0);this.M.bind(k.Zb,this.tj,this,!0);this.M.bind(k.G("touchOverAreaScale"),this.g8,this,!0);this.cv=this.Sm=this.$c=this.Zc=void 0;this.Zia=this.A=null;this.g8();this.JOa=Array(d.length);this.Ob="";this.Gk=this.Gk.bind(this)});a.prototype.clear=function(){this.M.unbind(k.wb,this.Nd,this, 3143!0);this.M.unbind(k.Zb,this.tj,this,!0);this.M.unbind(k.G("touchOverAreaScale"),this.g8,this,!0);this.qv("")};a.prototype.update=function(c){this.A=c;this.uaa()};a.prototype.Nd=function(c){this.Zc=this.Sm=c.x;this.$c=this.cv=c.y;this.Bk(this.ak(k.uA))};a.prototype.tj=function(c){this.Zc=c.x;this.$c=c.y;this.Bk(this.ak(k.w1));this.K6(this.Sm,this.cv,this.Zc,this.$c)&&this.Bk(this.ak(k.$f))};a.prototype.uaa=function(){this.qq||(this.qq=setTimeout(this.Gk,300))};a.prototype.MX=function(){this.qq&&(clearTimeout(this.qq), 3144this.qq=null);this.Gk()};a.prototype.Gk=function(){this.qq=null;var c=this.ak(k.Uk);this.Bk(c);this.qv(c.uw())};a.prototype.qv=function(c){if(this.Ob!=c&&(this.Ob=c,c=this.j.M,c.set("toolTip",this.Ob),!c.get("toolTipDisabled"))){var f=c.Gb().Ob;this.Ob?f.h1a(c,this.Ob):f.hide()}};a.prototype.Bk=function(c){this.j.wP().sort(function(f,g){return g.get("index")-f.get("index")}).forEach(function(f){f.Tl(c)}.bind(this))};a.prototype.ak=function(c){var f=c==k.Uk?this.wT(.5*this.A.width,.5*this.A.height, 3145this.Xia,this.Zia):this.wT(this.Zc,this.$c,d,this.JOa);return new b(this,f,null,c)};a.prototype.wT=function(c,f,g,p){var q=this.A.pg&&l.getCamera(this.A.pg);if(q){var n=this.A.width,r=this.A.height,t=Math.min(n,r)/100;g.forEach(function(u,v){p[v]=m.nwa(q,c+u[0]*t,f+u[1]*t,n,r,p[v])});return p}return[]};a.prototype.K6=function(c,f,g,p){c=g-c;f=p-f;return Math.sqrt(c*c+f*f)<=4*Math.round(1*Math.min(window.screen.width,window.screen.height)/100)};a.prototype.g8=function(){this.Xia=this.TJa(this.M.get("touchOverAreaScale")); 3146this.Zia=Array(this.Xia.length)};a.prototype.TJa=function(c){var f=[],g=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=-g;q<=g;q++)for(var n=-g;n<=g;n++){var r=Math.sqrt(n*n+q*q);r<=g&&f.push([n,q,r])}for(n=-p;n<-g;n++)f.push([n,0,Math.sqrt(n*n)]);for(n=g+1;n<=p;n++)f.push([n,0,Math.sqrt(n*n)]);for(q=-c;q<-g;q++)f.push([0,q,Math.sqrt(q*q)]);for(q=g+1;q<=c;q++)f.push([0,q,Math.sqrt(q*q)]);f.sort(function(t,u){return t[2]-u[2]});return f.map(function(t){return[t[0], 3147t[1]]})};var d=function(){for(var c=[],f=0;5>f;f++)for(var g=-2+4*f/4,p=0;5>p;p++){var q=-2+4*p/4,n=Math.sqrt(q*q+g*g);2>=n&&c.push([q,g,n])}c.sort(function(r,t){return r[2]-t[2]});return c.map(function(r){return[r[0],r[1]]})}();return a}); 3148define("oX","require exports oR oL fm oe hc kt three.mod".split(" "),function(a,e,k,m,l,b,h,d,c){function f(n,r){for(var t=0;t<n.length;t++)if(0>r.indexOf(n[t]))return!1;for(t=0;t<r.length;t++)if(0>n.indexOf(r[t]))return!1;return!0}a=function(n){function r(t){t=n.call(this,b.JJ,t)||this;t.yq=!1;t.uza=new Map;t.KI=new Map;t.RP=null;t.Yea=t.Yea.bind(t);document.body.addEventListener("touchend",t.Yea);d.ba.bind(k.$f,t.yya,t,!0);return t}Z(r,n);r.prototype.clear=function(){d.ba.unbind(k.$f,this.yya,this); 3149this.KI.forEach(function(t,u,v){v.delete(u)})};r.prototype.update=function(t){this.state=t;this.b2a();this.jw(t.yq);this.f2a()};r.prototype.yya=function(t){this.RP=t=t.data.pointerState;this.gAa(t)};r.prototype.Yea=function(){var t=d.Bg[0]||null;t&&this.gAa(t)};r.prototype.gAa=function(t){var u=new l(this,[t.ray],d.tD,k.$f,this.RP==t);this.fAa(u);d.LAa(t,!1,!1);d.hAa(t);this.U1a()};r.prototype.jw=function(t){this.yq!==t&&(this.yq=t,d.Bg.forEach(function(u){d.s0a(u,t)}))};
3149r.prototype.b2a=function(){this.KI.forEach(function(t, 3150u){d.Bg.includes(u)||this.KI.delete(u)}.bind(this));d.Bg.forEach(function(t){if(!this.KI.has(t)){var u=new m;u.set("alpha",0);this.j.add(u);this.KI.set(t,u)}}.bind(this))};r.prototype.f2a=function(){this.RP=this.RP||(d.Bg.length?d.Bg.find(function(y){return"right"==y.handedness})||d.Bg[0]:null);for(var t=0;t<d.Bg.length;t++){var u=d.Bg[t],v=new l(this,[u.ray],d.tD,k.Uk,this.RP==u);this.fAa(v);this.o2a(v,u);var w=this.uza.get(u)||[],x=v.nk;f(w,x)||(this.uza.set(u,x),w=(w=v.rF)?h.Ls(w):h.Dq(),x=0<x.length, 3151((v=v.S_())||u.HI)&&d.hAa(u),d.LAa(u,x,v,w))}};r.prototype.o2a=function(t,u){var v=t.uw()||"",w=this.KI.get(u);w&&v!==w.get("text")&&(v?(w.set("text",v),w.set("alpha",1),w.mh(),t=(t=t.rF)?h.Ls(t):h.Dq(),g.radius=t,w.set("intersectionYaw",void 0),w.set("intersectionPitch",void 0),u.ray.intersectSphere(g,p)&&(0==p.x&&0==p.z||w.set("intersectionYaw",q*Math.atan2(p.x,-p.z)),0==p.y&&0==p.z||w.set("intersectionPitch",q*Math.atan2(p.y,Math.sqrt(p.z*p.z+p.x*p.x))))):(w.set("text",""),w.set("alpha",0)))}; 3152r.prototype.fAa=function(t){this.j.wP().sort(function(u,v){return v.get("index")-u.get("index")}).forEach(function(u){u.Tl(t)}.bind(this))};r.prototype.U1a=function(){var t=this.j.Gb();t&&t.trigger(k.AA,{cJ:k.$f})};return r}(b);var g=new c.Sphere,p=new c.Vector3,q=180/Math.PI;return a}); 3153define("hs","require cM ep jl oe gE oX".split(" "),function(a){var e=a("cM"),k=a("ep"),m=a("jl"),l=a("oe"),b=a("gE"),h=a("oX");return{create:function(d,c){switch(d){case l.JJ:return new h(c);case l.N1:return new e(c,!0);case l.$ga:return new e(c,!1);case l.bha:return new k(c);case l.HJ:return new m(c);case l.IJ:return new b(c)}}}}); 3154define("ps",["require","bd"],function(a){function e(m){this.Mc=m;this.Le=[]}var k=a("bd");e.prototype.push=function(m){this.Le.push(m);this.fa()};e.prototype.pop=function(m){for(var l=this.Le.length-1;0<=l;l--)if(this.Le[l]==m){this.Le.splice(l,1);this.fa();break}};e.prototype.clear=function(){0<this.Le.length&&(this.Mc.set("cursor",k.te),this.Le=[])};e.prototype.fa=function(){var m=0<=this.Le.indexOf(k.th)?k.th:0<=this.Le.indexOf(k.Ee)?k.Ee:0<this.Le.length?this.Le[this.Le.length-1]:k.te;this.Mc.set("cursor", 3155m)};return e}); 3156define("mh","require lx kJ oR cB e bd v hp il kn oY eO eI dX gx hs oe ps oZ kA kY kt bh nV".split(" "),function(a){var e=a("lx"),k=a("kJ"),m=a("oR"),l=a("cB"),b=a("e"),h=a("bd"),d=a("v"),c=a("hp"),f=a("il"),g=a("kn"),p=a("oY"),q=a("eO"),n=a("eI"),r=a("dX"),t=a("gx"),u=a("hs"),v=a("oe"),w=a("ps"),x=a("oZ"),y=a("kA"),z=a("kY"),C=a("kt"),A=a("bh"),B=a("nV"),I=Math.PI/180,E=e.extend(b,function(G,F,N){b.call(this);this.Ae("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",h.pt);this.set("layout", 3157"absolute");this.sc=G;this.M=F;this.yc=N;this.he=new w(F);this.Qd=null;this.A=new p;this.Da=new t(this.sc,this.M,this.yc,this);this.Da.bind(m.va,this.requestFrame,this,!0);this.yk=new n(this.M);this.A.pg=this.yk.Jj();this.A.cP=this.yk.Mja;this.A.dP=this.yk.Nja;this.A.camera=this.yk.getCamera();this.Hma=(new Date).getTime();this.Fb().append(this.yk.Bc());this.PK=new g;this.Fb().append(this.PK.Bc());this.pH=new q(F,N);this.Fb().append(this.pH.Bc());this.Isa=new y;this.Isa.bind(m.Z,this.bOa,this,!0); 3158this.xna=new x;this.xna.bind(m.va,this.GNa,this,!0);this.jT=new f(this.A.width,this.A.height,this.A.Be*I);this.bind(m.lc,this.hc,this,!0);this.bind(m.ld,this.mk,this,!0);this.bind(m.hd,this.hk,this,!0);C.ba.bind(m.va,this.Rn,this,!0);c.bind(m.va,this.qNa,this,!0);k.ga(this.yc,["fxaaEnabled","aaEnabled","hotspotsEnabled","preloadEnabled"],function(){this.A.CD=this.yc.get("hotspotsEnabled");this.A.hQ=this.yc.get("preloadEnabled");this.A.RY=this.yc.get("fxaaEnabled");this.A.hY=this.yc.get("aaEnabled"); 3159this.requestFrame()}.bind(this),!0);k.ga(this.yc,["surfaceSelectionEnabled"],this.Eaa.bind(this));this.Eaa();this.Rn();k.ga(this.sc,["defaultVRPointer"],this.rq.bind(this));this.rq()});E.prototype.create=function(G){return r.create(G)};E.prototype.add=function(G){this.Da.appendChild(G)};E.prototype.remove=function(G){(G=this.Da.af(G))&&G.remove()};E.prototype.af=function(G){return this.Da.af(G)};E.prototype.wP=function(){return this.Da.all()};E.prototype.FAa=function(G){this.A.KZ=G};E.prototype.n_= 3160function(G){this.he.push(G)};E.prototype.LI=function(G){this.he.pop(G)};E.prototype.jw=function(G){this.A.yq=G;this.requestFrame()};E.prototype.TD=function(){this.PK.trigger();this.A.ED=!0;this.jW();var G=B.GBa(this.yk.Xf());this.A.ED=!1;this.jW();return G};E.prototype.VO=function(G){this.A.ED=!0;this.jW();G=this.yk.VO(G);this.A.ED=!1;return G};E.prototype.getPixelRatio=function(){return this.yk.getPixelRatio()};E.prototype.rq=function(){var G=this.A.ub?v.JJ:d.lb()?v.IJ:v.HJ;this.Qd&&this.Qd.getType()== 3161G||(this.Qd&&this.Qd.clear(),this.Qd=u.create(G,this),this.Eaa(),this.Qd.update(this.A))};E.prototype.Eaa=function(){this.A.MQ=this.yc.get("surfaceSelectionEnabled")&&0<=[v.HJ,v.JJ,v.IJ].indexOf(this.Qd&&this.Qd.getType())};E.prototype.Tm=function(){this.he.clear();b.prototype.Tm.call(this)};E.prototype.hc=function(){var G=this.Xa(),F=this.Ab();if(this.A.width!=G||this.A.height!=F)G&&F?(this.A.width=G,this.A.height=F,this.jT.GQ(this.A.width),this.jT.xAa(this.A.height),this.requestFrame()):e.log("Invalid size values: "+ 3162G+" "+F)};E.prototype.mk=function(){this.A.enabled=!0;this.requestFrame()};E.prototype.hk=function(){this.A.enabled=!1};E.prototype.Rn=function(){this.A.ub=C.isPresenting;this.rq();this.requestFrame()};E.prototype.qNa=function(){this.rq();this.requestFrame()};E.prototype.bOa=function(){this.requestFrame()};E.prototype.GNa=function(){this.requestFrame()};E.prototype.DQ=function(G){this.v9!=G&&((this.v9=G)||this.requestFrame())};E.prototype.bE=function(G){this.A.Wl!=G&&(this.A.Wl=G,this.requestFrame())}; 3163E.prototype.setPosition=function(G,F,N,R){if(this.A.$a!=G||this.A.pitch!=F||this.A.ng!=N||this.A.Be!=R)isNaN(G)||isNaN(F)||isNaN(N)||!R?e.log("Invalid position values: "+G+" "+F+" "+N+" "+R):(this.A.$a=G,this.A.pitch=F,this.A.ng=N,this.A.Be=R,this.jT.XD(this.A.Be*I),this.requestFrame())};E.prototype.Pc=function(){return this.A.$a};E.prototype.Oc=function(){return this.A.pitch};E.prototype.Nf=function(){return this.A.ng};E.prototype.yg=function(){return this.A.Be};E.prototype.eI=function(){return this.A.ub? 3164this.A.Uh:z.Wq(this.A.Uh,this.A.width,this.A.height)};E.prototype.fI=function(){return this.A.Uh};E.prototype.unproject=function(G){return this.jT.unproject(G)};E.prototype.requestFrame=function(){A.requestFrame(this.vj,this)};E.prototype.vj=function(){if(A.Bca){var G=(new Date).getTime(),F=Math.max(1,Math.min(G-this.Hma,33));this.Hma=G;this.trigger(new l(E.V0,{frameTime:F}));this.A.enabled&&(this.A.Wd=F,this.jW())}else this.requestFrame()};E.prototype.jW=function(){this.yk.update(this.A);this.A.uY= 3165this.yk.qWa();this.A.UO=this.yk.pWa();this.A.Uh=this.yk.nWa();this.A.Lj=this.yk.getPixelRatio();this.A.camera=this.yk.getCamera();this.Da.update(this.A);this.Isa.update(this.A);this.xna.update(this.A);this.Qd.update(this.A);this.v9||this.yk.render()};E.V0="render start";E.Y3a=function(){return!0};return E}); 3166define("fO",["require","lx","cB","gp","mh"],function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("mh"),b=e.extend(m,function(h){m.call(this);this.j=h;this.j.bind(l.V0,this.kpa,this,!0)});b.prototype.clear=function(){this.j.unbind(l.V0,this.kpa,this,!0);this.j=null};b.prototype.requestFrame=function(){this.j.requestFrame()};b.prototype.kpa=function(h){h=h.data.frameTime;this.trigger(new k(b.No,{frameTime:h}));this.trigger(new k(b.Oo,{frameTime:h}))};b.No="frameStart";b.Oo="positionSet";return b}); 3167define("dw",["require","v","kY"],function(a){function e(){this.wa=this.ja=0;this.Ma=90;this.sl="landscape";this.k8=!1;this.nL=k.lb()}var k=a("v"),m=a("kY");e.prototype.AAa=function(l){this.Ma=this.Ova(l)};e.prototype.Ova=function(l){return this.nL&&"portrait"==this.sl?m.nD(l,this.wa,this.ja):l};e.prototype.KWa=function(l){return this.nL&&"portrait"==this.sl?m.Ll(l,this.ja,this.wa):l};e.prototype.Fo=function(l){this.Ma=this.nL&&this.k8?m.nD(l,this.wa,this.ja):l};e.prototype.qxa=function(){return this.nL&& 3168this.k8};e.prototype.Qv=function(){return this.nL&&"portrait"==this.sl};e.prototype.yg=function(){return this.Ma};e.prototype.yY=function(l){return m.nD(l,this.wa,this.ja)};e.prototype.setSize=function(l,b){this.ja=l;this.wa=b;l=this.FKa();this.k8=this.sl!=l;this.sl=l};e.prototype.FKa=function(){return 0===this.ja||0===this.wa?"landscape":this.ja<this.wa?"portrait":"landscape"};return e}); 3169define("iO","require ek lx oR cB gp nT".split(" "),function(a){a("ek");var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("nT");a=e.extend(l,function(d){l.call(this);this.j=d;this.Bm=new b(d);this.Bm.bind(b.M0,this.moa,this,!0);this.Bm.bind(b.L0,this.loa,this,!0)});a.prototype.clear=function(){this.Bm.unbind(b.M0,this.moa,this,!0);this.Bm.unbind(b.L0,this.loa,this,!0);this.Bm.clear();this.Bm=null};a.prototype.Gz=function(d){this.Bm.Wb(d)};a.prototype.yi=function(d){this.ma=d};a.prototype.end=function(){this.ma= 3170null};a.prototype.moa=function(d){this.fta(d);(d=this.lra(this.j.Pc(),this.yla()))&&d.trigger(k.Yo)};a.prototype.loa=function(d){this.fta(d);(d=this.lra(this.j.Pc()-180,this.yla()))&&d.trigger(k.Yo)};a.prototype.fta=function(d){this.j.Gb().trigger(new m(k.AA,{cJ:d}
3170))};a.prototype.yla=function(){return this.j.yc.get("keyboardTranslateSelectionAngle")};a.prototype.lra=function(d,c){var f,g;if(!this.ma)return null;void 0!==f||(f=-90);void 0!==g||(g=360);var p=d-.5*c,q=d+.5*c,n=Math.max(-90,f-.5*g),r= 3171Math.max(90,f+.5*g);c=this.ma.get("adjacentPanoramas",[]).slice();c=c.filter(function(t){if(!t.get("enabled"))return!1;t=this.sp(t);if(!t)return!1;var u=t.$a;for(var v=d-180,w=d+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.sp(t);u=this.sp(u);return(d-t.$a)*(d-t.$a)+(f-t.pitch)*(f-t.pitch)-((d-u.$a)*(d-u.$a)+(f-u.pitch)*(f-u.pitch))}.bind(this));return c[0]};a.prototype.sp=function(d){var c=d.get("yaw"); 3172d=d.get("distance");if(void 0===c||void 0===d)return null;var f=this.ma.get("distanceToFloor");return{$a:c,pitch:-90+Math.atan2(d,f)*h}};var h=180/Math.PI;return a}); 3173define("lS","require lx oR cB gp no bt pb x mB kc fO dw iO dI".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("no"),h=a("bt"),d=a("pb"),c=a("x"),f=a("mB"),g=a("kc"),p=a("fO"),q=a("dw"),n=a("iO"),r=a("dI"),t=e.extend(l,function(u,v){l.call(this);this.M=u;this.j=v;this.j.set("visible",!1);this.Gc=new q;this.hg=new p(this.j);this.oe=new f(this.j);this.Mb=new d(this.M,this.j,this.Gc);this.eb=new h(this.j,this.Gc);this.wf=new c(this.j);this.Ju=new g(this.j);this.Jd=new b(this.j); 3174this.BX=new n(this.j);this.hg.bind(p.No,this.vy,this,!0);this.hg.bind(p.Oo,this.wy,this,!0);this.oe.bind(k.Wc,this.voa,this,!0);this.oe.bind(k.Gf,this.oM,this,!0);this.oe.bind(k.ec,this.ji,this,!0);this.Mb.bind(d.Hb,this.Je,this,!0);this.Mb.bind(d.W0,this.woa,this,!0);this.Mb.bind(d.N0,this.Poa,this,!0);this.Mb.bind(d.t0,this.Dna,this,!0);this.Mb.bind(d.u0,this.Ena,this,!0);this.Mb.bind(d.hA,this.xM,this,!0);this.Mb.bind(d.fA,this.uy,this,!0);
3174this.Mb.bind(d.gA,this.Tu,this,!0);this.Mb.bind(d.eA,this.wM, 3175this,!0);this.Mb.bind(d.Po,this.By,this,!0);this.eb.bind(h.Hb,this.Je,this,!0);this.eb.bind(h.Pj,this.Ip,this);this.eb.bind(h.Mo,this.Jm,this);this.eb.bind(h.Ec,this.Ve,this,!0);this.eb.bind(h.Ei,this.Np,this,!0);this.eb.bind(h.Di,this.Mp,this,!0);this.wf.bind(c.Hb,this.Je,this,!0);this.wf.bind(c.dj,this.Lp,this,!0);this.wf.bind(c.Ec,this.Ve,this,!0);this.Ju.bind(g.Qj,this.Doa,this,!0)});t.prototype.clear=function(){this.oe.clear();this.hg.clear();this.eb.clear();this.Mb.clear();this.wf.clear();this.Ju.clear(); 3176this.Jd.clear();this.oe.unbind(k.Wc,this.voa,this);this.oe.unbind(k.Gf,this.oM,this);this.oe.unbind(k.ec,this.ji,this);this.hg.unbind(p.No,this.vy,this);this.hg.unbind(p.Oo,this.wy,this);this.Mb.unbind(d.Hb,this.Je,this);this.Mb.unbind(d.W0,this.woa,this);this.Mb.unbind(d.N0,this.Poa,this);this.Mb.unbind(d.t0,this.Dna,this);this.Mb.unbind(d.u0,this.Ena,this);this.Mb.unbind(d.hA,this.xM,this);this.Mb.unbind(d.fA,this.uy,this);this.Mb.unbind(d.gA,this.Tu,this);this.Mb.unbind(d.eA,this.wM,this);this.Mb.unbind(d.Po, 3177this.By,this);this.eb.unbind(h.NCa,this.Je,this);this.eb.unbind(h.Pj,this.Ip,this);this.eb.unbind(h.Mo,this.Jm,this);this.eb.unbind(h.Ec,this.Ve,this,!0);this.eb.unbind(h.Ei,this.Np,this);this.eb.unbind(h.Di,this.Mp,this);this.wf.unbind(c.Hb,this.Je,this);this.wf.unbind(c.dj,this.Lp,this);this.wf.unbind(c.Ec,this.Ve,this);this.Ju.unbind(g.Qj,this.Doa,this);this.M=this.j=this.BX=this.Jd=this.Ju=this.wf=this.Mb=this.eb=this.hg=this.oe=null};t.prototype.jea=function(u){this.Ju.jea(u)};t.prototype.lea= 3178function(u){this.Mb.lea(u)};t.prototype.yi=function(u,v,w){this.j.set("visible",!0);this.wf.D_();u.set("currentTime",w);this.Mb.start(u,v)};t.prototype.uz=function(){return this.oe.ma||this.Mb.uWa()||this.Mb.yr};t.prototype.iw=function(){this.oe.stop();this.wf.end();this.eb.end();this.Mb.hide();this.Ju.stop();this.Jd.end();this.BX.end()};t.prototype.SI=function(){this.eb.resume();this.wf.SI()};t.prototype.II=function(){this.eb.pause();this.wf.II()};t.prototype.play=function(){this.eb.play();this.Jd.play(); 3179this.wf.play()};t.prototype.pause=function(){this.eb.pause();this.Jd.pause();this.wf.pause()};t.prototype.stop=function(){this.eb.stop();this.Jd.stop();this.wf.stop()};t.prototype.Gz=function(u){this.eb.Gz(u);this.BX.Gz(u)};t.prototype.getTime=function(){return this.wf.getTime()};t.prototype.moveTo=function(u,v,w,x,y){this.eb.moveTo(u,v,w,x,y)};t.prototype.Pc=function(){return this.j?this.j.Pc():void 0};t.prototype.Oc=function(){return this.j?this.j.Oc():void 0};t.prototype.Nf=function(){return this.j? 3180this.j.Nf():void 0};t.prototype.yg=function(){return this.j?this.Gc.KWa(this.j.yg()):void 0};t.prototype.eI=function(){return this.j?this.j.eI():void 0};t.prototype.fI=function(){return this.j?this.j.fI():void 0};t.prototype.Ve=function(){var u=this.wf.Ij()||this.eb.Ij();this.trigger(new m(t.Ec,{state:u}))};t.prototype.Mj=function(u){this.eb.Mj(u)};t.prototype.rQ=function(u){this.eb.rQ(u)};t.prototype.Hz=function(u){this.eb.Hz(u)};t.prototype.sQ=function(u){this.eb.sQ(u)};t.prototype.Ef=function(u){this.wf.Ef(u)}; 3181t.prototype.cE=function(u){this.eb.cE(u)};t.prototype.qca=function(u,v){return(u=r.get(u,v,this.j.Pc(),this.j.Oc(),this.j.Nf(),this.j.yg(),this.j.Xa(),this.j.Ab()))?{x:u.x,y:u.y}:null};t.prototype.QWa=function(u,v){return(u=r.q2a(u,v,this.j))?{yaw:u.$a,pitch:u.pitch}:null};t.prototype.TD=function(){this.j.TD()};t.prototype.woa=function(u){this.oe.start(u.data.panorama)};t.prototype.ji=function(u){this.j.jw(!0);this.trigger(new m(t.jt,{percent:u.Sg}))};t.prototype.voa=function(u){this.wf.end();this.BX.yi(u.data.panorama)}; 3182t.prototype.oM=function(){this.j.jw(!1);this.trigger(new m(t.Zz))};t.prototype.Je=function(){this.hg.requestFrame()};t.prototype.vy=function(u){u=u.data.frameTime;this.Gc.setSize(this.j.Xa(),this.j.Ab());this.Mb.dw(u);this.eb.dw(u)};t.prototype.wy=function(u){u=u.data.frameTime;this.Mb.vd(u);this.eb.vd(u);this.wf.vd(u);this.Ju.vd(u);this.Jd.vd(u)};t.prototype.xM=function(u){this.Ju.display(u.data.panorama);this.wf.vI(u.data.panorama);this.trigger(new m(t.hA,{panorama:u.data.panorama}))};t.prototype.Poa= 3183function(u){this.Ju.hide(u.data.panorama)};t.prototype.Dna=function(u){this.wf.start(u.data.panorama);this.Jd.start(u.data.panorama)};t.prototype.Ena=function(){this.wf.end();this.j.set("visible",!1)};t.prototype.wM=function(u){this.eb.end();this.Jd.end(u.data.nextPanorama);this.trigger(new m(t.eA,{panorama:u.data.panorama}))};t.prototype.Tu=function(u){this.eb.start(u.data.panorama,u.data.camera);this.trigger(new m(t.gA,{panorama:u.data.panorama}))};t.prototype.uy=function(u){this.trigger(new m(t.fA, 3184{panorama:u.data.panorama}))};t.prototype.Doa=function(u){this.eb.uea(u.data.yawDelta,0)};t.prototype.Ip=function(u){this.trigger(new m(t.Pj,u.data))};t.prototype.Jm=function(u){this.trigger(new m(t.Mo,u.data))};t.prototype.By=function(u){this.trigger(new m(t.Po,u.data))};t.prototype.Np=function(){this.wf.Oz();this.trigger(new m(t.Ei))};t.prototype.Mp=function(){this.trigger(new m(t.Di))};t.prototype.tAa=function(u){this.wf.aE(u)};t.prototype.Fz=function(u){this.wf.Fz(u)};t.prototype.Lp=function(u){this.trigger(new m(t.dj, 3185u.data))};t.jt="loadingProgress";t.Zz="loadingEnd";t.Pj="movementChange";t.Mo="positionChange";t.hA="panoramaStart";t.eA="panoramaEnd";t.gA="panoramaShow";t.fA="panoramaHide";t.Ec="playbackStateChange";t.Ei="userInteractionStart";t.Di="userInteractionEnd";t.dj="timeChange";t.Po="transitionEnd";return t}); 3186define("ox","require lx oR cB kX cH nH jP iE hu lS eo mh hP iX kt eh gR".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("kX"),b=a("cH"),h=a("nH"),d=a("jP"),c=a("iE"),f=a("hu"),g=a("lS"),p=a("eo"),q=a("mh"),n=a("hP"),r=a("iX"),t=a("kt"),u=a("eh"),v=a("gR"),w=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, 3187"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.x$=this.j6=this.Sx=this.zU=this.sU=this.a3=this.Fy=this.Sh=this.z2=!1;this.M5=!0;this.op=this.UF=this.BS=!1;this.iT=this.e5=this.Ed=this.sb=0;this.F8=this.H8=void 0;this.z7=!0;this.mi=l.T;this.L=this.j=null;this.ona={};for(var x in w.Jt)this.ona[x]= 3188this.THa(x);this.$R=new d(this,"buttonToggleGyroscope",u.Uj);this.$R.bind(k.Sj,function(){this.set("gyroscopeEnabled",!0)},this);this.$R.bind(k.fm,function(){this.set("gyroscopeEnabled",!1)},this);this.$R.set("pressed",this.get("gyroscopeEnabled")&&n.Dj);this.YFa=new d(this,"buttonCardboardView",u.Fe);this.YFa.bind(k.ra,function(){this.set("viewMode",w.Yw)},this,!0);this.nGa=new d(this,"buttonVRView",u.Fe);this.nGa.bind(k.ra,function(){this.set("viewMode",w.Yw)},this,!0);t.ba.bind(k.va,function(){this.eta("viewMode"); 3189this.trigger(w.MCa)},this,!0);this.aS=new d(this,"buttonToggleHotspots",u.Uj);this.aS.bind(k.Sj,function(){this.set("hotspotsEnabled",!0)},this);this.aS.bind(k.fm,function(){this.set("hotspotsEnabled",!1)},this);this.aS.set("pressed",this.get("hotspotsEnabled"));this.dS=new d(this,"buttonToggleSurfaceSelection",u.Uj);this.dS.bind(k.Sj,function(){this.set("surfaceSelectionEnabled",!0)},this);this.dS.bind(k.fm,function(){this.set("surfaceSelectionEnabled",!1)},this);this.dS.set("pressed",this.get("surfaceSelectionEnabled")); 3190this.lGa=new d(this,"buttonScreenshot",u.Fe);this.lGa.bind(k.ra,this.ara,this,!0);this.Zd=e.Bo(this.Og,this)});w.BCa="cameraPositionChange";w.jt="loadingProgress";w.ICa="preloadMediaShow";w.MCa="viewModeChange";w.prototype.moveLeft=function(){this.Kc(p.yE)};w.prototype.moveRight=function(){this.Kc(p.zE)};w.prototype.moveUp=function(){this.Kc(p.AE)};w.prototype.moveDown=function(){this.Kc(p.xE)};w.prototype.playLeft=function(){this.Kc([p.yE,p.X])};w.prototype.playRight=function(){this.Kc([p.zE,p.X])}; 3191w.prototype.playUp=function(){this.Kc([p.AE,p.X])};w.prototype.playDown=function(){this.Kc([p.xE,p.X])};w.prototype.play=function(){this.rk()};w.prototype.pause=function(){this.Qp()};w.prototype.stop=function(){this.Ay()};w.prototype.seek=function(x){this.HC(x)};w.prototype.setFramePlaybackPosition=function(x){this.AQa(x)};w.prototype.setFrameTransitionPosition=function(x){this.BQa(x)};w.prototype.restart=function(){this.xy()};w.prototype.zoomIn=function(){this.Kc(p.Ht)};w.prototype.zoomOut=function(){this.Kc(p.It)}; 3192w.prototype.resumeCamera=function(){this.FPa()};w.prototype.pauseCamera=function(){this.wOa()};w.prototype.moveTo=function(x,y,z,C){this.nna(x,y,z,C,!1)};w.prototype.setPosition=function(x,y,z,C){this.nna(x,y,z,C,!0)};w.prototype.getScreenPosition=function(x,y){return this.XKa(x,y)};w.prototype.getPanoramaPosition=function(x,y){return this.GKa(x,y)};w.prototype.saveScreenshot=function(){return this.ara()};w.prototype.get=function(x,y){switch(x){case "currentTime":return this.L&&this.L.getTime()|| 31930;case "viewMode":return t.isPresenting?w.Yw:w.a2;case "video":x="panorama";break;case "rendererPanorama":return this.L&&this.L.uz()}if(!y)switch(x){case "mouseControlMode":y=b.bga;break;case "touchControlMode":y=b.Vga}return c.prototype.get.call(this,x,y)};w.prototype.set=function(x,y){if(this.get(x)!=y){switch(x){case "application":this.z2
3193=!0;this.Zd();break;case "startTime":this.Fy=!0;this.Zd();break;case "video":case "panorama":x="panorama";this.Fy=!0;this.Zd();break;case "camera":this.a3=!0; 3194this.Zd();break;case "viewerArea":this.Sh=!0;this.Zd();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.op=!0;this.Zd();break;case "mapPlayer":this.sU=!0;this.Zd();break;case "model3DPlayer":this.zU=!0;this.Zd();break;case "gyroscopeEnabled":this.Sx=!0;this.Zd();break;case "gyroscopeVerticalDraggingEnabled":this.M5=!0;this.Zd();break;case "viewMode":"vr"==y&&(y=w.Yw);y!=w.Yw||t.isPresenting? 3195y!=w.Yw&&t.isPresenting&&t.Tba():t.GY();y=t.isPresenting?w.Yw:w.a2;break;case "hotspotsEnabled":this.j6=!0;this.Zd();break;case "mouseControlMode":case "touchControlMode":this.BS=!0;this.Zd();break;case "surfaceSelectionEnabled":this.x$=!0,this.Zd()}c.prototype.set.call(this,x,y)}};w.prototype.Tq=function(x){this.UF=x;this.L&&this.L.Gz(this.UF)};w.prototype.Zua=function(){return"inherit"!=this.get("doubleClickAction")};w.prototype.S2=function(x){c.prototype.S2.call(this,x);x.bind(k.em,this.gua,this, 3196!0)};w.prototype.aaa=function(x){c.prototype.aaa.call(this,x);x.unbind(k.em,this.gua,this,!0)};w.prototype.gua=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var x=this.get("application").Oi;x&&x.Dj()&&x.toggle()}};w.prototype.THa=function(x){var y=w.Jt[x];x=new d(this,x,u.Fe);x.bind(k.wb,function(){this.Kc(y.movement)},this);y.stopOnRelease&&x.bind(k.Zb,function(){this.Kc(p.Gf)},this);return x};w.prototype.Og=function(){if(this.Sh||this.z2)this.Sh=this.z2=!1,this.BS=this.Sx= 3197this.zU=this.sU=!0,this.fu(),this.get("viewerArea")&&this.get("application")&&this.cu(),this.IN(this.get("viewerArea"));var x=!1;if(this.j){this.sU&&(this.sU=!1,this.L.jea(this.get("mapPlayer")));this.zU&&(this.zU=!1,this.L.lea(this.get("model3DPlayer")));this.BS&&(this.BS=!1,this.L.Hz(this.get("mouseControlMode")),this.L.cE(this.get("touchControlMode")));if(this.Fy||this.a3)this.iT=this.e5=this.sb=this.Ed=0,this.F8=this.H8=void 0,x=!0,this.a3=this.Fy=!1,this.get("panorama")?this.L.yi(this.get("panorama"), 3198this.get("camera",new f),this.get("startTime")):(this.L.iw(),this.z7=!0,this.mi=l.T,this.Ac(l.T));this.M5&&(this.M5=!1,this.L.sQ(this.get("gyroscopeVerticalDraggingEnabled",!0)));if(this.Sx){this.Sx=!1;var y=this.get("gyroscopeEnabled")&&n.Dj;y&&n.disabled&&(y=!1,r.Nfa.show(function(){n.Kda(function(){this.set("gyroscopeEnabled",!0)}.bind(this))}.bind(this)));this.set("gyroscopeEnabled",y);this.L.rQ(y);this.$R.set("pressed",y)}this.j6&&(this.j6=!1,this.aS.set("pressed",this.get("hotspotsEnabled"))); 3199this.op&&(this.op=!1,x=!0);this.x$&&(this.x$=!1,this.dS.set("pressed",this.get("surfaceSelectionEnabled")));x&&this.Gv()}};w.prototype.mH=function(){this.set("panorama",null)};w.prototype.cu=function(){var x=this.get("viewerArea"),y=this.get("application");this.j=new q(y,x,this);this.j.ka({left:0,top:0,bottom:0,right:0});x.Wa(this.j);this.L=new g(x,this.j);this.L.bind(g.Pj,this.Ip,this);this.L.bind(g.Mo,this.Rna,this);this.L.bind(g.jt,this.ji,this);this.L.bind(g.Zz,this.rG,this);this.L.bind(g.gA,
3200this.Tu,this,!0);this.L.bind(g.fA,this.uy,this,!0);this.L.bind(g.hA,this.xM,this,!0);this.L.bind(g.eA,this.wM,this,!0);this.L.bind(g.Ec,this.Ve,this);this.L.bind(g.Ei,this.Np,this);this.L.bind(g.Di,this.Mp,this);this.L.bind(g.dj,this.Lp,this);this.L.bind(g.Po,this.By,this,!0);this.get("application").bind(k.G("mute"),this.uM,this);this.get("application").get("mute",!1)&&this.L.Ef(!0);this.L&&this.L.Gz(this.UF);t.ba.bind(k.va,this.Rn,this,!0);this.A3();this.Uy(!0)};w.prototype.fu=function(){this.j&& 3201(this.L.unbind(g.Pj,this.Ip,this),this.L.unbind(g.Mo,this.Rna,this),this.L.unbind(g.jt,this.ji,this),this.L.unbind(g.Zz,this.rG,this),this.L.unbind(g.gA,this.Tu,this,!0),this.L.unbind(g.fA,this.uy,this,!0),this.L.unbind(g.hA,this.xM,this,!0),this.L.unbind(g.eA,this.wM,this,!0),this.L.unbind(g.Ec,this.Ve,this),this.L.unbind(g.Ei,this.Np,this),this.L.unbind(g.Di,this.Mp,this),this.L.unbind(g.dj,this.Lp,this),this.L.unbind(g.Po,this.By,this),this.L.clear(),this.L=null,this.get("application").unbind(k.G("mute"), 3202this.uM,this),this.j.getParent().removeChild(this.j),this.j=null,t.ba.unbind(k.va,this.Rn,this,!0),this.Uy(!1))};w.prototype.uM=function(){this.j&&this.L.Ef(this.get("application").get("mute",!1))};w.prototype.Ve=function(x){this.mi=x.data.state;this.kg()};w.prototype.kg=function(){this.Ac(this.z7||t.isPresenting?this.mi:l.X)};w.prototype.Np=function(){this.trigger(new m(k.gha))};w.prototype.Mp=function(){this.trigger(new m(k.fha))};w.prototype.xM=function(x){this.trigger(new m(w.ICa,{panorama:x.data.panorama}))}; 3203w.prototype.wM=function(){};w.prototype.Tu=function(x){this.A3();this.PL(x.data.panorama)};w.prototype.uy=function(x){this.OL(x.data.panorama)};w.prototype.Ip=function(x){for(var y in w.Jt)this.ona[y].set("state",x.data[w.Jt[y].pressedOn]?v.qb:v.te);this.z7=x.data.stopped;this.kg();this.trigger(new m(k.dga,x.data))};w.prototype.Rna=function(x){this.A3();this.trigger(new m(w.BCa,x.data))};w.prototype.A3=function(){this.L&&(this.set("yaw",this.L.Pc()),this.set("pitch",this.L.Oc()),this.set("roll",this.L.Nf()), 3204this.set("hfov",this.L.yg()),this.set("actualHFOV",this.L.eI()),this.set("actualVFOV",this.L.fI()))};w.prototype.ji=function(x){this.j.getParent().ka({progressPercent:x.data.percent,progressVisible:!0});this.trigger(new m(w.jt,x.data))};w.prototype.rG=function(){this.j.getParent().set("progressVisible",!1)};w.prototype.By=function(){this.trigger(k.K1)};w.prototype.Rn=function(){this.set("viewMode",t.isPresenting?w.Yw:w.a2);this.kg()};w.prototype.nna=function(x,y,z,C,A){this.L&&this.L.moveTo(x,y,z, 3205C,A)};w.prototype.Kc=function(x){this.L&&this.L.Mj(x)};w.prototype.rk=function(){this.L.play()};w.prototype.ho=function(){this.L.stop()};w.prototype.Qp=function(){this.L.pause()};w.prototype.HC=function(x){this.L&&(this.ila()?this.L.Fz(x):this.L.tAa(x))};w.prototype.AQa=function(x){this.L&&this.L.tAa(x)};w.prototype.BQa=function(x){this.L&&this.L.Fz(x)};w.prototype.wOa=function(){this.L&&this.L.II()};w.prototype.FPa=function(){this.L&&this.L.SI()};w.prototype.XKa=function(x,y){if(this.L)return this.L.qca(x, 3206y)};w.prototype.GKa=function(x,y){if(this.L)return this.L.QWa(x,y)};w.prototype.ara=function(){this.L&&this.L.TD()};w.prototype.YM=function(x){this.HC(x.data.position)};w.prototype.Lp=function(x){this.Ed=x.data.time;this.sb=x.data.duration;this.e5=x.data.transitionPosition;this.iT=x.data.transitionLength;this.H8=x.data.steps;this.F8=x.data.selectedStep;this.Gv()};w.prototype.Gv=function(){var x=this.j.getParent(),y=!1;if(this.ZJa()){var z=this.ila(),C=this.IKa();z?0<this.iT&&(x.ka({playbackBarPosition:this.e5, 3207playbackBarDuration:this.iT,playbackBarSteps:this.H8,playbackBarSelectedStep:this.F8,playbackBarLiveDragging:C}),y=!0):0<this.sb&&(x.ka({playbackBarPosition:this.Ed,playbackBarDuration:this.sb,playbackBarSteps:void 0,playbackBarSelectedStep:void 0,playbackBarLiveDragging:C}),y=!0)}x.set("playbackBarVisible",y)};w.prototype.ZJa=function(){var x=this.get("panorama");return x?h.Oa("HDRPanorama",x)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!1)):h.Oa("LivePanorama",x)?this.get("livePanoramaDisplayPlaybackBar", 3208this.get("displayPlaybackBar",!1)):h.Oa("VideoPanorama",x)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!0)):!1:!1};w.prototype.ila=function(){var x=this.get("panorama");return x?h.Oa("HDRPanorama",x)?this.get("hdrPanoramaDisplayPlaybackBarSteps",!0):h.Oa("LivePanorama",x)?this.get("livePanoramaDisplayPlaybackBarSteps",!0):!1:!1};w.prototype.IKa=function(){var x=this.get("panorama");return!x||h.Oa("VideoPanorama",x)?!1:!0};w.Yw="cardboard";w.a2="standard";w.Jt={buttonMoveLeft:{movement:p.yE,
3209pressedOn:"movingLeft",stopOnRelease:!0},buttonMoveRight:{movement:p.zE,pressedOn:"movingRight",stopOnRelease:!0},buttonMoveUp:{movement:p.AE,pressedOn:"movingUp",stopOnRelease:!0},buttonMoveDown:{movement:p.xE,pressedOn:"movingDown",stopOnRelease:!0},buttonPlayLeft:{movement:[p.yE,p.X],pressedOn:"movingLeft",stopOnRelease:!1},buttonPlayRight:{movement:[p.zE,p.X],pressedOn:"movingRight",stopOnRelease:!1},buttonPlayUp:{movement:[p.AE,p.X],pressedOn:"movingUp",stopOnRelease:!1},buttonPlayDown:{movement:[p.xE, 3210p.X],pressedOn:"movingDown",stopOnRelease:!1},buttonZoomIn:{movement:p.Ht,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:p.It,pressedOn:"zoomingOut",stopOnRelease:!0}};return w}); 3211define("cD",["require","nH","dg","ir"],function(a){var e=a("nH"),k=a("dg"),m=a("ir");a=e.define("PanoramaPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var l=this.get("player");l&&(l.bind(k.Vg,this.Tu,this),l.set("panorama",this.get("media")),l.set("camera",this.get("camera")))};a.prototype.stop=function(){var l=this.get("player");l&&(l.unbind(k.Vg,this.Tu,this),l.get("panorama")==this.get("media")&&l.set("panorama",null));m.prototype.stop.call(this)}; 3212a.prototype.Tu=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.Vg,this.Tu,this),this.get("player").bind(k.cm,this.uy,this),this.jz())};a.prototype.uy=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.cm,this.uy,this),this.stop(),this.end())};return a});define("lB",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PanoramaSnapshot",e,function(){e.call(this)})}); 3213define("nk",["require","lx","ct"],function(a){var e=a("lx"),k=a("ct");a=e.extend(k,function(m,l,b,h){k.call(this);this.Fd=m;this.ja=l;this.wa=b;this.U4=h});a.prototype.Qs=function(){return[this.Fd]};a.prototype.ui=function(){return this.Fd};a.prototype.yd=function(){return this.ja};a.prototype.je=function(){return this.wa};return a}); 3214define("oQ",["require","nH","er","gh","nk"],function(a){var e=a("nH"),k=a("er"),m=a("gh"),l=a("nk");a=e.define("Photo",k,function(){k.call(this);this.ya=void 0});a.prototype.Hj=function(){if(void 0==this.ya){var b=this.get("image");this.ya=b?new l(m.Eq(b).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally",!1)):null}return this.ya};a.prototype.Os=function(){var b=this.sT(this.Hj());this.get("audios",[]).forEach(function(h){b=b.concat(h.Os())}.bind(this));return b};a.prototype.sT= 3215function(b){return b?b.Qs():[]};return a});define("jG",["require","er","nH"],function(a){var e=a("er");a=a("nH").define("PhotoAlbum",e,function(){e.call(this);this.set("loop",!1)});a.prototype.Os=function(){var k=[],m=this.get("playList");m&&m.get("items",[]).forEach(function(l){(l=l.get("media"))&&(k=k.concat(l.Os()))});this.get("audios",[]).forEach(function(l){k=k.concat(l.Os())});return k};return a}); 3216define("gI",["require","id","nH","ja"],function(a){var e=a("id"),k=a("nH"),m=a("ja");return k.define("PhotoAlbumAudio",m,function(){m.call(this,e.xDa)})}); 3217define("de",["require","kX"],function(a){function e(m,l){this.j=m;this.cp=l;this.QE=[];this.tr=[];this.uq=1}var k=a("kX");e.prototype.clear=function(){for(var m=0;m<this.QE.length;m++)this.QE[m].Id(k.T);this.fFa();this.tr=this.QE=null};e.prototype.stop=function(){for(var m=0;m<this.tr.length;m++)this.tr[m].Id(k.T)};e.prototype.play=function(){for(var m=0;m<this.tr.length;m++){var l=this.tr[m];l.getState()!=k.X&&l.Id(k.X)}};e.prototype.pause=function(){for(var m=0;m<this.tr.length;m++){var l=this.tr[m]; 3218l.getState()==k.X&&l.Id(k.Ib)}};e.prototype.start=function(){this.stop();for(var m=0;m<this.cp.length;m++){var l=this.cp[m],b=l.uD();b&&(this.QE.push(b),l.get("autoplay",!1)&&this.tr.push(b))}for(m=0;m<this.tr.length;m++)this.tr[m].Id(k.X)};e.prototype.vd=function(){};e.prototype.fFa=function(){for(var m=0;m<this.QE.length;m++)this.QE[m].pw(1)};return e}); 3219define("in",["require","lx","de"],function(a){var e=a("lx"),k=a("de");return e.extend(k,function(m,l){k.call(this,m,l.get("audios",[]));this.QV=l})});define("hz",["require","lx","de"],function(a){var e=a("lx"),k=a("de");return e.extend(k,function(m,l){k.call(this,m,l.get("audios",[]));this.ef=l})}); 3220define("jr",["require","in","hz"],function(a){function e(l){this.j=l;this.Gi=[];this.li=[]}var k=a("in"),m=a("hz");e.prototype.clear=function(){this.nBa();this.li=this.Gi=null};e.prototype.nBa=function(){for(var l=0;l<this.Gi.length;l++)this.Gi[l].clear();for(l=0;l<this.li.length;l++)this.li[l].clear();this.Gi=[];this.li=[]};e.prototype.pause=function(){for(var l=0;l<this.Gi.length;l++)this.Gi[l].pause();for(l=0;l<this.li.length;l++)this.li[l].pause()};e.prototype.play=function(){for(var l=0;l<this.Gi.length;l++)this.Gi[l].play(); 3221for(l=0;l<this.li.length;l++)this.li[l].play()};e.prototype.stop=function(){for(var l=0;l<this.Gi.length;l++)this.Gi[l].stop();for(l=0;l<this.li.length;l++)this.li[l].clear();this.li=[]};e.prototype.r1a=function(l){l=new k(this.j,l);this.li.push(l);l.start()};e.prototype.v1a=function(l){for(var b=0;b<this.li.length;b++)if(this.li[b].QV==l){this.li[b].clear();this.li.splice(b,1);break}};e.prototype.Kea=function(l){l=new m(this.j,l);this.Gi.push(l);l.start()};e.prototype.t1a=function(l){for(var b=0;b< 3222this.Gi.length;b++)if(this.Gi[b].ef==l){this.Gi[b].clear();this.Gi.splice(b,1);break}};e.prototype.vd=function(l){for(var b=0;b<this.Gi.length;b++)this.Gi[b].vd(l);for(b=0;b<this.li.length;b++)this.li[b].vd(l)};return e}); 3223define("bL",["require","lx","mm"],function(a){function e(){this.xa=!0;this.La=this.Ia=.5;this.jb=1;this.Af=k.sh;this.jm=this.km=100}a("lx");var k=a("mm");e.prototype.getX=function(){this.Zm();return this.Ia};e.prototype.getY=function(){this.Zm();return this.La};e.prototype.Gq=function(){this.Zm();return this.jb};e.prototype.setConfiguration=function(m,l,b){this.Af=b;this.La=this.Ia=.5;this.jb=1;this.xa=!0};e.prototype.setPosition=function(m,l,b){this.Ia=m;this.La=l;this.jb=b;this.xa=!0};e.prototype.setSize= 3224function(m,l){this.km=m;this.jm=l;this.xa=!0};e.prototype.Zm=function(){if(this.xa){this.xa=!1;1>this.jb&&(this.jb=1);var m=Math.min(.5/this.jb,.5),l=Math.max(1-.5/this.jb,.5);this.Ia<m?this.Ia=m:this.Ia>l&&(this.Ia=l);m=Math.min(.5/this.jb,.5);l=Math.max(1-.5/this.jb,.5);this.La<m?this.La=m:this.La>l&&(this.La=l)}};return e}); 3225define("bD",["require"],function(){function a(e,k){this.j=e;this.ha=k;this.La=this.Ia=.5;this.jb=1;this.nW=!1}a.prototype.start=function(){this.La=this.Ia=.5;this.jb=1;this.nW=!0};a.prototype.clear=function(){this.ha=this.j=null};a.prototype.setPosition=function(e,k,m){this.Ia=e;this.La=k;this.jb=m};a.prototype.bf=function(){return this.nW};a.prototype.Cb=function(){this.nW=!1};return a}); 3226define("hT",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PhotoCameraPosition",e,function(k,m,l){e.call(this);void 0!=k&&this.set("x",k);void 0!=m&&this.set("y",m);void 0!=l&&this.set("zoomFactor",l)})}); 3227define("i","require lx bD hT ou bG".split(" "),function(a){var e=a("lx"),k=a("bD"),m=a("hT"),l=a("ou"),b=a("bG");a=e.extend(k,function(h,d){k.call(this,h,d);this.V=null});a.prototype.start=function(h){var d=h.get("initialPosition",new m
3227(.5,.5,1)),c=h.get("targetPosition",new m(.5,.5,1)),f=h.get("duration",1E3);0==f?(this.Ia=d.get("x"),this.La=d.get("y"),this.jb=d.get("zoomFactor")):this.V=new l(h.get("easing","linear"),[new b("x",d.get("x",.5),c.get("x",.5)),new b("y",d.get("y",.5),c.get("y",.5)), 3228new b("zoom",d.get("zoomFactor",1),c.get("zoomFactor",1))],f);this.Cb(0)};a.prototype.clear=function(){this.V=null;k.prototype.clear.call(this)};a.prototype.bf=function(){return null!=this.V};a.prototype.Cb=function(h){this.V&&(this.V.Cb(h),this.ha.setPosition(this.V.fb("x"),this.V.fb("y"),this.V.fb("zoom")),this.Ia=this.ha.getX(),this.La=this.ha.getY(),this.jb=this.ha.Gq(),this.V.Oe()&&(this.V=null))};return a}); 3229define("cP","require lx cB gp nH kX mm bL bD i oR".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("nH"),b=a("kX"),h=a("mm"),d=a("bL"),c=a("bD"),f=a("i"),g=a("oR"),p=e.extend(m,function(q,n){m.call(this);this.j=q;this.Sd=n;this.j.bind(g.lc,this.hc,this);this.A=b.T;this.wl=this.QV=this.Fa=this.ya=null;this.ha=new d});p.prototype.clear=function(){this.end();this.ha=null;this.j.unbind(g.lc,this.hc,this);this.j=null};p.prototype.end=function(q){if(this.ya==q||"undefined"==typeof q)this.Uja(), 3230this.Fa=this.QV=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.sh):h.sh;this.ya=q;this.Fa=r;this.QV=n;n.Hj();this.W=!0;this.ha.setConfiguration(t,u,v);this.VHa(r);this.Na()}};p.prototype.stop=function(){this.A!=b.T&&(this.A=b.T,this.wl&&(this.wl.start(this.Fa),this.Na()))};p.prototype.play=function(){if(this.A==b.T||this.A==b.Ib)this.A=b.X,this.Na()};p.prototype.pause= 3231function(){this.A==b.X&&(this.A=b.Ib)};p.prototype.dw=function(q){this.wl&&this.wl.bf()&&(this.A==b.X&&(this.wl.Cb(q),this.Na()),this.Al(this.wl.Ia,this.wl.La,this.wl.jb))};p.prototype.VHa=function(q){this.Uja();l.Oa("MovementPhotoCamera",q)?this.wl=new f(this.j,this.ha):this.wl=new c(this.j,this.ha);this.wl.start(q)};p.prototype.Uja=function(){this.wl&&(this.wl.clear(),this.wl=null)};p.prototype.hc=function(){this.ha.setSize(this.j.Xa(),this.j.Ab());this.Na()};p.prototype.Na=function(){this.trigger(new k(p.Hb))}; 3232p.prototype.Al=function(q,n,r){this.Sd.setPosition(this.ya,q,n,r)};p.Hb="request frame";return p}); 3233define("ih","require ek lx cB gp oR id mm".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("cB"),l=a("gp"),b=a("oR");a("id");var h=a("mm"),d=k.extend(l,function(f,g){l.call(this);this.TN=[];this.M=f;this.j=g});d.prototype.preload=function(f){this.Qx(f).preload();return this};d.prototype.Se=function(f,g){this.Qx(f).Se(g);return this};d.prototype.jn=function(f,g){this.Qx(f).jn(g);return this};d.prototype.setPosition=function(f,g,p,q){this.Qx(f).setPosition(g,p,q);return this};d.prototype.mh=function(f){this.Qx(f).mh()}; 3234d.prototype.stop=function(){this.oka(function(f){f.clear()});this.TN=[]};d.prototype.clear=function(){this.stop();this.j=this.M=this.TN=null};
3234d.prototype.vd=function(){this.oka(function(f){f.update()})};d.prototype.Qx=function(f){var g=this.iJa(f);g||(g=new c(f,this.j),g.bind(c.Kga,this.AMa,this),g.bind(c.Gga,this.zMa,this),this.TN.push(g));return g};d.prototype.oka=function(f){e(this.TN).each(f,this)};d.prototype.iJa=function(f){return e(this.TN).find(function(g){return g.getItem()==f})};d.prototype.AMa= 3235function(){this.Na()};d.prototype.zMa=function(f){this.trigger(new m(d.R0,{item:f.source.getItem()}))};d.prototype.Na=function(){this.trigger(new m(d.Hb))};d.Hb="request frame";d.R0="photo preload end";var c=k.extend(l,function(f,g){l.call(this);this.ya=f;this.j=g;this.Af=(g=f.get("camera"))?g.get("scaleMode",h.sh):h.sh;this.Ti=f.get("media").Hj();this.Ti.bind(b.Z,this.od,this);this.Ti.bind(b.uc,this.Mf,this);this.qa=c.SJ;this.La=this.Ia=.5;this.jb=1;this.yn=0;this.TE=!1;this.ug=0;this.xa=!1});c.prototype.getItem= 3236function(){return this.ya};c.prototype.preload=function(){this.qa==c.SJ?this.YV():this.bta()};c.prototype.Se=function(f){this.yn!=f&&(this.yn=f,this.Ue())};c.prototype.jn=function(f){this.ug!=f&&(this.ug=f,this.Ue())};c.prototype.setPosition=function(f,g,p){if(this.Ia!=f||this.La!=g||this.jb!=p)this.Ia=f,this.La=g,this.jb=p,this.Ue()};c.prototype.mh=function(){this.TE||(this.TE=!0,this.Ue())};c.prototype.clear=function(){this.qa==c.BR&&this.Bqa();this.qa!=c.PJ&&this.qa!=c.RJ&&this.qa!=c.QJ||this.bz(); 3237this.Ti.unbind(b.Z,this.od);this.Ti.unbind(b.uc,this.Mf);this.Ti=null};c.prototype.update=function(){this.xa&&(this.xa=!1,-1<this.ug&&1>this.ug&&0<this.yn?(this.qa==c.SJ&&this.EL(),this.qa==c.PJ&&this.zEa(),this.qa==c.BR&&(this.TE&&(this.j.zba(this.Ti),this.TE=!1),this.j.Sq(this.Ti,this.yn),this.j.V_a(this.Ti,this.ug),this.j.uQ(this.Ti,this.Ia,this.La,this.jb))):(this.qa==c.BR&&this.Bqa(),this.qa!=c.PJ&&this.qa!=c.QJ||this.bz()))};c.prototype.Ue=function(){this.xa||(this.xa=!0,this.Ca())};c.prototype.Ca= 3238function(){this.trigger(new m(c.Kga))};c.prototype.YV=function(){this.qa=c.RJ;this.j.dn(this.Ti);this.j.mxa(this.Ti)&&this.od()};c.prototype.EL=function(){this.qa=c.QJ;this.j.dn(this.Ti);this.j.mxa(this.Ti)&&this.od()};c.prototype.zEa=function(){this.qa=c.BR;this.j.nba(this.Ti);this.j.Y_a(this.Ti,this.Af)};c.prototype.Bqa=function(){this.qa=c.PJ;this.j.removeItem(this.Ti)};c.prototype.bz=function(){this.qa=c.SJ;this.j.cj(this.Ti)};c.prototype.od=function(){if(this.qa==c.RJ||this.qa==c.QJ){var f=this.qa== 3239c.RJ;this.qa=c.PJ;this.Ue();f&&this.bta()}};c.prototype.Mf=function(){if(this.qa==c.RJ||this.qa==c.QJ)this.qa=c.SJ};c.prototype.bta=function(){this.trigger(new m(c.Gga))};c.Kga="requestUpdate";c.Gga="preloadEnd";c.SJ="unloaded";c.RJ="preloading";c.QJ="loading";c.PJ="loaded";c.BR="added";return d});define("nn",["require"],function(){return{pn:"blending",Xo:"scroll"}}); 3240define("ce","require ek lx cB gp oR ih nn".split(" "),function(a){function e(f,g,p){this.$m=f;this.item=g;this.transitionDuration=p;this.index=f&&g?k(f.get("playList").get("items")).indexOf(this.item):0;this.loaded=!1}var k=a("ek"),m=a("lx"),l=a("cB"),b=a("gp");a("oR");var h=a("ih"),d=a("nn");e.prototype.isEqual=function(f){return f&&f.$m==this.$m&&f.item==this.item};var c=m.extend(b,function(f,g,p){b.call(this);this.M=f;this.j=g;this.Sd=p;this.Sd.bind(h.R0,this.Xpa,this);this.lO=d.pn;this.qa=c.IE; 3241this.If=new e(null,null,0);this.eu=this.qk=this.dh=null;this.mO=void 0;this.Ry=0});c.prototype.M0a=function(f){this.lO=f};c.prototype.vea=function(f){this.Ry=f};c.prototype.Zea=function(f,g,p){this.qk=null;f=new e(f,g,p);f.isEqual(this.qa==c.IE?this.If:this.dh)||(this.qk=f,this.Roa())};c.prototype.clear=function(){this.qa!=c.ER&&this.qa!=c.CR||this.trigger(new l(c.Iw,{album:this.dh.$m,item:this.dh.item}));this.qa=c.IE;this.j=this.M=this.eu=this.If=this.dh=this.qk=null;this.Sd.unbind(h.R0,this.Xpa, 3242this);this.Sd=null};c.prototype.vd=function(f){this.qa!=c.IE&&(this.mO+=f,f=this.dh.transitionDuration,f=this.mO>=f?1:this.mO/f,this.qa==c.CR?this.tTa(f):this.qa==c.DR?this.uTa(f):this.lO==d.pn?this.fTa(f):this.$Ta(f),1>f?this.Na():this.Lx())};c.prototype.tTa=function(f){this.Sd.Se(this.dh.item,f).jn(this.dh.item,0)};c.prototype.uTa=function(f){this.Sd.Se(this.If.item,1-f).jn(this.If.item,0)};c.prototype.fTa=function(f){this.Sd.Se(this.dh.item,Math.min(1,2*f)).jn(this.dh.item,0);this.Sd.Se(this.If.item, 3243Math.min(1,2*(1-f))).jn(this.If.item,0)};c.prototype.$Ta=function(f){var g=this.If.$m!=this.dh.$m||this.If.index<this.dh.index;this.Sd.jn(this.dh.item,(g?1-f:f-1)*(1+this.Ry)).Se(this.dh.item,1);this.Sd.jn(this.If.item,(g?-f:f)*(1+this.Ry)).Se(this.If.item,1)};c.prototype.Roa=function(){this.qk&&this.qa==c.IE&&(this.qk.item&&!this.qk.loaded?this.Sd.preload(this.qk.item):this.ep())};c.prototype.Xpa=function(f){this.qk&&this.qk.item==f.data.item&&(this.qk.loaded=!0,this.Roa())};c.prototype.ep=function(){this.eu&& 3244this.eu!=this.qk.$m&&(this.trigger(new l(c.Ko,{album:this.eu})),this.eu=null);this.trigger(new l(c.Y0));"fade_out_fade_in"==this.M.get("transitionMode")&&null!=this.qk.item&&null!=this.If.item?(this.qa=c.DR,this.dh=new e(this.If.$m,null,this.If.transitionDuration)):(this.dh=this.qk,this.qk=null,this.If.item)?this.dh.item?this.qa=c.ER:this.If.item&&(this.qa=c.DR):this.qa=c.CR;if(this.qa==c.ER||this.qa==c.CR)this.Sd.mh(this.dh.item),this.trigger(new l(c.iA,{album:this.dh.$m,item:this.dh.item}));this.mO= 32450;this.Na()};c.prototype.Lx=function(){this.qa!=c.ER&&this.qa!=c.DR||this.trigger(new l(c.Iw,{album:this.If.$m,item:this.If.item}));this.If=this.dh;this.eu!=this.If.$m&&(this.eu=this.If.$m,this.trigger(new l(c.Lo,{album:this.eu})));this.qa=c.IE;null==this.qk?(this.If.item&&this.trigger(new l(c.jA,{album:this.If.$m,item:this.If.item})),this.trigger(new l(c.Po,{album:this.If.$m,item:this.If.item}))):this.ep()};c.prototype.Na=function(){this.trigger(new l(c.Hb))};c.IE="stopped";c.ER="blending";c.DR= 3246"fading_out";c.CR="fading_in";c.Hb="request frame";c.Y0="transition begin";c.Po="transition end";c.iA="photo added";c.Iw="photo removed";c.jA="photo displayed";c.Lo="photo album show";c.Ko="photo album hide";return c}); 3247define("fJ","require ek lx cB gp oR nH mm hT bL bD i ou bG".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("cB"),l=a("gp"),b=a("oR"),h=a("nH"),d=a("mm"),c=a("hT"),f=a("bL");a("bD");a("i");var g=a("ou"),p=a("bG"),q=k.extend(l,function(n,r,t){l.call(this);this.M=n;this.j=r;this.Sd=t;this.Zn=this.Mn=this.ya=this.ef=this.cb=null;this.Sm=void 0;this.bX=0;this.uk=!1;this.ug=0;this.yU=this.Zn?-1:0;this.wU=this.Mn?1:0;this.V=null;this.Ng=400;this.Ry=0;this.ha=new f});q.prototype.clear=function(){this.Sd= 3248this.j=this.M=this.eu=null};q.prototype.v_a=function(n,r){this.ef=n;this.ya=r;n=n&&n.get("playList")&&n.get("playList").get("items")||[];r=e(n).indexOf(r);this.Mn=0<r?n[r-1]:null;this.Zn=r<n.length-1?n[r+1]:null;this.ug=0;this.yU=this.Zn?-1:0;this.wU=this.Mn?1:0;this.YV()};q.prototype.enable=function(){if(this.cb=this.j.getParent())this.cb.bind(b.wb,this.Nd,this,!0),this.cb.bind(b.kc,this.sj,this,!0),this.cb.bind(b.Zb,this.tj,this,!0),this.YV()};q.prototype.disable=function(){this.cb&&(this.cb.unbind(b.wb, 3249this.Nd,this),this.cb.unbind(b.kc,this.sj,this),this.cb.unbind(b.Zb,this.tj,this),this.cb=null)};q.prototype.L0a=function(n){this.Ng=n};q.prototype.vea=function(n){this.Ry=n};q.prototype.YV=function(){this.cb&&(this.Mn&&this.Sd.preload(this.Mn),this.Zn&&this.Sd.preload(this.Zn))};q.prototype.wna=function(){return(new Date).getTime()};q.prototype.Nd=function(n){this.uk||(this.Sm=n.x,this.bX=0,this.Q8=this.wna(),this.uk=!0,this.V=null,this.trigger(new m(q.y0)),this.Mn&&(n=this.wla(this.Mn),this.Sd.setPosition(this.Mn, 3250n.x,n.y,n.zoom)),this.Zn&&(n=this.wla(this.Zn),this.Sd.setPosition(this.Zn,n.x,n.y,n.zoom)))};q.prototype.sj=function(n){if(this.uk){var r=n.x-this.Sm,t=r/this.cb.Xa(),u=this.wna()-this.Q8;this.bX=r/u;this.Q8+=u;this.Sm=n.x;this.ug=Math.max(this.yU,Math.min(this.wU,this.ug+t));this.Na()}};q.prototype.tj=function(){if(this.uk){this.uk=!1;if(1<this.bX){var n="quad_out";var r=this.wU}else-1>this.bX?(n="quad_out",r=this.yU):(n="quad_in_out",r=-.5>this.ug?this.yU:.5<this.ug?this.wU:0);this.V=new g(n,[new p("offset", 3251this.ug,r,1E3/this.Ng)],0);this.Na()}};q.prototype.vd=function(n){if(this.uk||this.V)this.V&&(this.V.Cb(n),this.ug=this.V.fb("offset"),this.V.Oe()?(this.V=null,this.PIa()):this.Na()),this.ya&&this.Sd.jn(this.ya,this.ug*(1+this.Ry)).Se(this.ya,1),this.Mn&&this.Sd.jn(this.Mn,(this.ug-1)*(1+this.Ry)).Se(this.Mn,1),this.Zn&&this.Sd.jn(this.Zn,(this.ug+1)*(1+this.Ry)).Se(this.Zn,1)};q.prototype.PIa=function(){this.trigger(new m(q.z0,{album:this.ef,item:0>this.ug?this.Zn:0<this.ug?this.Mn:this.ya}))};q.prototype.Na= 3252function(){this.trigger(new m(q.Hb))};q.prototype.wla=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",d.sh):d.sh,v={};h.Oa("MovementPhotoCamera",r)?(r=r.get("initialPosition",new c(.5,.5,
32521)),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.ha.setConfiguration(n,t,u);this.ha.setSize(this.j.Xa(),this.j.Ab());this.ha.setPosition(v.x,v.y,v.zoom);v.x=this.ha.getX(); 3253v.y=this.ha.getY();v.zoom=this.ha.Gq();return v};q.Hb="request frame";q.y0="interaction begin";q.z0="interaction end";return q}); 3254define("ju","require lx cB gp oR ih nn ce fJ".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp");a("oR");a("ih");var l=a("nn"),b=a("ce"),h=a("fJ"),d=e.extend(m,function(c,f,g){m.call(this);this.M=c;this.j=f;this.Sd=g;this.lO=l.pn;this.Ng=1E3;this.Mb=new b(this.M,this.j,this.Sd);this.Mb.bind(b.Hb,this.Je,this,!0);this.Mb.bind(b.Y0,this.Ona,this,!0);this.Mb.bind(b.Po,this.Pna,this,!0);this.Mb.bind(b.iA,this.yM,this,!0);this.Mb.bind(b.Iw,this.BM,this,!0);this.Mb.bind(b.jA,this.AM,this,!0);this.Mb.bind(b.Ko, 3255this.Jp,this,!0);this.Mb.bind(b.Lo,this.Qn,this,!0);this.il=new h(this.M,this.j,this.Sd);this.il.bind(h.Hb,this.Je,this,!0);this.il.bind(h.y0,this.Rma,this,!0);this.il.bind(h.z0,this.Sma,this,!0)});d.prototype.y_=function(c,f){this.lO=c;this.Ng=f;this.Mb.M0a(c);this.il.L0a(f);this.Mb.vea(.05);this.il.vea(.05)};d.prototype.display=function(c,f){this.Mb.Zea(c,f,this.Ng)};d.prototype.hide=function(){this.Mb.Zea(null,null,this.Ng)};d.prototype.clear=function(){this.Mb.unbind(b.Hb,this.Je,this);this.Mb.unbind(b.Y0, 3256this.Ona,this);this.Mb.unbind(b.Po,this.Pna,this);this.Mb.unbind(b.iA,this.yM,this);this.Mb.unbind(b.Iw,this.BM,this);this.Mb.unbind(b.jA,this.AM,this);this.Mb.unbind(b.Ko,this.Jp,this);this.Mb.unbind(b.Lo,this.Qn,this);this.Mb.clear();this.Mb=null;this.il.bind(h.Hb,this.Je,this,!0);this.il.bind(h.y0,this.Rma,this,!0);this.il.bind(h.z0,this.Sma,this,!0);this.il.clear();this.Sd=this.j=this.M=this.il=null};d.prototype.vd=function(c){this.Mb.vd(c);this.il.vd(c)};d.prototype.Je=function(){this.Na()}; 3257d.prototype.yM=function(c){this.trigger(new k(d.iA,c.data))};d.prototype.BM=function(c){this.trigger(new k(d.Iw,c.data))};d.prototype.AM=function(c){this.trigger(new k(d.jA,c.data));this.il.v_a(c.data.album,c.data.item)};d.prototype.Jp=function(c){this.trigger(new k(d.Ko,c.data))};d.prototype.Qn=function(c){this.trigger(new k(d.Lo,c.data))};d.prototype.Ona=function(){this.il.disable()};d.prototype.Pna=function(c){this.lO==l.Xo&&c.data.item&&this.il.enable();c.data.album||this.trigger(new k(d.v0))}; 3258d.prototype.Rma=function(){this.trigger(new k(d.Gfa))};d.prototype.Sma=function(c){this.Mb.Zea(c.data.album,c.data.item,0);this.trigger(new k(d.Hfa,c.data))};d.prototype.Na=function(){this.trigger(new k(d.Hb))};d.Hb="request frame";d.iA="photo added";d.Iw="photo removed";d.jA="photo displayed";d.Lo="photo album show";d.Ko="photo album hide";d.Gfa="manual interaction begin";d.Hfa="manual interaction end";d.v0="all pending photo albums hidden";return d}); 3259define("iK","require ek lx y cB gp kX".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("y"),l=a("cB"),b=a("gp"),h=a("kX"),d=k.extend(b,function(){b.call(this);this.ef=null;this.A=h.T;this.H9=null});d.prototype.clear=function(){this.Nba()};d.prototype.Kea=function(c){this.Nba();this.ef=c;this.A=h.X;this.H9=m.$s(this.ef,"playList.selectedIndex",this.JC,this);0==this.ef.get("playList").get("selectedIndex")?this.JC():this.ef.get("playList").set("selectedIndex",0)};d.prototype.Nba=function(){this.ef&& 3260(this.A=h.T,this.H9.Mz(),this.ef=this.H9=null)};d.prototype.stop=function(){this.A!=h.T&&(this.A=h.T,this.ef.get("playList").set("selectedIndex",0))};d.prototype.play=function(){this.A==h.T?(this.ef.get("playList").set("selectedIndex",0),this.A=h.X,this.JC()):this.A==h.Ib&&(this.A=h.X)};d.prototype.pause=function(){this.A==h.X&&(this.A=h.Ib)};d.prototype.next=function(){var c=this.ef.get("playList"),f=c.get("selectedIndex"),g=c.get("items").length;(f<g-1||this.ef.get("loop"))&&c.set("selectedIndex", 3261(f+1)%g)};d.prototype.Bda=function(){var c=this.ef.get("playList"),f=c.get("selectedIndex"),g=c.get("items").length;(0<f||this.ef.get("loop"))&&c.set("selectedIndex",(f-1+g)%g)};d.prototype.wZ=function(c){this.XQa(c)};d.prototype.itemEnd=function(c){if(this.ef){var f=e(this.ef.get("playList").get("items")).last(
3261);c!=f||this.ef.get("loop")?this.next():(this.A=h.T,this.trigger(new l(d.q0,{album:this.ef})))}};d.prototype.JC=function(){var c=this.ZKa();0<=c&&(this.A!=h.X&&0!=c?this.trigger(new l(d.U0)): 3262this.trigger(new l(d.D0,{album:this.ef,item:this.ef.get("playList").get("items")[c]})))};d.prototype.ZKa=function(){return this.ef?this.ef.get("playList").get("selectedIndex"):-1};d.prototype.XQa=function(c){if(this.ef){var f=this.ef.get("playList");c=e(f.get("items")).indexOf(c);f.set("selectedIndex",c)}};d.U0="play request";d.D0="item request";d.q0="album end";return d}); 3263define("cW","require ek lx oR cB gp kX hl".split(" "),function(a){a("ek");var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("kX"),h=a("hl"),d=e.extend(l,function(c){l.call(this);this.M=c;this.dO=this.ya=null;this.zC=void 0;this.aU=!1;this.A=b.T;h.bind(k.va,this.Hpa,this,!0)});d.prototype.wZ=function(c){this.i4();if(this.ya=c)c=this.ya.get("media").get("duration",0),this.zC=0==c?void 0:Math.max(0,c-this.M.get("transitionDuration")),this.aU=!1,this.A==b.X&&this.G4()};d.prototype.clear=function(){h.unbind(k.va, 3264this.Hpa,this,!0);this.wZ(null)};
3264d.prototype.stop=function(){this.A!=b.T&&(this.i4(),this.Ac(b.T))};d.prototype.play=function(){if(this.A==b.T){if(this.Ac(b.X),this.ya){this.aU=!1;var c=this.ya.get("media").get("duration",0);this.zC=0==c?void 0:c;this.G4()}}else this.A==b.Ib&&(this.Ac(b.X),this.ya&&this.G4())};d.prototype.pause=function(){this.A==b.X&&(this.Ac(b.Ib),this.Upa())};d.prototype.G4=function(){this.aU||(this.aU=!0,this.trigger(new m(d.E0,{item:this.ya})));this.zka()};d.prototype.Hpa=function(){h.visible? 3265this.zka():h.visible||this.Upa()};d.prototype.zka=function(){if(void 0!==this.zC){var c=this;this.wX=(new Date).getTime()+this.zC;this.dO=setTimeout(function(){c.dO=null;c.oSa()},this.zC)}else this.wX=void 0};d.prototype.i4=function(){this.dO&&(clearTimeout(this.dO),this.dO=null)};d.prototype.Upa=function(){void 0!==this.wX&&(this.i4(),this.zC=Math.max(1,this.wX-(new Date).getTime()),this.wX=void 0)};d.prototype.oSa=function(){var c=this.ya;this.ya=null;this.zC=void 0;this.trigger(new m(d.C0,{item:c}))}; 3266d.prototype.Ac=function(c){this.A!=c&&(this.A=c,this.trigger(new m(d.Ec,{state:this.A})))};d.Ec="playback state change";d.E0="item start";d.C0="item end";return d}); 3267define("nF","require lx cB gp bh v".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("gp"),l=a("bh"),b=a("v"),h=e.extend(m,function(d){m.call(this);this.W=!0;this.uB=!1;this.j=d;this.xm=b.browser()==b.Vz&&b.zd()==b.wR?3:1;this.Ie=this.SK=0});h.prototype.clear=function(){this.W=!1;this.j=null;this.Ie=this.SK=0};h.prototype.requestFrame=function(){this.uB||(this.uB=!0,l.requestFrame(this.vj,this))};h.prototype.vj=function(d){this.W&&(this.SK++,this.Ie+=d,this.SK==this.xm?(this.SK=0,this.uB=!1,d=this.Ie, 3268this.Ie=0,this.trigger(new k(h.No,{frameTime:d})),this.trigger(new k(h.Oo,{frameTime:d})),this.j.render()):l.requestFrame(this.vj,this))};h.No="frameStart";h.Oo="positionSet";return h}); 3269define("gJ","require lx oR cB gp jr cP ju iK cW ih nF".split(" "),function(a){var e=a("lx");a("oR");var k=a("cB"),m=a("gp"),l=a("jr"),b=a("cP"),h=a("ju"),d=a("iK"),c=a("cW"),f=a("ih"),g=a("nF"),p=e.extend(m,function(q,n){m.call(this);this.M=q;this.j=n;this.j.set("visible",!1);this.Mh=new d(this.j);this.Ka=new c(this.M);this.Sd=new f(this.M,this.j);this.Ja=new h(this.M,this.j,this.Sd);this.eb=new b(this.j,this.Sd);this.hg=new g(this.j);this.Jd=new l(this.j);this.Sd.bind(f.Hb,this.Je,this,!0);this.Mh.bind(d.D0, 3270this.goa,this,!0);this.Mh.bind(d.U0,this.Voa,this,!0);this.Mh.bind(d.q0,this.zM,this,!0);this.Ka.bind(c.E0,this.hoa,this);this.Ka.bind(c.C0,this.foa,this);this.Ka.bind(c.Ec,this.Ve,this,!0);this.Ja.bind(h.Hb,this.Je,this,!0);this.Ja.bind(h.iA,this.yM,this,!0);this.Ja.bind(h.Iw,this.BM,this,!0);this.Ja.bind(h.jA,this.AM,this,!0);this.Ja.bind(h.Ko,this.Jp,this,!0);this.Ja.bind(h.Lo,this.Qn,this,!0);this.Ja.bind(h.Gfa,this.wNa,this,!0);this.Ja.bind(h.Hfa,this.xNa,this,!0);this.Ja.bind(h.v0,this.Fna, 3271this,!0);this.eb.bind(b.Hb,this.Je,this,!0);this.hg.bind(g.No,this.vy,this,!0);this.hg.bind(g.Oo,this.wy,this,!0)});p.prototype.clear=function(){this.Mh.clear();this.Ka.clear();this.Ja.clear();this.eb.clear();this.hg.clear();this.Jd.clear();this.Sd.clear();this.Sd.unbind(f.Hb,this.Je,this);this.Mh.unbind(d.D0,this.goa,this);this.Mh.unbind(d.q0,this.zM,this);this.Mh.unbind(d.U0,this.Voa,this);this.Ka.unbind(c.E0,this.hoa,this);this.Ka.unbind(c.C0,this.foa,this);this.Ka.unbind(c.Ec,this.Ve,this);this.Ja.unbind(h.Hb, 3272this.Je,this);this.Ja.unbind(h.iA,this.yM,this);this.Ja.unbind(h.Iw,this.BM,this);this.Ja.unbind(h.jA,this.AM,this);this.Ja.unbind(h.Ko,this.Jp,this);this.Ja.unbind(h.Lo,this.Qn,this);this.Ja.unbind(h.v0,this.Fna,this);this.eb.unbind(b.Hb,this.Je,this);this.hg.unbind(g.No,this.vy,this);this.hg.unbind(g.Oo,this.wy,this);this.M=this.j=this.Sd=this.Jd=this.hg=this.eb=this.Ja=this.Ka=this.Mh=null};p.prototype.y_=function(q,n){this.Ja.y_(q,n)};p.prototype.o0a=function(q){this.j.set("visible",!0);this.Mh.Kea(q)}; 3273p.prototype.iw=function(){this.Mh.Nba();this.Ka.stop();this.Ja.hide();this.eb.end();this.Jd.nBa()};p.prototype.next=function(){this.Mh.next()};p.prototype.Bda=function(){this.Mh.Bda()};p.prototype.stop=function(){this.Ka.stop();this.Jd.stop();this.Mh.stop();this.eb.stop()};p.prototype.play=function(){this.Ka.play();this.Jd.play();this.Mh.play();this.eb.play()};p.prototype.pause=function(){this.Ka.pause();this.Jd.pause();this.Mh.pause();this.eb.pause()};p.prototype.wNa=function(){this.Ka.pause();this.Jd.pause(); 3274this.Mh.pause();this.eb.pause()};p.prototype.xNa=function(){this.Ka.play();this.Jd.play();this.Mh.play();this.eb.play()};p.prototype.goa=function(q){this.Ja.display(q.data.album,q.data.item)};p.prototype.Voa=function(){this.play()};p.prototype.Je=function(){this.hg.requestFrame()};p.prototype.vy=function(q){this.eb.dw(q.data.frameTime)};p.prototype.wy=function(q){q=q.data.frameTime;this.Ja.vd(q);this.Sd.vd(q);this.Jd.vd(q)};p.prototype.yM=function(q){this.eb.start(q.data.item)};p.prototype.BM=function(q){var n= 3275q.data.album;q=q.data.item;var r=q.get("media");this.eb.end(q);this.Jd.v1a(r);this.trigger(new k(p.Q0,{photoAlbum:n,item:q}))};p.prototype.AM=function(q){var n=q.data.album;q=q.data.item;q.get("media");this.Mh.wZ(q);this.Ka.wZ(q);this.trigger(new k(p.P0,{photoAlbum:n,item:q}))};p.prototype.hoa=function(q){q=q.data.item.get("media");this.Jd.r1a(q)};p.prototype.foa=function(q){this.Mh.itemEnd(q.data.item)};p.prototype.zM=function(q){this.Ka.stop();this.Jd.stop();this.trigger(new k(p.O0,{photoAlbum:q.data.album}))}; 3276p.prototype.Qn=function(q){q=q.data.album;this.Jd.Kea(q);this.Ka.play();this.eb.play();this.trigger(new k(p.Lo,{photoAlbum:q}))};p.prototype.Jp=function(q){q=q.data.album;this.Jd.t1a(q);this.trigger(new k(p.Ko,{photoAlbum:q}))};p.prototype.Fna=function(){this.j.set("visible",!1)};p.prototype.Ve=function(q){this.trigger(new k(p.Ec,{state:q.data.state}))};p.Lo="photoAlbumShow";p.O0="photoAlbumEnd";p.Ko="photoAlbumHide";p.P0="photoBegin";
3276p.Q0="photoEnd";p.Ec="playbackStateChange";return p}); 3277define("hL","require jquery.mod ek mm lu lQ v".split(" "),function(a){function e(d,c){this.ya=d;this.la=c;this.Jb=d.yd();this.Tb=d.je();this.cT=d.U4;this.kba=this.DL=0;this.yn=1;this.ug=0;this.xa=!0;this.H3();this.Bd=this.sd=100;this.La=this.Ia=.5;this.jb=1;this.cN=!0;this.lf=1;this.xka={};this.ema={};this.Yta=h.browser()!=h.Wh}var k=a("jquery.mod"),m=a("ek"),l=a("mm"),b=a("lu");a("lQ");var h=a("v");e.prototype.H3=function(){this.yR=k("<div></div>");var d={position:"absolute",left:"0",top:"0",width:this.sd+ 3278"px",height:this.Bd+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};d["-moz-transform-origin"]=d["-webkit-transform-origin"]=d["transform-origin"]="0 0 0";d["-ms-transform-origin"]="0 0";this.yR.css(d);this.P1=k(b.rf(this.ya.ui(),!0));d={display:"block",position:"absolute",left:"0",top:"0",width:this.Jb+"px",height:this.Tb+"px"};d["-moz-transform-origin"]=d["-webkit-transform-origin"]=d["transform-origin"]="0 0 0";d["-ms-transform-origin"]="0 0";this.P1.css(d);this.yR.append(this.P1)}; 3279e.prototype.Bc=function(){return this.yR};e.prototype.getItem=function(){return this.ya};e.prototype.getX=function(){return this.Ia};e.prototype.getY=function(){return this.La};e.prototype.Gq=function(){return this.jb};e.prototype.Xa=function(){return Math.round(this.Jb*this.jb*this.lf)};e.prototype.Ab=function(){return Math.round(this.Tb*this.jb*this.lf)};e.prototype.Se=function(d){this.yn!=d&&(this.yn=d,this.xa=!0)};e.prototype.TY=function(){return this.yn};e.prototype.Kz=function(d){this.Af!=d&& 3280(this.Af=d,this.xa=!0)};e.prototype.VD=function(d,c){if(this.sd!=d||this.Bd!=c)this.sd=d,this.Bd=c,this.xa=!0};e.prototype.setPosition=function(d,c,f){if(this.Ia!=d||this.La!=c||this.jb!=f)this.Ia=d,this.La=c,this.jb=f,this.xa=!0};e.prototype.jn=function(d){this.ug!=d&&(this.ug=d,this.xa=!0)};e.prototype.x_a=function(d){this.kba!=d&&(this.kba=d,this.xa=!0)};e.prototype.render=function(){if(this.xa){this.xa=!1;switch(this.Af){case l.NONE:this.lf=1;break;case l.Ro:this.lf=this.sd/this.Jb;break;case l.Rj:this.lf= 3281this.Bd/this.Tb;break;case l.Zq:this.lf=this.Jb*this.Bd>this.Tb*this.sd?this.Bd/this.Tb:this.sd/this.Jb;break;default:this.lf=this.Jb*this.Bd>this.Tb*this.sd?this.sd/this.Jb:this.Bd/this.Tb}var d=this.jb*this.lf,c=.5*this.sd-this.Ia*this.Jb*d,f=.5*this.Bd-this.La*this.Tb*d,g=this.sd*this.ug,p=function(n,r){return Math.round(n*Math.pow(10,r))*Math.pow(10,-r)},q={};q.width=p(this.sd,0)+"px";q.height=p(this.Bd,0)+"px";q.transform=this.Yta?"translate3d("+p(g,2)+"px, 0px, 0px)":"translate("+p(g,2)+"px, 0px)"; 3282q["-moz-transform"]=q["-webkit-transform"]=q["-ms-transform"]=q.transform;q["z-index"]=this.kba;0==this.yn?q.display="none":(q.display="block",1==this.yn?(q.filter=q["-ms-filter"]="",q.opacity=""):(q.filter=q["-ms-filter"]="alpha(opacity="+Math.round(100*this.yn)+")",q.opacity=this.yn));g=[];this.Yta?(g.push("translate3d("+p(c,2)+"px, "+p(f,2)+"px, 0px)"),g.push("scale3d("+d+", "+d+", "+d+")"),this.cT&&(g.push("translate3d("+this.Jb+"px, 0, 0)"),g.push("scale3d(-1, 1, 1)"))):(g.push("translate("+ 3283p(c,2)+"px, "+p(f,2)+"px)"),g.push("scale("+d+", "+d+")"),this.cT&&(g.push("translate("+this.Jb+"px, 0)"),g.push("scale(-1, 1)")));d={};d["-moz-transform"]=d["-webkit-transform"]=d["-ms-transform"]=d.transform=g.join(" ");m.isEqual(this.xka,q)||(this.xka=q,this.yR.css(q));m.isEqual(this.ema,d)||(this.ema=d,this.P1.css(d))}};return e}); 3284define("ig","require jquery.mod ek lx oR id lu hL bd e".split(" "),function(a){var e=a("jquery.mod"),k=a("ek"),m=a("lx"),l=a("oR"),b=a("id"),h=a("lu"),d=a("hL"),c=a("bd"),f=a("e");a=m.extend(f,function(){f.call(this);this.Ae("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",c.pt);this.bind(l.lc,this.hc,this,!0);this.bind(l.ld,this.mk,this,!0);this.bind(l.hd,this.hk,this,!0);this.BC=!1;this.pc=[];this.XW=this.Iv=!1;this.z8=e("<div/>");this.z8.css({position:"absolute",left:0,top:0,right:0, 3285bottom:0,overflow:"hidden","-webkit-transform":"translateZ(0)"});this.Fb().append(this.z8)});a.prototype.dn=function(g){h.dn(g,b.Sk)};
3285a.prototype.cj=function(g){h.cj(g,b.Sk)};a.prototype.mxa=function(g){return h.I_(g)};a.prototype.nba=function(g){g=new d(g,this);g.VD(this.Xa(),this.Ab());g.setPosition(.5,.5,0,1);this.z8.append(g.Bc());this.pc.push(g);this.Iv=!0};a.prototype.removeItem=function(g){if(g=this.rp(g))this.pc=k.without(this.pc,g),g.Bc().detach(),this.Iv=!0};a.prototype.zba=function(g){if(g= 3286this.rp(g))this.pc=k.without(this.pc,g),this.pc.push(g),this.Iv=!0};a.prototype.Y_a=function(g,p){this.rp(g).Kz(p)};a.prototype.Sq=function(g,p){this.rp(g).Se(p)};a.prototype.V_a=function(g,p){this.rp(g).jn(p)};a.prototype.uQ=function(g,p,q,n){this.rp(g).setPosition(p,q,n)};a.prototype.tP=function(g){return this.rp(g).getX()};a.prototype.uP=function(g){return this.rp(g).getY()};a.prototype.fwa=function(g){return this.rp(g).Gq()};a.prototype.sP=function(g){return this.rp(g).Xa()};a.prototype.rP=function(g){return this.rp(g).Ab()}; 3287a.prototype.render=function(){if(this.BC){this.RTa();this.uRa();for(var g=0;g<this.pc.length;g++)this.pc[g].render()}};a.prototype.RTa=function(){if(this.XW){this.XW=!1;for(var g=this.Xa(),p=this.Ab(),q=0;q<this.pc.length;q++)this.pc[q].VD(g,p)}};a.prototype.uRa=function(){if(this.Iv){this.Iv=!1;for(var g=[],p=0;p<this.pc.length;p++){var q=this.pc[p],n={};n.AZ=q.DL;n.index=p;n.renderer=q;g.push(n)}g.sort(function(r,t){return r.AZ==t.AZ?r.index-t.index:r.AZ-t.AZ});for(p=0;p<g.length;p++)g[p].renderer.x_a(p+ 32881)}};a.prototype.rp=function(g){if(this.j3a==g)return this.i3a;for(var p=null,q=0;q<this.pc.length&&!p;q++)this.pc[q].getItem()==g&&(p=this.pc[q]);return p};a.prototype.hc=function(){this.XW=!0;this.render()};a.prototype.mk=function(){this.BC=!0;this.render()};a.prototype.hk=function(){this.BC=!1};return a}); 3289define("ko","require lx cB nH jP iE gJ nn ig eh oR".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("nH"),l=a("jP"),b=a("iE"),h=a("gJ"),d=a("nn"),c=a("ig"),f=a("eh"),g=a("oR");a=m.define("PhotoAlbumPlayer",b,function(){b.call(this,"photoAlbum");this.AX=this.y8=this.Sh=!1;this.L=this.j=null;this.fGa=new l(this,"buttonNext",f.Fe);this.fGa.bind(g.ra,this.Moa,this);this.gGa=new l(this,"buttonPrevious",f.Fe);this.gGa.bind(g.ra,this.epa,this);this.Zd=e.Bo(this.Og,this)});a.prototype.next=function(){this.Moa()}; 3290a.prototype.pause=function(){this.kC()};a.prototype.play=function(){this.lC()};a.prototype.previous=function(){this.epa()};a.prototype.stop=function(){this.Ay()};a.prototype.restart=function(){this.xy()};a.prototype.set=function(p,q){if(this.get(p)!=q){switch(p){case "photoAlbum":this.y8=!0;this.Zd();break;case "viewerArea":this.Sh=!0;this.Zd();break;case "touchTransition":case "mouseTransition":case "touchTransitionDuration":case "mouseTransitionDuration":case "transitionDuration":this.AX=!0,this.Zd()}b.prototype.set.call(this, 3291p,q)}};a.prototype.Og=function(){this.Sh&&(this.Sh=!1,this.AX=!0,this.fu(),this.get("viewerArea")&&this.cu(),this.IN(this.get("viewerArea")));this.j&&this.y8&&(this.y8=!1,this.get("photoAlbum")?(this.RI(),this.L.o0a(this.get("photoAlbum"))):this.L.iw());this.AX&&(this.AX=!1,this.Sta())};a.prototype.mH=function(){this.set("photoAlbum",null)};a.prototype.cu=function(){var p=this.get("viewerArea");this.j=new c;this.j.ka({left:0,top:0,bottom:0,right:0});p.Wa(this.j);this.L=new h(p,this.j);this.Sta(); 3292this.L.bind(h.Lo,this.Qn,this);this.L.bind(h.Ko,this.Jp,this);this.L.bind(h.O0,this.zM,this);this.L.bind(h.P0,this.Toa,this);this.L.bind(h.Q0,this.Uoa,this);this.L.bind(h.Ec,this.Ve,this);this.Uy(!0)};a.prototype.fu=function(){this.j&&(this.L.unbind(h.Lo,this.Qn,this),this.L.unbind(h.Ko,this.Jp,this),this.L.unbind(h.O0,this.zM,this),this.L.unbind(h.P0,this.Toa,this),this.L.unbind(h.Q0,this.Uoa,this),this.L.unbind(h.Ec,this.Ve,this),this.L.clear(),this.j.getParent().removeChild(this.j),this.j=null, 3293this.Uy(!1))};a.prototype.Sta=function(){var p=this.get("viewerArea");p&&this.L&&(p.Jn?this.L.y_(this.get("touchTransition",d.pn),this.get("touchTransitionDuration",p.get("transitionDuration",1E3))):this.L.y_(this.get("mouseTransition",d.pn),this.get("mouseTransitionDuration",p.get("transitionDuration",1E3))))};a.prototype.Ve=function(p){this.Ac(p.data.state)};a.prototype.Qn=function(p){this.PL(p.data.photoAlbum)};a.prototype.Jp=function(p){this.OL(p.data.photoAlbum)};a.prototype.zM=function(p){p.data.photoAlbum.trigger(new k(g.vb))}; 3294a.prototype.Toa=function(p){p.data.item.jz()};a.prototype.Uoa=function(p){p.data.item.end()};a.prototype.ji=function(p){this.j.getParent().ka({progressPercent:p.data.percent,progressVisible:!0})};a.prototype.rG=function(){this.j.getParent().set("progressVisible",!1)};a.prototype.Moa=function(){this.L&&this.get("photoAlbum")&&this.L.next()};a.prototype.epa=function(){this.L&&this.get("photoAlbum")&&this.L.Bda()};a.prototype.rk=function(){this.L&&this.get("photoAlbum")&&this.L.play()};a.prototype.ho= 3295function(){this.L&&this.get("photoAlbum")&&this.L.stop()};a.prototype.Qp=function(){this.L&&this.get("photoAlbum")&&this.L.pause()};return a}); 3296define("hb",["require","nH","dg","ir"],function(a){var e=a("nH"),k=a("dg"),m=a("ir");a=e.define("PhotoAlbumPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var l=this.get("player");l&&(l.bind(k.Vg,this.Qn,this),l.set("photoAlbum",this.get("media")))};a.prototype.stop=function(){var l=this.get("player");l&&(l.unbind(k.Vg,this.Qn,this),l.get("photoAlbum")==this.get("media")&&l.set("photoAlbum",null));m.prototype.stop.call(this)};a.prototype.gJ=function(){var l= 3297this.get("media");if(l){var b=l.get("playList");b&&(l=b.get("selectedIndex"),b=b.get("items"),0<=l&&b&&b[l].gJ())}m.prototype.gJ.call(this)};a.prototype.Qn=function(){this.get("player").unbind(k.Vg,this.Qn,this);this.get("player").bind(k.cm,this.Jp,this);this.jz()};a.prototype.Jp=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.cm,this.Jp,this),this.stop(),this.end())};return a}); 3298define("lL",["require","id","nH","ja"],function(a){var e=a("id"),k=a("nH"),m=a("ja");return k.define("PhotoAudio",m,function(){m.call(this,e.yDa)})});define("ny",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PhotoCamera",e,function(){e.call(this)})}); 3299define("eS","require ek lZ cB nH jA oR".split(" "),function(a){var e=a("ek"),k=a("lZ"),m=a("cB"),l=a("nH"),b=a("jA"),h=a("oR");a=l.define("PlayList",k,function(){k.call(this);this.mf=-1;this.$d=[];this.fN=this.fk=this.Ke=void 0});a.prototype.set=function(d,c){"selectedIndex"==d?this.WQa(c):"items"==d?this.HQa(c):k.prototype.set.call(this,d,c)};a.prototype.get=function(d,c){return"selectedIndex"==d?this.mf:"items"==d?this.$d:k.prototype.get.call(this,d,c)};a.prototype.dispose=function(){this.Ke&&(this.Ke.unbind(h.Yq, 3300this.DM,this),this.Ke.unbind(h.Gf,this.Qr,this),this.Ke.unbind(h.vb,this.Qr,this),this.Ke=null)};a.prototype.HQa=function(d){d=d||[];if(!e.isEqual(this.$d,d)){var c=this.mf;this.$d=d;d=this.$qa(this.mf);this.trigger(new m(h.bR,{nextSelectedIndex:d}));this.mf=d;this.Nra(this.Qx(this.mf));this.Ita();this.trigger(new m(h.va,{previousSelectedIndex:c}));k.prototype.set.call(this,"items",this.$d);k.prototype.set.call(this,"selectedIndex",this.mf)}};a.prototype.WQa=function(d){d=this.$qa(d);if(this.mf!= 3301d){var c=this.mf;this.trigger(new m(h.bR,{nextSelectedIndex:d}));this.mf=d;this.Nra(this.Qx(this.mf));this.Ita();this.trigger(new m(h.va,{previousSelectedIndex:c}));k.prototype.set.call(this,"selectedIndex",this.mf)}};a.prototype.$qa=function(d){return Math.max(-1,Math.min(this.$d.length-1,d))};a.prototype.Qx=function(d){return 0<=d?this.$d[d]:null};a.prototype.Nra=function(d){this.Ke==d&&void 0===this.fk||this.fk===d||(void 0===this.fk?(this.fk=d,this.Ke?this.fk&&this.Ke.get("player")==this.fk.get("player")? 3302(this.Ke.gJ(),this.Qr()):this.nMa(this.Ke,this.fk)?(d=this.Ke,d.gJ(),this.Qr(),d.LBa()):(this.Bma(this.Ke,this.fk)&&this.Ke.get("media").get("modelLocations",[]).forEac
3302h(function(c){var f=!(c.get("model")!=this.fk.get("media")||!c.get("forceModelLoading"));c.set("preferred",f)}.bind(this)),this.Ke.stop()):this.Qr()):this.fk=d)};a.prototype.nMa=function(d,c){return this.Ama(c,d)};a.prototype.Bma=function(d,c){return this.Ama(d,c)};a.prototype.Ama=function(d,c){return c&&l.Oa("Model3DPlayListItem", 3303c)&&d&&l.Oa("PanoramaPlayListItem",d)&&d.get("player")&&d.get("player").get("model3DPlayer")==c.get("player")&&d.get("media").get("modelLocations",[]).find(function(f){return f.get("model")==c.get("media")&&(c.get("media").get("isLoaded")||f.get("forceModelLoading"))})};a.prototype.Qr=function(){this.Ke&&(this.Ke.unbind(h.Yq,this.DM,this),this.Ke.unbind(h.Gf,this.Qr,this),this.Ke.unbind(h.vb,this.Qr,this));this.fk?(this.Bma(this.Ke,this.fk)&&this.Ke.get("player").bind(h.K1,this.By,this,!0),this.Ke= 3304this.fk,this.fk=void 0,this.Ke.bind(h.Yq,this.DM,this),this.Ke.bind(h.Gf,this.Qr,this),this.Ke.start()):(this.fk=this.Ke=void 0,this.set("selectedIndex",-1))};a.prototype.By=function(d){d.source.unbind(h.K1,this.By,this);this.DM();this.Ke.KBa()};a.prototype.DM=function(){this.Ke.unbind(h.Yq,this.DM,this);this.Ke.unbind(h.Gf,this.Qr,this);this.Ke.bind(h.vb,this.Qr,this)};a.prototype.Ita=function(){this.fN&&b.JZ(this.fN.get("media"),-1);(this.fN=this.$d&&0<=this.mf?this.$d[(this.mf+1)%this.$d.length]: 3305null)&&b.JZ(this.fN.get("media"),1)};return a});define("ky",["require","nH","eS"],function(a){var e=a("nH"),k=a("eS");return e.define("PhotoPlayList",k,function(){k.call(this)})});define("kN",["require","nH","ir"],function(a){var e=a("nH"),k=a("ir");return e.define("PhotoPlayListItem",k,function(){k.call(this)})});define("eC",["require","gu","nH"],function(a){var e=a("gu");return a("nH").define("PlaybackBar",e,function(){e.call(this)})}); 3306define("nf",["require"],function(){function a(m){try{for(var l=(k.SP<<12)+k.UP&65535,b="",h=0,d=m.length;h<d;){var c=e.indexOf(m.charAt(h++))<<12|e.indexOf(m.charAt(h++))<<6|e.indexOf(m.charAt(h++))<<0;c=c-l+65536&65535;b+=String.fromCharCode(c)}return b}catch(f){if("{%"==m.substr(0,2))return""}}var e="";[[65,26],[97,26],[48,10]].forEach(function(m){for(var l=0;l<m[1];l++)e+=String.fromCharCode(m[0]+l)});e+="+/";var k={OVa:"true"};k.SP=parseInt("0")|| 33070;k.UP=parseInt("1951")||1;k.u1a="true";k.name=a("AfSAfjAf1AgIAgSAgTAgAAe/AfvAgLAgAAgYAgEAgR");k.hCa=a("");return k});define("iy",["require"],function(){return{Ya:"left",rb:"right",vc:"top",oc:"bottom"}}); 3308define("fP",["require","lx","ew","W","iy"],function(a){var e=a("lx"),k=a("ew");a("W");a("iy");a=e.extend(k,function(){k.call(this)});a.prototype.ZK=function(){return 0};a.prototype.$K=function(){return 0};a.prototype.hH=function(){k.prototype.hH.call(this);this.Kx(function(m){m.tf(!0)})};a.prototype.rv=function(){k.prototype.rv.call(this);this.Kx(function(m){m.AQ(this.ZK(m,this.Mk()));m.BQ(this.$K(m,this.Mk()))})};a.prototype.fH=function(){this.Kx(function(m){m.AQ(this.ZK(m,1));m.BQ(this.$K(m,1))}); 3309k.prototype.fH.call(this)};a.prototype.gH=function(){this.Kx(function(m){m.AQ(this.ZK(m,0));m.BQ(this.$K(m,0))});k.prototype.gH.call(this)};return a}); 3310define("nx",["require","lx","fP","iy"],function(a){var e=a("lx"),k=a("fP"),m=a("iy");a=e.extend(k,function(){k.call(this)});a.prototype.ZK=function(l,b){switch(this.get("from")){case m.vc:case m.oc:return 0;case m.Ya:var h=l.Ia;l=l.Xa();return isNaN(l)||isNaN(h)?1E4:(-h-l)*(1-b);default:h=l.getParent();if(!h)return 0;var d=h.qf();h=l.Ia;return isNaN(h)||isNaN(d)?1E4:(d-h)*(1-b)}};a.prototype.$K=function(l,b){switch(this.get("from")){case m.vc:var h=l.La;l=l.Ab();return isNaN(l)||isNaN(h)?1E4:(-h- 3311l)*(1-b);case m.oc:h=l.getParent();if(!h)return 0;var d=h.pf();h=l.La;return isNaN(h)||isNaN(d)?1E4:(d-h)*(1-b);default:return 0}};a.prototype.gH=function(){this.Kx(function(l){l.AQ(0);l.BQ(0);l.tf(!1)})};return a}); 3312define("hJ",["require","lx","fP","W","iy"],function(a){var e=a("lx"),k=a("fP");a("W");var m=a("iy");a=e.extend(k,function(){k.call(this)});a.prototype.ZK=function(l,b){switch(this.get("to")){case m.vc:case m.oc:return 0;case m.Ya:var h=l.Ia;l=l.Xa();return isNaN(l)||isNaN(h)?1E4:(-h-l)*b;default:h=l.getParent();if(!h)return 0;var d=h.qf();h=l.Ia;return isNaN(h)||isNaN(d)?1E4:(d-h)*b}};a.prototype.$K=function(l,b){switch(this.get("to")){case m.vc:var h=l.La;l=l.Ab();return isNaN(l)||isNaN(h)?1E4:(-h- 3313l)*b;case m.oc:h=l.getParent();if(!h)return 0;var d=h.pf();h=l.La;return isNaN(h)||isNaN(d)?1E4:(d-h)*b;default:return 0}};a.prototype.fH=function(){this.Kx(function(l){l.AQ(0);l.BQ(0);l.tf(!1)})};return a}); 3314define("H","require jquery.mod lx oR oP v fV mZ cS d om nx hJ kq".split(" "),function(a){function e(v){try{return window.localStorage.getItem(v)}catch(w){}}
3314var k=a("jquery.mod"),m=a("lx"),l=a("oR"),b=a("oP"),h=a("v"),d=a("fV"),c=a("mZ"),f=a("cS"),g=a("d"),p=a("om"),q=a("nx"),n=a("hJ"),r=a("kq");a=m.extend(p,function(v){p.call(this);this.sc=v;this.Hi=this.OA=this.mx=this.El=null;v=new q;v.set("duration",500);v.set("from","bottom");v=new n;v.set("duration",500);v.set("to","bottom");this.ka({creationPolicy:f.pA, 3315verticalAlign:c.fe,horizontalAlign:c.De,visible:!1,showEffect:this.z3a,hideEffect:this.A3a});this.C$="";v=this.OKa();!0===v?setTimeout(function(){this.trigger(l.rE)}.bind(this),0):void 0===v&&(this.sc.bind(l.G("cookiesPolicy"),this.Bja,this),setTimeout(function(){this.Bja()}.bind(this),0))});a.prototype.Db=function(){p.prototype.Db.call(this);this.ka({backgroundColor:"#1a1a1a",width:"100%",left:0,bottom:0});null==this.El&&(this.El=new r,this.El.ka({content:this.C$,fontColor:"#ffffff",fontWeight:"400", 3316fontFamily:"Open Sans, Arial, sans-serif",width:"100%"}),this.Wa(this.El));null==this.mx&&(this.mx=new p,this.Wa(this.mx),this.mx.ka({creationPolicy:f.pA,verticalAlign:c.fe,layout:g.Cg}));null==this.OA&&(this.OA=new d,this.OA.ka({backgroundColor:"#2aabe2",fontColor:"#ffffff",fontFamily:"Open Sans, Arial, sans-serif",label:b("accept").toUpperCase(),verticalAlign:"middle"}),this.mx.Wa(this.OA),this.OA.bind(l.ra,this.XFa,this,!0));null==this.WE&&(this.WE=new d,this.WE.ka({backgroundColor:"#1a1a1a",fontColor:"#808080", 3317fontFamily:"Open Sans, Arial, sans-serif",label:b("reject").toUpperCase(),textDecoration:"underline",verticalAlign:"middle"}),this.mx.Wa(this.WE),this.WE.bind(l.ra,this.iGa,this,!0))};a.prototype.es=function(){p.prototype.es.apply(this,arguments);var v=this.Gb();v&&(v.bind(l.lc,this.Gl,this,!0),this.Gl())};a.prototype.Gl=function(){var v=this.Gb();if(v){var w=h.lb(),x=v.Ab()>v.Xa(),y=Math.min(v.Xa(),v.Ab())/100;v=function(z){return Math.round(z*y)};this.ka({gap:w?v(4.63):20,paddingLeft:w?v(4.63): 331820,paddingRight:w?v(4.63):20,paddingTop:w?v(4.63):14,paddingBottom:w?v(4.63):14,layout:w&&x?g.wh:g.Cg});this.El&&this.El.ka({fontSize:w?v(3.15):14,textAlign:w&&x?"center":"left"});this.mx&&this.mx.ka({gap:w?0:13});this.OA&&this.OA.ka({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.WE&&this.WE.ka({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.Gd()}};a.prototype.Bja= 3319function(){var v=m.toArray(this.sc.get("cookiesPolicy"));this.bN!=v&&(this.bN=v,this.NPa())};a.prototype.NPa=function(){if(0==this.bN.length)this.S9(null);else{var v=this.bN[0];0==m.toArray(v.get("geographicArea")).length?this.S9(v):this.iKa(function(w){for(var x=null,y=0;y<this.bN.length&&!x;y++){var z=this.bN[y],C=m.toArray(z.get("geographicArea"));if(0==C.length)x=z;else for(var A=0;A<C.length&&!x;A++)0<=w.indexOf(C[A])&&(x=z)}this.S9(x)}.bind(this))}};a.prototype.S9=function(v){this.JG!==v&&(this.JG&& 3320this.JG.unbind(l.G("url"),this.Faa,this),(this.JG=v)?(this.JG.bind(l.G("url"),this.Faa,this),this.Faa(),this.set("visible",!0)):(this.trigger(l.rE),this.set("visible",!1)))};a.prototype.Faa=function(){var v=k(document.createElement("div")).html(b("cookies-notice"));v.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.JG.get("url"),target:"_blank"});this.C$=v.html();this.El&&this.El.set("content",this.C$)};a.prototype.XFa=function(){this.Pra(!0);this.set("visible", 3321!1);this.trigger(l.rE)};a.prototype.iGa=function(){this.Pra(!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.iKa=function(v){this.WJa(function(w){var x=[w];t.indexOf(w)&&x.push("EU");v(x)})};a.prototype.WJa=function(v){var w=e("tdvp_country_code");w?v(w):this.Fka||(this.Fka=!0,k.get("https://geoloc.3dvista.com",function(x){this.Fka=!1;x=x.country.toUpperCase();try{window.localStorage.setItem("tdvp_country_code", 3322x)}catch(y){}v(x)}.bind(this)))};var u="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.OKa=function(){var v=e(u);if("yes"==v)return!0;
3322if("no"==v)return!1};a.prototype.Pra=function(v){try{window.localStorage.setItem(u,v?"yes":"no")}catch(w){}};return a}); 3323define("mk",["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?l():Promise.resolve(x)).then(function(C){(window.webkitRequestFileSystem|| 3324window.requestFileSystem)(C?window.PERSISTENT:window.TEMPORARY,w,function(A){y(A)},function(A){console.log("Error getting file system access",A);z("error getting file system")})},function(C){console.log("error getting file system access",C);z("error getting file system")})})}function k(w,x){return w&&w.queryUsageAndQuota?new Promise(function(y,z){w.queryUsageAndQuota(function(C,A){console.log("UsedBytes:",C,"grantedBytes:",A,"freeBytesRequired:",x);var B=C+x;A>=B?y(B):w==navigator.webkitPersistentStorage|| 3325w==navigator.persistentStorage?(console.log("requestQuota:",B),w.requestQuota(B,function(){console.log("Granted bytes:",B);y(B)},function(I){console.log("Not granted bytes:",B,I);z("not enough free space granted")})):(console.log("Not enough temporary free space."),z("not enough free space granted"))},function(C){console.log("Query quota error:",C);C&&C.message&&(C=C.message);z("not enough free space granted: "+C)})}):Promise.reject("unknown free space")}function m(){return(navigator.storage&&navigator.storage.persist? 3326navigator.storage.persist():Promise.resolve(!1)).then(function(w){console.log("Persistence granted:",w);return w?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function l(){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)); 3327return w.split("/").filter(function(x){return""!=x})}function d(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 f(w).then(function(x){return Promise.all(x.map(function(y){return y.isDirectory?c(y):d(y)}))}).then(function(){return d(w).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function f(w){return new Promise(function(x,y){w.createReader().readEntries(function(z){x(z)}, 3328function(){y("can't list directory")})})}function g(w,x,y){return new Promise(function(z,C){w.getDirectory(x,y,function(A){z(A)},function(){C("can't get directory entry: "+x)})})}function p(w,x){return new Promise(function(y,z){g(w,x,{create:!1}).then(function(C){y(C)})["catch"](function(){g(w,x,{create:!0}).then(function(C){y(C)})["catch"](function(C){console.log("Can't create directory entry: "+x,C);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, 3329x.slice(1))})}function n(w,x){return 0==x.length?w:g(w,x[0]).then(function(y){return n(y,x.slice(1))})}function r(w,x,y){return new Promise(function(z,C){w.getFile(x,y,function(A){z(A)},function(){C("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"; 3330case ".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";
3330case ".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"; 3331case ".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{f_:function(){return l()},toURL:function(w,x){return a(w).then(function(y){y= 3332new window.URL(y);var z=x?"persistent":"temporary",C=y.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+y.origin+"/"+z+C})},SZa:function(w){return m().then(function(x){return k(x,w)}).then(function(x){return e(x)}).then(function(x){v=x})},HZa: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&&d(z)})},Lza:function(w, 3333x){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()})},iCa:function(w,x,y){var z=h(w),C=z[z.length-1],A=z.slice(0,-1);return b().then(function(B){return q(B.root,A)}).then(function(B){return r(B,C,{create:!1}).then(function(I){return Promise.resolve(I)},function(){return r(B,C,{create:!0})})}).then(function(B){return t(B)}).then(function(B){B.seek(B.length);return new Promise(function(I,E){B.onwriteend=function(){I()}; 3334B.onerror=function(G){console.log("Error writing file:",w,G);E("error writing file: "+w)};B.write(new Blob([x],{type:y||u(C)}))})})}}}); 3335define("cz",["require","mk","ms","v"],function(a){function e(c,f){this.Zr=c;this.ox=!1;this.Xn=null;this.Wu=f||function(){}}function k(c){return 1048576<=c.iE}var m=a("mk"),l=a("ms"),b=a("v").Of()?3:5;a={File:function(c,f){this.url=c;this.iE=f;this.lQ=this.UH=0}};var h=a.Files=function(c,f,g,p){this.Pia=this.IFa=c;this.Tr=f.slice();this.Eka=[];var q=0;this.Tr.sort(function(n,r){return n.iE-r.iE});this.Tr.forEach(function(n){q+=n.iE});this.Nsa=q;this.kB=[];this.eS=void 0;this.Cr=[];this.d3=!1;this.Vf= 3336g||function(){};this.JK=p||function(){}};h.prototype.Cs=function(){return this.GGa().then(function(){return this.HGa()}.bind(this))};h.prototype.GGa=function(){return self.caches["delete"](this.Pia)};h.prototype.HGa=function(){var c=(new window.URL(this.IFa)).pathname;return m.Lza(c,!1).then(function(){return m.Lza(c,!0)})};h.prototype.requestStorage=function(){return m.SZa(Math.round(1.1*this.Nsa+10485760)).then(function(){return m.f_()})};h.prototype.download=function(){this.d3=!1;this.eS=0;this.Cs().then(function(){this.FK()}.bind(this))["catch"](function(c){console.log("error cleaning storage", 3337c);m.f_().then(function(f){this.JK(!1,f)}.bind(this))}.bind(this))};h.prototype.cancelDownload=function(){this.d3=!0;this.Cr.forEach(function(c){c.cancel()});this.Cs()};h.prototype.FK=function(){if(!(this.d3||this.Cr.length>=b))if(0<this.Tr.length){if(1==b)var c=.5<Math.random()?this.Tr.shift():this.Tr.pop();else if(0==this.kB.filter(k).length)c=this.Tr.pop();else{if(k(this.Tr[0]))return;c=this.Tr.shift()}this.kB.push(c);var f=l.hz(c.url,"nc="+(new Date).getTime()),g=new e(f,function(q){c.UH=q.UH; 3338this.Bj()}.bind(this));this.Cr.push(g);g.fetch().then(function(q){return this.TRa(c.url,q)}.bind(this)).then(function(){this.lka(c,g,!0)}.bind(this))["catch"](function(q){console.log("download error",c.url,c.iE,c.UH,q);this.lka(c,g,!1)}.bind(this));this.FK()}else if(0==this.Cr.length){var p=5>=this.Eka.length;m.f_().then(function(q){this.JK(p,q)}.bind(this))}};h.prototype.lka=function(c,f,g){g?(this.kB.splice(this.kB.indexOf(c),1),this.Cr.splice(this.Cr.indexOf(f),1),this.eS+=c.iE,this.Bj(),this.FK()): 3339(c.UH=0,c.lQ+=1,this.Bj(),20<=c.lQ?(console.log("Error downloading file: "+c.url+" after "+c.lQ+" retries."),this.uma(c.url)?(this.Eka.push(c),this.Cr.splice(this.Cr.indexOf(f),1),this.FK()):(this.cancelDownload(),m.f_().then(function(p){this.JK(!1,p)}.bind(this)))):(console.log("Error downloading file: "+c.url+" attempt "+c.lQ+" of 20. Will retry in 2000ms."),setTimeout(function(){this.kB.splice(this.kB.indexOf(c),1);this.Cr.splice(this.Cr.indexOf(f),1);k(c)?this.Tr.push(c):this.Tr.splice(0,0,c); 3340this.FK()}.bind(this),2E3)))};h.prototype.TRa=function(c,f){return this.VRa(c,f).then(function(){if(this.jUa(c))return this.URa(c,f)}.bind(this))};h.prototype.URa=function(c,f){f=f.clone();return 200!=f.status?Promise.reject("response status: "+f.status):self.cac
3340hes.open(this.Pia).then(function(g){return g.put(c,f)})};h.prototype.VRa=function(c,f){f=f.clone();if(200!=f.status)return Promise.reject("response status: "+f.status);var g=(new window.URL(c)).pathname;return g.lastIndexOf("/")==g.length- 33411?Promise.resolve():new Promise(function(p,q){function n(){x.read().then(function(y){var z=y.value,C=[];if(z){for(;10485760<=z.length+w;){var A=z.slice(0,10485760-w);v.push(A);C.push(r(v));v=[];w=0;z=z.slice(A.length,z.length)}0<z.length&&(v.push(z),w+=z.length)}var B=y.done;w&&B&&C.push(r(v));t(C).then(function(){B?p():n()})["catch"](u)})["catch"](u)}function r(y){if(0==y.length)return new Uint8Array(0);var z=0;y.forEach(function(I){z+=I.length});for(var C=new Uint8Array(z),A=0,B=0;B<y.length;A+= 3342y[B].length,B++)C.set(y[B],A);return C}function t(y){if(0==y.length)return Promise.resolve();var z=y.shift();return m.iCa(g,z).then(function(){t(y)})}function u(y){console.log("Error writing response to file system:",y);m.HZa(g).then(function(){q("Error reading response body")})}var v=[],w=0,x=f.body.getReader();n()})};var d=".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.uma=function(c){c=(new window.URL(c)).pathname; 3343var f="."+c.split(".").pop().toLowerCase();return 0<=d.indexOf(f)&&0>c.indexOf("loading/")};h.prototype.jUa=function(c){var f=(new window.URL(c)).pathname;return 0<=f.indexOf("files/")||0<=f.indexOf("pdfjs/")?!0:this.uma(c)?!1:!0};h.prototype.Bj=function(){var c=this.eS;this.kB.forEach(function(f){c+=f.UH});this.Vf(100*c/this.Nsa)};e.prototype.fetch=function(){return fetch(this.Zr).then(function(c){if(this.ox)return c.body.getReader().cancel(),Promise.reject("cancel requested before server responded."); 3344if(!c.ok)return Promise.resolve(c);var f=c.headers.get("content-length"),g=void 0,p=0;null!==f&&(g=parseInt(f,10));this.Xn=c.body.getReader();var q=!1,n=function(u){this.ox?u.close():q=!0}.bind(this),r=function(u){return this.Xn.read().then(function(v){var w=v.value;w&&(p+=w.byteLength,u.enqueue(w));v.done&&(g=p,t(u));this.Wu({iE:g,UH: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.Xn=null)}.bind(this); 3345return 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.ox=!0;this.Xn&&this.Xn.cancel()};a.Cs=function(c){return(new h(c,[])).Cs()};return a}); 3346define("eV","require lx jquery.mod oR gp v cz mk mE ms ly dx".split(" "),function(a){function e(u){n=u}var k=a("lx"),m=a("jquery.mod"),l=a("oR"),b=a("gp"),h=a("v"),d=a("cz"),c=a("mk"),f=a("mE"),g=a("ms"),p=a("ly"),q=a("dx"),n=null;window.addEventListener("beforeinstallprompt",e);var r=k.extend(b,function(u){b.call(this);this.sc=u;this.A="initial";this.J9=this.SW=this.oj=null;this.Yp=!1;this.tB=null;this.UX=void 0;this.iB=n;this.lU=r.Dxa();this.a7=g.Yi("vr");this.iB||this.lU||(window.removeEventListener("beforeinstallprompt", 3347e),window.addEventListener("beforeinstallprompt",this.hNa.bind(this)));this.lU||window.addEventListener("appinstalled",this.cFa.bind(this))});r.prototype.xea=function(u){this.SW=u;this.nm=g.tw(this.SW.get(TDV.PlayerSettings.BASE_DIR_URL)||g.getDirectory(this.SW.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));"/"!=this.nm[this.nm.length-1]&&(this.nm+="/");this.oj=new t(this.nm);this.UX=this.xqa=u.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.BLa=g.parse(g.getDirectory(window.location.href)).pathname; 3348this.dJa=g.hz(g.tw("files.json",this.nm),this.xqa);u=TDV.ob.zwa();this.J9=g.hz(this.SW.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+u.MAJOR+"."+u.MINOR);this.oj=new t(this.nm);this.oj.bind(l.Z,this.mSa,this,!0);this.oj.load()};r.prototype.wI=function(){return this.oj.state==t.rJ};r.prototype.Wua=function(){return"can_install"==this.A&&!this.a7};r.prototype.Yua=function(){return this.wI()&&this.UX!=this.oj.version&&!this.a7};r.prototype.Vua=function(){return this.oj.state!=t.yfa&&!this.a7};r.prototype.hxa= 3349function(){"can_install"==this.A&&(this.iB?(this.iB.userChoice.then(function(u){"accepted"!=u.outcome&&this.Ac("unavailable")}.bind(this)),this.iB.prompt().then(function(){this.iB=null}.bind(this))):this.w4())};r.prototype.cancel=function(){"downloading"==this.A&&(this.tB&&(this.tB.cancelDownload(),this.tB=null),this.oj.Cs(),this.Ac("unavailable"))};r.prototype.Cs=function(){d.Cs(this.nm);this.oj.Cs()};r.prototype.mSa=function(){!0!==this.sc.get("downloadEnabled")?this.Ac("unavailable"):!0!==f.yCa? 3350this.Ac("unavailable"):h.browser()!=h.$l||h.ic()==h.et||h.ic()==h.oE?this.Ac("unavailable"):this.J9?"serviceWorker"
3350in navigator?this.wI()&&!this.Yua()?this.Ac("unavailable"):navigator.onLine?this.bPa():this.Ac("unavailable"):this.Ac("unavailable"):this.Ac("unavailable")};r.prototype.Ac=function(u){this.A!=u&&(this.A=u,u=0<=["can_install","unavailable"].indexOf(this.A),this.Yp!=u&&(this.Yp=u)&&this.trigger(l.Wc))};r.prototype.bPa=function(){this.Ac("registering_sw");navigator.serviceWorker.register(this.J9, 3351{scope:this.BLa}).then(function(){this.ora(!0)}.bind(this))["catch"](function(){this.ora(!1)}.bind(this))};r.prototype.ora=function(u){u?h.Of()?this.Ac("can_install"):this.lU&&this.oj.state==t.o0?(this.Ac("can_install"),this.w4()):this.iB?this.Ac("can_install"):(this.Ac("sw_registered"),setTimeout(function(){"sw_registered"==this.A&&this.Ac("can_install")}.bind(this),3E3)):this.Ac("unavailable")};r.prototype.hNa=function(u){this.iB=u;"sw_registered"==this.A&&this.Ac("can_install")};r.prototype.cFa= 3352function(){"sw_registered"==this.A&&this.Ac("can_install");this.w4()};r.prototype.w4=function(){this.Ac("downloading");this.trigger(l.Yq);this.dta(0);this.DMa()};r.prototype.DMa=function(){var u=g.hz(this.dJa,"nc="+(new Date).getTime());m.getJSON(u,function(v){if("downloading"==this.A){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 C=[];0<=w.indexOf("mobilevr2gen")&&(h.tZ()||h.uZ())?C.push("mobilevr2gen"):0<=w.indexOf("mobilevr")&& 3353h.Of()?C.push("mobilevr"):0<=w.indexOf("mobile")&&h.lb()?C.push("mobile"):0<=w.indexOf("desktop")&&!h.lb()&&C.push("desktop");w=[];
3353for(x in v)if(!(-1<x.indexOf(".DS_Store"))){if(y=v[x].tags){var A=!1;if(Array.isArray(y)){z=0;for(var B=y.length;z<B&&!A;z++)A=0<=C.indexOf(y[z])}else A=0<=C.indexOf(y);if(!A)continue}y=g.tw(x,this.nm);w.push(new d.File(y,v[x].size))}var I=(new window.URL(window.location.pathname,window.location.href)).toString();0==w.filter(function(E){return E.url==I}).length&&w.push(new d.File(I, 33541024));this.tB=new d.Files(this.nm,w,this.dta.bind(this),this.kka.bind(this));this.tB.requestStorage().then(function(E){this.oj.storage=E?t.FJ:t.E1;this.oj.state=t.o0;this.oj.version=this.UX;this.oj.save();this.tB.download()}.bind(this))["catch"](function(){this.kka(!1,void 0)}.bind(this))}}.bind(this))};r.prototype.dta=function(u){this.trigger(new p(l.ec,u))};r.prototype.kka=function(u,v){this.tB=null;this.Ac("unavailable");u&&(this.oj.state=t.rJ,this.oj.save());u?this.trigger(l.vb,{success:!0}): 3355v?this.trigger(l.vb,{success:!1,error:r.Bfa}):h.Of()?this.trigger(l.vb,{success:!1,error:r.Afa}):this.lU?this.trigger(l.vb,{success:!1,error:r.Bfa}):this.trigger(l.vb,{success:!1,error:r.Cfa})};r.Dxa=function(){return g.Qg("installed",!1)};r.wZa=function(u,v){var w=new r.d1(u);w.bind(l.Z,function(){var x=!1;w.state==r.d1.rJ&&(x=r.Dxa()?!0:!navigator.onLine);x?c.toURL(u,w.storage==r.d1.FJ).then(function(y){v(y)}):v(u)},this,!0);w.load()};r.Cfa="launchFromHomeScreen";r.Afa="addToBookmark";r.Bfa="errorDownloading"; 3356var t=k.extend(b,function(u){b.call(this);this.nm=u;this.R6="installation_state_"+u;this.vOa=g.parse(this.nm).pathname+"installation_state.json";this.state=this.storage=this.version=void 0;this.vra()});t.prototype.load=function(){if(this.EMa()&&this.state==t.rJ)this.Gsa(this.storage==t.FJ).then(function(){this.trigger(l.Z)}.bind(this))["catch"](function(){this.Gsa(this.storage!=t.FJ).then(function(){this.storage=this.storage==t.E1?t.FJ:t.E1;this.E9();this.trigger(l.Z)}.bind(this))["catch"](function(){this.state= 3357t.o0;this.E9();this.trigger(l.Z)}.bind(this))}.bind(this));else this.trigger(l.Z)};t.prototype.save=function(){this.E9();this.state==t.rJ&&this.JPa()};t.prototype.EMa=function(){var u=q.getItem(this.R6);if(!u)return!1;this.wJa(u);return!0};t.prototype.E9=function(){q.setItem(this.R6,this.Msa())};t.prototype.Gsa=function(u){return new Promise(function(v,w){c.toURL(this.nm+"installation_state.json",u).then(function(x){m.ajax({type:"GET",url:x,success:function(){v()},error:function(){w()}})}.bind(this))}.bind(this))}; 3358t.prototype.JPa=function(){c.iCa(this.vOa,this.Msa(),"text/json")};t.prototype.Msa=function(){var u={};u.version=this.version;u.storage=this.storage;u.state=this.state;return JSON.stringify(u)};t.prototype.wJa=function(u){this.vJa(JSON.parse(u))};t.prototype.vJa=function(u){this.version=u.version;this.storage=u.storage;this.state=u.state};t.prototype.Cs=function(){q.removeItem(this.R6);this.vra()};t.prototype.vra=function(){this.version="";this.storage=t.MDa;this.state=t.yfa};t.MDa="unkonwn";t.E1= 3359"temporary";t.FJ="persistent";t.yfa="not started";t.o0="started";t.rJ="completed";r.d1=t;return r}); 3360define("kL","require lx oR oP v eV fV ge mZ d om e gY".split(" "),function(a){function e(r){var t=new d;t.ka({label:r,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:f.fe});return t}var k=a("lx"),m=a("oR"),l=a("oP"),b=a("v"),h=a("eV"),d=a("fV"),c=a("ge"),f=a("mZ"),g=a("d"),p=a("om"),q=a("e"),n=a("gY");a=k.extend(p,function(r,t){p.call(this);this.sc=r;this.fg=t;this.fg.bind(m.Wc, 3361this.VLa,this,!0);this.fg.bind(m.Yq,this.SLa,this,!0);this.fg.bind(m.ec,this.ULa,this,!0);this.fg.bind(m.vb,this.TLa,this,!0);this.qa="hidden";this.JO=void 0;this.I8=!1;this.Vf=void 0;this.Hi=this.Vt=this.PA=this.TA=this.QA=this.aX=this.Ta=null;this.YEa();this.ka({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:f.fe,layout:g.Cg});this.kg()});a.prototype.VLa=function(){this.fg.Wua()||this.fg.wI()&&this.fg.Vua()?(this.qa="ready",this.I8&&this.nsa()): 3362this.qa="hidden";this.kg()};a.prototype.SLa=function(){this.qa="installing";this.kg()};a.prototype.ULa=function(r){this.Vf=r.Sg;this.kg()};a.prototype.TLa=function(r){this.qa=r.data.success?"installed":"failed";this.Bka=r.data.error;this.kg()};a.prototype.jf=function(){this.SRa()};a.prototype.jV=function(){this.I8||(this.I8=!0,"ready"==this.qa&&this.nsa())};a.prototype.nsa=function(){this.JO=setTimeout(function(){this.JO=null;this.jOa()}.bind(this),5E3);this.kg()};a.prototype.SRa=function(){this.Kqa(); 3363this.JO&&clearTimeout(this.JO);this.JO=null};a.prototype.jOa=function(){this.Kqa();"ready"==this.qa&&(this.qa="hidden",this.kg())};a.prototype.YEa=function(){this.bind(m.kc,this.jf,this);this.sc.bind(m.kc,this.jV,this);this.sc.bind(m.wb,this.jV,this)};a.prototype.Kqa=function(){this.unbind(m.kc,this.jf,this);this.sc.unbind(m.kc,this.jV,this);this.sc.unbind(m.wb,this.jV,this)};a.prototype.Db=function(){p.prototype.Db.call(this);null==this.Ta&&(this.Ta=new n,this.Ta.ka({fontColor:"#ffffff",fontWeight:"400", 3364fontFamily:"Arial, sans-serif",fontSize:14,text:l("download-tour")}),this.Wa(this.Ta));null==this.QA&&(this.QA=e(l("download")),this.Wa(this.QA),this.QA.bind(m.ra,this.bGa,this,!0));null==this.TA&&(this.TA=e(l("refresh-downloaded")),this.Wa(this.TA),this.TA.bind(m.ra,this.hGa,this,!0));null==this.PA&&(this.PA=e(l("delete-downloaded")),this.Wa(this.PA),this.PA.bind(m.ra,this.aGa,this,!0));null==this.aX&&(this.aX=new q,this.aX.ka({width:"100%"}),this.Wa(this.aX));null==this.Vt&&(this.Vt=new c,this.Vt.ka({backgroundColor:"#ffffff", 3365borderRadius:2,iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31}),this.Wa(this.Vt),this.Vt.bind(m.ra,this.$Fa,this,!0));null==this.Hi&&(this.Hi=e(l("cancel")),this.Wa(this.Hi),this.Hi.bind(m.ra,this.WR,this,!0));b.lb()&&this.Gl();this.kg()};a.prototype.ap=function(){p.prototype.ap.call(this);b.lb()&&this.getParent().bind(m.lc,this.Gl,this,!0)};a.prototype.Tm=function(){b.lb()&&this.getParent().unbind(m.lc,this.Gl,this,!0);p.prototype.Tm.call(this)};a.prototype.Gl= 3366function(){var r=this.getParent();if(r){var t=Math.min(r.Xa(),r.Ab())/100,u=function(v){return Math.round(v*t)};this.ka({gap:u(3.9),height:u(11.9),paddingLeft:u(6),paddingRight:u(6)});this.Ta&&this.Ta.ka({fontSize:u(3)});[this.QA,this.Hi,this.TA,this.PA].forEach(function(v){v&&v.ka({borderRadius:u(.4),fontSize:u(3),paddingLeft:u(3),paddingRight:u(3),height:u(6.7)})});this.Vt&&this.Vt.ka({borderRadius:u(.4),iconLineWidth:u(.22),iconWidth:u(3.7),iconHeight:u(3.7),height:u(6.7),width:u(6.7)})}};a.prototype.kg= 3367function(){switch(this.qa){case "ready":var r=this.fg.wI()?l("downloaded"):l("download-tour");break;case "installing":r=l("downloading");void 0!==this.Vf&&(r+="..."+this.Vf.toFixed(1)+"%");break;case "installed":r=l("downloaded");break;case "failed":r=this.Bka==h.Cfa?b.lb()?l("storage-not-provided-launch-from-homescreen"):l("storage-not-provided-launch-from-desktop"):this.Bka==h.Afa?l("storage-not-provided-bookmark"):l("download-failed")}this.Ta&&this.Ta.set("text",r);this.QA&&this.QA.set("visible", 3368"ready"==this.qa&&!this.fg.wI()&&this.fg.Wua());this.PA&&this.PA.set("visible","ready"==this.qa&&this.fg.wI()&&this.fg.Vua());this.TA&&this.TA.set("visible","ready"==this.qa&&this.fg.Yua());this.Hi&&this.Hi.set("visible","installing"==this.qa);this.Vt&&this.Vt.set("visible","installing"!=this.qa);
3368this.set("visible","hidden"!=this.qa)};a.prototype.bGa=function(){this.fg.hxa()};a.prototype.hGa=function(){this.fg.hxa()};a.prototype.aGa=function(){this.fg.Cs();this.qa="hidden";this.kg()};a.prototype.WR= 3369function(){this.fg.cancel();this.qa="hidden";this.kg()};a.prototype.$Fa=function(){"installing"==this.qa&&this.fg.cancel();this.qa="hidden";this.kg()};return a}); 3370define("nw","require lx ek oR oP v mZ d om nz nU fV gY iV".split(" "),function(a){function e(t,u){this.text=t;this.so=u}var k=a("lx"),m=a("ek"),l=a("oR"),b=a("oP"),h=a("v"),d=a("mZ"),c=a("d"),f=a("om"),g=a("nz"),p=a("nU"),q=a("fV"),n=a("gY"),r=a("iV");a=k.extend(f,function(){f.call(this);this.Cp=[];this.Hi=this.RA=this.Ta=this.DB=this.cH=this.vq=null;var t=new g;t.set("duration",500);t.set("easing","cubic_in");var u=new p;u.set("duration",500);u.set("easing","cubic_out");this.ka({backgroundColor:"#000000", 3371backgroundOpacity:.6,horizontalAlign:d.De,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:u,showEffect:t,visible:!1})});a.prototype.Db=function(){f.prototype.Db.call(this);null==this.vq&&(this.vq=new f,this.vq.ka({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:d.De,verticalAlign:d.fe,layout:c.wh,shadow:!0,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:.2}),this.Wa(this.vq));null==this.Ta&&(this.Ta=new n,this.Ta.ka({fontColor:"#808080",fontWeight:"300", 3372fontFamily:"Tahoma, Geneva, sans-serif"}),this.vq.Wa(this.Ta));null==this.DB&&(this.DB=new r,this.DB.ka({width:"80%"}),this.vq.Wa(this.DB));null==this.cH&&(this.cH=new f,this.cH.ka({backgroundColor:"#b3b3b3"}),this.vq.Wa(this.cH));null==this.Ii&&(this.Ii=new f,this.Ii.ka({horizontalAlign:d.De,verticalAlign:d.fe,layout:c.Cg}),this.vq.Wa(this.Ii));null==this.RA&&(this.RA=new q,this.RA.ka({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:d.De,verticalAlign:d.fe, 3373label:b("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"}),this.RA.bind(l.ra,this.Jia,this,!0),this.Ii.Wa(this.RA));null==this.Hi&&(this.Hi=new q,this.Hi.ka({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:d.De,verticalAlign:d.fe,label:b("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"}),this.Hi.bind(l.ra,this.WR,this,!0),this.Ii.Wa(this.Hi))};a.prototype.ap=function(){f.prototype.ap.call(this); 3374this.getParent().bind(l.lc,this.Gl,this,!0)};a.prototype.Tm=function(){this.getParent().unbind(l.lc,this.Gl,this,!0);f.prototype.Tm.call(this)};a.prototype.Gl=function(){var t=this.getParent();if(t){var u=t.Xa();t=t.Ab();if(h.lb()){var v=Math.min(u,t);u=function(w){return Math.round(w*v/100)}}else u=function(w){return Math.round(4*w)};this.vq&&this.vq.ka({borderRadius:u(1),width:u(80),height:u(40),gap:u(4),shadowBlurRadius:u(1),shadowSpread:u(1)});this.cH&&this.cH.ka({width:u(60),minHeight:2,height:u(.25)}); 3375this.Ii&&this.Ii.ka({gap:u(5)});this.Hi&&this.Hi.ka({borderRadius:u(1),width:u(20),height:u(10),fontSize:u(4.25)});this.RA&&this.RA.ka({borderRadius:u(1),width:u(20),height:u(10),fontSize:u(4.5)});this.Ta&&this.Ta.ka({fontSize:u(5)});this.KX()}};a.prototype.show=function(t,u){this.Gl();var v=this.Cla(u);0<=v&&this.Iqa(v);this.TOa(new e(t,u));this.TE()};a.prototype.hide=function(t){t=this.Cla(t);0<=t&&this.Iqa(t)};a.prototype.TE=function(){var t=this.getParent();t&&t.hn(this,t.Lb().length-1)};a.prototype.Jia= 3376function(){this.MR(!0)};a.prototype.WR=function(){this.MR(!1)};a.prototype.Cla=function(t){for(var u=0;u<this.Cp.length;u++)if(this.Cp[u].so==t)return u;return-1};a.prototype.KX=function(){if(this.vq){var t=this.Rla();t?(20>t.text.length?(this.DB.set("visible",!1),this.Ta.set("text",t.text),this.Ta.set("visible",!0)):(this.Ta.set("visible",!1),this.DB.set("html",this.jKa(t.text)),this.DB.set("visible",!0)),this.Hi.set("visible",t.so?!0:!1),this.set("visible",!0)):this.set("visible",!1)}};a.prototype.jKa= 3377function(t){return"<div style=\"color:#808080; font-weight:300; font-family:'Tahoma', 'Geneva', sans-serif; font-size: "+this.Ta.get("fontSize")+'px; text-align:center;" >'+t+"</div>"};a.prototype.MR=function(t){var u=this.Rla();u&&(u=this.xKa(u.text),this.oPa(u),m(u).each(function(v){v.so&&v.so.call(this,t)},this))};a.prototype.TOa=function(t){this.Cp.push(t);this.KX()};a.prototype.xKa=function(t){return m(this.Cp).filter(function(u){return u.text==t})};a.prototype.oPa=function(t){this.Cp=m(this.Cp).filter(function(u){return!m(t).contains(u)}); 3378this.KX()};a.prototype.Iqa=function(t){this.Cp.splice(t,1);t==this.Cp.length&&this.KX()};a.prototype.Rla=function(){return 0<this.Cp.length?this.Cp[this.Cp.length-1]:null};return a}); 3379define("jq","require lx oR cB gp v nj".split(" "),function(a){function e(F){return F.map(function(N){return String.fromCharCode(N)}).join("")}function k(F){for(;F&&F!=document;){if("Button"==F.getAttribute(r))return!0;F=F.parentNode}return!1}
3379var m=a("lx"),l=a("oR"),b=a("cB"),h=a("gp"),d=a("v"),c=a("nj"),f=[];a=e([99,111,110,116,101,120,116,109,101,110,117]);var g=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, 3380117,115,101,101,110,116,101,114]),r=e([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(F){if(!d.lb()||!k(F.target)){var N=d.zd()==d.Vfa?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))&&f.forEach(function(R){R(F)});t=u=v=w=void 0},N)}F.preventDefault();F.stopImmediatePropagation()},!0);var t,u,v,w;document.addEventListener("mousedown",function(F){v=t=F.screenX;w=u=F.screenY},!0);document.addEventListener("mousemove", 3381function(F){v=F.screenX;w=F.screenY},!0);var x=1;m=m.extend(h,function(F,N){h.call(this);this.hb=F;this.rKa=N;this.RU=this.RU.bind(this);this.Nd=this.Nd.bind(this);this.Q6=!1;this.N6=this.N6.bind(this);this.O6=this.O6.bind(this);this.M6=this.M6.bind(this);this.P6=this.P6.bind(this);this.oa=document.createElement("div");this.oa.style.setProperty("z-index",x,G[E]);for(var R in G[y])this.oa.style.setProperty(R,G[y][R],G[E]);f.push(this.RU)});m.prototype.clear=function(){this.yMa()&&this.c6();this.oa= 3382null;f.splice(f.indexOf(this.RU),1)};m.prototype.RU=function(F){var N=this.rKa();if(0!=N.length){this.oa.replaceChildren();this.Q6=!1;var R=0;N.forEach(function(S){var Q=document.createElement("div");if(S){Q.textContent=S;for(var W in G[C])Q.style.setProperty(W,G[C][W],G[E]);var H=R;R++;Q.addEventListener(n,function(L){this.N6(L,H)}.bind(this));Q.addEventListener(q,function(L){this.O6(L,H)}.bind(this));Q.addEventListener(g,function(L){this.M6(L,H)}.bind(this));Q.addEventListener(p,function(L){this.P6(L, 3383H)}.bind(this))}else for(W in G[A])Q.style.setProperty(W,G[A][W],G[E]);for(W in G[z])Q.style.setProperty(W,G[z][W],G[E]);this.oa.appendChild(Q)}.bind(this));(c.fullscreenElement()||document.body).appendChild(this.oa);this.oa.style.setProperty("display","block",G[E]);N=F.pageX;F=F.pageY;N+this.oa.clientWidth>document.body.clientWidth-5&&(N=document.body.clientWidth-this.oa.clientWidth-5);F+this.oa.clientHeight>document.body.clientHeight-5&&(F=document.body.clientHeight-this.oa.clientHeight-5);this.oa.style.setProperty("left", 3384N+"px",G[E]);this.oa.style.setProperty("top",F+"px",G[E]);this.hb.bind(l.wb,this.Nd,this);document.addEventListener("mousedown",this.Nd);this.AUa=setInterval(this.zUa.bind(this),200)}};m.prototype.yMa=function(){return!!this.oa&&!!this.oa.parentNode};m.prototype.c6=function(){clearInterval(this.AUa);this.oa.parentNode.removeChild(this.oa);document.removeEventListener("mousedown",this.Nd);this.hb.unbind(l.wb,this.Nd,this);this.oa.style.setProperty("display","none",G[E])};m.prototype.zUa=function(){this.oa.contains(document.elementFromPoint(this.oa.offsetLeft+ 3385.5*this.oa.clientWidth,this.oa.offsetTop+.5*this.oa.clientHeight))||this.oa.style.setProperty("z-index",x*=10,G[E])};m.prototype.Nd=function(){this.c6()};m.prototype.M6=function(F){this.Q6=!0;F.preventDefault();F.stopImmediatePropagation()};m.prototype.P6=function(F,N){this.Q6&&(this.c6(),F.preventDefault(),F.stopImmediatePropagation(),this.trigger(new b(l.Yo,{index:N})))};m.prototype.N6=function(F){for(var N in G[B])F.currentTarget.style.setProperty(N,G[B][N],G[E])};m.prototype.O6=function(F){for(var N in G[I])F.currentTarget.style.setProperty(N, 3386G[I][N],G[E])};var y="0",z="1",C="2",A="3",B="4",I="5",E="6",G=function(F){return JSON.parse(F.map(function(N){return String.fromCharCode(N)}).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, 3387114,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,
3387116,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, 338841,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, 338934,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, 339032,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}); 3391define("mw",["require","ms","bd","cf"],function(a){function e(b){this.hb=b;this.ks={};this.ks[m.ega]="move";this.ks[m.jDa]="ew-resize";this.ks[m.lDa]="ns-resize";this.ks[m.kDa]="nesw-resize";this.ks[m.mDa]="nwse-resize";this.ks[m.Ee]="pointer";this.ks[m.pt]="inherit";this.ks[m.te]="default";this.ah={};this.ah[m.Lw]="grab.cur";this.ah[m.th]="grabbing.cur";this.ah[m.oga]="N.cur";this.ah[m.pga]="NE.cur";this.ah[m.fga]="E.cur";this.ah[m.sga]="SE.cur";this.ah[m.rga]="S.cur";this.ah[m.tga]="SW.cur";this.ah[m.uga]= 3392"W.cur";this.ah[m.qga]="NW.cur";this.ah[m.hga]="FN.cur";this.ah[m.iga]="FNE.cur";this.ah[m.gga]="FE.cur";this.ah[m.lga]="FSE.cur";this.ah[m.kga]="FS.cur";this.ah[m.mga]="FSW.cur";this.ah[m.nga]="FW.cur";this.ah[m.jga]="FNW.cur";this.E2={};this.E2[m.yA]=l.yA;this.Oia={}}var k=a("ms"),m=a("bd"),l=a("cf");e.prototype.Sva=function(b){return this.sMa(b)?this.Ola(b):this.hMa(b)?this.XJa(b):this.cMa(b)?this.FJa(b):this.Ola(m.te)};e.prototype.oGa=function(b){if(!(b in this.Oia)){var h=new Image;h.src=this.hla(b); 3393this.Oia[b]=h}};e.prototype.sMa=function(b){return b in this.ks};e.prototype.Ola=function(b){return this.ks[b]};e.prototype.hMa=function(b){return this.ah[b]};e.prototype.XJa=function(b){this.oGa(b);return"url("+this.hla(b)+"), default"};e.prototype.hla=function(b){return k.tw(this.hb.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.ah[b]};e.prototype.cMa=function(b){return b in this.E2};e.prototype.FJa=function(b){return"url("+this.E2[b]+"), auto"};return e}); 3394define("cv",["require","ek"],function(a){function e(){this.ev={};this.Wp=[];this.rK=0}var k=a("ek");e.prototype.push=function(m,l){void 0==this.ev[l]?(this.ev[l]=[m],this.Wp.push(l),this.Wp.sort(function(b,h){return b-h}),this.rK++):(l=this.ev[l],k(l).contains(m)||(l.push(m),this.rK++))};e.prototype.Uva=function(){return this.rK};e.prototype.isEmpty=function(){return 0==this.Wp.length};e.prototype.vza=function(){if(!this.isEmpty()){var m=this.Wp[0],l=this.ev[m].pop();0==this.ev[m].length&&(delete this.ev[m], 3395this.Wp=this.Wp.slice(1));this.rK--;return l}};e.prototype.yda=function(){if(!this.isEmpty()){var m=this.Wp[this.Wp.length-1],l=this.ev[m].pop();0==this.ev[m].length&&(delete this.ev[m],this.Wp=this.Wp.slice(0,this.Wp.length-1));this.rK--;return l}};return e}); 3396define("hg","require ek lx gH cv bh lA".split(" "),function(a){function e(){this.Hy=!1;this.Wpa=void 0;this.W=!0;this.sV=this.sV.bind(this);this.oS=new m;this.dW=new m;this.YW=new m;this.mU=new m;this.q4=new m;l.requestFrame(this.vj,this)}a("ek");a("lx");var k=a("gH"),m=a("cv"),l=a("bh"),b=a("lA");e.prototype.clear=function(){this.W=!1};e.prototype.JP=function(h){this.oS.push(h,this.HF(h));this.mv()};e.prototype.ke=function(h){this.dW.push(h,this.HF(h));this.mv()};e.prototype.Vb=function(h){this.YW.push(h, 3397this.HF(h));this.mv()};e.prototype.Gd=function(h){this.mU.push(h,this.HF(h));this.mv()};e.prototype.Nk=function(h){this.q4.push(h,this.HF(h));this.mv()};e.prototype.fa=function(){this.kTa();this.aUa();this.mTa()};e.prototype.kTa=function(){do{for(;!this.oS.isEmpty();)this.oS.yda().Db();this.dW.isEmpty()||this.dW.yda().Va()}while(!this.dW.isEmpty()||!this.oS.isEmpty())};e.prototype.aUa=function(){for(;!this.YW.isEmpty()||!this.mU.isEmpty();)this.PX(),this.paa()};e.prototype.PX=function(){for(;!this.YW.isEmpty();){var h= 3398this.YW.yda();if(h.e2a()){var d=h.getParent();
3398d?(d.Vb(),d.Gd()):h.mAa(0,0,h.Ns(),h.Ms())}}};e.prototype.paa=function(){for(;!this.mU.isEmpty();)this.mU.vza().Xl()};e.prototype.mTa=function(){for(;!this.q4.isEmpty();)this.q4.vza().Ug();k.process()};e.prototype.mv=function(){this.Hy||(this.Hy=!0,this.Wpa=(new Date).getTime()+500,b.Ez(this.sV))};e.prototype.sV=function(){this.Hy=!1;this.W&&this.fa()};e.prototype.HF=function(h){return(h=h.getParent())?this.HF(h)+1:0};e.prototype.vj=function(){this.Hy&& 3399(new Date).getTime()>=this.Wpa&&this.sV();l.requestFrame(this.vj,this)};return e}); 3400define("hE","require jquery.mod ek lx oR om jq mw bl hg nj v".split(" "),function(a){var e=a("jquery.mod"),k=a("ek"),m=a("lx"),l=a("oR"),b=a("om"),h=a("jq"),d=a("mw"),c=a("bl"),f=a("hg"),g=a("nj"),p=a("v");a=m.extend(b,function(q,n){this.ME=new f;b.call(this);this.es(this);this.Ae("Application");this.vf=e(q);this.Raa=n;this.vf.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", 3401visibility:"visible","-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)"});this.vv=e(document.createElement("div"));this.vv.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.vf.append(this.vv);this.vv.append(this.Bc());this.Bsa=this.vv.get(0);this.Bd=this.sd=void 0;this.ZLa=10;this.AGa=500;this.pN=null;this.b4=new d(this);this.Ob=new c(this);this.oa.append(this.Ob.Bc());this.zS=new h(this,this.dla.bind(this));this.zS.bind(l.Yo,this.lh(this.Tna),this, 3402!0);this.lna=!0;this.set("contentOpaque",!0);this.eB=null;this.lK=[];this.tF(["globalmousemove"]);this.JFa();this.$X=this.aY=0;this.Dy=1;try{this.aY=window.top.innerWidth,this.$X=window.top.innerHeight,this.V5=!0}catch(r){this.V5=!1}this.Vta();this.Oi=new g(q);this.Oi.bind(l.va,function(){this.g5(this.Oi.enabled())},this)});a.prototype.start=function(){this.osa||(this.osa=!0,this.trigger(l.sn))};a.prototype.Vta=function(){this.V5&&!g.enabled()&&(this.aY=window.top.innerWidth,this.$X=window.top.innerHeight)}; 3403a.prototype.clear=function(){this.UD(null);this.zsa();this.TIa();this.ME.clear();this.vf&&(this.Bc().remove(),this.vv.remove(),this.vf=null);this.b4=null;this.Oi.bfa();this.Oi=null;this.zS&&(this.zS.clear(),this.zS=null)};a.prototype.f0a=function(q){this.lna=q};a.prototype.g5=function(q){q?this.ura():this.LGa()};a.prototype.Ku=function(){this.NL=this.ll=this.vv.width();this.ML=this.kl=this.vv.height()};a.prototype.UD=function(q){if(this.eB!=q){null!=this.eB&&this.eB.ISa();this.eB=q;for(var n=[];null!= 3404q;)n=[q].concat(n),q=q.getParent();q=this.lK.length-1;for(var r=!0;0<=q&&r;q--)k(n).contains(this.lK[q])?r=!1:this.lK.pop().LSa();for(q=0;q<n.length;q++)k(this.lK).contains(n[q])||n[q].MSa();this.lK=n;null!=this.eB&&this.eB.HSa();this.Ob.UD(this.eB)}};a.prototype.nLa=function(q){var n=this.KF(q);this.yma(q,n.x,n.y)?q.preventDefault():this.UD(null)};a.prototype.Ula=function(q){var n=this.AB(q);this.yma(q,n.x,n.y)?q.preventDefault():this.UD(null)};a.prototype.dla=function(){return[]};a.prototype.Tna= 3405function(){};a.prototype.yma=function(q,n,r){return this.iMa(q.target)&&0<=n&&0<=r&&n<this.ja&&r<this.wa};a.prototype.iMa=function(q){if(!this.vf)return!1;for(var n=this.vf.get(0);q;){if(q===n)return!0;q=q.parentElement}return!1};a.prototype.JFa=function(){this.tF(["globalresize"]);this.e3=setInterval(k.bind(function(){this.cja()},this),this.AGa)};a.prototype.TIa=function(){this.AK(["globalresize"]);this.e3&&(clearInterval(this.e3),this.e3=null)};a.prototype.cja=function(){this.Oi.enabled()?this.ura(): 3406this.Vta();var q=this.Bsa.clientWidth,n=this.Bsa.clientHeight;if(this.sd!=q||this.Bd!=n)this.sd=q,this.Bd=n,this.IRa()};a.prototype.ura=function(){if(this.V5&&(p.zd()==p.Rz&&p.browser()==p.$l||p.zd()==p.Fi)){var q=g.fullscreenElement();var n=q.clientWidth;q=q.clientHeight;p.zd()!=p.Rz||window.screen.availWidth!=n&&window.screen.availHeight!=q||(n=window.screen.availWidth,q=window.screen.availHeight);var r=(n>q?n:q)/(this.aY>this.$X?this.aY:this.$X),t=Math.round(n/r),u=Math.round(q/r);this.Dy=r;n= 3407{left:Math.round(.5*(n-t))+"px",top:Math.round(.5*(q-u))+"px",right:"auto",bottom:"auto",width:t+"px",height:u+"px",transform:"scale("+[r,r].join(", ")+")",position:"absolute"}}else n={position:"absolute",left:0,top:0,right:"auto",bottom:"auto",width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"},this.Dy=1;this.vv.css(n)};a.prototype.LGa=function(){this.vv.css({position:"abolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",transform:""});this.Dy=1};a.prototype.IRa= 3408function(){this.zsa();var q=this;this.pN=setTimeout(function(){q.pN=null;q.Vb()},this.ZLa)};a.prototype.zsa=function(){this.pN&&(this.pN=null,clearTimeout(this.pN))};a.prototype.mLa=function(){this.cja()};a.prototype.r5=function(){return k(b.prototype.r5.call(this)).defaults({globaltouchmove:[{target:e(document),name:"touchmove",handler:this.lh(this.nLa)}],globalmousemove:[{target:e(document),name:"mousemove",handler:this.lh(this.Ula)},{target:e(window),name:"mouseout",handler:this.lh(this.Ula)}], 3409globalresize:[{target:e(window),name:"resize",handler:this.lh(this.mLa)}]})};return a}); 3410define("gF","require jquery.mod po cf nj oR gp oP v".split(" "),function(a){function e(){n=TDV.ob.Fq();var v=q||n;p!=v&&(p=v,g.trigger(h.va));v=!!q&&n!=q&&f.lb();r!=v&&(t||(t=k("<div/>"),t.css({position:"fixed","z-index":m.RCa,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="'+ 3411l.CJ+'"/>','<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()?k(b.fullscreenElement()):k("body")).append(t));r&&u.css("transform",p==g.BDa?"translate(-11%, 0) rotate(-90deg)":"none")}var k=a("jquery.mod"),m=a("po"),l=a("cf"),b=a("nj"),h=a("oR"),d=a("gp"),c=a("oP"),f=a("v"),g=new d;g.I2a=TDV.ob.j1; 3412g.BDa=TDV.ob.l1;g.YD=function(v){q!=v&&(q=v,e())};g.gwa=function(){return q};g.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 g}); 3413define("iN","require lx ek oR cB cH nH nf oP jP H kL nw dV mh nI lQ v hP eV cy jA ms kt eh hE om dh nj bF gF me dx".split(" "),function(a){var e=a("lx"),k=a("ek"),m=a("oR"),l=a("cB"),b=a("cH"),h=a("nH"),d=a("nf"),c=a("oP"),f=a("jP"),g=a("H"),p=a("kL"),q=a("nw"),n=a("dV");a("mh");var r=a("nI"),t=a("lQ"),u=a("v"),v=a("hP"),w=a("eV"),x=a("cy"),y=a("jA"),z=a("ms"),C=a("kt"),A=a("eh"),B=a("hE"),I=a("om"),E=a("dh"),G=a("nj"),F=a("bF"),N=a("gF"),R=a("me"),S=a("dx"),Q=h.define("Player",B,function(){B.apply(this, 3414arguments);this.fg=new w(this);this.jka=new p(this,this.fg);this.ur=new I;this.ur.ka({backgroundOpacity:0,visible:!0,width:"100%",height:"100%"});this.eG=new q;this.CH=new n;this.CS=new g(this);var L=new E;L.z_(0);this.vQ(L);this.tf(!0);this.bind(m.G("settings"),this.YNa,this,!0);this.UX=TDV.ob.zwa();N.bind(m.va,this.INa,this,!0);F.Q1a();this.eGa=new f(this,"buttonMute",A.Fe);this.eGa.bind(m.ra,this.Loa,this,!0);this.mGa=new f(this,"buttonUnmute",A.Fe);this.mGa.bind(m.ra,this.zpa,this,!0);this.bS= 3415new f(this,"buttonToggleMute",A.Uj);this.bS.bind(m.Sj,this.Loa,this,!0);this.bS.bind(m.fm,this.zpa,this,!0);this.bind(m.G("mute"),this.FNa,this);this.bS.set("pressed",this.get("mute"));this.cGa=new f(this,"buttonEnterFullscreen",A.Fe);this.cGa.bind(m.ra,this.Zna,this,!0);this.dGa=new f(this,"buttonExitFullscreen",A.Fe);this.dGa.bind(m.ra,this.$na,this,!0);this.ZR=new f(this,"buttonToggleFullscreen",A.Uj);this.ZR.bind(m.Sj,this.Zna,this,!0);this.ZR.bind(m.fm,this.$na,this,!0);this.ZR.set("pressed", 3416this.get("fullscreenEnabled"));this.bind(m.G("fullscreenEnabled"),this.pNa,this,!0);this.set("fullscreenEnabled",this.Oi.enabled());this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(m.sn,this.aOa,this,!0);
3416[m.wb,m.Zb,m.cr,m.Kw,m.tE].forEach(function(T){this.bind(T,function(O){this.trigger(new l(m.AA,{cJ:O}))},this,!0)}.bind(this));["keydown","keyup"].forEach(function(T){document.addEventListener(T,function(O){this.trigger(new l(m.AA,{cJ:O}))}.bind(this))}.bind(this));C.ba.bind(m.va, 3417function(){C.isPresenting?N.YD():N.YD(B.prototype.get.call(this,"lockedOrientation"))},this);this.Oi.bind(m.va,function(){var T=N.gwa();N.YD();N.YD(T)},this)});Q.HCa="orientationChange";Q.prototype.logCapabilities=function(){this.LMa()};Q.prototype.activateAudio=function(L){this.xEa(L)};Q.prototype.g5=function(L){B.prototype.g5.apply(this,arguments);this.set("fullscreenEnabled",L)};Q.prototype.pb=function(){B.prototype.pb.call(this);this.h("mute",!1);this.h("fullscreenEnabled",!1)};Q.prototype.Db= 3418function(){B.prototype.Db.call(this);this.jka.getParent()!=this&&this.Wa(this.jka);this.ur.getParent()!=this&&(this.Wa(this.ur),this.ur.Wa(this.CS),this.ur.Wa(this.eG),this.ur.Wa(this.CH))};Q.prototype.IPa=function(L){var T=[];this.eG&&T.push(this.eG);this.CH&&T.push(this.CH);this.CS&&T.push(this.CS);for(var O=!0,V=0;V<=T.length&&O;V++)O=L.indexOf(T[V]),O=L.length-(T.length-V)==O;return O?L:L.filter(function(Y){return 0>T.indexOf(Y)}).concat(T)};Q.prototype.Va=function(){this.wqa||(this.wqa=k.difference(this.QKa(), 3419"backgroundOpacity visible includeInLayout state left right top bottom centerX centerY width height minWidth minHeight maxWidth maxHeight actualWidth actualHeight paddingLeft paddingTop paddingRight paddingBottom".split(" ")));this.mc(this.wqa,{},[this.ur],!0,!0);B.prototype.Va.call(this);!0===this.x3a&&this.w3a()};Q.prototype.set=function(L,T){switch(L){case "children":this.ur.set(L,this.IPa(T));return;case "creationPolicy":this.ur.set(L,T);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrAvailable":T= 3420this.get(L);break;case "fullscreenEnabled":T=this.Oi.Dj()&&T;break;case "fullscreenFallback":G.cea(T);break;case "lockedOrientation":u.Of()&&(T=void 0);N.YD(T);break;case "installAvailable":T=this.fg.ready();break;case "mouseWheelEnabled":this.f0a(z.Qg("mousewheelenabled",T));break;case "backgroundPreloadEnabled":this.XPa(T);break;case "vrPolyfillScale":C.i_=T;break;case "desktopMipmappingEnabled":r.u_a(T);break;case "mobileMipmappingEnabled":r.d0a(T);break;case "defaultVRPointer":"gaze"==T?C.VAa(C.Iga.sE): 3421C.VAa(C.Iga.vJ)}B.prototype.set.call(this,L,T)};Q.prototype.get=function(L,T){switch(L){case "children":case "creationPolicy":return this.ur.get(L,T);case "touchEnabled":return this.Jn;case "touchDevice":return u.Xea();case "isMobile":return u.lb();case "orientation":return N.get();case "lockedOrientation":return N.gwa();case "gyroscopeAvailable":return v.Dj;case "cardboardAvailable":case "vrAvailable":return C.jE;case "fullscreenAvailable":return this.Oi.Dj();case "vrPolyfillScale":return C.i_;case "installAvailable":return this.fg.ready(); 3422case "surfaceSelectionAvailable":return!0;case "pageScale":return this.Dy;case H:return this.Raa?B.prototype.get.apply(this,arguments):!0;default:return B.prototype.get.apply(this,arguments)}};Q.prototype.Loa=function(){this.set("mute",!0)};Q.prototype.zpa=function(){this.set("mute",!1)};Q.prototype.FNa=function(){this.bS.set("pressed",this.get("mute"))};Q.prototype.Zna=function(){this.set("fullscreenEnabled",!0)};Q.prototype.$na=function(){this.set("fullscreenEnabled",!1)};Q.prototype.pNa=function(){this.get("fullscreenEnabled")? 3423this.Oi.FY():this.Oi.Aq();this.ZR.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",this.Oi.enabled())};Q.prototype.YNa=function(){var L=this.get("settings");L&&(x.initialize(L),y.xea(L),THREE.pfa=L.get(TDV.PlayerSettings.qfa),THREE.zCa=L.get(TDV.PlayerSettings.zfa),THREE.vR=L.get(TDV.PlayerSettings.vR),this.fg.xea(L))};Q.prototype.XPa=function(L){y.enabled(L)};Q.prototype.dla=function(){var L=[];this.dF=[];(this.get("menu")||[]).forEach(function(V){var Y=V.get("label");L.push(V.get("label")); 3424Y&&this.dF.push(function(){V.trigger("click")})}.bind(this));var T=this.get("defaultMenu",[]);if(0<=T.indexOf("rotation")){var O=this.Fj("PanoramaPlayer");O.length&&(L.push(O[0].get("mouseControlMode")==b.Yz?c("change-to-drag-and-release"):c("change-to-click-and-move")),this.dF.push(this.rSa.bind(this)))}0<=T.indexOf("fullscreen")&&this.Oi.Dj()&&(L.push(this.Oi.enabled()?c("exit-fullscreen"):c("enter-fullscreen")),this.dF.push(this.pSa.bind(this)));0<=T.indexOf("mute")&&(L.push(this.get("mute")?c("unmute"): 3425c("mute")),this.dF.push(this.qSa.bind(this)));T=[].concat(d.name?[d.name]:[],"false"!=d.OVa?d.SP?["v:"+d.SP+"."+d.UP]:["v:"+d.UP]:[]).join(" ");""!=T&&(0<L.length&&L.push(""),L.push(T),this.dF.push(this.mOa.bind(this)));return L};Q.prototype.Tna=function(L){this.dF[L.data.index]()};Q.prototype.rSa=function(){var L=this.Fj("PanoramaPlayer"),T=L[0].get("mouseControlMode")==b.Yz?b.it:b.Yz;
3425L.forEach(function(O){S.setItem(W,T);O.set("mouseControlMode",T)})};Q.prototype.aOa=function(){S.getItem(W)==b.it&& 3426this.Fj("PanoramaPlayer").forEach(function(L){L.set("mouseControlMode",b.it)});z.Yi("mute")&&this.set("mute",z.Qg("mute",this.get("mute")));z.Yi("vr")&&C.GY()};Q.prototype.pSa=function(){this.Oi.toggle()};Q.prototype.qSa=function(){this.set("mute",!this.get("mute"))};Q.prototype.mOa=function(){d.hCa&&window.open(d.hCa,"_blank")};Q.prototype.INa=function(){this.trigger(Q.HCa)};Q.prototype.LMa=function(){e.WVa(!0);e.log("UA: "+navigator.userAgent);e.log("screen: ("+Math.max(window.screen.width,window.screen.height)+ 3427", "+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();C.log()};Q.prototype.xEa=function(L){F.active()?R.wait(L):(F.nfa(L),F.request(this))};var W="tdvp_"+window.location.pathname+"_rotation_mode",H=[119,97,116,101,114,109,97,114,107].map(function(L){return String.fromCharCode(L)}).join(""); 3428return Q});define("nv",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("PlayerMenuItem",e,function(){e.call(this)})}); 3429define("T","require lx lZ oR kX nH kw".split(" "),function(a){a("lx");var e=a("lZ"),k=a("oR"),m=a("kX"),l=a("nH"),b=a("kw");a=l.define("PopupPanoramaOverlay",e,function(){e.call(this);this.set("state",m.T);this.bind(k.G("state"),function(){this.trigger(k.ne)},this,!0);this.ed=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.X)};a.prototype.pause=function(){this.set("state",m.CE)};a.prototype.stop= 3430function(){this.set("state",m.T)};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,d){switch(h){case "playbackPositions":return void 0===this.ed&&(this.ed=b.WWa(this)),this.ed}return e.prototype.get.call(this,h,d)};a.prototype.set=function(h,d){var c=!1;switch(h){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.ed= 3431void 0,c=!0}e.prototype.set.call(this,h,d);c&&"playbackPositions"!=h&&this.trigger(k.G("playbackPositions"))};return a});define("oS",["require","A","nH"],function(a){var e=a("A");return a("nH").define("ProgressBar",e,function(){e.call(this)})}); 3432define("gA",["require","lZ","oR","nH","kw"],function(a){var e=a("lZ"),k=a("oR"),m=a("nH"),l=a("kw");a=m.define("QuadFramePanoramaOverlay",e,function(){e.call(this);this.ed=void 0});a.prototype.set=function(b,h){var d=!1;switch(b){case "vertices":case "playbackPositions":this.ed=void 0,d=!0}e.prototype.set.call(this,b,h);d&&"playbackPositions"!=b&&this.trigger(k.G("playbackPositions"))};a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.ed&&(this.ed=l.pca(this)), 3433this.ed}return e.prototype.get.call(this,b,h)};return a});define("bH",["require","nH","cQ"],function(a){var e=a("nH"),k=a("cQ");return e.define("QuadHotspotPanoramaOverlay",k,function(){k.call(this)})});define("iW",["require","nH","u"],function(a){var e=a("nH"),k=a("u");return e.define("QuadHotspotPanoramaOverlayArea",k,function(){k.apply(this,arguments)})}); 3434define("ba",["require","lZ","oR","nH","kw"],function(a){var e=a("lZ"),k=a("oR"),m=a("nH"),l=a("kw");a=m.define("QuadHotspotPanoramaOverlayImageBase",e,function(){e.call(this);this.ed=void 0});a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.ed&&(this.ed=l.pca(this)),this.ed}return e.prototype.get.call(this,b,h)};a.prototype.set=function(b,h){var d=!1;switch(b){case "opacity":case "distance":case "vertices":case "playbackPositions":this.ed=void 0,d=!0}e.prototype.set.call(this, 3435b,h);d&&"playbackPositions"!=b&&this.trigger(k.G("playbackPositions"))};return a});define("fz",["require","nH","ba"],function(a){var e=a("nH"),k=a("ba");return e.define("QuadHotspotPanoramaOverlayImage",k,function(){k.call(this)})});define("kx",["require","nH","ba"],function(a){var e=a("nH"),k=a("ba");return e.define("QuadHotspotPanoramaOverlayMap",k,function(){k.call(this)})}); 3436define("eX","require lZ oR kX cB nH kw".split(" "),function(a){var e=a("lZ"),k=a("oR"),m=a("kX"),l=a("cB"),b=a("nH"),h=a("kw");a=b.define("QuadVideoPanoramaOverlay",e,function(){e.call(this);this.ed=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",m.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",m.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",m.T)};a.prototype.set=function(d,c){var f=!1;switch(d){case "state":var g=this.get("state")|| 3437m.T;g==m.T&&c==m.X&&this.trigger(k.sn);g!=c&&this.trigger(new l(k.ne,{oldState:g,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.ed=void 0,f=!0}e.prototype.set.call(this,d,c);f&&"playbackPositions"!=d&&this.trigger(k.G("playbackPositions"))};a.prototype.get=function(d,c){switch(d){case "playbackPositions":return void 0===this.ed&&(this.ed=h.pca(this)),this.ed}return e.prototype.get.call(this,d, 3438c)};return a});define("mJ",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("RainPanoramaOverlay",e,function(){e.call(this)});a.prototype.get=function(k,m){"startState"==k&&void 0===m&&(m=this.get("initialState"));return e.prototype.get.call(this,k,m)};return a});define("fn",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("RotationalCameraMovement",e,function(){e.call(this)})}); 3439define("cn",["require","nx","nH"],function(a){var e=a("nx");return a("nH").define("SlideInEffect",e,function(){e.call(this)})});define("ix",["require","hJ","nH"],function(a){var e=a("hJ");return a("nH").define("SlideOutEffect",e,function(){e.call(this)})}); 3440define("nX",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("SnowPanoramaOverlay",e,function(){e.call(this)});a.prototype.get=function(k,m){"startState"==k&&void 0===m&&(m=this.get("initialState"));return e.prototype.get.call(this,k,m)};return a}); 3441define("ml",["require","nH","lF"],function(a){var e=a("nH"),k=a("lF");a=e.define("SphericPanoramaFrame",k,function(){k.call(this)});a.prototype.Ml=function(){var m=this.get("sphere");return m&&e.Oa("Video360Resource",m)?!0:(m=this.get("stereoSphere"))&&e.Oa("Video360Resource",m)?!0:!1};return a});define("fB",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("SphereModel3DObject",k,function(){k.call(this)})}); 3442define("oy",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("SpriteModel3DObject",k,function(){k.call(this)})});define("bu",["require","nH","iJ"],function(a){var e=a("nH"),k=a("iJ");return e.define("SurfaceReticleModel3DObject",k,function(){k.call(this);this.set("transparentAreaActive",!0)})}); 3443define("cR","require ek lx y om mZ W gY".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("y"),l=a("om"),b=a("mZ"),h=a("W"),d=a("gY"),c=k.extend(l,function(f){l.call(this);this.Ae("Tab");this.q8=f;this.El="";this.B$=!1;this.Gma=this.Ta=null;this.Waa=this.Vaa=!1;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0)});c.prototype.pb=function(){l.prototype.pb.call(this);this.h("horizontalAlign",b.De);this.h("verticalAlign",b.fe);this.h("fontFamily");this.h("fontSize");this.h("fontColor"); 3444this.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.WAa=function(f){this.Vaa!=f&&(this.Vaa=f,this.Waa=!0,this.ke())};c.prototype.Db=function(){l.prototype.Db.call(this);null==this.Ta&&(this.Ta=new d,this.Ta.set("horizontalAlign","center"),this.Wa(this.Ta))};c.prototype.ap=function(){l.prototype.ap.call(this);this.Gma=
3445m.$s(this.q8,"label",this.pG,this);this.Sra(this.q8.get("label"))};c.prototype.t9=function(){l.prototype.t9.call(this);this.Gma.Mz()};c.prototype.pG=function(){var f=this.q8.get("label");this.Sra(f?f:"")};c.prototype.Sra=function(f){this.El!=f&&(this.El=f,this.B$=!0,this.ke())};c.prototype.Va=function(){this.B$&&(this.B$=!1,this.Ta.set("text",this.El));this.Waa&&(this.Waa=!1,this.Ta.set("direction",this.Vaa?h.wh:h.Cg));this.mc(c.Dha,c.JE,[this.Ta],!0,!0);l.prototype.Va.call(this)};c.Dha="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "); 3446c.JE={};e(c.Dha).each(function(f){c.JE[f]=f});return c});define("ff",["require"],function(){return{yJ:"normal",wE:"inverse",sfa:"center"}}); 3447define("db","require ek lx bi bd oR om mZ d hR cR ff iy".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("bi"),l=a("bd"),b=a("oR"),h=a("om"),d=a("mZ"),c=a("d"),f=a("hR"),g=a("cR"),p=a("ff"),q=a("iy");a=k.extend(h,function(){h.call(this);this.Ae("TabPanel");this.mf=-1;this.JC=!1;this.aO=[];this.pX=!1;this.Rr=[];this.s8=!1;this.$N=[];this.Lg=this.jh=null;this.LC(!1)});a.prototype.pb=function(){h.prototype.pb.call(this);this.h("pages",[]);this.h("selectedIndex",-1);this.h("tabsSize",25);this.h("tabsPosition", 3448q.vc);this.h("tabsGap",0);this.h("tabsPadding",10);this.h("tabsAlign",p.yJ);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"); 3449this.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"); 3450this.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"); 3451this.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.Lg&&(this.Lg=new h,this.Lg.LC(!1),this.Wa(this.Lg));null==this.jh&&(this.jh=new h,this.jh.LC(!1),this.Wa(this.jh))};a.prototype.set=function(n,r){"pages"==n?this.l0a(r||[]):"selectedIndex"== 3452n?this.wea(r):"layout"==n&&(r=c.x2a);h.prototype.set.call(this,n,r)};a.prototype.get=function(n,r){return"pages"==n?this.Rr:"selectedIndex"==n?this.mf:h.prototype.get.call(this,n,r)};a.prototype.wea=function(n){this.mf!=n&&(this.mf=n,this.mf=Math.min(Math.max(this.mf,-1),this.Rr.length),this.JC=!0,this.ke(),this.trigger(b.va),this.trigger(b.G("selectedIndex")))};a.prototype.l0a=function(n){e.isEqual(this.Rr,n)||(this.Rr=n,this.s8=!0,this.ke())};a.prototype.dSa=function(n){this.aO=e(this.aO).union([n.source]); 3453this.pX=!0;this.ke()};a.prototype.cSa=function(n){this.aO=e(this.aO).difference([n.source]);this.pX=!0;this.ke()};a.prototype.bSa=function(n){this.wea(e(this.$N).indexOf(n.source))};a.prototype.Va=function(){var n=!1,r=!1,t=!1,u=!1,v=!1,w=this.B("tabsPosition"),x=this.B("tabsAlign");this.s8&&(this.$N=[],this.jh.Gza(),this.Lg.Gza(),e(this.Rr).forEach(function(A){var B=new g(A);B.LC(!0);B.bind(b.Xc,e.bind(this.dSa,this));B.bind(b.ac,e.bind(this.cSa,this));B.bind(b.wb,e.bind(this.bSa,this));this.$N.push(B); 3454this.jh.Wa(B);A.ka({top:void 0,left:void 0,right:void 0,bottom:void 0,width:"100%",height:"100%"});this.Lg.Wa(A)},this),this.mf=Math.min(Math.max(this.mf,0),this.Rr.length-1),this.s8=!1,r=n=v=!0);this.I("tabsPosition")&&(this.P("tabsPosition"),u=r=n=!0);this.JC&&(this.JC=!1,t=r=v=!0);this.pX&&(this.pX=!1,t=!0);this.I("overflow")&&this.jh.ka({contentOpaque:this.B("overflow")==f.Xo,overflow:this.B("overflow")});
3454e(["tabsAlign","tabsGap","tabsSize"]).forEach(function(A){this.I(A)&&(this.P(A),n=!0)},this); 3455e("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(A){this.I(A)&& 3456(this.P(A),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(A){this.I(A)&& 3457(this.P(A),r=!0)},this);e(["pagePaddingLeft","pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(A){this.I(A)&&(this.P(A),u=!0)},this);this.I("backgroundColorDirection")&&this.P("backgroundColorDirection");if(n){switch(w){case q.Ya:this.jh.ka({left:0,right:void 0});break;case q.rb:this.jh.ka({left:void 0,right:0});break;case q.vc:this.jh.ka({bottom:void 0,top:0});break;case q.oc:this.jh.ka({bottom:0,top:void 0})}switch(w){case q.Ya:case q.rb:this.jh.ka({layout:c.wh,top:0,bottom:0, 3458height:void 0,width:this.B("tabsSize")});switch(x){case p.wE:this.jh.set("verticalAlign",d.oc);break;case p.sfa:this.jh.set("verticalAlign",d.fe);break;default:this.jh.set("verticalAlign",d.vc)}break;case q.vc:case q.oc:switch(this.jh.ka({layout:c.Cg,left:0,right:0,height:this.B("tabsSize"),width:void 0}),x){case p.wE:this.jh.set("horizontalAlign",d.rb);break;case p.sfa:this.jh.set("horizontalAlign",d.De);break;default:this.jh.set("horizontalAlign",d.Ya)}}this.jh.set("gap",this.B("tabsGap"))}if(r)for(var y= 34590;y<this.Rr.length;y++){var z=this.$N[y];w==q.oc||w==q.vc?(z.ka({layout:c.Cg,width:void 0,paddingLeft:this.B("tabsPadding"),paddingTop:0,paddingRight:this.B("tabsPadding"),paddingBottom:0,height:"100%",backgroundColorDirection:m.J1}),z.WAa(!1)):(z.ka({layout:c.wh,width:"100%",paddingLeft:0,paddingTop:this.B("tabsPadding"),paddingRight:0,paddingBottom:this.B("tabsPadding"),height:void 0,backgroundColorDirection:m.e1}),z.WAa(!0));w==q.oc||w==q.rb?z.set("borderTopLeftRadius",0):z.set("borderTopLeftRadius", 3460this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));w==q.oc||w==q.Ya?z.set("borderTopRightRadius",0):z.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==q.vc||w==q.rb?z.set("borderBottomLeftRadius",0):z.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==q.vc||w==q.Ya?z.set("borderBottomRightRadius",0):z.set("borderBottomRightRadius", 3461this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));w==q.rb&&z.set("borderSize",this.B("borderRightSize","borderSize"));w==q.Ya&&z.set("borderSize",this.B("borderLeftSize","borderSize"));w==q.vc&&z.set("borderSize",this.B("borderTopSize","borderSize"));w==q.oc&&z.set("borderSize",this.B("borderBottomSize","borderSize"));switch(w){case q.Ya:var C=this.B("borderLeftColor","borderColor");break;case q.rb:C=this.B("borderRightColor","borderColor");break;case q.oc:C= 3462this.B("borderBottomColor","borderColor");break;default:case q.vc:C=this.B("borderTopColor","borderColor")}z.set("borderColor",C);z.ka({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.Rr.length;y++)z=this.$N[y],t=y==this.mf,C=e(this.aO).contains(z),
3463t?(C=this.B("selectedTabBackgroundColor","tabsBackgroundColor"),e(C).isUndefined()&&(C=this.B("backgroundColor"),C=e(C).isArray()&&0<C.length?w==q.Ya||w==q.vc?C[0]:C[C.length-1]:C),z.ka({backgroundOpacity:this.B("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:C,backgroundColorRatios:this.B("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:l.te,fontSize:this.B("selectedTabFontSize","tabsFontSize"),fontColor:this.B("selectedTabFontColor", 3464"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", 3465"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("selectedTabTextShadowOpacity","tabsTextShadowOpacity")})):C?z.ka({backgroundOpacity:this.B("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.B("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:l.Ee,fontSize:this.B("tabsRollOverFontSize","tabsFontSize"),fontColor:this.B("tabsRollOverFontColor","tabsFontColor"), 3466fontWeight: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", 3467"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsRollOverTextShadowOpacity","tabsTextShadowOpacity")}):z.ka({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"), 3468textShadowHorizontalLength:this.B("tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsTextShadowOpacity")}),z.ka({borderLeftSize:w==q.rb&&t?0:void 0,borderRightSize:w==q.Ya&&t?0:void 0,borderBottomSize:w==q.vc&&t?0:void 0,borderTopSize:w==q.oc&&t?0:void 0});if(u){y=this.B("tabsSize");switch(w){case q.Ya:this.Lg.ka({left:y-(this.B("borderLeftSize","borderSize")||0),right:0, 3469top:0,bottom:0});break;case q.rb:this.Lg.ka({left:0,right:y-(this.B("borderRightSize","borderSize")||0),top:0,bottom:0});break;case q.vc:this.Lg.ka({left:0,right:0,top:y-(this.B("borderTopSize","borderSize")||0),bottom:0});break;case q.oc:this.Lg.ka({left:0,right:0,top:0,bottom:y-(this.B("borderBottomSize","borderSize")||0)})}w==q.vc&&x==p.yJ||w==q.Ya&&x==p.yJ?this.Lg.set("borderTopLeftRadius",0):this.Lg.set("borderTopLeftRadius",this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius")); 3470w==q.vc&&x==p.wE||w==q.rb&&x==p.yJ?this.Lg.set("borderTopRightRadius",0):this.Lg.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==q.oc&&x==p.yJ||w==q.Ya&&x==p.wE?this.Lg.set("borderBottomLeftRadius",0):this.Lg.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==q.oc&&x==p.wE||w==q.rb&&x==p.wE?this.Lg.set("borderBottomRightRadius",0):this.Lg.set("borderBottomRightRadius", 3471this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));this.Lg.ka({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", 3472"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"), 3473backgroundColorRatios:this.B("backgroundColorRatios")});w==q.vc||w==q.oc?this.Lg.set("backgroundColorDirection",m.J1):this.Lg.set("backgroundColorDirection",m.e1)}if(v)for(y=0;y<this.Rr.length;y++)this.Rr[y].set("visible",y==this.mf);h.prototype.Va.call(this)};return a});define("oc",["require","db","nH"],function(a){var e=a("db");return a("nH").define("TabPanel",e,function(){e.call(this)})}); 3474define("fX",["require","lx","om"],function(a){var e=a("lx"),k=a("om");a=e.extend(k,function(){k.call(this);this.Ae("Page");this.set("label","")});a.prototype.pb=function(){k.prototype.pb.call(this);this.h("visible")};return a});define("gX",["require","fX","nH"],function(a){var e=a("fX");return a("nH").define("TabPanelPage",e,function(){e.call(this)})});define("gD",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("TargetPanoramaCameraMovement",e,function(){e.call(this)})}); 3475define("dr",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("TargetRotationalCameraDisplayMovement",e,function(){e.call(this)})});define("hZ",["require","mi","nH"],function(a){var e=a("mi");return a("nH").define("TiledImageResourceLevel",e,function(){e.call(this)})});define("mU",["require","nH","ii"],function(a){var e=a("nH"),k=a("ii");return e.define("TripodCapPanoramaOverlay",k,function(){k.call(this)})}); 3476define("im","require lx y oR mZ cS bd d iy mm gR om mF gY ek".split(" "),function(a){var e=a("lx"),k=a("y"),m=a("oR"),l=a("mZ"),b=a("cS"),h=a("bd"),d=a("d"),c=a("iy"),f=a("mm"),g=a("gR"),p=a("om"),q=a("mF"),n=a("gY"),r=a("ek"),t=e.extend(p,function(){p.call(this);this.Ta=this.Me=null;this.XA=[];this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.pA);this.set("cursor",h.Ee)});t.prototype.pb=function(){p.prototype.pb.call(this); 3477this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.e4);this.h("sourceProperties");this.h("labelFunction",this.c4);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"); 3478this.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"); 3479this.h("thumbnailShadowOpacity");
3479this.u("rollOverBackgroundOpacity",g.U,"backgroundOpacity");this.u("rollOverBackgroundColor",g.U,"backgroundColor");this.u("rollOverBackgroundColorRatios",g.U,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",g.U,"backgroundColorDirection");this.u("rollOverBorderRadius",g.U,"borderRadius");this.u("rollOverBorderTopRadius",g.U,"borderTopRadius");this.u("rollOverBorderBottomRadius",g.U,"borderBottomRadius");this.u("rollOverBorderLeftRadius",g.U,"borderLeftRadius"); 3480this.u("rollOverBorderRightRadius",g.U,"borderRightRadius");this.u("rollOverBorderTopLeftRadius",g.U,"borderTopLeftRadius");this.u("rollOverBorderTopRightRadius",g.U,"borderTopRightRadius");this.u("rollOverBorderBottomLeftRadius",g.U,"borderBottomLeftRadius");this.u("rollOverBorderBottomRightRadius",g.U,"borderBottomRightRadius");this.u("rollOverBorderSize",g.U,"borderSize");this.u("rollOverBorderLeftSize",g.U,"borderLeftSize");this.u("rollOverBorderTopSize",g.U,"borderTopSize");this.u("rollOverBorderRightSize", 3481g.U,"borderRightSize");this.u("rollOverBorderBottomSize",g.U,"borderBottomSize");this.u("rollOverBorderColor",g.U,"borderColor");this.u("rollOverBorderLeftColor",g.U,"borderLeftColor");this.u("rollOverBorderTopColor",g.U,"borderTopColor");this.u("rollOverBorderRightColor",g.U,"borderRightColor");this.u("rollOverBorderBottomColor",g.U,"borderBottomColor");this.u("rollOverLabelFontColor",g.U,"labelFontColor");this.u("rollOverLabelFontSize",g.U,"labelFontSize");this.u("rollOverLabelFontStyle",g.U,"labelFontStyle"); 3482this.u("rollOverLabelFontWeight",g.U,"labelFontWeight");this.u("rollOverLabelTextDecoration",g.U,"labelTextDecoration");this.u("rollOverLabelTextShadowColor",g.U,"labelTextShadowColor");this.u("rollOverLabelTextShadowHorizontalLength",g.U,"labelTextShadowHorizontalLength");this.u("rollOverLabelTextShadowVerticalLength",g.U,"labelTextShadowVerticalLength");this.u("rollOverLabelTextShadowBlurRadius",g.U,"labelTextShadowBlurRadius");this.u("rollOverLabelTextShadowOpacity",g.U,"labelTextShadowOpacity"); 3483this.u("rollOverOpacity",g.U,"opacity");this.u("rollOverPaddingLeft",g.U,"paddingLeft");this.u("rollOverPaddingTop",g.U,"paddingTop");this.u("rollOverPaddingRight",g.U,"paddingRight");this.u("rollOverPaddingBottom",g.U,"paddingBottom");this.u("rollOverShadow",g.U,"shadow");this.u("rollOverThumbnailOpacity",g.U,"thumbnailOpacity");this.u("rollOverThumbnailBorderSize",g.U,"thumbnailBorderSize");this.u("rollOverThumbnailBorderColor",g.U,"thumbnailBorderColor");this.u("rollOverThumbnailShadow",g.U,"thumbnailShadow"); 3484this.u("rollOverThumbnailShadowHorizontalLength",g.U,"thumbnailShadowHorizontalLength");this.u("rollOverThumbnailShadowVerticalLength",g.U,"thumbnailShadowVerticalLength");this.u("rollOverThumbnailShadowBlurRadius",g.U,"thumbnailShadowBlurRadius");this.u("rollOverThumbnailShadowSpread",g.U,"thumbnailShadowSpread");this.u("rollOverThumbnailShadowColor",g.U,"thumbnailShadowColor");this.u("rollOverThumbnailShadowOpacity",g.U,"thumbnailShadowOpacity");this.u("selectedBackgroundOpacity",g.da,"backgroundOpacity"); 3485this.u("selectedBackgroundColor",g.da,"backgroundColor");this.u("selectedBackgroundColorRatios",g.da,"backgroundColorRatios");this.u("selectedBackgroundColorDirection",g.da,"backgroundColorDirection");this.u("selectedBorderRadius",g.da,"borderRadius");this.u("selectedBorderTopRadius",g.da,"borderTopRadius");this.u("selectedBorderBottomRadius",g.da,"borderBottomRadius");this.u("selectedBorderLeftRadius",g.da,"borderLeftRadius");this.u("selectedBorderRightRadius",g.da,"borderRightRadius");this.u("selectedBorderTopLeftRadius", 3486g.da,"borderTopLeftRadius");this.u("selectedBorderTopRightRadius",g.da,"borderTopRightRadius");this.u("selectedBorderBottomLeftRadius",g.da,"borderBottomLeftRadius");this.u("selectedBorderBottomRightRadius",g.da,"borderBottomRightRadius");this.u("selectedBorderSize",g.da,"borderSize");this.u("selectedBorderLeftSize",g.da,"borderLeftSize");this.u("selectedBorderTopSize",g.da,"borderTopSize");this.u("selectedBorderRightSize",g.da,"borderRightSize");this.u("selectedBorderBottomSize",g.da,"borderBottomSize"); 3487this.u("selectedBorderColor",g.da,"borderColor");this.u("selectedBorderLeftColor",g.da,"borderLeftColor");this.u("selectedBorderTopColor",g.da,"borderTopColor");this.u("selectedBorderRightColor",g.da,"borderRightColor");this.u("selectedBorderBottomColor",g.da,"borderBottomColor");this.u("selectedLabelFontColor",g.da,"labelFontColor");this.u("selectedLabelFontSize",g.da,"labelFontSize");this.u("selectedLabelFontStyle",g.da,"labelFontStyle");this.u("selectedLabelFontWeight",g.da,"labelFontWeight"); 3488this.u("selectedLabelTextDecoration",g.da,"labelTextDecoration");this.u("selectedLabelTextShadowColor",g.da,"labelTextShadowColor");this.u("selectedLabelTextShadowHorizontalLength",g.da,"labelTextShadowHorizontalLength");this.u("selectedLabelTextShadowVerticalLength",g.da,"labelTextShadowVerticalLength");this.u("selectedLabelTextShadowBlurRadius",g.da,"labelTextShadowBlurRadius");this.u("selectedLabelTextShadowOpacity",g.da,"labelTextShadowOpacity");this.u("selectedOpacity",g.da,"opacity");this.u("selectedPaddingLeft", 3489g.da,"paddingLeft");this.u("selectedPaddingTop",g.da,"paddingTop");this.u("selectedPaddingRight",g.da,"paddingRight");this.u("selectedPaddingBottom",g.da,"paddingBottom");this.u("selectedShadow",g.da,"shadow");this.u("selectedThumbnailOpacity",g.da,"thumbnailOpacity");this.u("selectedThumbnailBorderSize",g.da,"thumbnailBorderSize");this.u("selectedThumbnailBorderColor",g.da,"thumbnailBorderColor");this.u("selectedThumbnailShadow",g.da,"thumbnailShadow");this.u("selectedThumbnailShadowHorizontalLength", 3490g.da,"thumbnailShadowHorizontalLength");this.u("selectedThumbnailShadowVerticalLength",g.da,"thumbnailShadowVerticalLength");this.u("selectedThumbnailShadowBlurRadius",g.da,"thumbnailShadowBlurRadius");this.u("selectedThumbnailShadowSpread",g.da,"thumbnailShadowSpread");this.u("selectedThumbnailShadowColor",g.da,"thumbnailShadowColor");this.u("selectedThumbnailShadowOpacity",g.da,"thumbnailShadowOpacity")};t.prototype.EQ=function(u){this.FN(u)};t.prototype.Db=function(){p.prototype.Db.call(this); 3491this.Me||(this.Me=new q,this.Wa(this.Me),this.Me.set("horizontalAlign",l.De),this.Me.set("verticalAlign",l.fe),this.Me.bind(m.Z,this.F$,this));this.Ta||(this.Ta=new n,this.Wa(this.Ta))};t.prototype.e4=function(u){if(r(u).isString())return u;if(u&&u.Vea)return u.Vea};t.prototype.c4=function(u){if(u&&u.label)return u.label};t.prototype.Va=function(){if(this.I("sourceProperties")||this.I("item")){for(;this.XA.length;)this.XA.pop().Mz();var u=this.B("sourceProperties"),v=this.B("item");u&&v&&u.forEach(function(x){this.XA.push(k.$s(v, 3492x,this.c8,this,!0))}.bind(this))}if(this.I("sourceProperties")||this.I("item")||this.I("tooltipFunction"))v=this.B("item"),u=this.B("tooltipFunction")(v),this.set("toolTip",u);if(this.I("sourceProperties")||this.I("item")||this.I("thumbnailUrlFunction"))v=this.B("item"),(u=this.B("thumbnailUrlFunction")(v))?this.Me.get("url")!=u&&this.Me.ka({url:u,visible:!0,opacity:.5}):this.Me.ka({url:void 0,visible:!1}),this.P("thumbnailUrlFunction");if(this.I("sourceProperties")||this.I("item")||this.I("labelFunction"))v= 3493this.B("item"),u=this.B("labelFunction")(v),this.Ta.ka({text:u,visible:u?!0:!1}),this.P("labelFunction");this.P("item");this.P("sourceProperties");if(this.I("labelPosition")||this.I("listLayout")||this.I("thumbnailWidth")||this.I("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.rb:this.set("layout",d.Cg);this.Ta.set("width","100%");this.Me.ka({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode", 3494f.Rj)});break;default:this.set("layout",d.wh),this.Ta.set("width","100%"),this.Me.ka({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth","100%"),scaleMode:u("thumbnailScaleMode",f.Rj)})}switch(this.B("labelPosition")){case c.Ya:case c.vc:this.hn(this.Ta,0);break;default:this.hn(this.Ta,1)}this.P("labelPosition")}this.mc(t.U1,t.Cha,[this],!0,!0);this.mc(t.W1,t.Fha,[this.Me],!0,!0);this.mc(t.V1,t.Eha,[this.Ta],!0,!0);p.prototype.Va.call(this)};t.prototype.c8=function(){this.NC("item")};t.prototype.KC= 3495function(u){p.prototype.KC.call(this,u)};t.prototype.F$=function(){this.Me.set("opacity",1)};t.Cha={labelGap:"gap"};t.U1=r(t.Cha).keys();t.Eha={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelHorizontalAlign:"horizontalAlign",labelMaxWidth:"maxWidth",labelTextDecoration:"textDecoration",labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength", 3496labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity"};t.V1=r(t.Eha).keys();t.Fha={thumbnailMaxWidth:"maxWidth",thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread", 3497thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};t.W1=r(t.Fha).keys();return t}); 3498define("bU","require lx cB mZ oR cS d hR iy om im ek".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("mZ"),l=a("oR");a("cS");var b=a("d"),h=a("hR"),d=a("iy"),c=a("om"),f=a("im");a=a("ek");var g=e.extend(c,function(){c.call(this);this.set("contentOpaque",!0)});g.prototype.pb=function(){c.prototype.pb.call(this);this.h("layout",b.Mw);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",h.Xo);this.h("itemHorizontalAlign",m.De);this.h("itemLabelFontFamily");this.h("itemLabelPosition",d.oc); 3499this.h("itemLabelFunction");this.h("itemLabelMaxWidth");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",m.De);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.fe);
3499this.h("itemBackgroundOpacity");this.h("itemBackgroundColor"); 3500this.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"); 3501this.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"); 3502this.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");
3503this.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"); 3504this.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"); 3505this.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"); 3506this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");
3506this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection"); 3507this.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"); 3508this.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"); 3509this.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"); 3510this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};g.prototype.tL=function(p){this.oo=!0;this.set("selectedIndex",this.y5(p.source))};g.prototype.y5=function(p){for(var q=this.Lb(),n=0;n<q.length;n++)if(q[n]==p)return n;return-1};g.prototype.Va=function(){this.I("layout")&&this.B("layout")!=b.Mw&&this.set("layout",b.Mw); 3511var p=!1;if(this.I("items")){p=!0;var q=this.B("items")||[],n=this.Lb();if(n.length<q.length){for(var r=n.length;r<q.length;r++)n=new f,n.bind(l.ra,this.tL,this),this.mc(g.MJ,g.DA,[n],!1,!1),this.mc(g.NJ,g.EA,[n],!1,!1),this.Wa(n);n=this.Lb()}if(n.length>q.length){for(r=q.length;r<n.length;r++){var t=n[r];t.unbind(l.ra,this.tL,this);this.removeChild(t)}n=this.Lb()}for(r=0;r<q.length;r++)n[r].set("item",q[r]);this.P("items")}if(this.I("selectedIndex")||p){q=this.Lb();p=Math.min(q.length-1,Math.max(-1, 3512this.B("selectedIndex")));this.set("selectedIndex",p);for(r=0;r<q.length;r++)q[r].EQ(r==p);this.P("selectedIndex");this.oo&&(this.oo=!1,this.trigger(new k(l.va)))}this.mc(g.MJ,g.DA,this.Lb(),!0,!1);this.mc(g.NJ,g.EA,this.Lb(),!0,!0);c.prototype.Va.call(this)};g.DA={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};g.EA= 3513{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", 3514itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroun
3514dOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius", 3515itemBorderRightRadius:"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", 3516itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius", 3517itemLabelTextShadowOpacity:"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", 3518itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroun
3518dOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",rollOverItemBorderRadius:"rollOverBorderRadius", 3519rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",rollOverItemBorderSize:"rollOverBorderSize", 3520rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",rollOverItemLabelFontColor:"rollOverLabelFontColor", 3521rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius", 3522rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor", 3523rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",selectedItemBackgroun
3523dOpacity:"selectedBackgroundOpacity", 3524selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius", 3525selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",selectedItemBorderColor:"selectedBorderColor", 3526selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor", 3527selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom", 3528selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius", 3529selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime",toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize", 3530toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",toolTipShadowOpacity:"toolTipShadowOpacity",toolTipShadowSpread:"toolTipShadowSpread", 3531toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};g.MJ=a(g.DA).keys();g.NJ=a(g.EA).keys();return g}); 3532define("kl","require oR bU nH jP eh bR".split(" "),function(a){var e=a("oR"),k=a("bU"),m=a("nH"),l=a("jP"),b=a("eh"),h=a("bR");
3532a=m.define("ThumbnailGrid",k,function(){k.call(this);this.pd=null;this.set("itemMode","normal");this.tp=!1;this.dK=new l(this,"buttonScrollDown",b.Fe);this.dK.bind(e.ra,this.Zza,this);this.eK=new l(this,"buttonScrollLeft",b.Fe);this.eK.bind(e.ra,this.scrollLeft,this);this.fK=new l(this,"buttonScrollRight",b.Fe);this.fK.bind(e.ra,this.$za,this);this.gK=new l(this,"buttonScrollUp", 3533b.Fe);this.gK.bind(e.ra,this.aAa,this);this.bind(e.va,this.cOa,this)});a.prototype.Xl=function(){k.prototype.Xl.call(this);this.$C()};a.prototype.Fv=function(){k.prototype.Fv.call(this);this.$C()};a.prototype.$C=function(){this.dK.set("visible",!this.tp||this.hS());this.gK.set("visible",!this.tp||this.kS());this.eK.set("visible",!this.tp||this.iS());this.fK.set("visible",!this.tp||this.jS())};a.prototype.set=function(d,c){if("itemMode"==d)switch(c){case "thumbnail-only":this.set("itemLabelFunction", 3534this.Eu);this.set("itemThumbnailUrlFunction",this.vL);this.set("itemTooltipFunction",this.PB);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.PB);this.set("itemThumbnailUrlFunction",this.Eu);this.set("itemTooltipFunction",this.Eu);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.PB),this.set("itemThumbnailUrlFunction",this.vL), 3535this.set("itemTooltipFunction",this.Eu),this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==d?(this.pd&&this.pd.unbind("change",this.Uu,this),(this.pd=c)?(this.set("items",this.pd.get("items")),this.set("selectedIndex",this.pd.get("selectedIndex")),this.pd.bind("change",this.Uu,this,!0)):this.set("items",[])):"hideScrollButtons"==d?(this.tp=c,this.$C()):k.prototype.set.call(this,d,c)};a.prototype.get=function(d,c){switch(d){case "playList":return this.pd; 3536default:return k.prototype.get.call(this,d,c)}};a.prototype.Uu=function(){this.set("items",this.pd.get("items"));this.set("selectedIndex",this.pd.get("selectedIndex"))};a.prototype.cOa=function(){this.pd&&this.pd.set("selectedIndex",this.get("selectedIndex"))};a.prototype.Eu=function(){};a.prototype.PB=function(d){return d.get("label")||d.get("media").get("label")};a.prototype.vL=function(d){d=d.get("media");var c=d.get("thumbnailUrl");d.get("flipImageHorizontally")&&(c=h.wua(c));return c};return a}); 3537define("kG","require lx y oR mZ cS bd d iy mm gR om mF gY ek".split(" "),function(a){var e=a("lx"),k=a("y"),m=a("oR"),l=a("mZ"),b=a("cS"),h=a("bd"),d=a("d"),c=a("iy"),f=a("mm"),g=a("gR"),p=a("om"),q=a("mF"),n=a("gY"),r=a("ek"),t=e.extend(p,function(){p.call(this);this.Ta=this.Me=null;this.XA=[];this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.pA);this.set("cursor",h.Ee)});t.prototype.pb=function(){p.prototype.pb.call(this); 3538this.h("listLayout");this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.e4);this.h("sourceProperties");this.h("labelFunction",this.c4);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"); 3539this.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"); 3540this.h("thumbnailShadowOpacity");this.u("rollOverBackgroundOpacity",g.U,"backgroundOpacity");this.u("rollOverBackgroundColor",g.U,"backgroundColor");
3540this.u("rollOverBackgroundColorRatios",g.U,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",g.U,"backgroundColorDirection");this.u("rollOverBorderRadius",g.U,"borderRadius");this.u("rollOverBorderTopRadius",g.U,"borderTopRadius");this.u("rollOverBorderBottomRadius",g.U,"borderBottomRadius");this.u("rollOverBorderLeftRadius",g.U,"borderLeftRadius"); 3541this.u("rollOverBorderRightRadius",g.U,"borderRightRadius");this.u("rollOverBorderTopLeftRadius",g.U,"borderTopLeftRadius");this.u("rollOverBorderTopRightRadius",g.U,"borderTopRightRadius");this.u("rollOverBorderBottomLeftRadius",g.U,"borderBottomLeftRadius");this.u("rollOverBorderBottomRightRadius",g.U,"borderBottomRightRadius");this.u("rollOverBorderSize",g.U,"borderSize");this.u("rollOverBorderLeftSize",g.U,"borderLeftSize");this.u("rollOverBorderTopSize",g.U,"borderTopSize");this.u("rollOverBorderRightSize", 3542g.U,"borderRightSize");this.u("rollOverBorderBottomSize",g.U,"borderBottomSize");this.u("rollOverBorderColor",g.U,"borderColor");this.u("rollOverBorderLeftColor",g.U,"borderLeftColor");this.u("rollOverBorderTopColor",g.U,"borderTopColor");this.u("rollOverBorderRightColor",g.U,"borderRightColor");this.u("rollOverBorderBottomColor",g.U,"borderBottomColor");this.u("rollOverLabelFontColor",g.U,"labelFontColor");this.u("rollOverLabelFontSize",g.U,"labelFontSize");this.u("rollOverLabelFontStyle",g.U,"labelFontStyle"); 3543this.u("rollOverLabelFontWeight",g.U,"labelFontWeight");this.u("rollOverLabelTextDecoration",g.U,"labelTextDecoration");this.u("rollOverLabelTextShadowColor",g.U,"labelTextShadowColor");this.u("rollOverLabelTextShadowHorizontalLength",g.U,"labelTextShadowHorizontalLength");this.u("rollOverLabelTextShadowVerticalLength",g.U,"labelTextShadowVerticalLength");this.u("rollOverLabelTextShadowBlurRadius",g.U,"labelTextShadowBlurRadius");this.u("rollOverLabelTextShadowOpacity",g.U,"labelTextShadowOpacity"); 3544this.u("rollOverOpacity",g.U,"opacity");this.u("rollOverPaddingLeft",g.U,"paddingLeft");this.u("rollOverPaddingTop",g.U,"paddingTop");this.u("rollOverPaddingRight",g.U,"paddingRight");this.u("rollOverPaddingBottom",g.U,"paddingBottom");this.u("rollOverShadow",g.U,"shadow");this.u("rollOverThumbnailOpacity",g.U,"thumbnailOpacity");this.u("rollOverThumbnailBorderSize",g.U,"thumbnailBorderSize");this.u("rollOverThumbnailBorderColor",g.U,"thumbnailBorderColor");this.u("rollOverThumbnailShadow",g.U,"thumbnailShadow"); 3545this.u("rollOverThumbnailShadowHorizontalLength",g.U,"thumbnailShadowHorizontalLength");this.u("rollOverThumbnailShadowVerticalLength",g.U,"thumbnailShadowVerticalLength");this.u("rollOverThumbnailShadowBlurRadius",g.U,"thumbnailShadowBlurRadius");this.u("rollOverThumbnailShadowSpread",g.U,"thumbnailShadowSpread");this.u("rollOverThumbnailShadowColor",g.U,"thumbnailShadowColor");this.u("rollOverThumbnailShadowOpacity",g.U,"thumbnailShadowOpacity");this.u("selectedBackgroundOpacity",g.da,"backgroundOpacity"); 3546this.u("selectedBackgroundColor",g.da,"backgroundColor");this.u("selectedBackgroundColorRatios",g.da,"backgroundColorRatios");this.u("selectedBackgroundColorDirection",g.da,"backgroundColorDirection");this.u("selectedBorderRadius",g.da,"borderRadius");this.u("selectedBorderTopRadius",g.da,"borderTopRadius");this.u("selectedBorderBottomRadius",g.da,"borderBottomRadius");this.u("selectedBorderLeftRadius",g.da,"borderLeftRadius");this.u("selectedBorderRightRadius",g.da,"borderRightRadius");this.u("selectedBorderTopLeftRadius", 3547g.da,"borderTopLeftRadius");this.u("selectedBorderTopRightRadius",g.da,"borderTopRightRadius");this.u("selectedBorderBottomLeftRadius",g.da,"borderBottomLeftRadius");this.u("selectedBorderBottomRightRadius",g.da,"borderBottomRightRadius");this.u("selectedBorderSize",g.da,"borderSize");this.u("selectedBorderLeftSize",g.da,"borderLeftSize");this.u("selectedBorderTopSize",g.da,"borderTopSize");this.u("selectedBorderRightSize",g.da,"borderRightSize");this.u("selectedBorderBottomSize",g.da,"borderBottomSize"); 3548this.u("selectedBorderColor",g.da,"borderColor");this.u("selectedBorderLeftColor",g.da,"borderLeftColor");this.u("selectedBorderTopColor",g.da,"borderTopColor");this.u("selectedBorderRightColor",g.da,"borderRightColor");this.u("selectedBorderBottomColor",g.da,"borderBottomColor");this.u("selectedLabelFontColor",g.da,"labelFontColor");this.u("selectedLabelFontSize",g.da,"labelFontSize");this.u("selectedLabelFontStyle",g.da,"labelFontStyle");this.u("selectedLabelFontWeight",g.da,"labelFontWeight"); 3549this.u("selectedLabelTextDecoration",g.da,"labelTextDecoration");this.u("selectedLabelTextShadowColor",g.da,"labelTextShadowColor");this.u("selectedLabelTextShadowHorizontalLength",g.da,"labelTextShadowHorizontalLength");this.u("selectedLabelTextShadowVerticalLength",g.da,"labelTextShadowVerticalLength");this.u("selectedLabelTextShadowBlurRadius",g.da,"labelTextShadowBlurRadius");this.u("selectedLabelTextShadowOpacity",g.da,"labelTextShadowOpacity");this.u("selectedOpacity",g.da,"opacity");this.u("selectedPaddingLeft", 3550g.da,"paddingLeft");this.u("selectedPaddingTop",g.da,"paddingTop");this.u("selectedPaddingRight",g.da,"paddingRight");this.u("selectedPaddingBottom",g.da,"paddingBottom");this.u("selectedShadow",g.da,"shadow");this.u("selectedThumbnailOpacity",g.da,"thumbnailOpacity");this.u("selectedThumbnailBorderSize",g.da,"thumbnailBorderSize");this.u("selectedThumbnailBorderColor",g.da,"thumbnailBorderColor");this.u("selectedThumbnailShadow",g.da,"thumbnailShadow");this.u("selectedThumbnailShadowHorizontalLength", 3551g.da,"thumbnailShadowHorizontalLength");this.u("selectedThumbnailShadowVerticalLength",g.da,"thumbnailShadowVerticalLength");this.u("selectedThumbnailShadowBlurRadius",g.da,"thumbnailShadowBlurRadius");this.u("selectedThumbnailShadowSpread",g.da,"thumbnailShadowSpread");this.u("selectedThumbnailShadowColor",g.da,"thumbnailShadowColor");this.u("selectedThumbnailShadowOpacity",g.da,"thumbnailShadowOpacity")};t.prototype.EQ=function(u){this.FN(u)};t.prototype.Db=function(){p.prototype.Db.call(this); 3552this.Me||(this.Me=new q,this.Wa(this.Me),this.Me.set("horizontalAlign",l.De),this.Me.set("verticalAlign",l.fe),this.Me.bind(m.Z,this.F$,this));this.Ta||(this.Ta=new n,this.Wa(this.Ta))};t.prototype.e4=function(u){if(r(u).isString())return u;if(u&&u.Vea)return u.Vea};t.prototype.c4=function(u){if(u&&u.label)return u.label};t.prototype.Va=function(){if(this.I("sourceProperties")||this.I("item")){for(;this.XA.length;)this.XA.pop().Mz();var u=this.B("sourceProperties"),v=this.B("item");u&&v&&u.forEach(function(x){this.XA.push(k.$s(v, 3553x,this.c8,this,!0))}.bind(this))}if(this.I("sourceProperties")||this.I("item")||this.I("tooltipFunction"))v=this.B("item"),u=this.B("tooltipFunction")(v),this.set("toolTip",u);if(this.I("sourceProperties")||this.I("item")||this.I("thumbnailUrlFunction"))v=this.B("item"),(u=this.B("thumbnailUrlFunction")(v))?this.Me.get("url")!=u&&this.Me.ka({url:u,visible:!0,opacity:.5}):this.Me.ka({url:void 0,visible:!1}),this.P("thumbnailUrlFunction");if(this.I("sourceProperties")||this.I("item")||this.I("labelFunction"))v= 3554this.B("item"),u=this.B("labelFunction")(v),this.Ta.ka({text:u,visible:u?!0:!1}),this.P("labelFunction");this.P("sourceProperties");this.P("item");if(this.I("listLayout"))switch(this.B("listLayout")){case d.wh:this.ka({width:"100%",height:void 0});break;default:this.ka({height:"100%",width:void 0})}if(this.I("labelPosition")||this.I("listLayout")||this.I("thumbnailWidth")||this.I("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.rb:this.set("layout", 3555d.Cg);this.Ta.set("width","100%");switch(this.B("listLayout")){case d.wh:this.Me.ka({height:u("thumbnailHeight"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",f.Rj)});break;default:this.Me.ka({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",f.Rj)})}break;default:switch(this.set("layout",d.wh),this.Ta.set("width",void 0),this.B("listLayout")){case d.wh:this.Me.ka({height:u("thumbnailHeight"),width:u("thumbnailWidth","100%"),scaleMode:u("thumbnailScaleMode", 3556f.Ro)});break;default:this.Me.ka({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",f.Rj)})}}switch(this.B("labelPosition")){case c.Ya:case c.vc:this.hn(this.Ta,0);break;default:this.hn(this.Ta,1)}this.P("labelPosition")}this.P("listLayout");this.mc(t.U1,t.JE,[this],!0,!0);this.mc(t.W1,t.JE,[this.Me],!0,!0);this.mc(t.V1,t.JE,[this.Ta],!0,!0);p.prototype.Va.call(this)};t.prototype.c8=function(){this.NC("item")};t.prototype.KC=function(u){p.prototype.KC.call(this, 3557u)};t.prototype.F$=function(){this.Me.set("opacity",1)};t.U1=["labelGap"];t.W1="thumbnailBorderColor thumbnailBorderRadius thumbnailBorderSize thumbnailMaxWidth thumbnailMaxHeight thumbnailOpacity thumbnailShadow thumbnailShadowHorizontalLength thumbnailShadowVerticalLength thumbnailShadowBlurRadius thumbnailShadowSpread thumbnailShadowColor thumbnailShadowOpacity".split(" ");t.V1="labelFontFamily labelFontColor labelFontSize labelFontStyle labelFontWeight labelHorizontalAlign labelTextDecoration labelTextShadowColor labelTextShadowHorizontalLength labelTextShadowVerticalLength labelTextShadowBlurRadius labelTextShadowOpacity".split(" "); 3558t.JE={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", 3559thumbnailMaxHeight:"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}); 3560define("M","require lx cB mZ oR d hR iy om kG ek".split(" "),function(a){var e=a("lx"),k=a("cB"),m=a("mZ"),l=a("oR"),b=
3560a("d"),h=a("hR"),d=a("iy"),c=a("om"),f=a("kG");a=a("ek");var g=e.extend(c,function(){c.call(this);this.set("contentOpaque",!0);this.bind(l.G("selectedIndex"),this.PPa,this);this.bind(l.lc,this.nSa,this)});g.prototype.pb=function(){c.prototype.pb.call(this);this.h("layout",b.Cg);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",h.Xo);this.h("itemHorizontalAlign",m.De); 3561this.h("itemLabelFontFamily");this.h("itemLabelPosition",d.oc);this.h("itemLabelFunction");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",m.De);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.fe);this.h("itemBackgroundOpacity"); 3562this.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"); 3563this.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"); 3564this.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");
3565this.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"); 3566this.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"); 3567this.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"); 3568this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");
3568this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection"); 3569this.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"); 3570this.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"); 3571this.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"); 3572this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};g.prototype.tL=function(p){this.oo=!0;this.set("selectedIndex",this.y5(p.source))};g.prototype.PPa=function(){this.kra()};g.prototype.nSa=function(){this.kra()};g.prototype.kra=function(){var p=this.get("selectedIndex"),q=this.Lb();0<=p&&p<q.length&&this.scrollIntoView(q[p])}; 3573g.prototype.y5=function(p){for(var q=this.Lb(),n=0;n<q.length;n++)if(q[n]==p)return n;return-1};g.prototype.Va=function(){if(this.I("layout")){var p=this.B("layout");p!=b.wh&&p!=b.Cg&&this.set("layout",b.Cg)}var q=!1;if(this.I("items")){q=!0;p=this.B("items")||[];var n=this.Lb();if(n.length<p.length){for(var r=n.length;r<p.length;r++)n=new f,n.bind(l.ra,this.tL,this),this.mc(g.MJ,g.DA,[n],!1,!1),this.mc(g.NJ,g.EA,[n],!1,!1),this.Wa(n);n=this.Lb()}if(n.length>p.length){for(r=p.length;r<n.length;r++){var t= 3574n[r];t.unbind(l.ra,this.tL,this);this.removeChild(t)}n=this.Lb()}for(r=0;r<p.length;r++)n[r].set("item",p[r]);this.P("items")}if(this.I("selectedIndex")||q){p=this.Lb();q=Math.min(p.length-1,Math.max(-1,this.B("selectedIndex")));this.set("selectedIndex",q);for(r=0;r<p.length;r++)p[r].EQ(r==q);this.P("selectedIndex");this.oo&&(this.oo=!1,this.trigger(new k(l.va)))}this.mc(g.MJ,g.DA,this.Lb(),!0,!1);this.mc(g.NJ,g.EA,this.Lb(),!0,!0);c.prototype.Va.call(this)};g.DA={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength", 3575shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};g.EA={itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode", 3576itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroun
3576dOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius", 3577itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize", 3578itemBorderColor:"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", 3579itemLabelTextShadowBlurRadius:"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", 3580itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroun
3580dOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection", 3581rollOverItemBorderRadius:"rollOverBorderRadius",rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius", 3582rollOverItemBorderSize:"rollOverBorderSize",rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor", 3583rollOverItemLabelFontColor:"rollOverLabelFontColor",rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength", 3584rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize", 3585rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",
3586selectedItemBackgroundOpacity:"selectedBackgroundOpacity",selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius", 3587selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize", 3588selectedItemBorderColor:"selectedBorderColor",selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration", 3589selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop", 3590selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength", 3591selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime", 3592toolTipFontFamily:"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", 3593toolTipShadowSpread:"toolTipShadowSpread",toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};g.MJ=a(g.DA).keys();g.NJ=a(g.EA).keys();return g}); 3594define("hA","require oR M nH jP eh bR".split(" "),function(a){var e=a("oR"),k=a("M"),m=a("nH"),l=a("jP"),b=a("eh"),h=a("bR");
3594a=m.define("ThumbnailList",k,function(){k.call(this);this.pd=null;this.tp=!1;this.dK=new l(this,"buttonScrollDown",b.Fe);this.dK.bind(e.ra,this.Zza,this);this.eK=new l(this,"buttonScrollLeft",b.Fe);this.eK.bind(e.ra,this.scrollLeft,this);this.fK=new l(this,"buttonScrollRight",b.Fe);this.fK.bind(e.ra,this.$za,this);this.gK=new l(this,"buttonScrollUp",b.Fe);this.gK.bind(e.ra, 3595this.aAa,this);this.bind(e.va,this.dOa,this)});a.prototype.Xl=function(){k.prototype.Xl.call(this);this.$C()};a.prototype.Fv=function(){k.prototype.Fv.call(this);this.$C()};a.prototype.$C=function(){this.dK.set("visible",!this.tp||this.hS());this.gK.set("visible",!this.tp||this.kS());this.eK.set("visible",!this.tp||this.iS());this.fK.set("visible",!this.tp||this.jS())};a.prototype.set=function(d,c){if("itemMode"==d)switch(c){case "thumbnail-only":this.set("itemLabelFunction",this.Eu);this.set("itemThumbnailUrlFunction", 3596this.vL);this.set("itemTooltipFunction",this.PB);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.PB);this.set("itemThumbnailUrlFunction",this.Eu);this.set("itemTooltipFunction",this.Eu);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.PB),this.set("itemThumbnailUrlFunction",this.vL),this.set("itemTooltipFunction",this.Eu),this.set("itemSourceProperties", 3597["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==d?(this.pd&&this.pd.unbind("change",this.Uu,this),(this.pd=c)?(this.set("items",this.pd.get("items")),this.pd.bind("change",this.Uu,this)):this.set("items",[])):"hideScrollButtons"==d?(this.tp=c,this.$C()):k.prototype.set.call(this,d,c)};a.prototype.get=function(d,c){switch(d){case "playList":return this.pd;default:return k.prototype.get.call(this,d,c)}};a.prototype.Uu=function(){this.set("items",this.pd.get("items")); 3598this.set("selectedIndex",this.pd.get("selectedIndex"))};a.prototype.dOa=function(){this.pd&&this.pd.set("selectedIndex",this.get("selectedIndex"))};a.prototype.Eu=function(){};a.prototype.PB=function(d){return d.get("label")||d.get("media").get("label")};a.prototype.vL=function(d){d=d.get("media");var c=d.get("thumbnailUrl");d.get("flipImageHorizontally")&&(c=h.wua(c));return c};return a});define("bZ",["require","e","nH"],function(a){var e=a("e");return a("nH").define("UIComponent",e,function(){e.call(this)})}); 3599define("iB",["require","nH","er"],function(a){var e=a("nH"),k=a("er");a=e.define("Video",k,function(){k.call(this);this.ya=void 0});a.prototype.Os=function(){this.get("video");return[]};return a});define("gB",["require","nH","fd"],function(a){var e=a("nH"),k=a("fd");return e.define("VideoPanorama",k,function(){k.call(this)})}); 3600define("jI",["require","lZ","nH"],function(a){var e=a("lZ");a=a("nH").define("Video360Resource",e,function(){e.call(this)});a.prototype.get=function(k,m){if(void 0===m)switch(k){case "gain":m=1}switch(k){case "levels":m=[this];break;case "subtitlesURL":case "gain":for(var l=e.prototype.get.call(this,k),b=this.get("levels"),h=0;b&&h<b.length&&void 0===l;h++){var d=b[h];d!=this&&(l=d.get(k))}return void 0!==l?l:m}return e.prototype.get.call(this,k,m)};return a}); 3601define("dD",["require","nH","ml","gB","jI"],function(a){var e=a("nH"),k=a("ml"),m=a("gB"),l=a("jI");a=e.define("Video360",m,function(){m.call(this);this.Sn=this.GH=this.tb=void 0});a.prototype.set=function(b,h){"video"==b?this.GFa(h):"videoStereo"==b?this.HFa(h):m.prototype.set.call(this,b,h)};a.prototype.get=function(b,h){return"video"==b?void 0!==this.tb?this.tb:h:"videoStereo"==b?void 0!==this.GH?this.GH:h:m.prototype.get.call(this,b,h)};a.prototype.GFa=function(b){this.tb!=b&&(this.tb=b,b=m.prototype.get.call(this, 3602"frames")||[],this.tb&&(0==b.length&&b.push(new k),b[0].set("sphere",this.vna(this.tb))),m.prototype.set.call(this,"frames",b.slice()))};a.prototype.HFa=function(b){this.GH!=b&&(this.GH=b,b=m.prototype.get.call(this,"frames")||[],this.GH&&(0==b.length&&b.push(new k),b[0].set("stereoSphere",this.vna(this.GH))),m.prototype.set.call(this,"frames",b.slice()))};a.prototype.vna=function(b){if(Array.isArray(b)){if(0==b.length)return;if(1==b.length&&e.Oa("Video360Resource",b[0]))return b[0];var h=[];b.forEach(function(d){h= 3603h.concat(d.get("levels")||[d])});b=new l;b.set("levels",h)}return b};return a});define("bQ",["require","nH","ox"],function(a){var e=a("nH"),k=a("ox");return e.define("Video360Player",k,function(){k.call(this)})}); 3604define("kh",["require","nH","dg","ir"],function(a){var e=a("nH"),k=a("dg"),m=a("ir");a=e.define("Video360PlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var l=this.get("player");l&&(l.bind(k.Vg,this.Mm,this),l.set("video",this.get("media")),l.set("camera",this.get("camera")),l.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var l=this.get("player");l&&(l.unbind(k.Vg,this.Mm,this),l.get("video")==this.get("media")&&l.set("video", 3605null));m.prototype.stop.call(this)};a.prototype.Mm=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.Vg,this.Mm,this),this.get("player").bind(k.cm,this.Op,this),this.jz())};a.prototype.Op=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.cm,this.Op,this),this.stop(),this.end())};return a});define("oF",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("Video360ResourceLevel",e,function(){e.call(this)})}); 3606define("fS",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("VideoCue",e,function(){e.call(this)})}); 3607define("ci","require lZ oR kX cB nH kw".split(" "),function(a){var e=a("lZ"),k=a("oR"),m=a("kX"),l=a("cB"),b=a("nH"),h=a("kw");a=b.define("VideoPanoramaOverlay",e,function(){e.call(this);this.ed=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",m.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",m.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",m.T)};a.prototype.set=function(d,c){var f=!1;switch(d){case "state":var g=this.get("state")||m.T; 3608g==m.T&&c==m.X&&this.trigger(k.sn);g!=c&&this.trigger(new l(k.ne,{oldState:g,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.ed=void 0,f=!0}e.prototype.set.call(this,d,c);f&&"playbackPositions"!=d&&this.trigger(k.G("playbackPositions"))};a.prototype.get=function(d,c){switch(d){case "playbackPositions":return void 0=== 3609this.ed&&(this.ed=h.oca(this)),this.ed}return e.prototype.get.call(this,d,c)};return a});define("hY",["require","nH","pj"],function(a){var e=a("nH"),k=a("pj");return e.define("VideoPlaneModel3DObject",k,function(){k.call(this)})}); 3610define("ds","require ek lx oR cB gp kX".split(" "),function(a){function e(c,f,g){this.time=c;this.cue=f;this.action=g}
3610var k=a("ek"),m=a("lx"),l=a("oR"),b=a("cB"),h=a("gp"),d=a("kX");a=m.extend(h,function(c){h.call(this);this.j=c;this.Qc=null;this.tk=!1;this.Ki=[];this.qm=void 0;this.ue=[]});a.prototype.clear=function(){this.j=null;this.$A();this.Ki=[];this.ue=[]};a.prototype.start=function(c){this.end();this.M9(c);this.G3();this.q$();this.eD()};a.prototype.M9=function(c){this.$A();this.Qc=c;this.Qc.bind(l.G("currentTime"), 3611this.eD,this,!0);this.Qc.bind(l.G("state"),this.q$,this,!0);this.Qc.bind(l.vb,this.HO,this,!0)};a.prototype.$A=function(){this.Qc&&(this.Qc.unbind(l.G("currentTime"),this.eD,this),this.Qc.unbind(l.G("state"),this.q$,this),this.Qc.unbind(l.vb,this.HO,this),this.Qc=null)};a.prototype.end=function(){this.hK();this.$A();this.tk=!1};a.prototype.q$=function(c){c=c!=d.T;this.tk!=c&&((this.tk=c)?this.hX():this.hK())};a.prototype.HO=function(){this.eD()};a.prototype.hX=function(){this.qm=this.hF=0};a.prototype.eD= 3612function(){if(this.Qc&&this.tk){var c=this.ue.slice(),f=this.Qc.get("currentTime",0),g=f-this.hF;0>g&&(this.ue=[],this.qm=0);g=0<=g&&2>g;this.hF=f;var p;for(p=this.qm;p<this.Ki.length&&!(this.Ki[p].time>f);p++);for(;this.qm<p;this.qm++)f=this.Ki[this.qm],"start"==f.action?(this.ue=k(this.ue).union([f.cue]),g&&f.cue.trigger(new b(l.Yq))):(this.ue=k(this.ue).difference([f.cue]),g&&f.cue.trigger(new b(l.vb)));c.length==this.ue.length&&k(c).intersection(this.ue).length==this.ue.length||this.oO()}};a.prototype.hK= 3613function(){0<this.ue.length&&(this.ue=[],this.oO())};a.prototype.oO=function(){this.Qc.trigger(new b(l.Nj,{activeCues:this.ue.slice()}))};a.prototype.G3=function(){this.Ki=[];var c=this.Qc.get("cues",[]);k(c).each(function(f){this.Ki.push(new e(f.get("startTime",0),f,"start"));this.Ki.push(new e(f.get("endTime",Number.POSITIVE_INFINITY),f,"end"))},this);this.Ki.sort(function(f,g){return f.time==g.time?f.action==g.start?0:"start"==f.action?-1:1:f.time-g.time})};return a}); 3614define("nK","require lx bh cB gp oR mm".split(" "),function(a){var e=a("lx"),k=a("bh"),m=a("cB"),l=a("gp");a("oR");a("mm");var b=e.extend(l,function(h,d){l.call(this);this.M=h;this.j=d;this.oC=[];this.qa=b.xh;this.$h=null;this.j4=void 0;this.Li=null;this.xg=this.Ng=void 0});b.prototype.display=function(h,d){this.m3();if(this.Li!=h||this.qa!=b.xh)this.oC.push({video:h,startTime:d}),this.Soa()};b.prototype.hide=function(){this.m3();this.oC.push({video:null,startTime:void 0});this.Soa()};b.prototype.clear= 3615function(){this.qa=b.xh;this.m3();this.fPa();this.Dqa();this.j=null};b.prototype.nh=function(h){this.qa==b.xh||this.qa!=b.vn&&this.qa!=b.Xw&&this.qa!=b.FA||(this.xg+=h,h=Math.min(1,this.xg/this.Ng),this.qa==b.vn?this.$h.set("opacity",h):this.qa==b.FA?(this.$h.set("opacity",Math.min(1,2*h)),this.Li.set("opacity",Math.min(1,2*(1-h)))):this.Li.set("opacity",1-h),this.xg<this.Ng?this.Na():this.Lx())};b.prototype.Soa=function(){0<this.oC.length&&this.qa==b.xh&&this.ep()};b.prototype.ep=function(){this.Li&& 3616this.trigger(new m(b.kA,{video:this.Li}));if("fade_out_fade_in"==this.M.get("transitionMode","blending")&&this.Li)this.hx();else{var h=this.oC.shift();this.$h=h.video;this.j4=h.startTime;this.$h?this.$h.get("chromaColor")&&this.Li?this.P2():this.ZJ():this.Li&&this.hx()}};b.prototype.ZJ=function(){this.Yha();this.xg=0;this.Ng=this.M.get("transitionDuration");this.qa=b.vn;this.Na()};b.prototype.P2=function(){this.Yha();this.xg=0;this.Ng=2*this.M.get("transitionDuration");this.qa=b.FA;this.Na()};b.prototype.hx= 3617function(){this.$h=null;this.xg=0;this.Ng=this.M.get("transitionDuration");this.qa=b.Xw;this.Na()};b.prototype.Lx=function(){this.Dqa();this.Li=this.$h;this.$h=null;this.qa=b.xh;this.Li?this.trigger(new m(b.lA,{video:this.Li})):0==this.oC.length&&this.trigger(new m(b.Efa));0!=this.oC.length&&this.ep()};b.prototype.Na=function(){k.requestFrame(this.nh,this)};b.prototype.m3=function(){this.oC=[]};b.prototype.Yha=function(){this.$h&&(this.$h.set("opacity",0),this.$h.set("zIndex",1),this.Li&&this.Li.set("zIndex", 36180),this.$h.set("currentTime",this.j4||0),this.j.PUa(this.$h),this.trigger(new m(b.Z0,{video:this.$h,startTime:this.j4})))};b.prototype.Dqa=function(){this.Li&&(this.j.Nza(this.Li),this.trigger(new m(b.iR,{video:this.Li})),this.Li=null)};b.prototype.fPa=function(){this.$h&&(this.j.Nza(this.$h),this.trigger(new m(b.iR,{video:this.$h})),this.$h=null)};b.xh="stopped";b.vn="blending";b.FA="double blending";b.Xw="disolving";b.Hb="request frame";b.Z0="video added";b.iR="video removed";b.lA="video show"; 3619b.kA="video hide";b.Efa="all pending videos hidden";return b}); 3620define("jt","require lx oR cB gp kX".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("cB"),l=a("gp"),b=a("kX"),h=e.extend(l,function(){l.call(this);this.Qc=null;this.hf=!1;this.V3=b.T});h.prototype.start=function(d){this.end();this.M9(d)};h.prototype.end=function(){this.stop();this.$A()};h.prototype.clear=function(){this.$A()};h.prototype.play=function(){this.Qc&&this.Qc.set("state",b.X)};h.prototype.pause=function(){this.Qc&&this.Qc.set("state",b.Ib)};h.prototype.stop=function(){this.Qc&&this.Qc.set("state", 3621b.T)};h.prototype.Ef=function(d){this.hf=d;this.Qc&&this.Qc.set("mute",this.hf)};h.prototype.setTime=function(d){this.Qc&&this.Qc.set("currentTime",d)};h.prototype.getTime=function(){if(this.Qc)return this.Qc.get("currentTime")};h.prototype.M9=function(d){this.$A();this.Qc=d;this.Qc.set("mute",this.hf);this.Qc.bind(k.G("state"),this.kH,this,!0);this.Qc.bind(k.G("currentTime"),this.fD,this,!0);this.Qc.bind(k.vb,this.HO,this,!0)};h.prototype.$A=function(){this.Qc&&(this.Qc.unbind(k.G("state"),this.kH, 3622this),this.Qc.unbind(k.G("currentTime"),this.fD,this),this.Qc.unbind(k.vb,this.HO,this),this.Qc=null)};h.prototype.fD=function(){this.trigger(new m(h.mA,{video:this.Qc,time:this.Qc.get("currentTime"),duration:this.Qc.get("duration")}))};h.prototype.HO=function(){this.trigger(new m(h.tJ,{video:this.Qc}))};h.prototype.kH=function(){var d=this.Qc.get("state");this.V3!=d&&(this.V3=d,this.trigger(new m(h.Ec,{state:this.V3})))};h.Ec="playback state change";h.tJ="video end";h.mA="video time change";return h}); 3623define("od","require lx kX cB gp ds nK jt".split(" "),function(a){var e=a("lx"),k=a("kX"),m=a("cB"),l=a("gp"),b=a("ds"),h=a("nK"),d=a("jt"),c=e.extend(l,function(f,g){l.call(this);this.M=f;this.j=g;this.j.set("visible",!1);this.Ja=new h(this.M,this.j);this.Ka=new d(this.j);this.mp=new b(this.j);this.Ja.bind(h.kA,this.Op,this,!0);this.Ja.bind(h.lA,this.Mm,this,!0);this.Ja.bind(h.Z0,this.Apa,this,!0);this.Ja.bind(h.iR,this.Bpa,this,!0);this.Ja.bind(h.Efa,this.cNa,this,!0);this.Ka.bind(d.Ec,this.Ve, 3624this,!0);this.Ka.bind(d.tJ,this.Cy,this,!0);this.Ka.bind(d.mA,this.NM,this,!0)});c.prototype.clear=function(){this.Ja.clear();this.Ka.clear();this.mp.clear();this.Ja.unbind(h.kA,this.Op,this);this.Ja.unbind(h.lA,this.Mm,this);this.Ja.unbind(h.Z0,this.Apa,this);this.Ja.unbind(h.iR,this.Bpa,this);this.Ka.unbind(d.Ec,this.Ve,this);this.Ka.unbind(d.tJ,this.Cy,this);this.Ka.unbind(d.mA,this.NM,this);this.M=this.j=this.mp=this.Ka=this.Ja=null};c.prototype.c1a=function(f,g){this.j.set("visible",!0);this.Ja.display(f, 3625g)};c.prototype.iw=function(){this.Ja.hide();this.Ka.end();this.mp.end()};c.prototype.play=function(){this.Ka.play()};c.prototype.stop=function(){this.Ka.stop()};c.prototype.pause=function(){this.Ka.pause()};c.prototype.Ef=function(f){this.Ka.Ef(f)};c.prototype.setTime=function(f){this.Ka.setTime(f)};c.prototype.getTime=function(){return this.Ka.getTime()};c.prototype.Apa=function(f){var g=f.data.video;this.Ka.start(g,f.data.startTime);this.mp.start(g)};c.prototype.Bpa=function(){};c.prototype.Mm= 3626function(f){f=f.data.video;f.get("autoplay")&&f.get("state")!=k.X&&f.get("state")!=k.Ib&&f.set("state",k.X);this.trigger(new m(c.lA,{video:f}))};c.prototype.Op=function(f){this.trigger(new m(c.kA,{video:f.data.video}))};c.prototype.cNa=function(){this.j.set("visible",!1)};c.prototype.Cy=function(f){this.trigger(new m(c.tJ,{video:f.data.video}))};c.prototype.NM=function(f){this.trigger(new m(c.mA,{video:f.data.video,time:f.data.time,duration:f.data.duration}))};c.prototype.Ve=function(f){this.trigger(new m(c.Ec, 3627{state:f.data.state}))};c.lA="videoShow";c.kA="videoHide";c.tJ="videoEnd";c.mA="videoTimeChange";c.Ec="playbackStateChange";return c}); 3628define("iQ",["require","lx","oR","kX","dF"],function(a){var e=a("lx"),k=a("oR"),m=a("kX"),l=a("dF");a=e.extend(l,function(b,h){l.call(this,b);this.aa=h;this.aa.bind(k.G("video"),this.IM,this);this.aa.bind(k.ne,this.IM,this);this.IM()});a.prototype.clear=function(){this.aa&&(this.aa.unbind(k.G("video"),this.IM,this),this.aa.unbind(k.ne,this.IM,this),this.aa=null);l.prototype.clear.call(this)};a.prototype.IM=function(){this.yea(this.aa.get("state")!=m.T?this.aa.get("video"):null)};return a}); 3629define("oC","require lx oR bd e dV iQ".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("bd"),l=a("e"),b=a("dV"),h=a("iQ");a=e.extend(l,function(d,c,f){l.call(this);this.sc=d;this.M=c;this.aa=f;this.set("toolTipDisabled",!0);this.set("cursor",m.pt);this.bind(k.lc,this.hc,this,!0);this.pH=new h(c,f);this.GG=new b.Aga;this.GG.iea(b.Aga.c1);this.GG.tf(this.SV=!1);
3629[this.pH.Bc(),this.GG.Bc()].forEach(function(g,p){this.Fb().append(g);g.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden", 3630"z-index":p})}.bind(this))});a.prototype.pea=function(d,c){this.SV!=d&&(this.SV=d,this.GG.jAa(c),this.GG.tf(d))};a.prototype.hc=function(){this.XW=!0;this.GG.setSize(this.Xa(),this.Ab())};return a}); 3631define("mr","require lx oR bd d om fF gq oC".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("bd"),l=a("d"),b=a("om"),h=a("fF"),d=a("gq"),c=a("oC");a=e.extend(b,function(f,g,p){b.call(this);this.sc=f;this.M=g;this.aa=p;this.Ae("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",m.pt);this.set("layout",l.VQ);this.dc=this.Ga=this.Ud=null;this.ZX=[];this.IO=[];this.bind(k.lc,this.hc,this,!0);this.wO()});a.prototype.Db=function(){b.prototype.Db.call(this);null==this.Ud&&(this.Ud=new d(this.sc, 3632!1),this.Ud.ka({left:0,top:0,right:0,bottom:0}),this.Wa(this.Ud),this.Ud.s_(this.aa.get("useVideoFrameRate")?2:void 0),this.ZHa(),this.rHa(),this.ZX.forEach(function(f){this.Eja(f)}.bind(this)));null==this.dc&&(this.dc=new c(this.sc,this.M,this.aa),this.dc.ka({left:0,top:0,right:0,bottom:0}),this.Wa(this.dc),this.wO())};a.prototype.PUa=function(f){this.ZX.push(f);this.Ud&&this.Eja(f)};a.prototype.ZHa=function(){this.Ga=this.Ud.bd("Scene");this.Ga.H(h.Scene).backgroundColor="transparent";this.Ud.yua(this.Ga)}; 3633a.prototype.rHa=function(){this.Fa=this.Ud.bd("Camera");var f=this.Fa.H(h.OrthographicCamera);f.width=this.qf();f.height=this.pf();this.Fa.H(h.kb).Y=this.Ga;this.Ga.J(h.Scene).ie=this.Fa};a.prototype.hc=function(){if(this.Fa){var f=this.Fa.J(h.OrthographicCamera);f.width=this.qf();f.height=this.pf()}};a.prototype.Eja=function(f){var g=this.Ud.bd("Video");g.H(h.kb).Y=this.Ga;g.H(h.Mesh).properties=f;var p=g.H(h.Ww);p.properties=f;p.ie=this.Fa;p=g.H(h.un);p.properties=f;p.lfa=f.get("video");p.ba=f; 3634this.IO.push(g);this.Ud.s_(this.aa.get("useVideoFrameRate")&&45>this.lLa(f)?2:void 0);this.wO()};a.prototype.Nza=function(f){f=this.ZX.indexOf(f);0>f||(this.ZX.splice(f,1),this.Ud&&this.sIa(this.IO[f]))};a.prototype.sIa=function(f){var g=this.IO.indexOf(f);0>g||(this.IO.splice(g,1),this.Ud.Ne(f),this.wO())};a.prototype.pea=function(f){this.SV=f;this.wO()};a.prototype.wO=function(){this.dc&&this.dc.pea(this.SV&&0<this.IO.length)};a.prototype.lLa=function(f){f=f.get("video");return(f&&f.get("levels")|| 3635[]).reduce(function(g,p){return Math.max(g,p.get("framerate"))},0)||30};return a}); 3636define("lr","require lx oR nH iE kX od mr".split(" "),function(a){var e=a("lx"),k=a("oR"),m=a("nH"),l=a("iE"),b=a("kX"),h=a("od"),d=a("mr");a=m.define("VideoPlayer",l,function(){l.call(this,"video");this.op=this.gX=this.fD=this.Sh=!1;this.L=this.j=null;this.sb=this.Ed=0;this.Zd=e.Bo(this.Og,this)});a.prototype.seek=function(c){this.HC(c)};a.prototype.play=function(){this.lC()};a.prototype.pause=function(){this.kC()};a.prototype.stop=function(){this.Ay()};a.prototype.restart=function(){this.xy()}; 3637a.prototype.set=function(c,f){if(this.get(c)!=f){switch(c){case "startTime":this.gX=!0;this.Zd();break;case "video":this.fD=!0;this.Zd();break;case "viewerArea":this.Sh=!0;this.Zd();break;case "displayPlaybackBar":this.op=!0,this.Zd()}l.prototype.set.call(this,c,f)}};a.prototype.get=function(c,f){switch(c){case "currentTime":return this.L&&this.L.getTime()||0}return l.prototype.get.call(this,c,f)};a.prototype.Og=function(){this.Sh&&(this.Sh=!1,this.fu(),this.get("viewerArea")&&this.cu(),this.IN(this.get("viewerArea")), 3638this.fD=!0);var c=!1;if(this.j&&(this.fD||this.gX)){var f=this.get("video"),g=this.get("startTime")||0;if(f&&!this.j.Gb()){this.Zd();return}this.gX=this.fD=!1;this.sb=this.Ed=0;c=!0;f?(this.RI(),this.L.c1a(f,g)):this.L.iw()}this.op&&(this.op=!1,c=!0);c&&this.Gv()};a.prototype.mH=function(){this.set("video",null)};a.prototype.cu=function(){var c=this.get("application"),f=this.get("viewerArea");this.j=new d(c,f,this);this.j.ka({left:0,top:0,bottom:0,right:0});f.Wa(this.j);f.bind(k.ra,this.Fpa,this, 3639!0);this.L=new h(f,this.j);this.L.bind(h.lA,this.Mm,this);this.L.bind(h.kA,this.Op,this);this.L.bind(h.mA,this.NM,this,!0);this.L.bind(h.Ec,this.Ve,this);c.bind(k.G("mute"),this.uM,this);this.L.Ef(c.get("mute",!1));this.Uy(!0)};a.prototype.fu=function(){if(this.j){this.L.unbind(h.lA,this.Mm,this);this.L.unbind(h.kA,this.Op,this);this.L.unbind(h.mA,this.NM,this);this.L.unbind(h.Ec,this.Ve,this);this.L.clear();this.get("application").unbind(k.G("mute"),this.uM,this);var c=this.j.getParent();c.removeChild(this.j); 3640c.unbind(k.ra,this.Fpa,this,!0);this.j=null;this.Uy(!1)}};a.prototype.uM=function(){this.j&&this.L.Ef(this.get("application").get("mute",!1))};a.prototype.Ve=function(c){c=c.data.state;this.j&&this.j.pea(this.get("displayPlayOverlay")&&c!=b.X,.5>this.Ed);this.Ac(c)};a.prototype.Mm=function(c){var f=this.get("viewerArea");(this.Pd=f&&f.Pd)&&this.Pd.bind(k.ra,this.Gpa,this,!0);this.E8=!1;this.PL(c.data.video)};a.prototype.Op=function(c){this.Pd&&this.Pd.unbind(k.ra,this.Gpa,this,!0);this.Pd=null;this.OL(c.data.video)}; 3641a.prototype.NM=function(c){this.Ed=c.data.time;this.sb=c.data.duration;this.Gv()};a.prototype.Fpa=function(){if(this.E8)this.E8=!1;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=b.X?this.L.play():this.L.pause()}};a.prototype.Gpa=function(){this.E8=!0};a.prototype.YM=function(c){this.HC(c.data.position)};a.prototype.rk=function(){this.L.play()};a.prototype.ho=function(){this.L.stop()};a.prototype.Qp=function(){this.L.pause()};a.prototype.HC=function(c){this.L&&this.L.setTime(c)}; 3642a.prototype.Gv=function(){if(this.j){var c=this.j.getParent();0<this.sb&&this.get("displayPlaybackBar")?c.ka({playbackBarPosition:this.Ed,playbackBarDuration:this.sb,playbackBarVisible:!0}):c.set("playbackBarVisible",!1)}};return a}); 3643define("fq",["require","nH","dg","ir"],function(a){var e=a("nH"),k=a("dg"),m=a("ir");a=e.define("VideoPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var l=this.get("player");l&&(l.bind(k.Vg,this.Mm,this),l.set("video",this.get("media")),l.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var l=this.get("player");l&&(l.unbind(k.Vg,this.Mm,this),l.get("video")==this.get("media")&&l.set("video",null));m.prototype.stop.call(this)}; 3644a.prototype.Mm=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.Vg,this.Mm,this),this.get("player").bind(k.cm,this.Op,this),this.jz())};a.prototype.Op=function(l){l.data.media==this.get("media")&&(this.get("player").unbind(k.cm,this.Op,this),this.stop(),this.end())};return a});define("hF",["require","lZ","nH"],function(a){var e=a("lZ");return a("nH").define("VideoResourceLevel",e,function(){e.call(this)})}); 3645define("ey",["require","lZ","nH","lQ","hF"],function(a){var e=a("lZ"),k=a("nH"),m=a("lQ"),l=a("hF");a=k.define("VideoResource",e,function(){e.call(this);this.A7=new l;this.A7.set("type","video/mp4");this.D7=new l;this.D7.set("type","video/ogg");this.fba=new l;this.fba.set("type","video/webm")});a.prototype.get=function(b,h){switch(b){case "levels":h=[];var d=this.get("mp4Url");d&&(this.A7.set("url",d),h.push(this.A7));if(d=this.get("oggUrl"))this.D7.set("url",d),h.push(this.D7);if(d=this.get("webmUrl"))this.fba.set("url", 3646d),h.push(this.fba);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.ui=function(){var b=this.get("webmUrl"),h=this.get("oggUrl"),d=this.get("mp4Url");
3646return d&&m.jZ?d:b&&m.xca?b:h&&m.wca?h:d||b||h};return a});define("dz",["require","nH","fj"],function(a){var e=a("nH"),k=a("fj");return e.define("VignetteModel3DPostprocessing",k,function(){k.call(this)})}); 3647define("dO","require jquery.mod lx oR v ms e gH".split(" "),function(a){var e=a("jquery.mod"),k=a("lx"),m=a("oR"),l=a("v"),b=a("ms"),h=a("e"),d=a("gH");a=k.extend(h,function(){h.call(this);this.Ae("WebFrame");this.GL=this.pB=this.xc=this.Vd=null;this.T7=this.T7.bind(this);this.$U=this.$U.bind(this);this.bind(m.ld,this.lOa,this,!0);this.bind(m.hd,this.kOa,this,!0)});a.prototype.pb=function(){h.prototype.pb.call(this);this.h("url");this.h("backgroundColor","#ffffff");this.h("insetBorder",!1);this.h("scrollEnabled", 3648!0);this.h("unloadWhenHidden",!0)};a.prototype.lOa=function(){this.NC("url")};a.prototype.kOa=function(){this.NC("url")};a.prototype.Db=function(){h.prototype.Db.call(this);this.Vd||(this.Vd=e("<div></div>"),this.Vd.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"}),this.Fb().append(this.Vd));this.xc||(this.xc=e("<iframe></iframe>"),this.xc.css({position:"absolute",left:0,top:0}),this.xc.attr("allowfullscreen","true"),this.xc.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"), 3649this.Vd.append(this.xc));this.pB||(this.pB=e("<div></div>"),this.pB.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":l.lb()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"}),this.Vd.append(this.pB))};a.prototype.Va=function(){if(this.I("url")){var c=this.B("url");c&&this.Zx?this.zra(c):(!c||this.get("unloadWhenHidden"))&& 3650this.zra("");this.P("url")}this.I("insetBorder")&&(this.B("insetBorder")?this.xc.attr("frameborder","1"):this.xc.attr("frameborder","0"),this.P("insetBorder"));this.I("scrollEnabled")&&(this.B("scrollEnabled")?(this.xc.attr("scrolling","auto"),this.Vd.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})):(this.xc.attr("scrolling","no"),this.Vd.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})),this.P("scrollEnabled"));h.prototype.Va.call(this)};a.prototype.Ug=function(){this.xc&& 3651d.css(this.xc.get(0),{width:this.ja+"px",height:this.wa+"px"});h.prototype.Ug.call(this)};a.prototype.refresh=function(){this.B("url")&&this.Zx&&(this.f6(),this.sx(),this.Y$(),this.xc.attr("src",""),setTimeout(function(){this.lsa();this.Bia();this.xc.attr("src",this.B("url"))}.bind(this),30))};a.prototype.zra=function(c){this.xc.attr("src")!=c&&(this.f6(),c?(this.lsa(),this.Bia()):(this.sx(),this.Y$()),this.xc.attr("src",c))};a.prototype.T7=function(){this.GL=null;this.mMa()&&this.rRa()};a.prototype.$U= 3652function(){this.f6();this.sx();this.Y$()};a.prototype.Bia=function(){this.xc.on("load",this.$U)};a.prototype.Y$=function(){this.xc.off("load",this.$U)};a.prototype.sx=function(){this.GL&&(clearTimeout(this.GL),this.GL=null)};a.prototype.lsa=function(){this.sx();this.GL=setTimeout(this.T7.bind(this),3E3)};a.prototype.mMa=function(){if("https:"==window.location.protocol){var c=this.xc.attr("src");if("https:"!=b.parse(c).protocol)return!0}return!1};a.prototype.rRa=function(){this.pB.text("A secure web page served over HTTPS can not display insecure content served over HTTP."); 3653this.pB.show()};a.prototype.f6=function(){this.pB.hide()};return a});define("cq",["require","dO","nH"],function(a){var e=a("dO");a=a("nH").define("WebFrame",e,function(){e.call(this)});a.prototype.refresh=function(){e.prototype.refresh.call(this)};return a});define("lR",["require","ek","lx","om","d"],function(a){var e=a("ek"),k=a("lx"),m=a("om");a=a("d");var l=k.extend(m,function(){m.call(this)});l.wc={layout:a.Cg};e.defaults(l.wc,m.wc);l.prototype.pb=function(){this.Dn(l.wc)};return l}); 3654define("mD","require ek lx oR cB mZ d om lR hx ge e nz nU gY".split(" "),function(a){var e=a("ek"),k=a("lx"),m=a("oR"),l=a("cB"),b=a("mZ"),h=a("d"),d=a("om"),c=a("lR"),f=a("hx"),g=a("ge");a("e");a("nz");a("nU");var p=a("gY"),q=k.extend(f,function(){f.call(this);this.Ae("Window");this.jx=this.bF=this.eO=this.el=null;
3654this.U2=new d;this.DF=null;this.Y5=this.X5=0;this.OC=this.$ra=!1;this.gba=this.hba=void 0;for(var n in q.f3a)this.NC(n);this.bind(m.lc,this.wUa,this);this.bind(m.uJ,this.uUa,this);this.bind(m.DJ, 3655this.xUa,this);this.bind(m.ra,this.tUa,this);this.TX=0;this.Bf=new d;this.Bf.ka({visible:!1,includeInLayout:!1,layout:"absolute",height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:!1});this.Bf.bind(m.lc,this.bua,this);this.Bf.bind(m.DJ,this.oUa,this);this.Bf.bind(m.uJ,this.nUa,this);this.Bf.bind(m.ra,this.mUa,this);this.Bf.Wa(this)});q.prototype.set=function(n,r){switch(n){case "maxWidth":this.hba=r;this.JX();break;case "maxHeight":this.gba=r;this.JX();break;case "children":this.U2.set(n, 3656r);break;case "shadow":this.$ra=r;this.Xta();break;default:f.prototype.set.call(this,n,r)}};q.prototype.show=function(n,r){this.JX(n);this.set("visible",!1);this.Bf.set("visible",!1);this.FFa();r&&this.jVa();r=n.get("children");n.set("children",r.concat([this.Bf]));var t=this;e.defer(function(){t.Bf.set("visible",!0)})};q.prototype.FFa=function(){var n=this.B("modal"),r=this.B("veilShowEffect"),t=this.B("veilHideEffect");n&&r?this.Bf.set("showEffect",r):this.Bf.set("showEffect",null);n&&t?this.Bf.set("hideEffect", 3657t):this.Bf.set("hideEffect",null)};q.prototype.hide=function(){this.get("visible")&&this.trigger(m.mCa);this.TX=0;this.QW(!1);this.set("visible",!1)};q.prototype.jVa=function(){this.set("centerX",0);this.set("centerY",0)};q.prototype.get=function(n,r){return"children"==n?this.U2.get(n,r):f.prototype.get.call(this,n,r)};q.xha={headerBackgroundOpacity:"backgroundOpacity",headerBackgroundColor:"backgroundColor",headerBackgroundColorRatios:"backgroundColorRatios",headerBackgroundColorDirection:"backgroundColorDirection", 3658headerBorderSize:"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", 3659headerVerticalAlign:"verticalAlign"};q.wha=e(q.xha).keys();q.S1={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius",borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};q.R1="borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderTopRadius borderRadius".split(" ");q.Pha={title:"text",titleFontFamily:"fontFamily",titleFontSize:"fontSize",titleFontColor:"fontColor", 3660titleFontWeight:"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"}; 3661q.Oha=e(q.Pha).keys();q.rha={closeButtonBackgroundColor:"backgroundColor",closeButtonBackgroundColorDirection:"backgroundColorDirection",closeButtonBackgroundColorRatios:"backgroundColorRatios",closeButtonBackgroundOpacity:"backgroundOpacity",closeButtonBorderColor:"borderColor",closeButtonBorderRadius:"borderRadius",closeButtonBorderSize:"borderSize",closeButtonHeight:"height",closeButtonIconColor:"iconColor",closeButtonIconHeight:"iconHeight",closeButtonIconLineWidth:"iconLineWidth",closeButtonIconWidth:"iconWidth", 3662closeButtonOpacity:"opacity",closeButtonWidth:"width",closeButtonPaddingBottom:"paddingBottom",closeButtonPaddingLeft:"paddingLeft",closeButtonPaddingRight:"paddingRight",closeButtonPaddingTop:"paddingTop",closeButtonRollOverBackgroundColor:"rollOverBackgroun
3662dColor",closeButtonRollOverBackgroundColorDirection:"rollOverBackgroundColorDirection",closeButtonRollOverBackgroundColorRatios:"rollOverBackgroundColorRatios",closeButtonRollOverBackgroundOpacity:"rollOverBackgroundOpacity",closeButtonRollOverBorderColor:"rollOverBorderColor", 3663closeButtonRollOverBorderSize:"rollOverBorderSize",closeButtonRollOverIconColor:"rollOverIconColor",closeButtonRollOverIconLineWidth:"rollOverIconLineWidth",closeButtonRollOverOpacity:"rollOverOpacity",closeButtonPressedBackgroundColor:"pressedBackgroundColor",closeButtonPressedBackgroundColorDirection:"pressedBackgroundColorDirection",closeButtonPressedBackgroundColorRatios:"pressedBackgroundColorRatios",closeButtonPressedBackgroundOpacity:"pressedBackgroundOpacity",closeButtonPressedBorderColor:"pressedBorderColor", 3664closeButtonPressedBorderSize:"pressedBorderSize",closeButtonPressedIconColor:"pressedIconColor",closeButtonPressedIconLineWidth:"pressedIconLineWidth",closeButtonPressedOpacity:"pressedOpacity"};q.qha=e(q.rha).keys();q.tha={footerBackgroundOpacity:"backgroundOpacity",footerBackgroundColor:"backgroundColor",footerBackgroundColorRatios:"backgroundColorRatios",footerBackgroundColorDirection:"backgroundColorDirection",footerBorderSize:"borderSize",footerBorderLeftSize:"borderLeftSize",footerBorderTopSize:"borderTopSize", 3665footerBorderRightSize:"borderRightSize",footerBorderBottomSize:"borderBottomSize",footerBorderColor:"borderColor",footerBorderLeftColor:"borderLeftColor",footerBorderTopColor:"borderTopColor",footerBorderRightColor:"borderRightColor",footerBorderBottomColor:"borderBottomColor",footerHeight:"height"};q.sha=e(q.tha).keys();q.vha={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius", 3666borderBottomRightRadius:"borderBottomRightRadius"};q.uha="borderLeftRadius borderRightRadius borderBottomLeftRadius borderBottomRightRadius borderBottomRadius borderRadius".split(" ");q.nha={bodyBackgroundOpacity:"backgroundOpacity",bodyBackgroundColor:"backgroundColor",bodyBackgroundColorRatios:"backgroundColorRatios",bodyBackgroundColorDirection:"backgroundColorDirection",bodyBorderSize:"borderSize",bodyBorderLeftSize:"borderLeftSize",bodyBorderTopSize:"borderTopSize",bodyBorderRightSize:"borderRightSize", 3667bodyBorderBottomSize:"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", 3668scrollBarVerticalMargin:"scrollBarVerticalMargin",scrollBarOpacity:"scrollBarOpacity",gap:"gap"};q.mha=e(q.nha).keys();q.oha={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};q.hEa=e(q.oha).keys();q.Rha={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};q.Qha=e(q.Rha).keys();q.wc=function(){var n={modal:!1,visible:!1,centerX:0,centerY:0,veilShowEffect:void 0,veilHideEffect:void 0}; 3669e.defaults(n,d.wc);for(var r=[].concat(q.wha,q.Oha,q.qha,q.mha,q.sha,q.Qha),t=0;t<r.length;t++)n[r[t]]=void 0;return n}();q.prototype.pb=function(){this.Dn(q.wc)};q.prototype.Db=function(){f.prototype.Db.call(this);null==this.el&&(this.el=new c,this.el.set("width","100%"),this.el.bind(m.wb,this.wLa,this),this.Wa(this.el));null==this.eO&&(this.eO=new p,this.eO.set("width","100%"),this.el.Wa(this.eO));null==this.bF&&(this.bF=new g,this.bF.ka({horizontalAlign:b.De,verticalAlign:b.fe}),this.bF.bind(m.ra, 3670this.XGa,this),this.el.Wa(this.bF));null==this.jx&&(this.jx=this.U2,this.jx.ka({width:"100%",height:"100%"}),this.Wa(this.jx));null==this.DF&&(this.DF=new d,this.DF.set("width","100%"),this.Wa(this.DF))};q.prototype.mUa=function(){this.TX++;setTimeout(function(){0<this.TX&&this.hide()}.bind(this),100)};q.prototype.tUa=function(){this.TX--};q.prototype.XGa=function(){this.hide()};q.prototype.wLa=function(n){this.X5=n.pageX;this.Y5=n.pageY;this.Gb().bind(m.kc,this.lua,this,!0);this.Gb().bind(m.Zb,this.mua, 3671this,!0)};q.prototype.lua=function(n){this.set("centerX",this.get("centerX")+(n.pageX-this.X5));this.set("centerY",this.get("centerY")+(n.pageY-this.Y5));this.X5=n.pageX;this.Y5=n.pageY;this.Wta()};q.prototype.mua=function(){this.Gb().unbind(m.kc,this.lua,this);this.Gb().unbind(m.Zb,this.mua,this)};q.prototype.bua=function(){this.JX()};q.prototype.oUa=function(){this.set("visible",!0)};q.prototype.nUa=function(){this.Bf.unbind(m.lc,this.bua,this);var n=this.Bf.getParent();n&&n.removeChild(this.Bf); 3672this.trigger(new l(m.pE))};q.prototype.wUa=function(){this.Wta()};q.prototype.xUa=function(){this.QW(!0)};q.prototype.uUa=function(){this.Bf.set("visible",!1)};q.prototype.QW=function(n){this.OC=n;this.Xta()};q.prototype.Xta=function(){f.prototype.set.call(this,"shadow",this.OC&&this.$ra)};q.prototype.JX=function(n){n||(n=this.la);void 0!==this.hba?f.prototype.set.call(this,"maxWidth",this.hba):n?f.prototype.set.call(this,"maxWidth",n.Xa()):f.prototype.set.call(this,"maxWidth",void 0);void 0!==this.gba? 3673f.prototype.set.call(this,"maxHeight",this.gba):n?f.prototype.set.call(this,"maxHeight",n.Ab()):f.prototype.set.call(this,"maxHeight",void 0)};q.prototype.Wta=function(){var n=this.Bf.Xa(),r=this.Xa(),t=this.get("centerX");r=.5*n+t-.5*r;var u=this.el.Kl(),v=this.el.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.Bf.Ab();r=this.Ab();t=this.get("centerY");r=.5*n+t-.5*r;u=this.el.Is();v=this.el.Ab();w=Math.min(v,5);n=n-u-w;u=-(u+v-w);r< 3674u?this.set("centerY",t+(u-r)):r>n&&this.set("centerY",t-(r-n))};q.prototype.Va=function(){this.mc(q.wha,q.xha,[this.el],!0,!0);this.mc(q.R1,q.S1,[this.el],!0,!1);0===this.get("headerHeight")?this.mc(q.R1,q.S1,[this.jx],!0,!1):this.mc(q.R1,q.S1,[this.el],!0,!1);
3674this.mc(q.Oha,q.Pha,[this.eO],!0,!0);this.mc(q.qha,q.rha,[this.bF],!0,!0);this.mc(q.mha,q.nha,[this.jx],!0,!0);this.mc(q.hEa,q.oha,[this.jx],!0,!1);this.mc(q.sha,q.tha,[this.DF],!0,!0);0===this.get("footerHeight")?this.mc(q.uha,q.vha,[this.jx], 3675!0,!1):this.mc(q.uha,q.vha,[this.DF],!0,!1);this.B("modal")?(this.mc(q.Qha,q.Rha,[this.Bf],!0,!0),this.Bf.set("contentOpaque",!0)):(this.Bf.set("backgroundOpacity",0),this.Bf.set("contentOpaque",!1));this.ka({layout:h.wh,horizontalAlign:b.De,verticalAlign:b.fe});f.prototype.Va.call(this);this.Ln.z_(0)};return q});define("el",["require","mD","nH"],function(a){var e=a("mD");a=a("nH").define("Window",e,function(){e.call(this)});a.prototype.show=a.prototype.show;a.prototype.hide=a.prototype.hide;return a}); 3676define("nd","require jquery.mod ek kJ oR id cB gp bh ou bG kF mm v lx".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.tI=this.source.get("grayscale");this.Wv=new q(h.Sk)}var k=a("jquery.mod"),m=a("ek"),l=a("kJ"),b=a("oR"),h=a("id"),d=a("cB"),c=a("gp"),f=a("bh"),g=a("ou"),p=a("bG"),q=a("kF"),n=a("mm"),r=a("v"),t=a("lx"),u=t.extend(c,function(){c.call(this);this.ZU=this.ZU.bind(this);this.Eg= 3677null;this.we=[];this.Em=[];this.Tb=this.Jb=this.Bd=this.sd=100;this.lf=1;this.qx=this.px=.5;this.Cc=1;this.jj=this.Pi=null;this.LV=!1;this.L3={};this.gF={};this.gF.low={};this.gF.hight={};r.SH()==r.nJ&&(this.gF.low.transform="translateZ(0)",this.gF.hight.transform="");this.W=!1;this.Dh="inherit";this.oa=k("<div/>").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.gL=null;this.Ue=t.Bo(this.fa,this)});u.prototype.Bc=function(){return this.oa};u.prototype.Kz=function(v){this.Af!= 3678v&&(this.Af=v,this.J2(1),this.Ue())};u.prototype.aea=function(v){this.Dh!=v&&(this.Dh=v,this.jj&&this.jj.css("cursor",this.Dh),this.Pi&&this.Pi.css("cursor",this.Dh))};u.prototype.J_a=function(v){this.we!=v&&(this.we&&l.ca(this.we,["levels.url"],this.ZU),(this.we=v)&&l.ga(this.we,["levels.url"],this.ZU,!0))};u.prototype.ZU=function(){this.j3();this.Eg=null;this.Pi&&(this.Pi.detach(),this.Pi=null);this.jj&&(this.jj.detach(),this.jj=null);this.dg&&(this.dg=null);this.j3();this.LV=!1;m(this.Em).each(function(w){w.Wv.cancel(); 3679w.Wv.unbind(b.Z,this.Jma,this)},this);var v=(this.we&&this.we.get("levels")||[]).filter(function(w){return w.get("url")});this.Em=m(v).map(function(w){w=new e(w);w.Wv.bind(b.Z,this.Jma,this);return w},this);(v=this.vKa())?(this.Jb=v.width,this.Tb=v.height):this.Tb=this.Jb=100;this.qx=this.px=.5;this.J2(1);this.Ue()};u.prototype.VD=function(v,w){if(this.sd!=v||this.Bd!=w)this.sd=v,this.Bd=w,this.Ue()};u.prototype.t_a=function(v,w){if(this.Qja!=v||this.Pja!=w)this.Qja=v,this.Pja=w,this.Ue()};u.prototype.Wb= 3680function(v){this.W!=v&&(this.W=v,this.Ue())};u.prototype.move=function(v,w){var x=this.lf*this.Cc;this.px+=v/(this.Jb*x);this.qx+=w/(this.Tb*x);this.mW()};u.prototype.yD=function(){return this.Cc};u.prototype.setScale=function(v){this.J2(Math.max(1,Math.min(1/this.lf,v)));this.Eg&&this.Eg.width<this.Cc*this.lf*this.Jb&&this.Eg.width<this.Jb?this.fa():this.mW()};u.prototype.sxa=function(v){if(!this.Pi)return!1;var w=this.Pi.offset(),x=v.pageX-w.left;v=v.pageY-w.top;return 0<=x&&0<=v&&x<this.Pi.width()&& 3681v<this.Pi.height()};u.prototype.fa=function(){if(this.W){this.ZTa();var v=this.CKa();v&&v.Wv.Vh()?(v!=this.Eg&&(this.Eg||(this.Ue(),this.LV=!0),this.qIa(v),this.Eg=v),this.Era(null)):this.Era(v);this.mW()}};u.prototype.ZTa=function(){switch(this.Af){case n.Ro:var v=this.sd/this.Jb;break;case n.Rj:v=this.Bd/this.Tb;break;case n.Zq:v=this.Jb*this.Bd>this.Tb*this.sd?this.Bd/this.Tb:this.sd/this.Jb;break;case n.rCa:v=Math.min(this.Qja/this.Jb,this.Pja/this.Tb);break;default:v=this.Jb*this.Bd>this.Tb* 3682this.sd?this.sd/this.Jb:this.Bd/this.Tb}this.AFa(v)};u.prototype.Jma=function(){this.Ue()};u.prototype.qIa=function(v){this.jj&&(this.P9(this.jj,1),this.Pi&&this.Pi.detach(),this.Pi=this.jj);this.jj=this.IHa(v);this.P9(this.jj,0);this.oa.append(this.jj);this.dg=this.zHa();this.L3={}};u.prototype.CKa=function(){return this.Eg?this.JJa(this.Cc*this.lf*this.Jb):this.$Ka()};
3682u.prototype.Era=function(v){m(this.Em).each(function(w){w==v?w.Wv.ui()!=w.url&&w.Wv.load(w.url):w.Wv.Vh()||w.Wv.cancel()})};u.prototype.vKa= 3683function(){return m(this.Em).reduce(function(v,w){v||(v=w);if(w.width>v.width||w.width==v.width&&!w.tI&&v.tI)v=w;return v},null)};u.prototype.$Ka=function(){return m(this.Em).reduce(function(v,w){v||(v=w);if(w.width<v.width||w.width==v.width&&w.tI&&!v.tI)v=w;return v},null)};u.prototype.JJa=function(v){return m(this.Em).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.tI&&w.tI)w=x;return w},null)};u.prototype.IHa=function(v){v=k(v.Wv.rf(!0)); 3684v.css({position:"absolute",cursor:this.Dh,"pointer-events":"none"});return v};u.prototype.zHa=function(){return new g("linear",[new p("alpha",0,1)],200)};u.prototype.mW=function(){f.requestFrame(function(v){this.nN(v,"low")},this)};u.prototype.fca=function(){return this.Jb*this.Cc*this.lf};u.prototype.eca=function(){return this.Tb*this.Cc*this.lf};u.prototype.awa=function(){var v=this.fca();return v>this.sd?Math.max(this.sd-v,Math.min(0,.5*this.sd-v*this.px)):.5*(this.sd-v)};u.prototype.bwa=function(){var v= 3685this.eca();return v>this.Bd?Math.max(this.Bd-v,Math.min(0,.5*this.Bd-v*this.qx)):.5*(this.Bd-v)};u.prototype.nN=function(v,w){w=w||"low";var x=this.fca(),y=this.awa(),z=this.eca(),C=this.bwa();this.px=(.5*this.sd-y)/x;this.qx=(.5*this.Bd-C)/z;x={left:Math.round(y)+"px",top:Math.round(C)+"px",width:Math.round(x)+"px",height:Math.round(z)+"px",display:"block"};for(var A in this.gF[w])x[A]=this.gF[w][A];this.L3!=x&&(this.Pi&&this.Pi.css(x),this.jj&&this.jj.css(x),this.L3=x);this.j3();this.dg?(this.dg.Cb(v), 3686this.P9(this.jj,this.dg.fb("alpha")),this.dg.Oe()&&(this.dg=null,this.Pi&&this.Pi.detach(),this.Pi=this.jj,this.jj=null),this.mW()):"low"==w&&this.CRa();!this.dg&&this.LV&&(this.LV=!1,this.trigger(new d(b.Z)))};u.prototype.P9=function(v,w){v.css({opacity:w,filter:"alpha(opacity="+Math.round(100*w)+")","-ms-filter":"alpha(opacity="+Math.round(100*w)+")"})};u.prototype.j3=function(){null!=this.gL&&(clearTimeout(this.gL),this.gL=null)};u.prototype.CRa=function(){var v=this;this.gL=setTimeout(function(){v.gL= 3687null;v.nN(50,"hight")},50)};u.prototype.J2=function(v){this.Cc!=v&&(this.Cc=v,this.NSa())};u.prototype.AFa=function(v){this.lf!=v&&(this.lf=v)};u.prototype.NSa=function(){this.trigger(new d(u.hR,{scale:this.Cc}))};u.hR="scaleChange";return u}); 3688define("kv","require jquery.mod oR cB nd lx e S".split(" "),function(a){a("jquery.mod");var e=a("oR"),k=a("cB"),m=a("nd"),l=a("lx"),b=a("e"),h=a("S"),d=l.extend(b,function(){b.call(this);this.Ae("ZoomImage");this.cv=this.Sm=void 0;this.uk=!1;this.fqa=void 0;this.jma=this.Cc;this.FO=null;this.j=new m;this.j.bind(e.Z,this.RNa,this);this.j.bind(m.hR,this.SNa,this);this.Fb().append(this.j.Bc());this.bind(e.lc,this.hc,this,!0);this.bind(e.ld,this.mk,this,!0);this.bind(e.hd,this.hk,this,!0);this.bind(e.wb, 3689this.Nd,this,!0);this.bind(e.kc,this.sj,this,!0);this.bind(e.Zb,this.tj,this,!0);this.bind(e.cr,this.ZB,this,!0);this.bind(e.uE,this.xB,this,!0)});d.prototype.set=function(c,f){switch(c){case "scale":this.j.setScale(f);f=this.j.yD();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}b.prototype.set.call(this,c,f)};d.prototype.get=function(c,f){switch(c){case "scale":return this.j.yD();case "imageLeft":return this.j.awa();case "imageTop":return this.j.bwa();case "imageWidth":return this.j.fca(); 3690case "imageHeight":return this.j.eca()}return b.prototype.get.call(this,c,f)};d.prototype.pb=function(){b.prototype.pb.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")};d.prototype.Va=function(){this.I("scaleMode")&&(this.j.Kz(this.B("scaleMode")),this.P("scaleMode"));this.I("image")&&(this.j.J_a(this.B("image")),this.P("image"),this.jma=this.Cc);if(this.I("customHeight")|| 3691this.I("customWidth"))this.P("customHeight"),this.P("customWidth"),this.hc();this.I("imageCursor")&&(this.P("imageCursor"),this.j.aea(this.hb.b4.Sva(this.get("imageCursor"))));b.prototype.Va.call(this)};d.prototype.hc=function(){var c=this.Xa(),f=this.Ab(),g=this.get("customWidth","100%"),p=h.Do(g);g=void 0!==p?c*p/100:g;p=this.get("customHeight","100%");var q=h.Do(p);this.j.t_a(g,void 0!==q?f*q/100:p);this.j.VD(c,f)};d.prototype.mk=function(){this.j.Wb(!0)};d.prototype.hk=function(){this.j.Wb(!1)}; 3692d.prototype.Nd=function(c){this.Sm=c.x;this.cv=c.y;this.uk=!0;this.fqa=this.j.sxa(c)};d.prototype.sj=function(c){this.uk&&(this.Paa(),this.j.move(-(c.x-this.Sm),-(c.y-this.cv)),this.Sm=c.x,this.cv=c.y)};d.prototype.tj=function(c){this.uk=!1;this.fqa||this.j.sxa(c)||this.trigger(new k(d.ACa))};d.prototype.ZB=function(c){this.Paa();this.j.setScale((1+c.delta/20)*this.j.yD())};d.prototype.xB=function(c){this.Paa();this.j.setScale(c.scale/this.jma)};d.prototype.RNa=function(){this.trigger(new k(e.Z))}; 3693d.prototype.SNa=function(){b.prototype.set.call(this,"scale",this.j.yD());this.trigger(new k(d.hR))};d.prototype.Paa=function(){this.FO?(clearTimeout(this.FO),this.FO=null):this.trigger(new k(d.Ei));this.FO=setTimeout(function(){this.FO=null;this.trigger(new k(d.Di))}.bind(this),300)};d.ACa="backgroundClick";d.hR="scaleChange";d.Ei="userInteractionStart";d.Di="userInteractionEnd";return d});define("nW",["require","kv","nH"],function(a){var e=a("kv");return a("nH").define("ZoomImage",e,function(){e.call(this)})}); 3694define("jm","require nH jw if nP eu eg eT or jN jy gl fU hX k jv kk lX oA hq io lc gU fL dt bC jW nL jQ kP mH fE q js ea ef oH mV cY jV nq it mf hm O cQ u lM gn Y kq by bm np ok jj fi mi lJ jo bM cK os jD nm lg R pu gf dp er ja bX bf gc fo gW iJ bI pi pt fj jY mu iG p dM kH mv i
3694I ei fd pr hu kW fb my bP lF iF bk pg go ox cD cF lB oQ jG gI ko hb lL ny hT ky kN pj eC iN nv eS ir T oS dS gA bH iW fz ba kx eX mJ lN fn gN eU cn ix nX ml fB oy bu oc gX fp gD dr mW cr hZ mU kl hA bZ iB dD bQ kh jI oF fS gB ci hY lr fq ey hF dz bA cq el nW".split(" "), 3695function(a){a("nH");a("jw");a("if");a("nP");a("eu");a("eg");a("eT");a("or");a("jN");a("jy");a("gl");a("fU");a("hX");a("k");a("jv");a("kk");a("lX");a("oA");a("hq");a("io");a("lc");a("gU");a("fL");a("dt");a("bC");a("jW");a("nL");a("jQ");a("kP");a("mH");a("fE");a("q");a("js");a("ea");a("ef");a("oH");a("mV");a("cY");a("jV");a("nq");a("it");a("mf");a("hm");a("O");a("cQ");a("u");a("lM");a("gn");a("Y");a("kq");a("by");a("bm");a("np");a("ok");a("jj");a("fi");a("mi");a("lJ");a("jo");a("bM");a("cK");a("os"); 3696a("jD");a("nm");a("lg");a("R");a("pu");a("gf");a("dp");a("er");a("ja");a("bX");a("bf");a("gc");a("fo");a("gW");a("iJ");a("bI");a("pi");a("pt");a("fj");a("jY");a("mu");a("iG");a("p");a("dM");a("kH");a("mv");a("iI");a("ei");a("fd");a("pr");a("hu");a("kW");a("fb");a("my");a("bP");a("lF");a("iF");a("bk");a("pg");a("go");a("ox");a("cD");a("cF");a("lB");a("oQ");a("jG");a("gI");a("ko");a("hb");a("lL");a("ny");a("hT");a("ky");a("kN");a("pj");a("eC");a("iN");a("nv");a("eS");a("ir");a("T");a("oS");a("dS"); 3697a("gA");a("bH");a("iW");a("fz");a("ba");a("kx");a("eX");a("mJ");a("lN");a("fn");a("gN");a("eU");a("cn");a("ix");a("nX");a("ml");a("fB");a("oy");a("bu");a("oc");a("gX");a("fp");a("gD");a("dr");a("mW");a("cr");a("hZ");a("mU");a("kl");a("hA");a("bZ");a("iB");a("dD");a("bQ");a("kh");a("jI");a("oF");a("fS");a("gB");a("ci");a("hY");a("lr");a("fq");a("ey");a("hF");a("dz");a("bA");a("cq");a("el");a("nW");return!0}); 3698define("gv","require ek jquery.mod lx nH bY jm ms".split(" "),function(a){function e(n,r){this.type=n;this.stack=r}function k(){}var m=a("ek"),l=a("jquery.mod"),b=a("lx"),h=a("nH"),d=a("bY");a("jm");a("ms");k.prototype.jZa=function(n,r,t,u){this.M4=[];this.Oy=this.PG(n);this.JB=void 0;this.Oy.Bs.ewa()?(this.Raa=d.validate(n),this.JB=this.Uka(this.Oy,c.TYPE),this.LHa(this.JB,this.Oy,r,t,u),this.vFa(this.Oy),this.tFa(this.Oy,this.JB),this.wFa(this.JB,this.Oy),this.OFa(this.JB,this.Oy)):this.xn("Invalid root class", 3699[]);return 0==this.M4.length};k.prototype.Gb=function(){return this.Oy.instance};k.prototype.PG=function(n,r){r=r||[];return m(n).isArray()?this.WOa(n,r):l.isPlainObject(n)&&n["class"]?this.ZOa(n,r):l.isPlainObject(n)?this.XOa(n,r):m(n).isFunction()?this.YOa(n,r):this.$Oa(n,r)};k.prototype.WOa=function(n,r){for(var t=[],u=0;u<n.length;u++)r.push("Item["+u+"]"),t.push(this.PG(n[u],r)),r.pop();return new f(r.slice(),t)};k.prototype.ZOa=function(n,r){var t=n["class"],u=h.Fj(n["class"]);if(u){t={};var v= 3700{},w;for(w in n){r.push(w);var x=n[w];switch(w){case "class":break;case "scripts":var y=this.PG(x,r);break;default:u.hasAttribute(w)?t[w]=this.PG(x,r):u.Jwa(w)||u.Kwa(w)?v[w]=this.PG(x,r):this.xn(u.vD()+" object doesn't have any attribute named "+w,r)}r.pop()}return new c(r.slice(),u,n.id,t,v,y)}this.xn("Undefined class name: "+t,r.slice());return new q(r.slice(),null)};k.prototype.XOa=function(n,r){var t={},u;for(u in n)r.push(u),t[u]=this.PG(n[u],r),r.pop();return new g(r.slice(),t)};k.prototype.YOa= 3701function(n,r){return new p(r.slice(),n)};k.prototype.$Oa=function(n,r){return new q(r.slice(),n)};k.prototype.Uka=function(n,r){var t=r&&n.type!=r?[]:[n],u=0;for(n=n.Lb();u<n.length;u++)t=t.concat(this.Uka(n[u],r));return t};k.prototype.LHa=function(n,r,t,u,v){r.instance=r.Bs.an(null,u,v,[t,this.Raa]);r.instance.set("application",r.instance);for(t=0;t<n.length;t++){var w=n[t];w!=r&&(w.instance=w.Bs.an(r.instance,u,v))}};k.prototype.vFa=function(n){if(n.scripts)if(n.scripts.type==g.TYPE)for(var r in n.scripts.value)this.uFa(n, 3702r);else this.xn("Invalid content.",n.scripts.stack)};k.prototype.uFa=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.Rs().apply(t,arguments)}:this.xn("Invalid content.",u.stack):this.xn("Identifier: "+r+" is already in use",u.stack)};k.prototype.tFa=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.xn("Identifier: "+v+" is arleady in use",u.stack))}};k.prototype.wFa= 3703function(n,r){for(var t=0;t<n.length;t++){var u=n[t],v=u.attributes,w;for(w in v)this.sFa(u,w,r)}};k.prototype.sFa=function(n,r,t){var u=n.Bs;if(u.hasAttribute(r)){try{var v=n.attributes[r].Rs()}catch(w){this.xn("Invalid value for property "+r+" of "+u.vD()+" instance",n.stack)}try{v=u.Wba(r)(v,t.instance),n.instance.set(r,v)}catch(w){this.xn("Invalid value for property "+r+" of "+u.vD()+" instance",n.stack)}}else this.xn(u.vD()+" object doesn't have any property named "+r,n.stack)};k.prototype.OFa= 3704function(n,r){for(var t=0;t<n.length;t++){var u=n[t],v;for(v in u.rD)this.NFa(u,v,r)}};k.prototype.NFa=function(n,r,t){var u=n.Bs,v=n.instance,w=u.Jwa(r),x=u.Kwa(r);if(w||x){n=n.rD[r];var y=n.Rs();m(y).isFunction()?v.bind(r,y,t.instance,x,y):"string"==typeof y?v.bind(r,function(){try{eval("var event = arguments[0];"+y)}catch(z){throw z;}},t.instance,x,y):this.xn("Invalid value.",n.stack)}else this.xn(u.vD()+" object doesn't have any event named "+r,n.stack)};k.prototype.xn=function(n,r){this.M4.push("In "+
3705r.join(" >> ")+": "+n)};e.prototype.Lb=function(){return[]};e.prototype.Rs=function(){};var c=b.extend(e,function(n,r,t,u,v,w){e.call(this,c.TYPE,n);this.Bs=r;this.id=t;this.attributes=u;this.rD=v;this.scripts=w;this.instance=null});c.prototype.Lb=function(){var n=this.Bs.owa(),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.Rs=function(){return this.instance};c.TYPE="instance";var f= 3706b.extend(e,function(n,r){e.call(this,f.TYPE,n);this.items=r});f.prototype.Lb=function(){return this.items.slice()};f.prototype.Rs=function(){for(var n=[],r=0;r<this.items.length;r++)n.push(this.items[r].Rs());return n};f.TYPE="array";var g=b.extend(e,function(n,r){e.call(this,g.TYPE,n);this.value=r});g.prototype.Lb=function(){return m(this.value).values()};g.prototype.Rs=function(){var n={},r;for(r in this.value)n[r]=this.value[r].Rs();return n};g.TYPE="dict";var p=b.extend(e,function(n,r){e.call(this, 3707p.TYPE,n);this.value=r});p.prototype.Rs=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.Rs=function(){return this.value};q.TYPE="simple";return k}); 3708define("mX","require ek oR cB nH gv v eV ms kt hD nf oP nj lx".split(" "),function(a){function e(u,v){this.bO=u;this.Fj=this.Fj.bind(this);this.an=this.an.bind(this);this.$H=this.$H.bind(this);this.Oa=this.Oa.bind(this);this.SY=this.SY.bind(this);h.lb()&&!h.Of()&&n.Aq();this.GS=[];u=p.name;var w=[];u&&w.push(u);0<p.SP?w.push("v:"+p.SP+"."+p.UP):w.push("v:"+p.UP);r.log(w.join(" "));this.Go=v;c.WXa()||0<=[h.nE,h.Bw].indexOf(h.browser())?(this.ul=new b,(v=this.Go.get(TDV.PlayerSettings.BASE_DIR_URL))? 3709(v=c.tw(v),"/"!=v[v.length-1]&&(v+="/")):v=c.getDirectory(this.Go.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)),this.Fda=this.Go.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS),d.wZa(v,function(x){this.sba=x;this.uOa()}.bind(this))):window.alert(q("web-server-required"))}var k=a("ek"),m=a("oR");a("cB");var l=a("nH"),b=a("gv"),h=a("v"),d=a("eV"),c=a("ms"),f=a("kt"),g=a("hD"),p=a("nf"),q=a("oP"),n=a("nj"),r=a("lx");e.prototype.uOa=function(){this.bO.trigger(new TDV.pR(m.DDa,{},[],void 0));k.defer(function(){if(!this.ul.jZa(this.Go.get(TDV.PlayerSettings.SCRIPT_DATA), 3710this.Go.get(TDV.PlayerSettings.CONTAINER),this.sba,this.Fda)){if("false"!=p.u1a){window.alert(this.Hla());return}r.log(this.Hla())}this.MFa();this.kFa(this.Go);this.yFa();f.initialize(function(){this.PSa()}.bind(this))}.bind(this))};e.prototype.clear=function(){this.ul&&(this.xla().forEach(function(u){u.instance.bfa();u.Bs.qP().forEach(function(v){switch(v){case "VideoPlayer":u.instance.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":u.instance.set("viewerArea", 3711null);break;case "ZoomImage":u.instance.set("image",null);break;case "Audio":u.instance.stop();break;case "Effect":u.instance.end();break;case "Media":u.instance.MZa()}})}),g.pZa(),this.ul.Gb().clear(),t={},this.Go=this.ul=null)};e.prototype.aXa=function(u){return this.ul.Gb()[u]};e.prototype.Fj=function(u){if(u in t)return t[u].slice();var v=[];this.xla().forEach(function(w){var x=w.Bs.qP();k(x).contains(u)&&v.push(w.instance)});t[u]=v;return v.slice()};e.prototype.xla=function(){return this.ul? 3712this.ul.JB.concat(this.GS):[]};var t={};e.prototype.an=function(u){var v=l.Fj(u);if(!v)throw"Invalid className: "+u;t={};u=this.ul.Gb();var w={};w.Bs=v;w.instance=v.an(u,this.sba,this.Fda);this.GS.push(w);this.Aia(v,w.instance);return w.instance};e.prototype.$H=function(u){var v=this.GS.findIndex(function(w){return w.instance==u});0>v||(t={},this.GS.splice(v,1),u.bfa(),u.dispose&&u.dispose())};e.prototype.Hla=function(){for(var u=this.ul.M4,v=["Errors parsing script file:"],w=0;w<u.length;w++)v.push(u[w]); 3713return v.join("\n")};e.prototype.MFa=function(){this.ul.JB.forEach(function(v){this.Aia(v.Bs,v.instance,v.id)}.bind(this));var u=this.ul.Gb().CS;u.bind(m.rE,function(){u.W1a(m.rE);this.bO.cookiesEnabled=this.bO.xVa=!0;this.bO.trigger(new TDV.pR(m.rE,{},[],void 0))},this,!0)};e.prototype.Aia=function(u,v,w){var x=u.qP();
3713k.union(u.aca(),u.gca()).forEach(function(y){v.bind(y,function(z){this.bO.trigger(new TDV.pR(y,z,x,w))}.bind(this),this,!0)}.bind(this))};e.prototype.kFa=function(u){this.ul.Gb().set("settings", 3714u)};e.prototype.Oa=function(){return l.Oa.apply(l,arguments)};e.prototype.SY=function(u){!u||c.wz(u)||c.qZ(u)||(u=c.hz(c.tw(u,this.sba),this.Fda));return u};e.prototype.yFa=function(){var u=this.ul.Gb();u.getByClassName=u.Fj=this.Fj;u.createInstance=u.an=this.an;u.disposeInstance=u.$H=this.$H;u.isInstanceOfClass=u.Oa=this.Oa;u.getAbsoluteURL=u.SY=this.SY};e.prototype.PSa=function(){this.ul.Gb().start()};e.T1a=function(u){u.trigger(new TDV.pR(m.dDa,{},[],void 0))};return e}); 3715define("main",["require","jquery.mod","mX"],function(a){var e=a("jquery.mod"),k=a("mX");e(document).ready(function(){TDV.ob.p0a(k)})}); 3716(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)}
vendor: 4,185 bytes, line 3716
3716,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}
vendor: 3,730 bytes, line 3716
3716rotateAround(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)}
3716function $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.t
vendor: 24,816 bytes, line 3716
3716ype,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.radiu
vendor: 8,394 bytes, line 3716
3716s=.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
vendor: 5,990 bytes, line 3716
3716]=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
vendor: 16,884 bytes, line 3716
3716),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++}
vendor: 1,685 bytes, line 3716
3716),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}
vendor: 16,384 bytes, line 3716
3716if(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.w
vendor: 4,836 bytes, line 3716
3716ireframeLinecap="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}
vendor: 7,336 bytes, line 3716
3716onUpload(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
vendor: 10,697 bytes, line 3716
3716);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
vendor: 13,271 bytes, line 3716
3716(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;
vendor: 4,109 bytes, line 3716
3716p.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 );
3716\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 + dis
3716placementBias );\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}
3716 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}
3716\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;
3716\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 );
3716\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 );
vendor: 5,468 bytes, line 3716
3716\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
3716GeometricContext 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 c
3716omputeSpecularOcclusion( 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 );
3716\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 );
vendor: 14,803 bytes, line 3716
3716\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\t
3716uniform 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;
3716\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;
3716\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 <m
3716ap_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;
3716\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;
3716\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)}}
vendor: 7,256 bytes, line 3716
3716,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:"Backgroun
3716dCubeMaterial",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.isWebG
vendor: 2,232 bytes, line 3716
3716L2&&(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}}
vendor: 45,745 bytes, line 3716
3716function 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
3716)+"\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,alph
3716aMap: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.pu
vendor: 11,274 bytes, line 3716
3716sh(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>
3716\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[
vendor: 35,532 bytes, line 3716
3716n.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&<===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;
vendor: 6,426 bytes, line 3716
3716if(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}
3716,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.
vendor: 5,554 bytes, line 3716
3716normalMap,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=[];
3716const 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"];
vendor: 30,652 bytes, line 3716
3716if(!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&<.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&<.beginShadows();const n=v.state.shadowsArray;if(ct.render(n,t,e),!0===F&<.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&>.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(H
vendor: 4,093 bytes, line 3716
3716o.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)}
vendor: 6,897 bytes, line 3716
3716applyBoneTransform(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.applyM
vendor: 11,000 bytes, line 3716
3716atrix4(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)}
vendor: 7,039 bytes, line 3716
3716class 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}
vendor: 5,310 bytes, line 3716
3716lineTo(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}
vendor: 3,055 bytes, line 3716
3716static 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,
vendor: 4,289 bytes, line 3716
371619,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>
vendor: 6,356 bytes, line 3716
3716=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=[];
vendor: 4,251 bytes, line 3716
3716for(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={radiu
vendor: 19,566 bytes, line 3716
3716s: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}}
vendor: 14,347 bytes, line 3716
3716class 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;
vendor: 8,160 bytes, line 3716
3716case"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}}
vendor: 16,662 bytes, line 3716
3716const 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.getIn
vendor: 5,883 bytes, line 3716
3716put()),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;
vendor: 4,668 bytes, line 3716
3716for(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 no
3716de 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}
vendor: 5,207 bytes, line 3716
3716function 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;
vendor: 4,581 bytes, line 3716
3716o._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];
vendor: 8,113 bytes, line 3716
3716e[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(
3716) 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=
3716Bl,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)}
3716).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;
vendor: 20,985 bytes, line 3716
3716for(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
3716=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={}
3716){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;
3716if(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;
3716const 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}
3716else{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}}}();
3716const 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);
3716if(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}
3716const 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}
3716else 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}
3716hit.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;
3716while(!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);
3716triangle.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;
3716if(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,boun
3716dsTraverseOrder,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);
3716triangle2.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;
3716root.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}
3716bytes+=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;
3716boundsTexture.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=` 3717#ifndef TRI_INTERSECT_EPSILON 3718#define TRI_INTERSECT_EPSILON 1e-5 3719#endif 3720 3721#ifndef INFINITY 3722#define INFINITY 1e20 3723#endif 3724 3725struct BVH { 3726 3727 usampler2D index; 3728 sampler2D position; 3729 3730 sampler2D bvhBounds; 3731 usampler2D bvhContents; 3732 3733}; 3734`;const shaderIntersectFunction=` 3735 3736// Utilities 3737uvec4 uTexelFetch1D( usampler2D tex, uint index ) { 3738 3739 uint width = uint( textureSize( tex, 0 ).x ); 3740 uvec2 uv; 3741 uv.x = index % width; 3742 uv.y = index / width; 3743 3744 return texelFetch( tex, ivec2( uv ), 0 ); 3745 3746} 3747 3748ivec4 iTexelFetch1D( isampler2D tex, uint index ) { 3749 3750 uint width = uint( textureSize( tex, 0 ).x ); 3751 uvec2 uv; 3752 uv.x = index % width; 3753 uv.y = index / width; 3754 3755 return texelFetch( tex, ivec2( uv ), 0 ); 3756 3757} 3758 3759vec4 texelFetch1D( sampler2D tex, uint index ) { 3760 3761 uint width = uint( textureSize( tex, 0 ).x ); 3762 uvec2 uv; 3763 uv.x = index % width; 3764 uv.y = index / width; 3765 3766 return texelFetch( tex, ivec2( uv ), 0 ); 3767 3768} 3769 3770vec4 textureSampleBarycoord( sampler2D tex, vec3 barycoord, uvec3 faceIndices ) { 3771 3772 return 3773 barycoord.x * texelFetch1D( tex, faceIndices.x ) + 3774 barycoord.y * texelFetch1D( tex, faceIndices.y ) + 3775 barycoord.z * texelFetch1D( tex, faceIndices.z ); 3776 3777} 3778 3779void ndcToCameraRay( 3780 vec2 coord, mat4 cameraWorld, mat4 invProjectionMatrix, 3781 out vec3 rayOrigin, out vec3 rayDirection 3782) { 3783 3784 // get camera look direction and near plane for camera clipping 3785 vec4 lookDirection = cameraWorld * vec4( 0.0, 0.0, - 1.0, 0.0 ); 3786 vec4 nearVector = invProjectionMatrix * vec4( 0.0, 0.0, - 1.0, 1.0 ); 3787 float near = abs( nearVector.z / nearVector.w ); 3788 3789 // get the camera direction and position from camera matrices 3790 vec4 origin = cameraWorld * vec4( 0.0, 0.0, 0.0, 1.0 ); 3791 vec4 direction = invProjectionMatrix * vec4( coord, 0.5, 1.0 ); 3792 direction /= direction.w; 3793 direction = cameraWorld * direction - origin; 3794 3795 // slide the origin along the ray until it sits at the near clip plane position 3796 origin.xyz += direction.xyz * near / dot( direction, lookDirection ); 3797 3798 rayOrigin = origin.xyz; 3799 rayDirection = direction.xyz; 3800 3801} 3802 3803// Raycasting 3804float intersectsBounds( vec3 rayOrigin, vec3 rayDirection, vec3 boundsMin, vec3 boundsMax ) { 3805 3806 // https://www.reddit.com/r/opengl/comments/8ntzz5/fast_glsl_ray_box_intersection/ 3807 // https://tavianator.com/2011/ray_box.html 3808 vec3 invDir = 1.0 / rayDirection; 3809 3810 // find intersection distances for each plane 3811 vec3 tMinPlane = invDir * ( boundsMin - rayOrigin ); 3812 vec3 tMaxPlane = invDir * ( boundsMax - rayOrigin ); 3813 3814 // get the min and max distances from each intersection 3815 vec3 tMinHit = min( tMaxPlane, tMinPlane ); 3816 vec3 tMaxHit = max( tMaxPlane, tMinPlane ); 3817 3818 // get the furthest hit distance 3819 vec2 t = max( tMinHit.xx, tMinHit.yz ); 3820 float t0 = max( t.x, t.y ); 3821 3822 // get the minimum hit distance 3823 t = min( tMaxHit.xx, tMaxHit.yz ); 3824 float t1 = min( t.x, t.y ); 3825 3826 // set distance to 0.0 if the ray starts inside the box 3827 float dist = max( t0, 0.0 ); 3828 3829 return t1 >= dist ? dist : INFINITY; 3830 3831} 3832 3833bool intersectsTriangle( 3834 vec3 rayOrigin, vec3 rayDirection, vec3 a, vec3 b, vec3 c, 3835 out vec3 barycoord, out vec3 norm, out float dist, out float side 3836) { 3837 3838 // https://stackoverflow.com/questions/42740765/intersection-between-line-and-triangle-in-3d 3839 vec3 edge1 = b - a; 3840 vec3 edge2 = c - a; 3841 norm = cross( edge1, edge2 ); 3842 3843 float det = - dot( rayDirection, norm ); 3844 float invdet = 1.0 / det; 3845 3846 vec3 AO = rayOrigin - a; 3847 vec3 DAO = cross( AO, rayDirection ); 3848 3849 vec4 uvt; 3850 uvt.x = dot( edge2, DAO ) * invdet; 3851 uvt.y = - dot( edge1, DAO ) * invdet; 3852 uvt.z = dot( AO, norm ) * invdet; 3853 uvt.w = 1.0 - uvt.x - uvt.y; 3854 3855 // set the hit information 3856 barycoord = uvt.wxy; // arranged in A, B, C order 3857 dist = uvt.z; 3858 side = sign( det ); 3859 norm = side * normalize( norm ); 3860 3861 // add an epsilon to avoid misses between triangles 3862 uvt += vec4( TRI_INTERSECT_EPSILON ); 3863
3864 return all( greaterThanEqual( uvt, vec4( 0.0 ) ) ); 3865 3866} 3867 3868bool intersectTriangles( 3869 BVH bvh, vec3 rayOrigin, vec3 rayDirection, uint offset, uint count, 3870 inout float minDistance, 3871 3872 // output variables 3873 out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, 3874 out float side, out float dist 3875) { 3876 3877 bool found = false; 3878 vec3 localBarycoord, localNormal; 3879 float localDist, localSide; 3880 for ( uint i = offset, l = offset + count; i < l; i ++ ) { 3881 3882 uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz; 3883 vec3 a = texelFetch1D( bvh.position, indices.x ).rgb; 3884 vec3 b = texelFetch1D( bvh.position, indices.y ).rgb; 3885 vec3 c = texelFetch1D( bvh.position, indices.z ).rgb; 3886 3887 if ( 3888 intersectsTriangle( rayOrigin, rayDirection, a, b, c, localBarycoord, localNormal, localDist, localSide ) 3889 && localDist < minDistance 3890 ) { 3891 3892 found = true; 3893 minDistance = localDist; 3894 3895 faceIndices = uvec4( indices.xyz, i ); 3896 faceNormal = localNormal; 3897 3898 side = localSide; 3899 barycoord = localBarycoord; 3900 dist = localDist; 3901 3902 } 3903 3904 } 3905 3906 return found; 3907 3908} 3909 3910float intersectsBVHNodeBounds( vec3 rayOrigin, vec3 rayDirection, BVH bvh, uint currNodeIndex ) { 3911 3912 vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz; 3913 vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz; 3914 return intersectsBounds( rayOrigin, rayDirection, boundsMin, boundsMax ); 3915 3916} 3917 3918bool bvhIntersectFirstHit( 3919 BVH bvh, vec3 rayOrigin, vec3 rayDirection, 3920 3921 // output variables 3922 out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, 3923 out float side, out float dist 3924) { 3925 3926 // stack needs to be twice as long as the deepest tree we expect because 3927 // we push both the left and right child onto the stack every traversal 3928 int ptr = 0; 3929 uint stack[ 60 ]; 3930 stack[ 0 ] = 0u; 3931 3932 float triangleDistance = 1e20; 3933 bool found = false; 3934 while ( ptr > - 1 && ptr < 60 ) { 3935 3936 uint currNodeIndex = stack[ ptr ]; 3937 ptr --; 3938 3939 // check if we intersect the current bounds 3940 float boundsHitDistance = intersectsBVHNodeBounds( rayOrigin, rayDirection, bvh, currNodeIndex ); 3941 if ( boundsHitDistance == INFINITY || boundsHitDistance > triangleDistance ) { 3942 3943 continue; 3944 3945 } 3946 3947 uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy; 3948 bool isLeaf = bool( boundsInfo.x & 0xffff0000u ); 3949 3950 if ( isLeaf ) { 3951 3952 uint count = boundsInfo.x & 0x0000ffffu; 3953 uint offset = boundsInfo.y; 3954 3955 found = intersectTriangles( 3956 bvh, rayOrigin, rayDirection, offset, count, triangleDistance, 3957 faceIndices, faceNormal, barycoord, side, dist 3958 ) || found; 3959 3960 } else { 3961 3962 uint leftIndex = currNodeIndex + 1u; 3963 uint splitAxis = boundsInfo.x & 0x0000ffffu; 3964 uint rightIndex = boundsInfo.y; 3965 3966 bool leftToRight = rayDirection[ splitAxis ] >= 0.0; 3967 uint c1 = leftToRight ? leftIndex : rightIndex; 3968 uint c2 = leftToRight ? rightIndex : leftIndex; 3969 3970 // set c2 in the stack so we traverse it later. We need to keep track of a pointer in 3971 // the stack while we traverse. The second pointer added is the one that will be 3972 // traversed first 3973 ptr ++; 3974 stack[ ptr ] = c2; 3975 3976 ptr ++; 3977 stack[ ptr ] = c1; 3978 3979 } 3980 3981 } 3982 3983 return found; 3984 3985} 3986`;const shaderDistanceFunction=` 3987 3988float dot2( in vec3 v ) { 3989 3990 return dot( v, v ); 3991 3992} 3993 3994 3995// https://www.shadertoy.com/view/ttfGWl
3996vec3 closestPointToTriangle( vec3 p, vec3 v0, vec3 v1, vec3 v2, out vec3 barycoord ) { 3997 3998 vec3 v10 = v1 - v0; 3999 vec3 v21 = v2 - v1; 4000 vec3 v02 = v0 - v2; 4001 4002 vec3 p0 = p - v0; 4003 vec3 p1 = p - v1; 4004 vec3 p2 = p - v2; 4005 4006 vec3 nor = cross( v10, v02 ); 4007 4008 // method 2, in barycentric space 4009 vec3 q = cross( nor, p0 ); 4010 float d = 1.0 / dot2( nor ); 4011 float u = d * dot( q, v02 ); 4012 float v = d * dot( q, v10 ); 4013 float w = 1.0 - u - v; 4014 4015 if( u < 0.0 ) { 4016 4017 w = clamp( dot( p2, v02 ) / dot2( v02 ), 0.0, 1.0 ); 4018 u = 0.0; 4019 v = 1.0 - w; 4020 4021 } else if( v < 0.0 ) { 4022 4023 u = clamp( dot( p0, v10 ) / dot2( v10 ), 0.0, 1.0 ); 4024 v = 0.0; 4025 w = 1.0 - u; 4026 4027 } else if( w < 0.0 ) { 4028 4029 v = clamp( dot( p1, v21 ) / dot2( v21 ), 0.0, 1.0 ); 4030 w = 0.0; 4031 u = 1.0-v; 4032 4033 } 4034 4035 barycoord = vec3( u, v, w ); 4036 return u * v1 + v * v2 + w * v0; 4037 4038} 4039 4040float distanceToTriangles( 4041 BVH bvh, vec3 point, uint offset, uint count, float closestDistanceSquared, 4042 4043 out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out vec3 outPoint 4044) { 4045 4046 bool found = false; 4047 uvec3 localIndices; 4048 vec3 localBarycoord; 4049 vec3 localNormal; 4050 for ( uint i = offset, l = offset + count; i < l; i ++ ) { 4051 4052 uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz; 4053 vec3 a = texelFetch1D( bvh.position, indices.x ).rgb; 4054 vec3 b = texelFetch1D( bvh.position, indices.y ).rgb; 4055 vec3 c = texelFetch1D( bvh.position, indices.z ).rgb; 4056 4057 // get the closest point and barycoord 4058 vec3 closestPoint = closestPointToTriangle( point, a, b, c, localBarycoord ); 4059 vec3 delta = point - closestPoint; 4060 float sqDist = dot2( delta ); 4061 if ( sqDist < closestDistanceSquared ) { 4062 4063 // set the output results 4064 closestDistanceSquared = sqDist; 4065 faceIndices = uvec4( indices.xyz, i ); 4066 faceNormal = normalize( cross( a - b, b - c ) ); 4067 barycoord = localBarycoord; 4068 outPoint = closestPoint; 4069 side = sign( dot( faceNormal, delta ) ); 4070 4071 } 4072 4073 } 4074 4075 return closestDistanceSquared; 4076 4077} 4078 4079float distanceSqToBounds( vec3 point, vec3 boundsMin, vec3 boundsMax ) { 4080 4081 vec3 clampedPoint = clamp( point, boundsMin, boundsMax ); 4082 vec3 delta = point - clampedPoint; 4083 return dot( delta, delta ); 4084 4085} 4086 4087float distanceSqToBVHNodeBoundsPoint( vec3 point, BVH bvh, uint currNodeIndex ) { 4088 4089 vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz; 4090 vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz; 4091 return distanceSqToBounds( point, boundsMin, boundsMax ); 4092 4093} 4094 4095float bvhClosestPointToPoint( 4096 BVH bvh, vec3 point, 4097 4098 // output variables 4099 out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, 4100 out float side, out vec3 outPoint 4101 ) { 4102 4103 // stack needs to be twice as long as the deepest tree we expect because 4104 // we push both the left and right child onto the stack every traversal 4105 int ptr = 0; 4106 uint stack[ 60 ]; 4107 stack[ 0 ] = 0u; 4108 float closestDistanceSquared = pow( 100000.0, 2.0 ); 4109 bool found = false; 4110 while ( ptr > - 1 && ptr < 60 ) { 4111 4112 uint currNodeIndex = stack[ ptr ]; 4113 ptr --; 4114 4115 // check if we intersect the current bounds 4116 float boundsHitDistance = distanceSqToBVHNodeBoundsPoint( point, bvh, currNodeIndex ); 4117 if ( boundsHitDistance > closestDistanceSquared ) { 4118 4119 continue; 4120 4121 } 4122 4123 uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy; 4124 bool isLeaf = bool( boundsInfo.x & 0xffff0000u ); 4125 if ( isLeaf ) { 4126 4127 uint count = boundsInfo.x & 0x0000ffffu; 4128 uint offset = boundsInfo.y; 4129 closestDistanceSquared = distanceToTriangles( 4130 bvh, point, offset, count, closestDistanceSquared, 4131 4132 // outputs 4133 faceIndices, faceNormal, barycoord, side, outPoint 4134 ); 4135 4136 } else { 4137 4138 uint leftIndex = currNodeIndex + 1u; 4139 uint splitAxis = boundsInfo.x & 0x0000ffffu; 4140 uint rightIndex = boundsInfo.y; 4141 bool leftToRight = distanceSqToBVHNodeBoundsPoint( point, bvh, leftIndex ) < distanceSqToBVHNodeBoundsPoint( point, bvh, rightIndex );//rayDirection[ splitAxis ] >= 0.0; 4142 uint c1 = leftToRight ? leftIndex : rightIndex; 4143 uint c2 = leftToRight ? rightIndex : leftIndex; 4144 4145 // set c2 in the stack so we traverse it later. We need to keep track of a pointer in 4146 // the stack while we traverse. The second pointer added is the one that will be 4147 // traversed first 4148 ptr ++; 4149 stack[ ptr ] = c2; 4150 ptr ++; 4151 stack[ ptr ] = c1; 4152 4153 } 4154 4155 } 4156 4157 return sqrt( closestDistanceSquared ); 4158 4159} 4160`;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;
4160const 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;
4160if(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;
4160if(!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)}}
4160if(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;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarc
4160dfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;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
vendor: 12,056 bytes, line 4160
4160="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"
4160;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:[];
4160this.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}
4160computeFaceNormals(){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];
4160if(!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];
4160face.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;
4160data.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;
4160if(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;
4160if(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;
4160if(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"];
4160const 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");
4160if(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;
4160const 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
4160=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;
4160t++){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=
4160Rt,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,RedF
4160ormat=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);
4160return 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)
vendor: 3,939 bytes, line 4160
4160}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="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQ
vendor: 35,367 bytes, line 4160
4160RBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACai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8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogAC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FqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMy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utAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbi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"
4160;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(()=>
4160{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);
4160json.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)});
4160this.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={}}
4160}}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;
4160if(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,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
4160FDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=";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;
4160while(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()}
4160)).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];
4160if(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;
4160const 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)});
4160pending.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)}
4160else 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);
4160if(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;
4160if(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;
4160this.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}
4160if(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,Orthogra
4160phicCamera=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.Backgroun
4160d",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)}}
4160function _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:` 4161 4162 precision mediump float; 4163 precision mediump int; 4164 4165 varying vec3 vOutputDirection; 4166 4167 uniform sampler2D envMap; 4168 uniform int samples; 4169 uniform float weights[ n ]; 4170 uniform bool latitudinal; 4171 uniform float dTheta; 4172 uniform float mipInt; 4173 uniform vec3 poleAxis; 4174 4175 #define ENVMAP_TYPE_CUBE_UV 4176 #include <cube_uv_reflection_fragment> 4177 4178 vec3 getSample( float theta, vec3 axis ) { 4179 4180 float cosTheta = cos( theta ); 4181 // Rodrigues' axis-angle rotation 4182 vec3 sampleDirection = vOutputDirection * cosTheta 4183 + cross( axis, vOutputDirection ) * sin( theta ) 4184 + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); 4185 4186 return bilinearCubeUV( envMap, sampleDirection, mipInt ); 4187 4188 } 4189 4190 void main() { 4191 4192 vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); 4193 4194 if ( all( equal( axis, vec3( 0.0 ) ) ) ) { 4195 4196 axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); 4197 4198 } 4199 4200 axis = normalize( axis ); 4201 4202 gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 4203 gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); 4204 4205 for ( int i = 1; i < n; i++ ) { 4206 4207 if ( i >= samples ) { 4208 4209 break; 4210 4211 } 4212 4213 float theta = dTheta * float( i ); 4214 gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); 4215 gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); 4216 4217 } 4218 4219 } 4220 `,blending:NoBlending,depthTest:false,depthWrite:false});return shaderMaterial}function _getEquirectMaterial(){return new ShaderMaterial({name:"EquirectangularToCubeUV",uniforms:{"envMap":{value:null}},vertexShader:_getCommonVertexShader(),fragmentShader:` 4221 4222 precision mediump float; 4223 precision mediump int; 4224 4225 varying vec3 vOutputDirection; 4226 4227 uniform sampler2D envMap; 4228 4229 #include <common> 4230 4231 void main() { 4232 4233 vec3 outputDirection = normalize( vOutputDirection ); 4234 vec2 uv = equirectUv( outputDirection ); 4235 4236 gl_FragColor = vec4( texture2D ( envMap, uv ).rgb,
42361.0 ); 4237 4238 } 4239 `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCubemapMaterial(){return new ShaderMaterial({name:"CubemapToCubeUV",uniforms:{"envMap":{value:null},"flipEnvMap":{value:-1}},vertexShader:_getCommonVertexShader(),fragmentShader:` 4240 4241 precision mediump float; 4242 precision mediump int; 4243 4244 uniform float flipEnvMap; 4245 4246 varying vec3 vOutputDirection; 4247 4248 uniform samplerCube envMap; 4249 4250 void main() { 4251 4252 gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); 4253 4254 } 4255 `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCommonVertexShader(){return` 4256 4257 precision mediump float; 4258 precision mediump int; 4259 4260 attribute float faceIndex; 4261 4262 varying vec3 vOutputDirection; 4263 4264 // RH coordinate system; PMREM face-indexing convention 4265 vec3 getDirection( vec2 uv, float face ) { 4266 4267 uv = 2.0 * uv - 1.0; 4268 4269 vec3 direction = vec3( uv, 1.0 ); 4270 4271 if ( face == 0.0 ) { 4272 4273 direction = direction.zyx; // ( 1, v, u ) pos x 4274 4275 } else if ( face == 1.0 ) { 4276 4277 direction = direction.xzy; 4278 direction.xz *= -1.0; // ( -u, 1, -v ) pos y 4279 4280 } else if ( face == 2.0 ) { 4281 4282 direction.x *= -1.0; // ( -u, v, 1 ) pos z 4283 4284 } else if ( face == 3.0 ) { 4285 4286 direction = direction.zyx; 4287 direction.xz *= -1.0; // ( -1, v, -u ) neg x 4288 4289 } else if ( face == 4.0 ) { 4290 4291 direction = direction.xzy; 4292 direction.xy *= -1.0; // ( -u, -1, v ) neg y 4293 4294 } else if ( face == 5.0 ) { 4295 4296 direction.z *= -1.0; // ( u, v, -1 ) neg z 4297 4298 } 4299 4300 return direction; 4301 4302 } 4303 4304 void main() { 4305 4306 vOutputDirection = getDirection( uv, faceIndex ); 4307 gl_Position = vec4( position, 1.0 ); 4308 4309 } 4310 `}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});
4310module.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}});
4310Object.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=()=>
4310{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)}
4310function $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;
4310const 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;
4310const 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;
4310const 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)})}
4310resolveExternalURL(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";
4310Object.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()}
4310else{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)}
4310else $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;
4310if(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)}
4310update(){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
4310*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)}
4310const 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=>
4310{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)}
4310super.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);
4310if(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);
4310if(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;
4310activeTiles.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;
4310if(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=>
4310{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]}})});
4310Object.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={};
4310Object.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/[email protected]/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);
4310if(!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:` 4311 4312 #include <common> 4313 4314 uniform vec2 size; 4315 4316 varying vec2 vUv; 4317 varying vec2 vInvSize; 4318 4319 void main() { 4320 vUv = uv; 4321 vInvSize = 1.0 / size; 4322 4323 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4324 }`,fragmentShader:` 4325 4326 #include <common> 4327 #include <packing> 4328 4329 uniform sampler2D tDiffuse; 4330 uniform sampler2D tDepth; 4331 4332 uniform float cameraNear; 4333 uniform float cameraFar; 4334 uniform float depthCutoff; 4335 4336 uniform vec2 sampleUvOffsets[ KERNEL_RADIUS + 1 ]; 4337 uniform float sampleWeights[ KERNEL_RADIUS + 1 ]; 4338 4339 varying vec2 vUv; 4340 varying vec2 vInvSize; 4341 4342 float getDepth( const in vec2 screenPosition ) { 4343 #if DEPTH_PACKING == 1 4344 return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) ); 4345 #else 4346 return texture2D( tDepth, screenPosition ).x; 4347 #endif 4348 } 4349 4350 float getViewZ( const in float depth ) { 4351 #if PERSPECTIVE_CAMERA == 1 4352 return perspectiveDepthToViewZ( depth, cameraNear, cameraFar ); 4353 #else 4354 return orthographicDepthToViewZ( depth, cameraNear, cameraFar ); 4355 #endif 4356 } 4357 4358 void main() { 4359 float depth = getDepth( vUv ); 4360 if( depth >= ( 1.0 - EPSILON ) ) { 4361 discard; 4362 } 4363 4364 float centerViewZ = -getViewZ( depth ); 4365 bool rBreak = false, lBreak = false;
4366 4367 float weightSum = sampleWeights[0]; 4368 vec4 diffuseSum = texture2D( tDiffuse, vUv ) * weightSum; 4369 4370 for( int i = 1; i <= KERNEL_RADIUS; i ++ ) { 4371 4372 float sampleWeight = sampleWeights[i]; 4373 vec2 sampleUvOffset = sampleUvOffsets[i] * vInvSize; 4374 4375 vec2 sampleUv = vUv + sampleUvOffset; 4376 float viewZ = -getViewZ( getDepth( sampleUv ) ); 4377 4378 if( abs( viewZ - centerViewZ ) > depthCutoff ) rBreak = true; 4379 4380 if( ! rBreak ) { 4381 diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight; 4382 weightSum += sampleWeight; 4383 } 4384 4385 sampleUv = vUv - sampleUvOffset; 4386 viewZ = -getViewZ( getDepth( sampleUv ) ); 4387 4388 if( abs( viewZ - centerViewZ ) > depthCutoff ) lBreak = true; 4389 4390 if( ! lBreak ) { 4391 diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight; 4392 weightSum += sampleWeight; 4393 } 4394 4395 } 4396 4397 gl_FragColor = diffuseSum / weightSum; 4398 }`};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.")}}
4398const _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:` 4399 4400 varying vec2 vUv; 4401 4402 void main() { 4403 4404 vUv = uv; 4405 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4406 4407 }`,fragmentShader:` 4408 4409 uniform float opacity; 4410 uniform float mixRatio; 4411 4412 uniform sampler2D tDiffuse1; 4413 uniform sampler2D tDiffuse2; 4414 4415 varying vec2 vUv; 4416 4417 void main() { 4418 4419 vec4 texel1 = texture2D( tDiffuse1, vUv ); 4420 vec4 texel2 = texture2D( tDiffuse2, vUv ); 4421 gl_FragColor = mix( texel1, texel2, mixRatio ); 4422 gl_FragColor.a *= opacity; 4423 4424 }`};THREE.BlendShader=BlendShader})();(function(){const CopyShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:` 4425 4426 varying vec2 vUv; 4427 4428 void main() { 4429 4430 vUv = uv; 4431 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4432 4433 }`,fragmentShader:` 4434 4435 uniform float opacity; 4436 4437 uniform sampler2D tDiffuse; 4438 4439 varying vec2 vUv; 4440 4441 void main() { 4442 4443 gl_FragColor = texture2D( tDiffuse, vUv ); 4444 gl_FragColor.a *= opacity; 4445 4446 4447 }`};THREE.CopyShader=CopyShader})();(function(){const FXAAShader={uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` 4448 4449 varying vec2 vUv; 4450 4451 void main() { 4452 4453 vUv = uv; 4454 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4455 4456 }`,fragmentShader:` 4457 precision highp float; 4458 4459 uniform sampler2D tDiffuse; 4460 4461 uniform vec2 resolution; 4462 4463 varying vec2 vUv; 4464 4465 // FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro ([email protected]) 4466 4467 //---------------------------------------------------------------------------------- 4468 // File: es3-kepler\FXAA\assets\shaders/FXAA_DefaultES.frag 4469 // SDK Version: v3.00 4470 // Email: [email protected] 4471 // Site: http://developer.nvidia.com/ 4472 // 4473 // Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. 4474 // 4475 // Redistribution and use in source and binary forms, with or without 4476 // modification, are permitted provided that the following conditions 4477 // are met: 4478 // * Redistributions of source code must retain the above copyright 4479 // notice, this list of conditions and the following disclaimer. 4480 // * Redistributions in binary form must reproduce the above copyright 4481 // notice, this list of conditions and the following disclaimer in the 4482 // documentation and/or other materials provided with the distribution. 4483 // * Neither the name of NVIDIA CORPORATION nor the names of its 4484 // contributors may be used to endorse or promote products derived 4485 // from this software without specific prior written permission. 4486 // 4487 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY 4488 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4489 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 4490 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 4491 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 4492 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 4493 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 4494 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 4495 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 4496 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 4497 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 4498 // 4499 //---------------------------------------------------------------------------------- 4500 4501 #ifndef FXAA_DISCARD 4502 // 4503 // Only valid for PC OpenGL currently. 4504 // Probably will not work when FXAA_GREEN_AS_LUMA = 1. 4505 // 4506 // 1 = Use discard on pixels which don't need AA. 4507 // For APIs which enable concurrent TEX+ROP from same surface. 4508 // 0 = Return unchanged color on pixels which don't need AA. 4509 // 4510 #define FXAA_DISCARD 0 4511 #endif 4512 4513 /*--------------------------------------------------------------------------*/ 4514 #define FxaaTexTop(t, p) texture2D(t, p, -100.0) 4515 #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), -100.0) 4516 /*--------------------------------------------------------------------------*/ 4517 4518 #define NUM_SAMPLES 5 4519 4520 // assumes colors have premultipliedAlpha, so that the calculated color contrast is scaled by alpha 4521 float contrast( vec4 a, vec4 b ) { 4522 vec4 diff = abs( a - b ); 4523 return max( max( max( diff.r, diff.g ), diff.b ), diff.a ); 4524 } 4525 4526 /*============================================================================ 4527 4528 FXAA3 QUALITY - PC 4529 4530 ============================================================================*/ 4531 4532 /*--------------------------------------------------------------------------*/ 4533 vec4 FxaaPixelShader( 4534 vec2 posM, 4535 sampler2D tex, 4536 vec2 fxaaQualityRcpFrame, 4537 float fxaaQualityEdgeThreshold, 4538 float fxaaQualityinvEdgeThreshold 4539 ) { 4540 vec4 rgbaM = FxaaTexTop(tex, posM); 4541 vec4 rgbaS = FxaaTexOff(tex, posM, vec2( 0.0, 1.0), fxaaQualityRcpFrame.xy); 4542 vec4 rgbaE = FxaaTexOff(tex, posM, vec2( 1.0, 0.0), fxaaQualityRcpFrame.xy); 4543 vec4 rgbaN = FxaaTexOff(tex, posM, vec2( 0.0,-1.0), fxaaQualityRcpFrame.xy); 4544 vec4 rgbaW = FxaaTexOff(tex, posM, vec2(-1.0, 0.0), fxaaQualityRcpFrame.xy); 4545 // . S . 4546 // W M E 4547 // . N . 4548 4549 bool earlyExit = max( max( max( 4550 contrast( rgbaM, rgbaN ), 4551 contrast( rgbaM, rgbaS ) ), 4552 contrast( rgbaM, rgbaE ) ), 4553 contrast( rgbaM, rgbaW ) ) 4554 < fxaaQualityEdgeThreshold; 4555 // . 0 . 4556 // 0 0 0 4557 // . 0 . 4558 4559 #if (FXAA_DISCARD == 1) 4560 if(earlyExit) FxaaDiscard; 4561 #else 4562 if(earlyExit) return rgbaM; 4563 #endif 4564 4565 float contrastN = contrast( rgbaM, rgbaN ); 4566 float contrastS = contrast( rgbaM, rgbaS ); 4567 float contrastE = contrast( rgbaM, rgbaE ); 4568 float contrastW = contrast( rgbaM, rgbaW ); 4569 4570 float relativeVContrast = ( contrastN + contrastS ) - ( contrastE + contrastW ); 4571 relativeVContrast *= fxaaQualityinvEdgeThreshold; 4572 4573 bool horzSpan = relativeVContrast > 0.; 4574 // . 1 . 4575 // 0 0 0 4576 // . 1 . 4577 4578 // 45 deg edge detection and corners of objects, aka V/H contrast is too similar 4579 if( abs( relativeVContrast ) < .3 ) { 4580 // locate the edge 4581 vec2 dirToEdge; 4582 dirToEdge.x = contrastE > contrastW ? 1. : -1.; 4583 dirToEdge.y = contrastS > contrastN ? 1. : -1.; 4584 // . 2 . . 1 . 4585 // 1 0 2 ~= 0 0 1 4586 // . 1 . . 0 . 4587 4588 // tap 2 pixels and see which ones are "outside" the edge, to 4589 // determine if the edge is vertical or horizontal 4590 4591 vec4 rgbaAlongH = FxaaTexOff(tex, posM, vec2( dirToEdge.x, -dirToEdge.y ), fxaaQualityRcpFrame.xy); 4592 float matchAlongH = contrast( rgbaM, rgbaAlongH ); 4593 // . 1 . 4594 // 0 0 1 4595 // . 0 H 4596 4597 vec4 rgbaAlongV = FxaaTexOff(tex, posM, vec2( -dirToEdge.x, dirToEdge.y ), fxaaQualityRcpFrame.xy); 4598 float matchAlongV = contrast( rgbaM, rgbaAlongV ); 4599 // V 1 . 4600 // 0 0 1 4601 // . 0 . 4602 4603 relativeVContrast = matchAlongV - matchAlongH; 4604 relativeVContrast *= fxaaQualityinvEdgeThreshold; 4605 4606 if( abs( relativeVContrast ) < .3 ) { // 45 deg edge 4607 // 1 1 . 4608 // 0 0 1 4609 // . 0 1 4610 4611 // do a simple blur 4612 return mix( 4613 rgbaM, 4614 (rgbaN + rgbaS + rgbaE + rgbaW) * .25, 4615 .4 4616 ); 4617 } 4618 4619 horzSpan = relativeVContrast > 0.; 4620 } 4621 4622 if(!horzSpan) rgbaN = rgbaW; 4623 if(!horzSpan) rgbaS = rgbaE; 4624 // . 0 . 1 4625 // 1 0 1 -> 0 4626 // . 0 . 1 4627 4628 bool pairN = contrast( rgbaM, rgbaN ) > contrast( rgbaM, rgbaS );
4629 if(!pairN) rgbaN = rgbaS; 4630 4631 vec2 offNP; 4632 offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; 4633 offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; 4634 4635 bool doneN = false; 4636 bool doneP = false; 4637 4638 float nDist = 0.; 4639 float pDist = 0.; 4640 4641 vec2 posN = posM; 4642 vec2 posP = posM; 4643 4644 int iterationsUsed = 0; 4645 int iterationsUsedN = 0; 4646 int iterationsUsedP = 0; 4647 for( int i = 0; i < NUM_SAMPLES; i++ ) { 4648 iterationsUsed = i; 4649 4650 float increment = float(i + 1); 4651 4652 if(!doneN) { 4653 nDist += increment; 4654 posN = posM + offNP * nDist; 4655 vec4 rgbaEndN = FxaaTexTop(tex, posN.xy); 4656 doneN = contrast( rgbaEndN, rgbaM ) > contrast( rgbaEndN, rgbaN ); 4657 iterationsUsedN = i; 4658 } 4659 4660 if(!doneP) { 4661 pDist += increment; 4662 posP = posM - offNP * pDist; 4663 vec4 rgbaEndP = FxaaTexTop(tex, posP.xy); 4664 doneP = contrast( rgbaEndP, rgbaM ) > contrast( rgbaEndP, rgbaN ); 4665 iterationsUsedP = i; 4666 } 4667 4668 if(doneN || doneP) break; 4669 } 4670 4671 4672 if ( !doneP && !doneN ) return rgbaM; // failed to find end of edge 4673 4674 float dist = min( 4675 doneN ? float( iterationsUsedN ) / float( NUM_SAMPLES - 1 ) : 1., 4676 doneP ? float( iterationsUsedP ) / float( NUM_SAMPLES - 1 ) : 1. 4677 ); 4678 4679 // hacky way of reduces blurriness of mostly diagonal edges 4680 // but reduces AA quality 4681 dist = pow(dist, .5); 4682 4683 dist = 1. - dist; 4684 4685 return mix( 4686 rgbaM, 4687 rgbaN, 4688 dist * .5 4689 ); 4690 } 4691 4692 void main() { 4693 const float edgeDetectionQuality = .2; 4694 const float invEdgeDetectionQuality = 1. / edgeDetectionQuality; 4695 4696 gl_FragColor = FxaaPixelShader( 4697 vUv, 4698 tDiffuse, 4699 resolution, 4700 edgeDetectionQuality, // [0,1] contrast needed, otherwise early discard 4701 invEdgeDetectionQuality 4702 ); 4703 4704 } 4705 `};THREE.FXAAShader=FXAAShader})();(function(){const GammaCorrectionShader={uniforms:{"tDiffuse":{value:null}},vertexShader:` 4706 4707 varying vec2 vUv; 4708 4709 void main() { 4710 4711 vUv = uv; 4712 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4713 4714 }`,fragmentShader:` 4715 4716 uniform sampler2D tDiffuse; 4717 4718 varying vec2 vUv; 4719 4720 void main() { 4721 4722 vec4 tex = texture2D( tDiffuse, vUv ); 4723 4724 gl_FragColor = LinearTosRGB( tex ); 4725 4726 }`};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;","uniform int samples;","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.;
4726"," for(int i = 0; i < samples; i++) {"," offset = velocity * (float(i) / (float(samples) - 1.) - .5);"," vec4 c = texture2D(tColor, vUv + offset);"," finalColor += c;"," }"," finalColor /= float(samples);"," 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},"samples":{type:"i",value:20},"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(){super();this.uniforms=THREE.UniformsUtils.clone(uniforms);this.material=new THREE.ShaderMaterial({defines:{},uniforms:this.uniforms,vertexShader:vertexShader,fragmentShader:fragmentShader});this.fsQuad=new THREE.FullScreenQuad(this.material)}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;
4726this.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:` 4727 4728 varying vec2 vUv; 4729 4730 void main() { 4731 vUv = uv; 4732 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4733 }`,fragmentShader:` 4734 4735 #include <common> 4736 4737 varying vec2 vUv; 4738 4739 #if DIFFUSE_TEXTURE == 1 4740 uniform sampler2D tDiffuse; 4741 #endif 4742 4743 uniform sampler2D tDepth; 4744 4745 #if NORMAL_TEXTURE == 1 4746 uniform sampler2D tNormal; 4747 #endif 4748 4749 uniform float cameraNear; 4750 uniform float cameraFar; 4751 uniform mat4 cameraProjectionMatrix; 4752 uniform mat4 cameraInverseProjectionMatrix; 4753 4754 uniform float scale; 4755 uniform float intensity; 4756 uniform float bias; 4757 uniform float kernelRadius; 4758 uniform float minResolution; 4759 uniform vec2 size; 4760 uniform float randomSeed; 4761 4762 // RGBA depth 4763 4764 #include <packing> 4765 4766 vec4 getDefaultColor( const in vec2 screenPosition ) { 4767 #if DIFFUSE_TEXTURE == 1 4768 return texture2D( tDiffuse, vUv ); 4769 #else 4770 return vec4( 1.0 ); 4771 #endif 4772 } 4773 4774 float getDepth( const in vec2 screenPosition ) { 4775 #if DEPTH_PACKING == 1 4776 return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) ); 4777 #else 4778 return texture2D( tDepth, screenPosition ).x; 4779 #endif 4780 } 4781 4782 float getViewZ( const in float depth ) { 4783 #if PERSPECTIVE_CAMERA == 1 4784 return perspectiveDepthToViewZ( depth, cameraNear, cameraFar ); 4785 #else 4786 return orthographicDepthToViewZ( depth, cameraNear, cameraFar ); 4787 #endif 4788 } 4789 4790 vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) { 4791 float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3]; 4792 vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 ); 4793 clipPosition *= clipW; // unprojection. 4794 4795 return ( cameraInverseProjectionMatrix * clipPosition ).xyz; 4796 } 4797 4798 vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) { 4799 #if NORMAL_TEXTURE == 1 4800 return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz ); 4801 #else 4802 return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) ); 4803 #endif 4804 } 4805 4806 float scaleDividedByCameraFar; 4807 float minResolutionMultipliedByCameraFar; 4808 4809 float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) { 4810 vec3 viewDelta = sampleViewPosition - centerViewPosition; 4811 float viewDistance = length( viewDelta ); 4812 float scaledScreenDistance = scaleDividedByCameraFar * viewDistance; 4813 4814 return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) ); 4815 } 4816 4817 // moving costly divides into consts 4818 const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES ); 4819 const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES ); 4820 4821 float getAmbientOcclusion( const in vec3 centerViewPosition ) { 4822 // precompute some variables require in getOcclusion. 4823 scaleDividedByCameraFar = scale / cameraFar; 4824 minResolutionMultipliedByCameraFar = minResolution * cameraFar; 4825 vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv ); 4826 4827 // jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/ 4828 float angle = rand( vUv + randomSeed ) * PI2; 4829 vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size;
4830 vec2 radiusStep = radius; 4831 4832 float occlusionSum = 0.0; 4833 float weightSum = 0.0; 4834 4835 for( int i = 0; i < NUM_SAMPLES; i ++ ) { 4836 vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius; 4837 radius += radiusStep; 4838 angle += ANGLE_STEP; 4839 4840 float sampleDepth = getDepth( sampleUv ); 4841 if( sampleDepth >= ( 1.0 - EPSILON ) ) { 4842 continue; 4843 } 4844 4845 float sampleViewZ = getViewZ( sampleDepth ); 4846 vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ ); 4847 occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition ); 4848 weightSum += 1.0; 4849 } 4850 4851 if( weightSum == 0.0 ) discard; 4852 4853 return occlusionSum * ( intensity / weightSum ); 4854 } 4855 4856 void main() { 4857 float centerDepth = getDepth( vUv ); 4858 if( centerDepth >= ( 1.0 - EPSILON ) ) { 4859 discard; 4860 } 4861 4862 float centerViewZ = getViewZ( centerDepth ); 4863 vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ ); 4864 4865 float ambientOcclusion = getAmbientOcclusion( viewPosition ); 4866 4867 gl_FragColor = getDefaultColor( vUv ); 4868 gl_FragColor.xyz *= 1.0 - ambientOcclusion; 4869 }`};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
vendor: 44,306 bytes, line 4869
4869(){return"data:image/png;base64,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"}
4869getSearchTexture(){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:` 4870 4871 uniform vec2 resolution; 4872 4873 varying vec2 vUv; 4874 varying vec4 vOffset[ 3 ]; 4875 4876 void SMAAEdgeDetectionVS( vec2 texcoord ) { 4877 vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component 4878 vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component 4879 vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 ); // WebGL port note: Changed sign in W component 4880 } 4881 4882 void main() { 4883 4884 vUv = uv; 4885 4886 SMAAEdgeDetectionVS( vUv ); 4887 4888 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4889 4890 }`,fragmentShader:` 4891 4892 uniform sampler2D tDiffuse; 4893 4894 varying vec2 vUv; 4895 varying vec4 vOffset[ 3 ]; 4896 4897 vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) { 4898 vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD ); 4899 4900 // Calculate color deltas: 4901 vec4 delta; 4902 vec3 C = texture2D( colorTex, texcoord ).rgb; 4903 4904 vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb; 4905 vec3 t = abs( C - Cleft ); 4906 delta.x = max( max( t.r, t.g ), t.b ); 4907 4908 vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb; 4909 t = abs( C - Ctop ); 4910 delta.y = max( max( t.r, t.g ), t.b ); 4911 4912 // We do the usual threshold: 4913 vec2 edges = step( threshold, delta.xy ); 4914 4915 // Then discard if there is no edge: 4916 if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 ) 4917 discard; 4918 4919 // Calculate right and bottom deltas: 4920 vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb; 4921 t = abs( C - Cright ); 4922 delta.z = max( max( t.r, t.g ), t.b ); 4923 4924 vec3 Cbottom = texture2D( colorTex, offset[1].zw ).rgb; 4925 t = abs( C - Cbottom ); 4926 delta.w = max( max( t.r, t.g ), t.b ); 4927 4928 // Calculate the maximum delta in the direct neighborhood: 4929 float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w ); 4930 4931 // Calculate left-left and top-top deltas: 4932 vec3 Cleftleft = texture2D( colorTex, offset[2].xy ).rgb; 4933 t = abs( C - Cleftleft ); 4934 delta.z = max( max( t.r, t.g ), t.b ); 4935 4936 vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb; 4937 t = abs( C - Ctoptop ); 4938 delta.w = max( max( t.r, t.g ), t.b ); 4939 4940 // Calculate the final maximum delta: 4941 maxDelta = max( max( maxDelta, delta.z ), delta.w ); 4942 4943 // Local contrast adaptation in action: 4944 edges.xy *= step( 0.5 * maxDelta, delta.xy ); 4945 4946 return vec4( edges, 0.0, 0.0 ); 4947 } 4948 4949 void main() { 4950 4951 gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse ); 4952 4953 }`};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:` 4954 4955 uniform vec2 resolution; 4956 4957 varying vec2 vUv; 4958 varying vec4 vOffset[ 3 ]; 4959 varying vec2 vPixcoord; 4960 4961 void SMAABlendingWeightCalculationVS( vec2 texcoord ) { 4962 vPixcoord = texcoord / resolution; 4963 4964 // We will use these offsets for the searches later on (see @PSEUDO_GATHER4):
4965 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 4966 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 4967 4968 // And these for the searches, they indicate the ends of the loops: 4969 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 ); 4970 4971 } 4972 4973 void main() { 4974 4975 vUv = uv; 4976 4977 SMAABlendingWeightCalculationVS( vUv ); 4978 4979 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4980 4981 }`,fragmentShader:` 4982 4983 #define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 ) 4984 4985 uniform sampler2D tDiffuse; 4986 uniform sampler2D tArea; 4987 uniform sampler2D tSearch; 4988 uniform vec2 resolution; 4989 4990 varying vec2 vUv; 4991 varying vec4 vOffset[3]; 4992 varying vec2 vPixcoord; 4993 4994 #if __VERSION__ == 100 4995 vec2 round( vec2 x ) { 4996 return sign( x ) * floor( abs( x ) + 0.5 ); 4997 } 4998 #endif 4999 5000 float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) { 5001 // Not required if searchTex accesses are set to point: 5002 // float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0); 5003 // e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE + 5004 // e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE; 5005 e.r = bias + e.r * scale; 5006 return 255.0 * texture2D( searchTex, e, 0.0 ).r; 5007 } 5008 5009 float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { 5010 /** 5011 * @PSEUDO_GATHER4 5012 * This texcoord has been offset by (-0.25, -0.125) in the vertex shader to 5013 * sample between edge, thus fetching four edges in a row. 5014 * Sampling with different offsets in each direction allows to disambiguate 5015 * which edges are active from the four fetched ones. 5016 */ 5017 vec2 e = vec2( 0.0, 1.0 ); 5018 5019 for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for 5020 e = texture2D( edgesTex, texcoord, 0.0 ).rg; 5021 texcoord -= vec2( 2.0, 0.0 ) * resolution; 5022 if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break; 5023 } 5024 5025 // We correct the previous (-0.25, -0.125) offset we applied: 5026 texcoord.x += 0.25 * resolution.x; 5027 5028 // The searches are bias by 1, so adjust the coords accordingly: 5029 texcoord.x += resolution.x; 5030 5031 // Disambiguate the length added by the last step: 5032 texcoord.x += 2.0 * resolution.x; // Undo last step 5033 texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5); 5034 5035 return texcoord.x; 5036 } 5037 5038 float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { 5039 vec2 e = vec2( 0.0, 1.0 ); 5040 5041 for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for 5042 e = texture2D( edgesTex, texcoord, 0.0 ).rg; 5043 texcoord += vec2( 2.0, 0.0 ) * resolution; 5044 if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break; 5045 } 5046 5047 texcoord.x -= 0.25 * resolution.x; 5048 texcoord.x -= resolution.x; 5049 texcoord.x -= 2.0 * resolution.x; 5050 texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 ); 5051 5052 return texcoord.x; 5053 } 5054 5055 float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { 5056 vec2 e = vec2( 1.0, 0.0 ); 5057 5058 for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for 5059 e = texture2D( edgesTex, texcoord, 0.0 ).rg; 5060 texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign 5061 if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break; 5062 } 5063 5064 texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign 5065 texcoord.y -= resolution.y; // WebGL port note: Changed sign 5066 texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign 5067 texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign 5068 5069 return texcoord.y; 5070 } 5071 5072 float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { 5073 vec2 e = vec2( 1.0, 0.0 ); 5074 5075 for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for 5076 e = texture2D( edgesTex, texcoord, 0.0 ).rg; 5077 texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign 5078 if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break; 5079 } 5080 5081 texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign 5082 texcoord.y += resolution.y; // WebGL port note: Changed sign 5083 texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign 5084 texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign 5085 5086 return texcoord.y; 5087 } 5088 5089 vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) { 5090 // Rounding prevents precision errors of bilinear filtering: 5091 vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e
50911, e2 ) ) + dist; 5092 5093 // We do a scale and bias for mapping to texel space: 5094 texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE ); 5095 5096 // Move to proper place, according to the subpixel offset: 5097 texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset; 5098 5099 return texture2D( areaTex, texcoord, 0.0 ).rg; 5100 } 5101 5102 vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) { 5103 vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 ); 5104 5105 vec2 e = texture2D( edgesTex, texcoord ).rg; 5106 5107 if ( e.g > 0.0 ) { // Edge at north 5108 vec2 d; 5109 5110 // Find the distance to the left: 5111 vec2 coords; 5112 coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x ); 5113 coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET) 5114 d.x = coords.x; 5115 5116 // Now fetch the left crossing edges, two at a time using bilinear 5117 // filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to 5118 // discern what value each edge has: 5119 float e1 = texture2D( edgesTex, coords, 0.0 ).r; 5120 5121 // Find the distance to the right: 5122 coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y ); 5123 d.y = coords.x; 5124 5125 // We want the distances to be in pixel units (doing this here allow to 5126 // better interleave arithmetic and memory accesses): 5127 d = d / resolution.x - pixcoord.x; 5128 5129 // SMAAArea below needs a sqrt, as the areas texture is compressed 5130 // quadratically: 5131 vec2 sqrt_d = sqrt( abs( d ) ); 5132 5133 // Fetch the right crossing edges: 5134 coords.y -= 1.0 * resolution.y; // WebGL port note: Added 5135 float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r; 5136 5137 // Ok, we know how this pattern looks like, now it is time for getting 5138 // the actual area: 5139 weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) ); 5140 } 5141 5142 if ( e.r > 0.0 ) { // Edge at west 5143 vec2 d; 5144 5145 // Find the distance to the top: 5146 vec2 coords; 5147 5148 coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z ); 5149 coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x; 5150 d.x = coords.y; 5151 5152 // Fetch the top crossing edges: 5153 float e1 = texture2D( edgesTex, coords, 0.0 ).g; 5154 5155 // Find the distance to the bottom: 5156 coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w ); 5157 d.y = coords.y; 5158 5159 // We want the distances to be in pixel units: 5160 d = d / resolution.y - pixcoord.y; 5161 5162 // SMAAArea below needs a sqrt, as the areas texture is compressed 5163 // quadratically: 5164 vec2 sqrt_d = sqrt( abs( d ) ); 5165 5166 // Fetch the bottom crossing edges: 5167 coords.y -= 1.0 * resolution.y; // WebGL port note: Added 5168 float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g; 5169 5170 // Get the area for this direction: 5171 weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) ); 5172 } 5173 5174 return weights; 5175 } 5176 5177 void main() { 5178 5179 gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) ); 5180 5181 }`};const SMAABlendShader={uniforms:{"tDiffuse":{value:null},"tColor":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` 5182 5183 uniform vec2 resolution; 5184 5185 varying vec2 vUv; 5186 varying vec4 vOffset[ 2 ]; 5187 5188 void SMAANeighborhoodBlendingVS( vec2 texcoord ) {
5189 vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component 5190 vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component 5191 } 5192 5193 void main() { 5194 5195 vUv = uv; 5196 5197 SMAANeighborhoodBlendingVS( vUv ); 5198 5199 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 5200 5201 }`,fragmentShader:` 5202 5203 uniform sampler2D tDiffuse; 5204 uniform sampler2D tColor; 5205 uniform vec2 resolution; 5206 5207 varying vec2 vUv; 5208 varying vec4 vOffset[ 2 ]; 5209 5210 vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) { 5211 // Fetch the blending weights for current pixel: 5212 vec4 a; 5213 a.xz = texture2D( blendTex, texcoord ).xz; 5214 a.y = texture2D( blendTex, offset[ 1 ].zw ).g; 5215 a.w = texture2D( blendTex, offset[ 1 ].xy ).a; 5216 5217 // Is there any blending weight with a value greater than 0.0? 5218 if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) { 5219 return texture2D( colorTex, texcoord, 0.0 ); 5220 } else { 5221 // Up to 4 lines can be crossing a pixel (one through each edge). We 5222 // favor blending by choosing the line with the maximum weight for each 5223 // direction: 5224 vec2 offset; 5225 offset.x = a.a > a.b ? a.a : -a.b; // left vs. right 5226 offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs 5227 5228 // Then we go in the direction that has the maximum weight: 5229 if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical 5230 offset.y = 0.0; 5231 } else { 5232 offset.x = 0.0; 5233 } 5234 5235 // Fetch the opposite color and lerp by hand: 5236 vec4 C = texture2D( colorTex, texcoord, 0.0 ); 5237 texcoord += sign( offset ) * resolution; 5238 vec4 Cop = texture2D( colorTex, texcoord, 0.0 ); 5239 float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y ); 5240 5241 // WebGL port note: Added gamma correction 5242 C.xyz = pow(C.xyz, vec3(2.2)); 5243 Cop.xyz = pow(Cop.xyz, vec3(2.2)); 5244 vec4 mixed = mix(C, Cop, s); 5245 mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2)); 5246 5247 return mixed; 5248 } 5249 } 5250 5251 void main() { 5252 5253 gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse ); 5254 5255 }`};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:` 5256 5257 varying vec2 vUv; 5258 5259 void main() { 5260 5261 vUv = uv; 5262 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 5263 5264 }`,fragmentShader:` 5265 5266 uniform float opacity; 5267 5268 uniform sampler2D tDiffuse; 5269 5270 varying vec2 vUv; 5271 5272 #include <packing> 5273 5274 void main() { 5275 5276 float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) ); 5277 gl_FragColor = vec4( vec3( depth ), opacity ); 5278 5279 }`};THREE.UnpackDepthRGBAShader=UnpackDepthRGBAShader})(); 5280 5281})(); } catch (e) { console.log(e.message, e.stack); throw e; };
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.