Team:Tongji Software/vendors js

(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[function(t,e,i){"use strict";(function(t,n){i.d(e,"e",function(){return r}),i.d(e,"g",function(){return o}),i.d(e,"f",function(){return a}),i.d(e,"c",function(){return l}),i.d(e,"a",function(){return h}),i.d(e,"b",function(){return c}),i.d(e,"d",function(){return u}); /*!

* VERSION: 2.0.2
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
*
* @author: Jack Doyle, jack@greensock.com
*/

var r="undefined"!=typeof window?window:t.exports&&void 0!==n?n:{},a=function(t,e){var i={},n=t.document,r=t.GreenSockGlobals=t.GreenSockGlobals||t;if(r.TweenLite)return r.TweenLite;var a,o,s,l,h,c,u,p=function(t){var e,i=t.split("."),n=r;for(e=0;e<i.length;e++)n[i[e]]=n=n[i[e]]||{};return n},d=p("com.greensock"),f=function(t){var e,i=[],n=t.length;for(e=0;e!==n;i.push(t[e++]));return i},m=function(){},g=(c=Object.prototype.toString,u=c.call([]),function(t){return null!=t&&(t instanceof Array||"object"==typeof t&&!!t.push&&c.call(t)===u)}),v={},q=function(t,e,n,a){this.sc=v[t]?v[t].sc:[],v[t]=this,this.gsClass=null,this.func=n;var o=[];this.check=function(s){for(var l,h,c,u,d=e.length,f=d;--d>-1;)(l=v[e[d]]||new q(e[d],[])).gsClass?(o[d]=l.gsClass,f--):s&&l.sc.push(this);if(0===f&&n)for(c=(h=("com.greensock."+t).split(".")).pop(),u=p(h.join("."))[c]=this.gsClass=n.apply(n,o),a&&(r[c]=i[c]=u),d=0;d<this.sc.length;d++)this.sc[d].check()},this.check(!0)},y=t._gsDefine=function(t,e,i,n){return new q(t,e,i,n)},x=d._class=function(t,e,i){return e=e||function(){},y(t,[],function(){return e},i),e};y.globals=r;var _=[0,0,1,1],b=x("easing.Ease",function(t,e,i,n){this._func=t,this._type=i||0,this._power=n||0,this._params=e?_.concat(e):_},!0),w=b.map={},M=b.register=function(t,e,i,n){for(var r,a,o,s,l=e.split(","),h=l.length,c=(i||"easeIn,easeOut,easeInOut").split(",");--h>-1;)for(a=l[h],r=n?x("easing."+a,null,!0):d.easing[a]||{},o=c.length;--o>-1;)s=c[o],w[a+"."+s]=w[s+a]=r[s]=t.getRatio?t:t[s]||new t};for((s=b.prototype)._calcEnd=!1,s.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,i=this._power,n=1===e?1-t:2===e?t:t<.5?2*t:2*(1-t);return 1===i?n*=n:2===i?n*=n*n:3===i?n*=n*n*n:4===i&&(n*=n*n*n*n),1===e?1-n:2===e?n:t<.5?n/2:1-n/2},o=(a=["Linear","Quad","Cubic","Quart","Quint,Strong"]).length;--o>-1;)s=a[o]+",Power"+o,M(new b(null,null,1,o),s,"easeOut",!0),M(new b(null,null,2,o),s,"easeIn"+(0===o?",easeNone":"")),M(new b(null,null,3,o),s,"easeInOut");w.linear=d.easing.Linear.easeIn,w.swing=d.easing.Quad.easeInOut;var T=x("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});(s=T.prototype).addEventListener=function(t,e,i,n,r){r=r||0;var a,o,s=this._listeners[t],c=0;for(this!==l||h||l.wake(),null==s&&(this._listeners[t]=s=[]),o=s.length;--o>-1;)(a=s[o]).c===e&&a.s===i?s.splice(o,1):0===c&&a.pr<r&&(c=o+1);s.splice(c,0,{c:e,s:i,up:n,pr:r})},s.removeEventListener=function(t,e){var i,n=this._listeners[t];if(n)for(i=n.length;--i>-1;)if(n[i].c===e)return void n.splice(i,1)},s.dispatchEvent=function(t){var e,i,n,r=this._listeners[t];if(r)for((e=r.length)>1&&(r=r.slice(0)),i=this._eventTarget;--e>-1;)(n=r[e])&&(n.up?n.c.call(n.s||i,{type:t,target:i}):n.c.call(n.s||i))};var S=t.requestAnimationFrame,E=t.cancelAnimationFrame,A=Date.now||function(){return(new Date).getTime()},P=A();for(o=(a=["ms","moz","webkit","o"]).length;--o>-1&&!S;)S=t[a[o]+"RequestAnimationFrame"],E=t[a[o]+"CancelAnimationFrame"]||t[a[o]+"CancelRequestAnimationFrame"];x("Ticker",function(t,e){var i,r,a,o,s,c=this,u=A(),p=!(!1===e||!S)&&"auto",d=500,f=33,g=function(t){var e,n,l=A()-P;l>d&&(u+=l-f),P+=l,c.time=(P-u)/1e3,e=c.time-s,(!i||e>0||!0===t)&&(c.frame++,s+=e+(e>=o?.004:o-e),n=!0),!0!==t&&(a=r(g)),n&&c.dispatchEvent("tick")};T.call(c),c.time=c.frame=0,c.tick=function(){g(!0)},c.lagSmoothing=function(t,e){if(!arguments.length)return d<1e10;d=t||1e10,f=Math.min(e,d,0)},c.sleep=function(){null!=a&&(p&&E?E(a):clearTimeout(a),r=m,a=null,c===l&&(h=!1))},c.wake=function(t){null!==a?c.sleep():t?u+=-P+(P=A()):c.frame>10&&(P=A()-d+5),r=0===i?m:p&&S?S:function(t){return setTimeout(t,1e3*(s-c.time)+1|0)},c===l&&(h=!0),g(2)},c.fps=function(t){if(!arguments.length)return i;o=1/((i=t)||60),s=this.time+o,c.wake()},c.useRAF=function(t){if(!arguments.length)return p;c.sleep(),p=t,c.fps(i)},c.fps(t),setTimeout(function(){"auto"===p&&c.frame<5&&"hidden"!==(n||{}).visibilityState&&c.useRAF(!1)},1500)}),(s=d.Ticker.prototype=new d.events.EventDispatcher).constructor=d.Ticker;var L=x("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=!0===e.immediateRender,this.data=e.data,this._reversed=!0===e.reversed,Z){h||l.wake();var i=this.vars.useFrames?Y:Z;i.add(this,i._time),this.vars.paused&&this.paused(!0)}});l=L.ticker=new d.Ticker,(s=L.prototype)._dirty=s._gc=s._initted=s._paused=!1,s._totalTime=s._time=0,s._rawPrevTime=-1,s._next=s._last=s._onUpdate=s._timeline=s.timeline=null,s._paused=!1;var R=function(){h&&A()-P>2e3&&("hidden"!==(n||{}).visibilityState||!l.lagSmoothing())&&l.wake();var t=setTimeout(R,2e3);t.unref&&t.unref()};R(),s.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},s.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},s.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},s.seek=function(t,e){return this.totalTime(Number(t),!1!==e)},s.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,!1!==e,!0)},s.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},s.render=function(t,e,i){},s.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,!this._gc&&this.timeline||this._enabled(!0),this},s.isActive=function(){var t,e=this._timeline,i=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime(!0))>=i&&t<i+this.totalDuration()/this._timeScale-1e-7},s._enabled=function(t,e){return h||l.wake(),this._gc=!t,this._active=this.isActive(),!0!==e&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},s._kill=function(t,e){return this._enabled(!1,!1)},s.kill=function(t,e){return this._kill(t,e),this},s._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},s._swapSelfInParams=function(t){for(var e=t.length,i=t.concat();--e>-1;)"{self}"===t[e]&&(i[e]=this);return i},s._callback=function(t){var e=this.vars,i=e[t],n=e[t+"Params"],r=e[t+"Scope"]||e.callbackScope||this;switch(n?n.length:0){case 0:i.call(r);break;case 1:i.call(r,n[0]);break;case 2:i.call(r,n[0],n[1]);break;default:i.apply(r,n)}},s.eventCallback=function(t,e,i,n){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=g(i)&&-1!==i.join("").indexOf("{self}")?this._swapSelfInParams(i):i,r[t+"Scope"]=n),"onUpdate"===t&&(this._onUpdate=e)}return this},s.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},s.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._time<this._duration&&0!==t&&this.totalTime(this._totalTime*(t/this._duration),!0),this):(this._dirty=!1,this._duration)},s.totalDuration=function(t){return this._dirty=!1,arguments.length?this.duration(t):this._totalDuration},s.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),this.totalTime(t>this._duration?this._duration:t,e)):this._time},s.totalTime=function(t,e,i){if(h||l.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(t<0&&!i&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var n=this._totalDuration,r=this._timeline;if(t>n&&!i&&(t=n),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?n-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),this._totalTime===t&&0!==this._duration||(D.length&&Q(),this.render(t,e,!1),D.length&&Q())}return this},s.progress=s.totalProgress=function(t,e){var i=this.duration();return arguments.length?this.totalTime(i*t,e):i?this._time/i:this.ratio},s.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},s.endTime=function(t){return this._startTime+(0!=t?this.totalDuration():this.duration())/this._timeScale},s.timeScale=function(t){if(!arguments.length)return this._timeScale;var e,i;for(t=t||1e-10,this._timeline&&this._timeline.smoothChildTiming&&(i=(e=this._pauseTime)||0===e?e:this._timeline.totalTime(),this._startTime=i-(i-this._startTime)*this._timeScale/t),this._timeScale=t,i=this.timeline;i&&i.timeline;)i._dirty=!0,i.totalDuration(),i=i.timeline;return this},s.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},s.paused=function(t){if(!arguments.length)return this._paused;var e,i,n=this._timeline;return t!=this._paused&&n&&(h||t||l.wake(),i=(e=n.rawTime())-this._pauseTime,!t&&n.smoothChildTiming&&(this._startTime+=i,this._uncache(!1)),this._pauseTime=t?e:null,this._paused=t,this._active=this.isActive(),!t&&0!==i&&this._initted&&this.duration()&&(e=n.smoothChildTiming?this._totalTime:(e-this._startTime)/this._timeScale,this.render(e,e===this._totalTime,!0))),this._gc&&!t&&this._enabled(!0,!1),this};var C=x("core.SimpleTimeline",function(t){L.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});(s=C.prototype=new L).constructor=C,s.kill()._gc=!1,s._first=s._last=s._recent=null,s._sortChildren=!1,s.add=s.insert=function(t,e,i,n){var r,a;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=this.rawTime()-(t._timeline.rawTime()-t._pauseTime)),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),r=this._last,this._sortChildren)for(a=t._startTime;r&&r._startTime>a;)r=r._prev;return r?(t._next=r._next,r._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=r,this._recent=t,this._timeline&&this._uncache(!0),this},s._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,t===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},s.render=function(t,e,i){var n,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)n=r._next,(r._active||t>=r._startTime&&!r._paused&&!r._gc)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,i):r.render((t-r._startTime)*r._timeScale,e,i)),r=n},s.rawTime=function(){return h||l.wake(),this._totalTime};var z=x("TweenLite",function(e,i,n){if(L.call(this,i,n),this.render=z.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:z.selector(e)||e;var r,a,o,s=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),l=this.vars.overwrite;if(this._overwrite=l=null==l?X[z.defaultOverwrite]:"number"==typeof l?l>>0:X[l],(s||e instanceof Array||e.push&&g(e))&&"number"!=typeof e[0])for(this._targets=o=f(e),this._propLookup=[],this._siblings=[],r=0;r<o.length;r++)(a=o[r])?"string"!=typeof a?a.length&&a!==t&&a[0]&&(a[0]===t||a[0].nodeType&&a[0].style&&!a.nodeType)?(o.splice(r--,1),this._targets=o=o.concat(f(a))):(this._siblings[r]=K(a,this,!1),1===l&&this._siblings[r].length>1&&tt(a,this,null,1,this._siblings[r])):"string"==typeof(a=o[r--]=z.selector(a))&&o.splice(r+1,1):o.splice(r--,1);else this._propLookup={},this._siblings=K(e,this,!1),1===l&&this._siblings.length>1&&tt(e,this,null,1,this._siblings);(this.vars.immediateRender||0===i&&0===this._delay&&!1!==this.vars.immediateRender)&&(this._time=-1e-10,this.render(Math.min(0,-this._delay)))},!0),O=function(e){return e&&e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)};(s=z.prototype=new L).constructor=z,s.kill()._gc=!1,s.ratio=0,s._firstPT=s._targets=s._overwrittenProps=s._startAt=null,s._notifyPluginsOfEnabled=s._lazy=!1,z.version="2.0.2",z.defaultEase=s._ease=new b(null,null,1,1),z.defaultOverwrite="auto",z.ticker=l,z.autoSleep=120,z.lagSmoothing=function(t,e){l.lagSmoothing(t,e)},z.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(z.selector=i,i(e)):(n||(n=t.document),n?n.querySelectorAll?n.querySelectorAll(e):n.getElementById("#"===e.charAt(0)?e.substr(1):e):e)};var D=[],I={},N=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,B=/[\+-]=-?[\.\d]/,U=function(t){for(var e,i=this._firstPT;i;)e=i.blob?1===t&&null!=this.end?this.end:t?this.join(""):this.start:i.c*t+i.s,i.m?e=i.m.call(this._tween,e,this._target||i.t,this._tween):e<1e-6&&e>-1e-6&&!i.blob&&(e=0),i.f?i.fp?i.t[i.p](i.fp,e):i.t[i.p](e):i.t[i.p]=e,i=i._next},F=function(t,e,i,n){var r,a,o,s,l,h,c,u=[],p=0,d="",f=0;for(u.start=t,u.end=e,t=u[0]=t+"",e=u[1]=e+"",i&&(i(u),t=u[0],e=u[1]),u.length=0,r=t.match(N)||[],a=e.match(N)||[],n&&(n._next=null,n.blob=1,u._firstPT=u._applyPT=n),l=a.length,s=0;s<l;s++)c=a[s],d+=(h=e.substr(p,e.indexOf(c,p)-p))||!s?h:",",p+=h.length,f?f=(f+1)%5:"rgba("===h.substr(-5)&&(f=1),c===r[s]||r.length<=s?d+=c:(d&&(u.push(d),d=""),o=parseFloat(r[s]),u.push(o),u._firstPT={_next:u._firstPT,t:u,p:u.length-1,s:o,c:("="===c.charAt(1)?parseInt(c.charAt(0)+"1",10)*parseFloat(c.substr(2)):parseFloat(c)-o)||0,f:0,m:f&&f<4?Math.round:0}),p+=c.length;return(d+=e.substr(p))&&u.push(d),u.setRatio=U,B.test(e)&&(u.end=null),u},k=function(t,e,i,n,r,a,o,s,l){"function"==typeof n&&(n=n(l||0,t));var h=typeof t[e],c="function"!==h?"":e.indexOf("set")||"function"!=typeof t["get"+e.substr(3)]?e:"get"+e.substr(3),u="get"!==i?i:c?o?t[c](o):t[c]():t[e],p="string"==typeof n&&"="===n.charAt(1),d={t:t,p:e,s:u,f:"function"===h,pg:0,n:r||e,m:a?"function"==typeof a?a:Math.round:0,pr:0,c:p?parseInt(n.charAt(0)+"1",10)*parseFloat(n.substr(2)):parseFloat(n)-u||0};if(("number"!=typeof u||"number"!=typeof n&&!p)&&(o||isNaN(u)||!p&&isNaN(n)||"boolean"==typeof u||"boolean"==typeof n?(d.fp=o,d={t:F(u,p?parseFloat(d.s)+d.c+(d.s+"").replace(/[0-9\-\.]/g,""):n,s||z.defaultStringFilter,d),p:"setRatio",s:0,c:1,f:2,pg:0,n:r||e,pr:0,m:0}):(d.s=parseFloat(u),p||(d.c=parseFloat(n)-d.s||0))),d.c)return(d._next=this._firstPT)&&(d._next._prev=d),this._firstPT=d,d},G=z._internals={isArray:g,isSelector:O,lazyTweens:D,blobDif:F},H=z._plugins={},V=G.tweenLookup={},j=0,W=G.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1},X={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,true:1,false:0},Y=L._rootFramesTimeline=new C,Z=L._rootTimeline=new C,J=30,Q=G.lazyRender=function(){var t,e=D.length;for(I={};--e>-1;)(t=D[e])&&!1!==t._lazy&&(t.render(t._lazy[0],t._lazy[1],!0),t._lazy=!1);D.length=0};Z._startTime=l.time,Y._startTime=l.frame,Z._active=Y._active=!0,setTimeout(Q,1),L._updateRoot=z.render=function(){var t,e,i;if(D.length&&Q(),Z.render((l.time-Z._startTime)*Z._timeScale,!1,!1),Y.render((l.frame-Y._startTime)*Y._timeScale,!1,!1),D.length&&Q(),l.frame>=J){for(i in J=l.frame+(parseInt(z.autoSleep,10)||120),V){for(t=(e=V[i].tweens).length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete V[i]}if((!(i=Z._first)||i._paused)&&z.autoSleep&&!Y._first&&1===l._listeners.tick.length){for(;i&&i._paused;)i=i._next;i||l.sleep()}}},l.addEventListener("tick",L._updateRoot);var K=function(t,e,i){var n,r,a=t._gsTweenID;if(V[a||(t._gsTweenID=a="t"+j++)]||(V[a]={target:t,tweens:[]}),e&&((n=V[a].tweens)[r=n.length]=e,i))for(;--r>-1;)n[r]===e&&n.splice(r,1);return V[a].tweens},$=function(t,e,i,n){var r,a,o=t.vars.onOverwrite;return o&&(r=o(t,e,i,n)),(o=z.onOverwrite)&&(a=o(t,e,i,n)),!1!==r&&!1!==a},tt=function(t,e,i,n,r){var a,o,s,l;if(1===n||n>=4){for(l=r.length,a=0;a<l;a++)if((s=r[a])!==e)s._gc||s._kill(null,t,e)&&(o=!0);else if(5===n)break;return o}var h,c=e._startTime+1e-10,u=[],p=0,d=0===e._duration;for(a=r.length;--a>-1;)(s=r[a])===e||s._gc||s._paused||(s._timeline!==e._timeline?(h=h||et(e,0,d),0===et(s,h,d)&&(u[p++]=s)):s._startTime<=c&&s._startTime+s.totalDuration()/s._timeScale>c&&((d||!s._initted)&&c-s._startTime<=2e-10||(u[p++]=s)));for(a=p;--a>-1;)if(l=(s=u[a])._firstPT,2===n&&s._kill(i,t,e)&&(o=!0),2!==n||!s._firstPT&&s._initted&&l){if(2!==n&&!$(s,e))continue;s._enabled(!1,!1)&&(o=!0)}return o},et=function(t,e,i){for(var n=t._timeline,r=n._timeScale,a=t._startTime;n._timeline;){if(a+=n._startTime,r*=n._timeScale,n._paused)return-100;n=n._timeline}return(a/=r)>e?a-e:i&&a===e||!t._initted&&a-e<2e-10?1e-10:(a+=t.totalDuration()/t._timeScale/r)>e+1e-10?0:a-e-1e-10};s._init=function(){var t,e,i,n,r,a,o=this.vars,s=this._overwrittenProps,l=this._duration,h=!!o.immediateRender,c=o.ease;if(o.startAt){for(n in this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={},o.startAt)r[n]=o.startAt[n];if(r.data="isStart",r.overwrite=!1,r.immediateRender=!0,r.lazy=h&&!1!==o.lazy,r.startAt=r.delay=null,r.onUpdate=o.onUpdate,r.onUpdateParams=o.onUpdateParams,r.onUpdateScope=o.onUpdateScope||o.callbackScope||this,this._startAt=z.to(this.target||{},0,r),h)if(this._time>0)this._startAt=null;else if(0!==l)return}else if(o.runBackwards&&0!==l)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{for(n in 0!==this._time&&(h=!1),i={},o)W[n]&&"autoCSS"!==n||(i[n]=o[n]);if(i.overwrite=0,i.data="isFromStart",i.lazy=h&&!1!==o.lazy,i.immediateRender=h,this._startAt=z.to(this.target,0,i),h){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=c=c?c instanceof b?c:"function"==typeof c?new b(c,o.easeParams):w[c]||z.defaultEase:z.defaultEase,o.easeParams instanceof Array&&c.config&&(this._ease=c.config.apply(c,o.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(a=this._targets.length,t=0;t<a;t++)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],s?s[t]:null,t)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,s,0);if(e&&z._onPluginEvent("_onInitAllProps",this),s&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),o.runBackwards)for(i=this._firstPT;i;)i.s+=i.c,i.c=-i.c,i=i._next;this._onUpdate=o.onUpdate,this._initted=!0},s._initProps=function(e,i,n,r,a){var o,s,l,h,c,u;if(null==e)return!1;for(o in I[e._gsTweenID]&&Q(),this.vars.css||e.style&&e!==t&&e.nodeType&&H.css&&!1!==this.vars.autoCSS&&function(t,e){var i,n={};for(i in t)W[i]||i in e&&"transform"!==i&&"x"!==i&&"y"!==i&&"width"!==i&&"height"!==i&&"className"!==i&&"border"!==i||!(!H[i]||H[i]&&H[i]._autoCSS)||(n[i]=t[i],delete t[i]);t.css=n}(this.vars,e),this.vars)if(u=this.vars[o],W[o])u&&(u instanceof Array||u.push&&g(u))&&-1!==u.join("").indexOf("{self}")&&(this.vars[o]=u=this._swapSelfInParams(u,this));else if(H[o]&&(h=new H[o])._onInitTween(e,this.vars[o],this,a)){for(this._firstPT=c={_next:this._firstPT,t:h,p:"setRatio",s:0,c:1,f:1,n:o,pg:1,pr:h._priority,m:0},s=h._overwriteProps.length;--s>-1;)i[h._overwriteProps[s]]=this._firstPT;(h._priority||h._onInitAllProps)&&(l=!0),(h._onDisable||h._onEnable)&&(this._notifyPluginsOfEnabled=!0),c._next&&(c._next._prev=c)}else i[o]=k.call(this,e,o,"get",u,o,0,null,this.vars.stringFilter,a);return r&&this._kill(r,e)?this._initProps(e,i,n,r,a):this._overwrite>1&&this._firstPT&&n.length>1&&tt(e,this,i,this._overwrite,n)?(this._kill(i,e),this._initProps(e,i,n,r,a)):(this._firstPT&&(!1!==this.vars.lazy&&this._duration||this.vars.lazy&&!this._duration)&&(I[e._gsTweenID]=!0),l)},s.render=function(t,e,i){var n,r,a,o,s=this._time,l=this._duration,h=this._rawPrevTime;if(t>=l-1e-7&&t>=0)this._totalTime=this._time=l,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(n=!0,r="onComplete",i=i||this._timeline.autoRemoveChildren),0===l&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(h<0||t<=0&&t>=-1e-7||1e-10===h&&"isPause"!==this.data)&&h!==t&&(i=!0,h>1e-10&&(r="onReverseComplete")),this._rawPrevTime=o=!e||t||h===t?t:1e-10);else if(t<1e-7)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==s||0===l&&h>0)&&(r="onReverseComplete",n=this._reversed),t<0&&(this._active=!1,0===l&&(this._initted||!this.vars.lazy||i)&&(h>=0&&(1e-10!==h||"isPause"!==this.data)&&(i=!0),this._rawPrevTime=o=!e||t||h===t?t:1e-10)),(!this._initted||this._startAt&&this._startAt.progress())&&(i=!0);else if(this._totalTime=this._time=t,this._easeType){var c=t/l,u=this._easeType,p=this._easePower;(1===u||3===u&&c>=.5)&&(c=1-c),3===u&&(c*=2),1===p?c*=c:2===p?c*=c*c:3===p?c*=c*c*c:4===p&&(c*=c*c*c*c),this.ratio=1===u?1-c:2===u?c:t/l<.5?c/2:1-c/2}else this.ratio=this._ease.getRatio(t/l);if(this._time!==s||i){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(!1!==this.vars.lazy&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=s,this._rawPrevTime=h,D.push(this),void(this._lazy=[t,e]);this._time&&!n?this.ratio=this._ease.getRatio(this._time/l):n&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(!1!==this._lazy&&(this._lazy=!1),this._active||!this._paused&&this._time!==s&&t>=0&&(this._active=!0),0===s&&(this._startAt&&(t>=0?this._startAt.render(t,!0,i):r||(r="_dummyGS")),this.vars.onStart&&(0===this._time&&0!==l||e||this._callback("onStart"))),a=this._firstPT;a;)a.f?a.t[a.p](a.c*this.ratio+a.s):a.t[a.p]=a.c*this.ratio+a.s,a=a._next;this._onUpdate&&(t<0&&this._startAt&&-1e-4!==t&&this._startAt.render(t,!0,i),e||(this._time!==s||n||i)&&this._callback("onUpdate")),r&&(this._gc&&!i||(t<0&&this._startAt&&!this._onUpdate&&-1e-4!==t&&this._startAt.render(t,!0,i),n&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this._callback(r),0===l&&1e-10===this._rawPrevTime&&1e-10!==o&&(this._rawPrevTime=0)))}},s._kill=function(t,e,i){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:z.selector(e)||e;var n,r,a,o,s,l,h,c,u,p=i&&this._time&&i._startTime===this._startTime&&this._timeline===i._timeline,d=this._firstPT;if((g(e)||O(e))&&"number"!=typeof e[0])for(n=e.length;--n>-1;)this._kill(t,e[n],i)&&(l=!0);else{if(this._targets){for(n=this._targets.length;--n>-1;)if(e===this._targets[n]){s=this._propLookup[n]||{},this._overwrittenProps=this._overwrittenProps||[],r=this._overwrittenProps[n]=t?this._overwrittenProps[n]||{}:"all";break}}else{if(e!==this.target)return!1;s=this._propLookup,r=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(s){if(h=t||s,c=t!==r&&"all"!==r&&t!==s&&("object"!=typeof t||!t._tempKill),i&&(z.onOverwrite||this.vars.onOverwrite)){for(a in h)s[a]&&(u||(u=[]),u.push(a));if((u||!t)&&!$(this,i,e,u))return!1}for(a in h)(o=s[a])&&(p&&(o.f?o.t[o.p](o.s):o.t[o.p]=o.s,l=!0),o.pg&&o.t._kill(h)&&(l=!0),o.pg&&0!==o.t._overwriteProps.length||(o._prev?o._prev._next=o._next:o===this._firstPT&&(this._firstPT=o._next),o._next&&(o._next._prev=o._prev),o._next=o._prev=null),delete s[a]),c&&(r[a]=1);!this._firstPT&&this._initted&&d&&this._enabled(!1,!1)}}return l},s.invalidate=function(){return this._notifyPluginsOfEnabled&&z._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],L.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-1e-10,this.render(Math.min(0,-this._delay))),this},s._enabled=function(t,e){if(h||l.wake(),t&&this._gc){var i,n=this._targets;if(n)for(i=n.length;--i>-1;)this._siblings[i]=K(n[i],this,!0);else this._siblings=K(this.target,this,!0)}return L.prototype._enabled.call(this,t,e),!(!this._notifyPluginsOfEnabled||!this._firstPT)&&z._onPluginEvent(t?"_onEnable":"_onDisable",this)},z.to=function(t,e,i){return new z(t,e,i)},z.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new z(t,e,i)},z.fromTo=function(t,e,i,n){return n.startAt=i,n.immediateRender=0!=n.immediateRender&&0!=i.immediateRender,new z(t,e,n)},z.delayedCall=function(t,e,i,n,r){return new z(e,0,{delay:t,onComplete:e,onCompleteParams:i,callbackScope:n,onReverseComplete:e,onReverseCompleteParams:i,immediateRender:!1,lazy:!1,useFrames:r,overwrite:0})},z.set=function(t,e){return new z(t,0,e)},z.getTweensOf=function(t,e){if(null==t)return[];var i,n,r,a;if(t="string"!=typeof t?t:z.selector(t)||t,(g(t)||O(t))&&"number"!=typeof t[0]){for(i=t.length,n=[];--i>-1;)n=n.concat(z.getTweensOf(t[i],e));for(i=n.length;--i>-1;)for(a=n[i],r=i;--r>-1;)a===n[r]&&n.splice(i,1)}else if(t._gsTweenID)for(i=(n=K(t).concat()).length;--i>-1;)(n[i]._gc||e&&!n[i].isActive())&&n.splice(i,1);return n||[]},z.killTweensOf=z.killDelayedCallsTo=function(t,e,i){"object"==typeof e&&(i=e,e=!1);for(var n=z.getTweensOf(t,e),r=n.length;--r>-1;)n[r]._kill(i,t)};var it=x("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=it.prototype},!0);if(s=it.prototype,it.version="1.19.0",it.API=2,s._firstPT=null,s._addTween=k,s.setRatio=U,s._kill=function(t){var e,i=this._overwriteProps,n=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=i.length;--e>-1;)null!=t[i[e]]&&i.splice(e,1);for(;n;)null!=t[n.n]&&(n._next&&(n._next._prev=n._prev),n._prev?(n._prev._next=n._next,n._prev=null):this._firstPT===n&&(this._firstPT=n._next)),n=n._next;return!1},s._mod=s._roundProps=function(t){for(var e,i=this._firstPT;i;)(e=t[this._propName]||null!=i.n&&t[i.n.split(this._propName+"_").join("")])&&"function"==typeof e&&(2===i.f?i.t._applyPT.m=e:i.m=e),i=i._next},z._onPluginEvent=function(t,e){var i,n,r,a,o,s=e._firstPT;if("_onInitAllProps"===t){for(;s;){for(o=s._next,n=r;n&&n.pr>s.pr;)n=n._next;(s._prev=n?n._prev:a)?s._prev._next=s:r=s,(s._next=n)?n._prev=s:a=s,s=o}s=e._firstPT=r}for(;s;)s.pg&&"function"==typeof s.t[t]&&s.t[t]()&&(i=!0),s=s._next;return i},it.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===it.API&&(H[(new t[e])._propName]=t[e]);return!0},y.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,i=t.propName,n=t.priority||0,r=t.overwriteProps,a={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_mod",mod:"_mod",initAll:"_onInitAllProps"},o=x("plugins."+i.charAt(0).toUpperCase()+i.substr(1)+"Plugin",function(){it.call(this,i,n),this._overwriteProps=r||[]},!0===t.global),s=o.prototype=new it(i);for(e in s.constructor=o,o.API=t.API,a)"function"==typeof t[e]&&(s[a[e]]=t[e]);return o.version=t.version,it.activate([o]),o},a=t._gsQueue){for(o=0;o<a.length;o++)a[o]();for(s in v)v[s].func||t.console.log("GSAP encountered missing dependency: "+s)}return h=!1,z}(r),o=r.GreenSockGlobals,s=o.com.greensock,l=s.core.SimpleTimeline,h=s.core.Animation,c=o.Ease,u=(o.Linear,o.Power1,o.Power2,o.Power3,o.Power4,o.TweenPlugin);s.events.EventDispatcher}).call(this,i(21)(t),i(22))},function(t,e,i){"use strict";function n(){}i.r(e),i.d(e,"WebGLRenderTargetCube",function(){return ui}),i.d(e,"WebGLRenderTarget",function(){return ci}),i.d(e,"WebGLRenderer",function(){return qa}),i.d(e,"ShaderLib",function(){return Si}),i.d(e,"UniformsLib",function(){return Ti}),i.d(e,"UniformsUtils",function(){return _i}),i.d(e,"ShaderChunk",function(){return xi}),i.d(e,"FogExp2",function(){return ya}),i.d(e,"Fog",function(){return xa}),i.d(e,"Scene",function(){return _a}),i.d(e,"Sprite",function(){return Ta}),i.d(e,"LOD",function(){return Sa}),i.d(e,"SkinnedMesh",function(){return Pa}),i.d(e,"Skeleton",function(){return Ea}),i.d(e,"Bone",function(){return Aa}),i.d(e,"Mesh",function(){return Tn}),i.d(e,"LineSegments",function(){return Ca}),i.d(e,"LineLoop",function(){return za}),i.d(e,"Line",function(){return Ra}),i.d(e,"Points",function(){return Da}),i.d(e,"Group",function(){return na}),i.d(e,"VideoTexture",function(){return Ia}),i.d(e,"DataTexture",function(){return pi}),i.d(e,"DataTexture3D",function(){return Bn}),i.d(e,"CompressedTexture",function(){return Na}),i.d(e,"CubeTexture",function(){return Nn}),i.d(e,"CanvasTexture",function(){return Ba}),i.d(e,"DepthTexture",function(){return Ua}),i.d(e,"Texture",function(){return li}),i.d(e,"AnimationLoader",function(){return Rs}),i.d(e,"CompressedTextureLoader",function(){return Cs}),i.d(e,"DataTextureLoader",function(){return zs}),i.d(e,"CubeTextureLoader",function(){return Ds}),i.d(e,"TextureLoader",function(){return Is}),i.d(e,"ObjectLoader",function(){return El}),i.d(e,"MaterialLoader",function(){return vl}),i.d(e,"BufferGeometryLoader",function(){return yl}),i.d(e,"DefaultLoadingManager",function(){return As}),i.d(e,"LoadingManager",function(){return Es}),i.d(e,"JSONLoader",function(){return Sl}),i.d(e,"ImageLoader",function(){return Os}),i.d(e,"ImageBitmapLoader",function(){return Cl}),i.d(e,"FontLoader",function(){return Il}),i.d(e,"FileLoader",function(){return Ls}),i.d(e,"Loader",function(){return Tl}),i.d(e,"LoaderUtils",function(){return ql}),i.d(e,"Cache",function(){return Ss}),i.d(e,"AudioLoader",function(){return Yl}),i.d(e,"SpotLightShadow",function(){return hl}),i.d(e,"SpotLight",function(){return cl}),i.d(e,"PointLight",function(){return ul}),i.d(e,"RectAreaLight",function(){return gl}),i.d(e,"HemisphereLight",function(){return sl}),i.d(e,"DirectionalLightShadow",function(){return dl}),i.d(e,"DirectionalLight",function(){return fl}),i.d(e,"AmbientLight",function(){return ml}),i.d(e,"LightShadow",function(){return ll}),i.d(e,"Light",function(){return ol}),i.d(e,"StereoCamera",function(){return Zl}),i.d(e,"PerspectiveCamera",function(){return aa}),i.d(e,"OrthographicCamera",function(){return pl}),i.d(e,"CubeCamera",function(){return Jl}),i.d(e,"ArrayCamera",function(){return oa}),i.d(e,"Camera",function(){return ra}),i.d(e,"AudioListener",function(){return Kl}),i.d(e,"PositionalAudio",function(){return th}),i.d(e,"AudioContext",function(){return Xl}),i.d(e,"AudioAnalyser",function(){return eh}),i.d(e,"Audio",function(){return $l}),i.d(e,"VectorKeyframeTrack",function(){return ws}),i.d(e,"StringKeyframeTrack",function(){return bs}),i.d(e,"QuaternionKeyframeTrack",function(){return _s}),i.d(e,"NumberKeyframeTrack",function(){return ys}),i.d(e,"ColorKeyframeTrack",function(){return qs}),i.d(e,"BooleanKeyframeTrack",function(){return vs}),i.d(e,"PropertyMixer",function(){return ih}),i.d(e,"PropertyBinding",function(){return yh}),i.d(e,"KeyframeTrack",function(){return gs}),i.d(e,"AnimationUtils",function(){return us}),i.d(e,"AnimationObjectGroup",function(){return xh}),i.d(e,"AnimationMixer",function(){return bh}),i.d(e,"AnimationClip",function(){return Ms}),i.d(e,"Uniform",function(){return wh}),i.d(e,"InstancedBufferGeometry",function(){return Mh}),i.d(e,"BufferGeometry",function(){return en}),i.d(e,"Geometry",function(){return ki}),i.d(e,"InterleavedBufferAttribute",function(){return wa}),i.d(e,"InstancedInterleavedBuffer",function(){return Th}),i.d(e,"InterleavedBuffer",function(){return ba}),i.d(e,"InstancedBufferAttribute",function(){return Sh}),i.d(e,"Face3",function(){return Pi}),i.d(e,"Object3D",function(){return Ni}),i.d(e,"Raycaster",function(){return Eh}),i.d(e,"Layers",function(){return Ri}),i.d(e,"EventDispatcher",function(){return n}),i.d(e,"Clock",function(){return Ql}),i.d(e,"QuaternionLinearInterpolant",function(){return xs}),i.d(e,"LinearInterpolant",function(){return fs}),i.d(e,"DiscreteInterpolant",function(){return ms}),i.d(e,"CubicInterpolant",function(){return ds}),i.d(e,"Interpolant",function(){return ps}),i.d(e,"Triangle",function(){return wn}),i.d(e,"Math",function(){return Ze}),i.d(e,"Spherical",function(){return Lh}),i.d(e,"Cylindrical",function(){return Rh}),i.d(e,"Plane",function(){return mi}),i.d(e,"Frustum",function(){return gi}),i.d(e,"Sphere",function(){return fi}),i.d(e,"Ray",function(){return bn}),i.d(e,"Matrix4",function(){return Qe}),i.d(e,"Matrix3",function(){return ti}),i.d(e,"Box3",function(){return di}),i.d(e,"Box2",function(){return Ch}),i.d(e,"Line3",function(){return zh}),i.d(e,"Euler",function(){return Li}),i.d(e,"Vector4",function(){return hi}),i.d(e,"Vector3",function(){return $e}),i.d(e,"Vector2",function(){return Je}),i.d(e,"Quaternion",function(){return Ke}),i.d(e,"Color",function(){return wi}),i.d(e,"ImmediateRenderObject",function(){return Oh}),i.d(e,"VertexNormalsHelper",function(){return Dh}),i.d(e,"SpotLightHelper",function(){return Ih}),i.d(e,"SkeletonHelper",function(){return Nh}),i.d(e,"PointLightHelper",function(){return Bh}),i.d(e,"RectAreaLightHelper",function(){return Uh}),i.d(e,"HemisphereLightHelper",function(){return Fh}),i.d(e,"GridHelper",function(){return kh}),i.d(e,"PolarGridHelper",function(){return Gh}),i.d(e,"FaceNormalsHelper",function(){return Hh}),i.d(e,"DirectionalLightHelper",function(){return Vh}),i.d(e,"CameraHelper",function(){return jh}),i.d(e,"BoxHelper",function(){return Wh}),i.d(e,"Box3Helper",function(){return Xh}),i.d(e,"PlaneHelper",function(){return Yh}),i.d(e,"ArrowHelper",function(){return Zh}),i.d(e,"AxesHelper",function(){return Jh}),i.d(e,"Shape",function(){return al}),i.d(e,"Path",function(){return rl}),i.d(e,"ShapePath",function(){return zl}),i.d(e,"Font",function(){return Ol}),i.d(e,"CurvePath",function(){return nl}),i.d(e,"Curve",function(){return Ns}),i.d(e,"ImageUtils",function(){return oi}),i.d(e,"ShapeUtils",function(){return Ao}),i.d(e,"WebGLUtils",function(){return ia}),i.d(e,"WireframeGeometry",function(){return Fa}),i.d(e,"ParametricGeometry",function(){return ka}),i.d(e,"ParametricBufferGeometry",function(){return Ga}),i.d(e,"TetrahedronGeometry",function(){return ja}),i.d(e,"TetrahedronBufferGeometry",function(){return Wa}),i.d(e,"OctahedronGeometry",function(){return Xa}),i.d(e,"OctahedronBufferGeometry",function(){return Ya}),i.d(e,"IcosahedronGeometry",function(){return Za}),i.d(e,"IcosahedronBufferGeometry",function(){return Ja}),i.d(e,"DodecahedronGeometry",function(){return Qa}),i.d(e,"DodecahedronBufferGeometry",function(){return Ka}),i.d(e,"PolyhedronGeometry",function(){return Ha}),i.d(e,"PolyhedronBufferGeometry",function(){return Va}),i.d(e,"TubeGeometry",function(){return $a}),i.d(e,"TubeBufferGeometry",function(){return to}),i.d(e,"TorusKnotGeometry",function(){return eo}),i.d(e,"TorusKnotBufferGeometry",function(){return io}),i.d(e,"TorusGeometry",function(){return no}),i.d(e,"TorusBufferGeometry",function(){return ro}),i.d(e,"TextGeometry",function(){return Do}),i.d(e,"TextBufferGeometry",function(){return Io}),i.d(e,"SphereGeometry",function(){return No}),i.d(e,"SphereBufferGeometry",function(){return Bo}),i.d(e,"RingGeometry",function(){return Uo}),i.d(e,"RingBufferGeometry",function(){return Fo}),i.d(e,"PlaneGeometry",function(){return an}),i.d(e,"PlaneBufferGeometry",function(){return on}),i.d(e,"LatheGeometry",function(){return ko}),i.d(e,"LatheBufferGeometry",function(){return Go}),i.d(e,"ShapeGeometry",function(){return Ho}),i.d(e,"ShapeBufferGeometry",function(){return Vo}),i.d(e,"ExtrudeGeometry",function(){return Ro}),i.d(e,"ExtrudeBufferGeometry",function(){return Co}),i.d(e,"EdgesGeometry",function(){return Wo}),i.d(e,"ConeGeometry",function(){return Zo}),i.d(e,"ConeBufferGeometry",function(){return Jo}),i.d(e,"CylinderGeometry",function(){return Xo}),i.d(e,"CylinderBufferGeometry",function(){return Yo}),i.d(e,"CircleGeometry",function(){return Qo}),i.d(e,"CircleBufferGeometry",function(){return Ko}),i.d(e,"BoxGeometry",function(){return nn}),i.d(e,"BoxBufferGeometry",function(){return rn}),i.d(e,"ShadowMaterial",function(){return ts}),i.d(e,"SpriteMaterial",function(){return Ma}),i.d(e,"RawShaderMaterial",function(){return es}),i.d(e,"ShaderMaterial",function(){return _n}),i.d(e,"PointsMaterial",function(){return Oa}),i.d(e,"MeshPhysicalMaterial",function(){return ns}),i.d(e,"MeshStandardMaterial",function(){return is}),i.d(e,"MeshPhongMaterial",function(){return rs}),i.d(e,"MeshToonMaterial",function(){return as}),i.d(e,"MeshNormalMaterial",function(){return os}),i.d(e,"MeshLambertMaterial",function(){return ss}),i.d(e,"MeshDepthMaterial",function(){return Qr}),i.d(e,"MeshDistanceMaterial",function(){return Kr}),i.d(e,"MeshBasicMaterial",function(){return Mn}),i.d(e,"MeshMatcapMaterial",function(){return ls}),i.d(e,"LineDashedMaterial",function(){return hs}),i.d(e,"LineBasicMaterial",function(){return La}),i.d(e,"Material",function(){return xn}),i.d(e,"Float64BufferAttribute",function(){return Qi}),i.d(e,"Float32BufferAttribute",function(){return Ji}),i.d(e,"Uint32BufferAttribute",function(){return Zi}),i.d(e,"Int32BufferAttribute",function(){return Yi}),i.d(e,"Uint16BufferAttribute",function(){return Xi}),i.d(e,"Int16BufferAttribute",function(){return Wi}),i.d(e,"Uint8ClampedBufferAttribute",function(){return ji}),i.d(e,"Uint8BufferAttribute",function(){return Vi}),i.d(e,"Int8BufferAttribute",function(){return Hi}),i.d(e,"BufferAttribute",function(){return Gi}),i.d(e,"ArcCurve",function(){return Us}),i.d(e,"CatmullRomCurve3",function(){return js}),i.d(e,"CubicBezierCurve",function(){return Zs}),i.d(e,"CubicBezierCurve3",function(){return Js}),i.d(e,"EllipseCurve",function(){return Bs}),i.d(e,"LineCurve",function(){return Qs}),i.d(e,"LineCurve3",function(){return Ks}),i.d(e,"QuadraticBezierCurve",function(){return $s}),i.d(e,"QuadraticBezierCurve3",function(){return tl}),i.d(e,"SplineCurve",function(){return el}),i.d(e,"REVISION",function(){return m}),i.d(e,"MOUSE",function(){return g}),i.d(e,"CullFaceNone",function(){return v}),i.d(e,"CullFaceBack",function(){return q}),i.d(e,"CullFaceFront",function(){return y}),i.d(e,"CullFaceFrontBack",function(){return x}),i.d(e,"FrontFaceDirectionCW",function(){return _}),i.d(e,"FrontFaceDirectionCCW",function(){return b}),i.d(e,"BasicShadowMap",function(){return w}),i.d(e,"PCFShadowMap",function(){return M}),i.d(e,"PCFSoftShadowMap",function(){return T}),i.d(e,"FrontSide",function(){return S}),i.d(e,"BackSide",function(){return E}),i.d(e,"DoubleSide",function(){return A}),i.d(e,"FlatShading",function(){return P}),i.d(e,"SmoothShading",function(){return L}),i.d(e,"NoColors",function(){return R}),i.d(e,"FaceColors",function(){return C}),i.d(e,"VertexColors",function(){return z}),i.d(e,"NoBlending",function(){return O}),i.d(e,"NormalBlending",function(){return D}),i.d(e,"AdditiveBlending",function(){return I}),i.d(e,"SubtractiveBlending",function(){return N}),i.d(e,"MultiplyBlending",function(){return B}),i.d(e,"CustomBlending",function(){return U}),i.d(e,"AddEquation",function(){return F}),i.d(e,"SubtractEquation",function(){return k}),i.d(e,"ReverseSubtractEquation",function(){return G}),i.d(e,"MinEquation",function(){return H}),i.d(e,"MaxEquation",function(){return V}),i.d(e,"ZeroFactor",function(){return j}),i.d(e,"OneFactor",function(){return W}),i.d(e,"SrcColorFactor",function(){return X}),i.d(e,"OneMinusSrcColorFactor",function(){return Y}),i.d(e,"SrcAlphaFactor",function(){return Z}),i.d(e,"OneMinusSrcAlphaFactor",function(){return J}),i.d(e,"DstAlphaFactor",function(){return Q}),i.d(e,"OneMinusDstAlphaFactor",function(){return K}),i.d(e,"DstColorFactor",function(){return $}),i.d(e,"OneMinusDstColorFactor",function(){return tt}),i.d(e,"SrcAlphaSaturateFactor",function(){return et}),i.d(e,"NeverDepth",function(){return it}),i.d(e,"AlwaysDepth",function(){return nt}),i.d(e,"LessDepth",function(){return rt}),i.d(e,"LessEqualDepth",function(){return at}),i.d(e,"EqualDepth",function(){return ot}),i.d(e,"GreaterEqualDepth",function(){return st}),i.d(e,"GreaterDepth",function(){return lt}),i.d(e,"NotEqualDepth",function(){return ht}),i.d(e,"MultiplyOperation",function(){return ct}),i.d(e,"MixOperation",function(){return ut}),i.d(e,"AddOperation",function(){return pt}),i.d(e,"NoToneMapping",function(){return dt}),i.d(e,"LinearToneMapping",function(){return ft}),i.d(e,"ReinhardToneMapping",function(){return mt}),i.d(e,"Uncharted2ToneMapping",function(){return gt}),i.d(e,"CineonToneMapping",function(){return vt}),i.d(e,"UVMapping",function(){return qt}),i.d(e,"CubeReflectionMapping",function(){return yt}),i.d(e,"CubeRefractionMapping",function(){return xt}),i.d(e,"EquirectangularReflectionMapping",function(){return _t}),i.d(e,"EquirectangularRefractionMapping",function(){return bt}),i.d(e,"SphericalReflectionMapping",function(){return wt}),i.d(e,"CubeUVReflectionMapping",function(){return Mt}),i.d(e,"CubeUVRefractionMapping",function(){return Tt}),i.d(e,"RepeatWrapping",function(){return St}),i.d(e,"ClampToEdgeWrapping",function(){return Et}),i.d(e,"MirroredRepeatWrapping",function(){return At}),i.d(e,"NearestFilter",function(){return Pt}),i.d(e,"NearestMipMapNearestFilter",function(){return Lt}),i.d(e,"NearestMipMapLinearFilter",function(){return Rt}),i.d(e,"LinearFilter",function(){return Ct}),i.d(e,"LinearMipMapNearestFilter",function(){return zt}),i.d(e,"LinearMipMapLinearFilter",function(){return Ot}),i.d(e,"UnsignedByteType",function(){return Dt}),i.d(e,"ByteType",function(){return It}),i.d(e,"ShortType",function(){return Nt}),i.d(e,"UnsignedShortType",function(){return Bt}),i.d(e,"IntType",function(){return Ut}),i.d(e,"UnsignedIntType",function(){return Ft}),i.d(e,"FloatType",function(){return kt}),i.d(e,"HalfFloatType",function(){return Gt}),i.d(e,"UnsignedShort4444Type",function(){return Ht}),i.d(e,"UnsignedShort5551Type",function(){return Vt}),i.d(e,"UnsignedShort565Type",function(){return jt}),i.d(e,"UnsignedInt248Type",function(){return Wt}),i.d(e,"AlphaFormat",function(){return Xt}),i.d(e,"RGBFormat",function(){return Yt}),i.d(e,"RGBAFormat",function(){return Zt}),i.d(e,"LuminanceFormat",function(){return Jt}),i.d(e,"LuminanceAlphaFormat",function(){return Qt}),i.d(e,"RGBEFormat",function(){return Kt}),i.d(e,"DepthFormat",function(){return $t}),i.d(e,"DepthStencilFormat",function(){return te}),i.d(e,"RedFormat",function(){return ee}),i.d(e,"RGB_S3TC_DXT1_Format",function(){return ie}),i.d(e,"RGBA_S3TC_DXT1_Format",function(){return ne}),i.d(e,"RGBA_S3TC_DXT3_Format",function(){return re}),i.d(e,"RGBA_S3TC_DXT5_Format",function(){return ae}),i.d(e,"RGB_PVRTC_4BPPV1_Format",function(){return oe}),i.d(e,"RGB_PVRTC_2BPPV1_Format",function(){return se}),i.d(e,"RGBA_PVRTC_4BPPV1_Format",function(){return le}),i.d(e,"RGBA_PVRTC_2BPPV1_Format",function(){return he}),i.d(e,"RGB_ETC1_Format",function(){return ce}),i.d(e,"RGBA_ASTC_4x4_Format",function(){return ue}),i.d(e,"RGBA_ASTC_5x4_Format",function(){return pe}),i.d(e,"RGBA_ASTC_5x5_Format",function(){return de}),i.d(e,"RGBA_ASTC_6x5_Format",function(){return fe}),i.d(e,"RGBA_ASTC_6x6_Format",function(){return me}),i.d(e,"RGBA_ASTC_8x5_Format",function(){return ge}),i.d(e,"RGBA_ASTC_8x6_Format",function(){return ve}),i.d(e,"RGBA_ASTC_8x8_Format",function(){return qe}),i.d(e,"RGBA_ASTC_10x5_Format",function(){return ye}),i.d(e,"RGBA_ASTC_10x6_Format",function(){return xe}),i.d(e,"RGBA_ASTC_10x8_Format",function(){return _e}),i.d(e,"RGBA_ASTC_10x10_Format",function(){return be}),i.d(e,"RGBA_ASTC_12x10_Format",function(){return we}),i.d(e,"RGBA_ASTC_12x12_Format",function(){return Me}),i.d(e,"LoopOnce",function(){return Te}),i.d(e,"LoopRepeat",function(){return Se}),i.d(e,"LoopPingPong",function(){return Ee}),i.d(e,"InterpolateDiscrete",function(){return Ae}),i.d(e,"InterpolateLinear",function(){return Pe}),i.d(e,"InterpolateSmooth",function(){return Le}),i.d(e,"ZeroCurvatureEnding",function(){return Re}),i.d(e,"ZeroSlopeEnding",function(){return Ce}),i.d(e,"WrapAroundEnding",function(){return ze}),i.d(e,"TrianglesDrawMode",function(){return Oe}),i.d(e,"TriangleStripDrawMode",function(){return De}),i.d(e,"TriangleFanDrawMode",function(){return Ie}),i.d(e,"LinearEncoding",function(){return Ne}),i.d(e,"sRGBEncoding",function(){return Be}),i.d(e,"GammaEncoding",function(){return Ue}),i.d(e,"RGBEEncoding",function(){return Fe}),i.d(e,"LogLuvEncoding",function(){return ke}),i.d(e,"RGBM7Encoding",function(){return Ge}),i.d(e,"RGBM16Encoding",function(){return He}),i.d(e,"RGBDEncoding",function(){return Ve}),i.d(e,"BasicDepthPacking",function(){return je}),i.d(e,"RGBADepthPacking",function(){return We}),i.d(e,"TangentSpaceNormalMap",function(){return Xe}),i.d(e,"ObjectSpaceNormalMap",function(){return Ye}),i.d(e,"CubeGeometry",function(){return nn}),i.d(e,"Face4",function(){return Qh}),i.d(e,"LineStrip",function(){return Kh}),i.d(e,"LinePieces",function(){return $h}),i.d(e,"MeshFaceMaterial",function(){return tc}),i.d(e,"MultiMaterial",function(){return ec}),i.d(e,"PointCloud",function(){return ic}),i.d(e,"Particle",function(){return nc}),i.d(e,"ParticleSystem",function(){return rc}),i.d(e,"PointCloudMaterial",function(){return ac}),i.d(e,"ParticleBasicMaterial",function(){return oc}),i.d(e,"ParticleSystemMaterial",function(){return sc}),i.d(e,"Vertex",function(){return lc}),i.d(e,"DynamicBufferAttribute",function(){return hc}),i.d(e,"Int8Attribute",function(){return cc}),i.d(e,"Uint8Attribute",function(){return uc}),i.d(e,"Uint8ClampedAttribute",function(){return pc}),i.d(e,"Int16Attribute",function(){return dc}),i.d(e,"Uint16Attribute",function(){return fc}),i.d(e,"Int32Attribute",function(){return mc}),i.d(e,"Uint32Attribute",function(){return gc}),i.d(e,"Float32Attribute",function(){return vc}),i.d(e,"Float64Attribute",function(){return qc}),i.d(e,"ClosedSplineCurve3",function(){return yc}),i.d(e,"SplineCurve3",function(){return xc}),i.d(e,"Spline",function(){return _c}),i.d(e,"AxisHelper",function(){return bc}),i.d(e,"BoundingBoxHelper",function(){return wc}),i.d(e,"EdgesHelper",function(){return Mc}),i.d(e,"WireframeHelper",function(){return Tc}),i.d(e,"XHRLoader",function(){return Sc}),i.d(e,"BinaryTextureLoader",function(){return Ec}),i.d(e,"GeometryUtils",function(){return Ac}),i.d(e,"Projector",function(){return Pc}),i.d(e,"CanvasRenderer",function(){return Lc}),i.d(e,"SceneUtils",function(){return Rc}),i.d(e,"LensFlare",function(){return Cc}),void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),void 0===Math.sign&&(Math.sign=function(t){return t<0?-1:t>0?1:+t}),"name"in Function.prototype==!1&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}),Object.assign(n.prototype,{addEventListener:function(t,e){void 0===this._listeners&&(this._listeners={});var i=this._listeners;void 0===i[t]&&(i[t]=[]),-1===i[t].indexOf(e)&&i[t].push(e)},hasEventListener:function(t,e){if(void 0===this._listeners)return!1;var i=this._listeners;return void 0!==i[t]&&-1!==i[t].indexOf(e)},removeEventListener:function(t,e){if(void 0!==this._listeners){var i=this._listeners[t];if(void 0!==i){var n=i.indexOf(e);-1!==n&&i.splice(n,1)}}},dispatchEvent:function(t){if(void 0!==this._listeners){var e=this._listeners[t.type];if(void 0!==e){t.target=this;for(var i=e.slice(0),n=0,r=i.length;n<r;n++)i[n].call(this,t)}}}});var r,a,o,s,l,h,c,u,p,d,f,m="98",g={LEFT:0,MIDDLE:1,RIGHT:2},v=0,q=1,y=2,x=3,_=0,b=1,w=0,M=1,T=2,S=0,E=1,A=2,P=1,L=2,R=0,C=1,z=2,O=0,D=1,I=2,N=3,B=4,U=5,F=100,k=101,G=102,H=103,V=104,j=200,W=201,X=202,Y=203,Z=204,J=205,Q=206,K=207,$=208,tt=209,et=210,it=0,nt=1,rt=2,at=3,ot=4,st=5,lt=6,ht=7,ct=0,ut=1,pt=2,dt=0,ft=1,mt=2,gt=3,vt=4,qt=300,yt=301,xt=302,_t=303,bt=304,wt=305,Mt=306,Tt=307,St=1e3,Et=1001,At=1002,Pt=1003,Lt=1004,Rt=1005,Ct=1006,zt=1007,Ot=1008,Dt=1009,It=1010,Nt=1011,Bt=1012,Ut=1013,Ft=1014,kt=1015,Gt=1016,Ht=1017,Vt=1018,jt=1019,Wt=1020,Xt=1021,Yt=1022,Zt=1023,Jt=1024,Qt=1025,Kt=Zt,$t=1026,te=1027,ee=1028,ie=33776,ne=33777,re=33778,ae=33779,oe=35840,se=35841,le=35842,he=35843,ce=36196,ue=37808,pe=37809,de=37810,fe=37811,me=37812,ge=37813,ve=37814,qe=37815,ye=37816,xe=37817,_e=37818,be=37819,we=37820,Me=37821,Te=2200,Se=2201,Ee=2202,Ae=2300,Pe=2301,Le=2302,Re=2400,Ce=2401,ze=2402,Oe=0,De=1,Ie=2,Ne=3e3,Be=3001,Ue=3007,Fe=3002,ke=3003,Ge=3004,He=3005,Ve=3006,je=3200,We=3201,Xe=0,Ye=1,Ze={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){for(var t=[],e=0;e<256;e++)t[e]=(e<16?"0":"")+e.toString(16);return function(){var e=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(t[255&e]+t[e>>8&255]+t[e>>16&255]+t[e>>24&255]+"-"+t[255&i]+t[i>>8&255]+"-"+t[i>>16&15|64]+t[i>>24&255]+"-"+t[63&n|128]+t[n>>8&255]+"-"+t[n>>16&255]+t[n>>24&255]+t[255&r]+t[r>>8&255]+t[r>>16&255]+t[r>>24&255]).toUpperCase()}}(),clamp:function(t,e,i){return Math.max(e,Math.min(i,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,i,n,r){return n+(t-e)*(r-n)/(i-e)},lerp:function(t,e,i){return(1-i)*t+i*e},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*Ze.DEG2RAD},radToDeg:function(t){return t*Ze.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}};function Je(t,e){this.x=t||0,this.y=e||0}function Qe(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function Ke(t,e,i,n){this._x=t||0,this._y=e||0,this._z=i||0,this._w=void 0!==n?n:1}function $e(t,e,i){this.x=t||0,this.y=e||0,this.z=i||0}function ti(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}Object.defineProperties(Je.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(Je.prototype,{isVector2:!0,set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(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:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},applyMatrix3:function(t){var e=this.x,i=this.y,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6],this.y=n[1]*e+n[4]*i+n[7],this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(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:(r=new Je,a=new Je,function(t,e){return r.set(t,t),a.set(e,e),this.clamp(r,a)}),clampLength:function(t,e){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y;return e*e+i*i},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromBufferAttribute:function(t,e,i){return void 0!==i&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this},rotateAround:function(t,e){var i=Math.cos(e),n=Math.sin(e),r=this.x-t.x,a=this.y-t.y;return this.x=r*i-a*n+t.x,this.y=r*n+a*i+t.y,this}}),Object.assign(Qe.prototype,{isMatrix4:!0,set:function(t,e,i,n,r,a,o,s,l,h,c,u,p,d,f,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=i,g[12]=n,g[1]=r,g[5]=a,g[9]=o,g[13]=s,g[2]=l,g[6]=h,g[10]=c,g[14]=u,g[3]=p,g[7]=d,g[11]=f,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new Qe).fromArray(this.elements)},copy:function(t){var e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},copyPosition:function(t){var e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this},extractBasis:function(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this},extractRotation:(d=new $e,function(t){var e=this.elements,i=t.elements,n=1/d.setFromMatrixColumn(t,0).length(),r=1/d.setFromMatrixColumn(t,1).length(),a=1/d.setFromMatrixColumn(t,2).length();return e[0]=i[0]*n,e[1]=i[1]*n,e[2]=i[2]*n,e[3]=0,e[4]=i[4]*r,e[5]=i[5]*r,e[6]=i[6]*r,e[7]=0,e[8]=i[8]*a,e[9]=i[9]*a,e[10]=i[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}),makeRotationFromEuler:function(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var e=this.elements,i=t.x,n=t.y,r=t.z,a=Math.cos(i),o=Math.sin(i),s=Math.cos(n),l=Math.sin(n),h=Math.cos(r),c=Math.sin(r);if("XYZ"===t.order){var u=a*h,p=a*c,d=o*h,f=o*c;e[0]=s*h,e[4]=-s*c,e[8]=l,e[1]=p+d*l,e[5]=u-f*l,e[9]=-o*s,e[2]=f-u*l,e[6]=d+p*l,e[10]=a*s}else if("YXZ"===t.order){var m=s*h,g=s*c,v=l*h,q=l*c;e[0]=m+q*o,e[4]=v*o-g,e[8]=a*l,e[1]=a*c,e[5]=a*h,e[9]=-o,e[2]=g*o-v,e[6]=q+m*o,e[10]=a*s}else if("ZXY"===t.order){m=s*h,g=s*c,v=l*h,q=l*c;e[0]=m-q*o,e[4]=-a*c,e[8]=v+g*o,e[1]=g+v*o,e[5]=a*h,e[9]=q-m*o,e[2]=-a*l,e[6]=o,e[10]=a*s}else if("ZYX"===t.order){u=a*h,p=a*c,d=o*h,f=o*c;e[0]=s*h,e[4]=d*l-p,e[8]=u*l+f,e[1]=s*c,e[5]=f*l+u,e[9]=p*l-d,e[2]=-l,e[6]=o*s,e[10]=a*s}else if("YZX"===t.order){var y=a*s,x=a*l,_=o*s,b=o*l;e[0]=s*h,e[4]=b-y*c,e[8]=_*c+x,e[1]=c,e[5]=a*h,e[9]=-o*h,e[2]=-l*h,e[6]=x*c+_,e[10]=y-b*c}else if("XZY"===t.order){y=a*s,x=a*l,_=o*s,b=o*l;e[0]=s*h,e[4]=-c,e[8]=l*h,e[1]=y*c+b,e[5]=a*h,e[9]=x*c-_,e[2]=_*c-x,e[6]=o*h,e[10]=b*c+y}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:(u=new $e(0,0,0),p=new $e(1,1,1),function(t){return this.compose(u,t,p)}),lookAt:(l=new $e,h=new $e,c=new $e,function(t,e,i){var n=this.elements;return c.subVectors(t,e),0===c.lengthSq()&&(c.z=1),c.normalize(),l.crossVectors(i,c),0===l.lengthSq()&&(1===Math.abs(i.z)?c.x+=1e-4:c.z+=1e-4,c.normalize(),l.crossVectors(i,c)),l.normalize(),h.crossVectors(c,l),n[0]=l.x,n[4]=h.x,n[8]=c.x,n[1]=l.y,n[5]=h.y,n[9]=c.y,n[2]=l.z,n[6]=h.z,n[10]=c.z,this}),multiply:function(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,n=e.elements,r=this.elements,a=i[0],o=i[4],s=i[8],l=i[12],h=i[1],c=i[5],u=i[9],p=i[13],d=i[2],f=i[6],m=i[10],g=i[14],v=i[3],q=i[7],y=i[11],x=i[15],_=n[0],b=n[4],w=n[8],M=n[12],T=n[1],S=n[5],E=n[9],A=n[13],P=n[2],L=n[6],R=n[10],C=n[14],z=n[3],O=n[7],D=n[11],I=n[15];return r[0]=a*_+o*T+s*P+l*z,r[4]=a*b+o*S+s*L+l*O,r[8]=a*w+o*E+s*R+l*D,r[12]=a*M+o*A+s*C+l*I,r[1]=h*_+c*T+u*P+p*z,r[5]=h*b+c*S+u*L+p*O,r[9]=h*w+c*E+u*R+p*D,r[13]=h*M+c*A+u*C+p*I,r[2]=d*_+f*T+m*P+g*z,r[6]=d*b+f*S+m*L+g*O,r[10]=d*w+f*E+m*R+g*D,r[14]=d*M+f*A+m*C+g*I,r[3]=v*_+q*T+y*P+x*z,r[7]=v*b+q*S+y*L+x*O,r[11]=v*w+q*E+y*R+x*D,r[15]=v*M+q*A+y*C+x*I,this},multiplyScalar:function(t){var 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},applyToBufferAttribute:function(){var t=new $e;return function(e){for(var i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.applyMatrix4(this),e.setXYZ(i,t.x,t.y,t.z);return e}}(),determinant:function(){var t=this.elements,e=t[0],i=t[4],n=t[8],r=t[12],a=t[1],o=t[5],s=t[9],l=t[13],h=t[2],c=t[6],u=t[10],p=t[14];return t[3]*(+r*s*c-n*l*c-r*o*u+i*l*u+n*o*p-i*s*p)+t[7]*(+e*s*p-e*l*u+r*a*u-n*a*p+n*l*h-r*s*h)+t[11]*(+e*l*c-e*o*p-r*a*c+i*a*p+r*o*h-i*l*h)+t[15]*(-n*o*h-e*s*c+e*o*u+n*a*c-i*a*u+i*s*h)},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},setPosition:function(t){var e=this.elements;return e[12]=t.x,e[13]=t.y,e[14]=t.z,this},getInverse:function(t,e){var i=this.elements,n=t.elements,r=n[0],a=n[1],o=n[2],s=n[3],l=n[4],h=n[5],c=n[6],u=n[7],p=n[8],d=n[9],f=n[10],m=n[11],g=n[12],v=n[13],q=n[14],y=n[15],x=d*q*u-v*f*u+v*c*m-h*q*m-d*c*y+h*f*y,_=g*f*u-p*q*u-g*c*m+l*q*m+p*c*y-l*f*y,b=p*v*u-g*d*u+g*h*m-l*v*m-p*h*y+l*d*y,w=g*d*c-p*v*c-g*h*f+l*v*f+p*h*q-l*d*q,M=r*x+a*_+o*b+s*w;if(0===M){var T="THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0";if(!0===e)throw new Error(T);return console.warn(T),this.identity()}var S=1/M;return i[0]=x*S,i[1]=(v*f*s-d*q*s-v*o*m+a*q*m+d*o*y-a*f*y)*S,i[2]=(h*q*s-v*c*s+v*o*u-a*q*u-h*o*y+a*c*y)*S,i[3]=(d*c*s-h*f*s-d*o*u+a*f*u+h*o*m-a*c*m)*S,i[4]=_*S,i[5]=(p*q*s-g*f*s+g*o*m-r*q*m-p*o*y+r*f*y)*S,i[6]=(g*c*s-l*q*s-g*o*u+r*q*u+l*o*y-r*c*y)*S,i[7]=(l*f*s-p*c*s+p*o*u-r*f*u-l*o*m+r*c*m)*S,i[8]=b*S,i[9]=(g*d*s-p*v*s-g*a*m+r*v*m+p*a*y-r*d*y)*S,i[10]=(l*v*s-g*h*s+g*a*u-r*v*u-l*a*y+r*h*y)*S,i[11]=(p*h*s-l*d*s-p*a*u+r*d*u+l*a*m-r*h*m)*S,i[12]=w*S,i[13]=(p*v*o-g*d*o+g*a*f-r*v*f-p*a*q+r*d*q)*S,i[14]=(g*h*o-l*v*o-g*a*c+r*v*c+l*a*q-r*h*q)*S,i[15]=(l*d*o-p*h*o+p*a*c-r*d*c-l*a*f+r*h*f)*S,this},scale:function(t){var e=this.elements,i=t.x,n=t.y,r=t.z;return e[0]*=i,e[4]*=n,e[8]*=r,e[1]*=i,e[5]*=n,e[9]*=r,e[2]*=i,e[6]*=n,e[10]*=r,e[3]*=i,e[7]*=n,e[11]*=r,this},getMaxScaleOnAxis:function(){var t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],n=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,i,n))},makeTranslation:function(t,e,i){return this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this},makeRotationX:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this},makeRotationY:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this},makeRotationZ:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,e){var i=Math.cos(e),n=Math.sin(e),r=1-i,a=t.x,o=t.y,s=t.z,l=r*a,h=r*o;return this.set(l*a+i,l*o-n*s,l*s+n*o,0,l*o+n*s,h*o+i,h*s-n*a,0,l*s-n*o,h*s+n*a,r*s*s+i,0,0,0,0,1),this},makeScale:function(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this},makeShear:function(t,e,i){return this.set(1,e,i,0,t,1,i,0,t,e,1,0,0,0,0,1),this},compose:function(t,e,i){var n=this.elements,r=e._x,a=e._y,o=e._z,s=e._w,l=r+r,h=a+a,c=o+o,u=r*l,p=r*h,d=r*c,f=a*h,m=a*c,g=o*c,v=s*l,q=s*h,y=s*c,x=i.x,_=i.y,b=i.z;return n[0]=(1-(f+g))*x,n[1]=(p+y)*x,n[2]=(d-q)*x,n[3]=0,n[4]=(p-y)*_,n[5]=(1-(u+g))*_,n[6]=(m+v)*_,n[7]=0,n[8]=(d+q)*b,n[9]=(m-v)*b,n[10]=(1-(u+f))*b,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},decompose:(o=new $e,s=new Qe,function(t,e,i){var n=this.elements,r=o.set(n[0],n[1],n[2]).length(),a=o.set(n[4],n[5],n[6]).length(),l=o.set(n[8],n[9],n[10]).length();this.determinant()<0&&(r=-r),t.x=n[12],t.y=n[13],t.z=n[14],s.copy(this);var h=1/r,c=1/a,u=1/l;return s.elements[0]*=h,s.elements[1]*=h,s.elements[2]*=h,s.elements[4]*=c,s.elements[5]*=c,s.elements[6]*=c,s.elements[8]*=u,s.elements[9]*=u,s.elements[10]*=u,e.setFromRotationMatrix(s),i.x=r,i.y=a,i.z=l,this}),makePerspective:function(t,e,i,n,r,a){void 0===a&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var o=this.elements,s=2*r/(e-t),l=2*r/(i-n),h=(e+t)/(e-t),c=(i+n)/(i-n),u=-(a+r)/(a-r),p=-2*a*r/(a-r);return o[0]=s,o[4]=0,o[8]=h,o[12]=0,o[1]=0,o[5]=l,o[9]=c,o[13]=0,o[2]=0,o[6]=0,o[10]=u,o[14]=p,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this},makeOrthographic:function(t,e,i,n,r,a){var o=this.elements,s=1/(e-t),l=1/(i-n),h=1/(a-r),c=(e+t)*s,u=(i+n)*l,p=(a+r)*h;return o[0]=2*s,o[4]=0,o[8]=0,o[12]=-c,o[1]=0,o[5]=2*l,o[9]=0,o[13]=-u,o[2]=0,o[6]=0,o[10]=-2*h,o[14]=-p,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this},equals:function(t){for(var e=this.elements,i=t.elements,n=0;n<16;n++)if(e[n]!==i[n])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var i=0;i<16;i++)this.elements[i]=t[i+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t}}),Object.assign(Ke,{slerp:function(t,e,i,n){return i.copy(t).slerp(e,n)},slerpFlat:function(t,e,i,n,r,a,o){var s=i[n+0],l=i[n+1],h=i[n+2],c=i[n+3],u=r[a+0],p=r[a+1],d=r[a+2],f=r[a+3];if(c!==f||s!==u||l!==p||h!==d){var m=1-o,g=s*u+l*p+h*d+c*f,v=g>=0?1:-1,q=1-g*g;if(q>Number.EPSILON){var y=Math.sqrt(q),x=Math.atan2(y,g*v);m=Math.sin(m*x)/y,o=Math.sin(o*x)/y}var _=o*v;if(s=s*m+u*_,l=l*m+p*_,h=h*m+d*_,c=c*m+f*_,m===1-o){var b=1/Math.sqrt(s*s+l*l+h*h+c*c);s*=b,l*=b,h*=b,c*=b}}t[e]=s,t[e+1]=l,t[e+2]=h,t[e+3]=c}}),Object.defineProperties(Ke.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(t){this._w=t,this.onChangeCallback()}}}),Object.assign(Ke.prototype,{isQuaternion:!0,set:function(t,e,i,n){return this._x=t,this._y=e,this._z=i,this._w=n,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this.onChangeCallback(),this},setFromEuler:function(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var i=t._x,n=t._y,r=t._z,a=t.order,o=Math.cos,s=Math.sin,l=o(i/2),h=o(n/2),c=o(r/2),u=s(i/2),p=s(n/2),d=s(r/2);return"XYZ"===a?(this._x=u*h*c+l*p*d,this._y=l*p*c-u*h*d,this._z=l*h*d+u*p*c,this._w=l*h*c-u*p*d):"YXZ"===a?(this._x=u*h*c+l*p*d,this._y=l*p*c-u*h*d,this._z=l*h*d-u*p*c,this._w=l*h*c+u*p*d):"ZXY"===a?(this._x=u*h*c-l*p*d,this._y=l*p*c+u*h*d,this._z=l*h*d+u*p*c,this._w=l*h*c-u*p*d):"ZYX"===a?(this._x=u*h*c-l*p*d,this._y=l*p*c+u*h*d,this._z=l*h*d-u*p*c,this._w=l*h*c+u*p*d):"YZX"===a?(this._x=u*h*c+l*p*d,this._y=l*p*c+u*h*d,this._z=l*h*d-u*p*c,this._w=l*h*c-u*p*d):"XZY"===a&&(this._x=u*h*c-l*p*d,this._y=l*p*c-u*h*d,this._z=l*h*d+u*p*c,this._w=l*h*c+u*p*d),!1!==e&&this.onChangeCallback(),this},setFromAxisAngle:function(t,e){var i=e/2,n=Math.sin(i);return this._x=t.x*n,this._y=t.y*n,this._z=t.z*n,this._w=Math.cos(i),this.onChangeCallback(),this},setFromRotationMatrix:function(t){var e,i=t.elements,n=i[0],r=i[4],a=i[8],o=i[1],s=i[5],l=i[9],h=i[2],c=i[6],u=i[10],p=n+s+u;return p>0?(e=.5/Math.sqrt(p+1),this._w=.25/e,this._x=(c-l)*e,this._y=(a-h)*e,this._z=(o-r)*e):n>s&&n>u?(e=2*Math.sqrt(1+n-s-u),this._w=(c-l)/e,this._x=.25*e,this._y=(r+o)/e,this._z=(a+h)/e):s>u?(e=2*Math.sqrt(1+s-n-u),this._w=(a-h)/e,this._x=(r+o)/e,this._y=.25*e,this._z=(l+c)/e):(e=2*Math.sqrt(1+u-n-s),this._w=(o-r)/e,this._x=(a+h)/e,this._y=(l+c)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e=new $e;return function(i,n){return void 0===e&&(e=new $e),(t=i.dot(n)+1)<1e-6?(t=0,Math.abs(i.x)>Math.abs(i.z)?e.set(-i.y,i.x,0):e.set(0,-i.z,i.y)):e.crossVectors(i,n),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),angleTo:function(t){return 2*Math.acos(Math.abs(Ze.clamp(this.dot(t),-1,1)))},rotateTowards:function(t,e){var i=this.angleTo(t);if(0===i)return this;var n=Math.min(1,e/i);return this.slerp(t,n),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var 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:function(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var i=t._x,n=t._y,r=t._z,a=t._w,o=e._x,s=e._y,l=e._z,h=e._w;return this._x=i*h+a*o+n*l-r*s,this._y=n*h+a*s+r*o-i*l,this._z=r*h+a*l+i*s-n*o,this._w=a*h-i*o-n*s-r*l,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var i=this._x,n=this._y,r=this._z,a=this._w,o=a*t._w+i*t._x+n*t._y+r*t._z;if(o<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,o=-o):this.copy(t),o>=1)return this._w=a,this._x=i,this._y=n,this._z=r,this;var s=1-o*o;if(s<=Number.EPSILON){var l=1-e;return this._w=l*a+e*this._w,this._x=l*i+e*this._x,this._y=l*n+e*this._y,this._z=l*r+e*this._z,this.normalize()}var h=Math.sqrt(s),c=Math.atan2(h,o),u=Math.sin((1-e)*c)/h,p=Math.sin(e*c)/h;return this._w=a*u+this._w*p,this._x=i*u+this._x*p,this._y=n*u+this._y*p,this._z=r*u+this._z*p,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign($e.prototype,{isVector3:!0,set:function(t,e,i){return this.x=t,this.y=e,this.z=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(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:function(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:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:(f=new Ke,function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(f.setFromEuler(t))}),applyAxisAngle:function(){var t=new Ke;return function(e,i){return this.applyQuaternion(t.setFromAxisAngle(e,i))}}(),applyMatrix3:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[3]*i+r[6]*n,this.y=r[1]*e+r[4]*i+r[7]*n,this.z=r[2]*e+r[5]*i+r[8]*n,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements,a=1/(r[3]*e+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*e+r[4]*i+r[8]*n+r[12])*a,this.y=(r[1]*e+r[5]*i+r[9]*n+r[13])*a,this.z=(r[2]*e+r[6]*i+r[10]*n+r[14])*a,this},applyQuaternion:function(t){var e=this.x,i=this.y,n=this.z,r=t.x,a=t.y,o=t.z,s=t.w,l=s*e+a*n-o*i,h=s*i+o*e-r*n,c=s*n+r*i-a*e,u=-r*e-a*i-o*n;return this.x=l*s+u*-r+h*-o-c*-a,this.y=h*s+u*-a+c*-r-l*-o,this.z=c*s+u*-o+l*-a-h*-r,this},project:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)},unproject:function(){var t=new Qe;return function(e){return this.applyMatrix4(t.getInverse(e.projectionMatrix)).applyMatrix4(e.matrixWorld)}}(),transformDirection:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n,this.y=r[1]*e+r[5]*i+r[9]*n,this.z=r[2]*e+r[6]*i+r[10]*n,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(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:function(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:function(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:function(){var t=new $e,e=new $e;return function(i,n){return t.set(i,i,i),e.set(n,n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(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:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},cross:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)},crossVectors:function(t,e){var i=t.x,n=t.y,r=t.z,a=e.x,o=e.y,s=e.z;return this.x=n*s-r*o,this.y=r*a-i*s,this.z=i*o-n*a,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t=new $e;return function(e){return t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t=new $e;return function(e){return this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(Ze.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)},setFromSphericalCoords:function(t,e,i){var n=Math.sin(e)*t;return this.x=n*Math.sin(i),this.y=Math.cos(e)*t,this.z=n*Math.cos(i),this},setFromCylindrical:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)},setFromCylindricalCoords:function(t,e,i){return this.x=t*Math.sin(e),this.y=i,this.z=t*Math.cos(e),this},setFromMatrixPosition:function(t){var e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=n,this},setFromMatrixColumn:function(t,e){return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromBufferAttribute:function(t,e,i){return void 0!==i&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}}),Object.assign(ti.prototype,{isMatrix3:!0,set:function(t,e,i,n,r,a,o,s,l){var h=this.elements;return h[0]=t,h[1]=n,h[2]=o,h[3]=e,h[4]=r,h[5]=s,h[6]=i,h[7]=a,h[8]=l,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this},setFromMatrix4:function(t){var 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},applyToBufferAttribute:function(){var t=new $e;return function(e){for(var i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.applyMatrix3(this),e.setXYZ(i,t.x,t.y,t.z);return e}}(),multiply:function(t){return this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,n=e.elements,r=this.elements,a=i[0],o=i[3],s=i[6],l=i[1],h=i[4],c=i[7],u=i[2],p=i[5],d=i[8],f=n[0],m=n[3],g=n[6],v=n[1],q=n[4],y=n[7],x=n[2],_=n[5],b=n[8];return r[0]=a*f+o*v+s*x,r[3]=a*m+o*q+s*_,r[6]=a*g+o*y+s*b,r[1]=l*f+h*v+c*x,r[4]=l*m+h*q+c*_,r[7]=l*g+h*y+c*b,r[2]=u*f+p*v+d*x,r[5]=u*m+p*q+d*_,r[8]=u*g+p*y+d*b,this},multiplyScalar:function(t){var 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:function(){var t=this.elements,e=t[0],i=t[1],n=t[2],r=t[3],a=t[4],o=t[5],s=t[6],l=t[7],h=t[8];return e*a*h-e*o*l-i*r*h+i*o*s+n*r*l-n*a*s},getInverse:function(t,e){t&&t.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var i=t.elements,n=this.elements,r=i[0],a=i[1],o=i[2],s=i[3],l=i[4],h=i[5],c=i[6],u=i[7],p=i[8],d=p*l-h*u,f=h*c-p*s,m=u*s-l*c,g=r*d+a*f+o*m;if(0===g){var v="THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0";if(!0===e)throw new Error(v);return console.warn(v),this.identity()}var q=1/g;return n[0]=d*q,n[1]=(o*u-p*a)*q,n[2]=(h*a-o*l)*q,n[3]=f*q,n[4]=(p*r-o*c)*q,n[5]=(o*s-h*r)*q,n[6]=m*q,n[7]=(a*c-u*r)*q,n[8]=(l*r-a*s)*q,this},transpose:function(){var t,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:function(t){return this.setFromMatrix4(t).getInverse(this).transpose()},transposeIntoArray:function(t){var 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:function(t,e,i,n,r,a,o){var s=Math.cos(r),l=Math.sin(r);this.set(i*s,i*l,-i*(s*a+l*o)+a+t,-n*l,n*s,-n*(-l*a+s*o)+o+e,0,0,1)},scale:function(t,e){var i=this.elements;return i[0]*=t,i[3]*=t,i[6]*=t,i[1]*=e,i[4]*=e,i[7]*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),n=this.elements,r=n[0],a=n[3],o=n[6],s=n[1],l=n[4],h=n[7];return n[0]=e*r+i*s,n[3]=e*a+i*l,n[6]=e*o+i*h,n[1]=-i*r+e*s,n[4]=-i*a+e*l,n[7]=-i*o+e*h,this},translate:function(t,e){var i=this.elements;return i[0]+=t*i[2],i[3]+=t*i[5],i[6]+=t*i[8],i[1]+=e*i[2],i[4]+=e*i[5],i[7]+=e*i[8],this},equals:function(t){for(var e=this.elements,i=t.elements,n=0;n<9;n++)if(e[n]!==i[n])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var i=0;i<9;i++)this.elements[i]=t[i+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t}});var ei,ii,ni,ri,ai,oi={getDataURL:function(t){var e;if("undefined"==typeof HTMLCanvasElement)return t.src;if(t instanceof HTMLCanvasElement)e=t;else{(e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")).width=t.width,e.height=t.height;var i=e.getContext("2d");t instanceof ImageData?i.putImageData(t,0,0):i.drawImage(t,0,0,t.width,t.height)}return e.width>2048||e.height>2048?e.toDataURL("image/jpeg",.6):e.toDataURL("image/png")}},si=0;function li(t,e,i,n,r,a,o,s,l,h){Object.defineProperty(this,"id",{value:si++}),this.uuid=Ze.generateUUID(),this.name="",this.image=void 0!==t?t:li.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==e?e:li.DEFAULT_MAPPING,this.wrapS=void 0!==i?i:Et,this.wrapT=void 0!==n?n:Et,this.magFilter=void 0!==r?r:Ct,this.minFilter=void 0!==a?a:Ot,this.anisotropy=void 0!==l?l:1,this.format=void 0!==o?o:Zt,this.type=void 0!==s?s:Dt,this.offset=new Je(0,0),this.repeat=new Je(1,1),this.center=new Je(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new ti,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==h?h:Ne,this.version=0,this.onUpdate=null}function hi(t,e,i,n){this.x=t||0,this.y=e||0,this.z=i||0,this.w=void 0!==n?n:1}function ci(t,e,i){this.width=t,this.height=e,this.scissor=new hi(0,0,t,e),this.scissorTest=!1,this.viewport=new hi(0,0,t,e),void 0===(i=i||{}).minFilter&&(i.minFilter=Ct),this.texture=new li(void 0,void 0,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.encoding),this.texture.generateMipmaps=void 0===i.generateMipmaps||i.generateMipmaps,this.depthBuffer=void 0===i.depthBuffer||i.depthBuffer,this.stencilBuffer=void 0===i.stencilBuffer||i.stencilBuffer,this.depthTexture=void 0!==i.depthTexture?i.depthTexture:null}function ui(t,e,i){ci.call(this,t,e,i),this.activeCubeFace=0,this.activeMipMapLevel=0}function pi(t,e,i,n,r,a,o,s,l,h,c,u){li.call(this,null,a,o,s,l,h,n,r,c,u),this.image={data:t,width:e,height:i},this.magFilter=void 0!==l?l:Pt,this.minFilter=void 0!==h?h:Pt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function di(t,e){this.min=void 0!==t?t:new $e(1/0,1/0,1/0),this.max=void 0!==e?e:new $e(-1/0,-1/0,-1/0)}function fi(t,e){this.center=void 0!==t?t:new $e,this.radius=void 0!==e?e:0}function mi(t,e){this.normal=void 0!==t?t:new $e(1,0,0),this.constant=void 0!==e?e:0}function gi(t,e,i,n,r,a){this.planes=[void 0!==t?t:new mi,void 0!==e?e:new mi,void 0!==i?i:new mi,void 0!==n?n:new mi,void 0!==r?r:new mi,void 0!==a?a:new mi]}li.DEFAULT_IMAGE=void 0,li.DEFAULT_MAPPING=qt,li.prototype=Object.assign(Object.create(n.prototype),{constructor:li,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,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.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},toJSON:function(t){var e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];var i={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,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,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var n=this.image;if(void 0===n.uuid&&(n.uuid=Ze.generateUUID()),!e&&void 0===t.images[n.uuid]){var r;if(Array.isArray(n)){r=[];for(var a=0,o=n.length;a<o;a++)r.push(oi.getDataURL(n[a]))}else r=oi.getDataURL(n);t.images[n.uuid]={uuid:n.uuid,url:r}}i.image=n.uuid}return e||(t.textures[this.uuid]=i),i},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(t){if(this.mapping!==qt)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case St:t.x=t.x-Math.floor(t.x);break;case Et:t.x=t.x<0?0:1;break;case At: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 St:t.y=t.y-Math.floor(t.y);break;case Et:t.y=t.y<0?0:1;break;case At: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}}),Object.defineProperty(li.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(hi.prototype,{isVector4:!0,set:function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(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:function(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:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(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:function(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(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:function(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:function(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(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},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,r=this.w,a=t.elements;return this.x=a[0]*e+a[4]*i+a[8]*n+a[12]*r,this.y=a[1]*e+a[5]*i+a[9]*n+a[13]*r,this.z=a[2]*e+a[6]*i+a[10]*n+a[14]*r,this.w=a[3]*e+a[7]*i+a[11]*n+a[15]*r,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var 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:function(t){var e,i,n,r,a=t.elements,o=a[0],s=a[4],l=a[8],h=a[1],c=a[5],u=a[9],p=a[2],d=a[6],f=a[10];if(Math.abs(s-h)<.01&&Math.abs(l-p)<.01&&Math.abs(u-d)<.01){if(Math.abs(s+h)<.1&&Math.abs(l+p)<.1&&Math.abs(u+d)<.1&&Math.abs(o+c+f-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;var m=(o+1)/2,g=(c+1)/2,v=(f+1)/2,q=(s+h)/4,y=(l+p)/4,x=(u+d)/4;return m>g&&m>v?m<.01?(i=0,n=.707106781,r=.707106781):(n=q/(i=Math.sqrt(m)),r=y/i):g>v?g<.01?(i=.707106781,n=0,r=.707106781):(i=q/(n=Math.sqrt(g)),r=x/n):v<.01?(i=.707106781,n=.707106781,r=0):(i=y/(r=Math.sqrt(v)),n=x/r),this.set(i,n,r,e),this}var _=Math.sqrt((d-u)*(d-u)+(l-p)*(l-p)+(h-s)*(h-s));return Math.abs(_)<.001&&(_=1),this.x=(d-u)/_,this.y=(l-p)/_,this.z=(h-s)/_,this.w=Math.acos((o+c+f-1)/2),this},min:function(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:function(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:function(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:function(){var t,e;return function(i,n){return void 0===t&&(t=new hi,e=new hi),t.set(i,i,i,i),e.set(n,n,n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))},floor:function(){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:function(){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:function(){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:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(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:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t},fromBufferAttribute:function(t,e,i){return void 0!==i&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}}),ci.prototype=Object.assign(Object.create(n.prototype),{constructor:ci,isWebGLRenderTarget:!0,setSize:function(t,e){this.width===t&&this.height===e||(this.width=t,this.height=e,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.width=t.width,this.height=t.height,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),ui.prototype=Object.create(ci.prototype),ui.prototype.constructor=ui,ui.prototype.isWebGLRenderTargetCube=!0,pi.prototype=Object.create(li.prototype),pi.prototype.constructor=pi,pi.prototype.isDataTexture=!0,Object.assign(di.prototype,{isBox3:!0,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromArray:function(t){for(var e=1/0,i=1/0,n=1/0,r=-1/0,a=-1/0,o=-1/0,s=0,l=t.length;s<l;s+=3){var h=t[s],c=t[s+1],u=t[s+2];h<e&&(e=h),c<i&&(i=c),u<n&&(n=u),h>r&&(r=h),c>a&&(a=c),u>o&&(o=u)}return this.min.set(e,i,n),this.max.set(r,a,o),this},setFromBufferAttribute:function(t){for(var e=1/0,i=1/0,n=1/0,r=-1/0,a=-1/0,o=-1/0,s=0,l=t.count;s<l;s++){var h=t.getX(s),c=t.getY(s),u=t.getZ(s);h<e&&(e=h),c<i&&(i=c),u<n&&(n=u),h>r&&(r=h),c>a&&(a=c),u>o&&(o=u)}return this.min.set(e,i,n),this.max.set(r,a,o),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new $e;return function(e,i){var n=t.copy(i).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}}(),setFromObject:function(t){return this.makeEmpty(),this.expandByObject(t)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){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:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(t){return void 0===t&&(console.warn("THREE.Box3: .getCenter() target is now required"),t=new $e),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(console.warn("THREE.Box3: .getSize() target is now required"),t=new $e),this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},expandByObject:function(){var t,e,i,n=new $e;function r(r){var a=r.geometry;if(void 0!==a)if(a.isGeometry){var o=a.vertices;for(e=0,i=o.length;e<i;e++)n.copy(o[e]),n.applyMatrix4(r.matrixWorld),t.expandByPoint(n)}else if(a.isBufferGeometry){var s=a.attributes.position;if(void 0!==s)for(e=0,i=s.count;e<i;e++)n.fromBufferAttribute(s,e).applyMatrix4(r.matrixWorld),t.expandByPoint(n)}}return function(e){return t=this,e.updateMatrixWorld(!0),e.traverse(r),this}}(),containsPoint:function(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:function(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:function(t,e){return void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new $e),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:function(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:(ii=new $e,function(t){return this.clampPoint(t.center,ii),ii.distanceToSquared(t.center)<=t.radius*t.radius}),intersectsPlane:function(t){var e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=-t.constant&&i>=-t.constant},intersectsTriangle:function(){var t=new $e,e=new $e,i=new $e,n=new $e,r=new $e,a=new $e,o=new $e,s=new $e,l=new $e,h=new $e;function c(n){var r,a;for(r=0,a=n.length-3;r<=a;r+=3){o.fromArray(n,r);var s=l.x*Math.abs(o.x)+l.y*Math.abs(o.y)+l.z*Math.abs(o.z),h=t.dot(o),c=e.dot(o),u=i.dot(o);if(Math.max(-Math.max(h,c,u),Math.min(h,c,u))>s)return!1}return!0}return function(o){if(this.isEmpty())return!1;this.getCenter(s),l.subVectors(this.max,s),t.subVectors(o.a,s),e.subVectors(o.b,s),i.subVectors(o.c,s),n.subVectors(e,t),r.subVectors(i,e),a.subVectors(t,i);var u=[0,-n.z,n.y,0,-r.z,r.y,0,-a.z,a.y,n.z,0,-n.x,r.z,0,-r.x,a.z,0,-a.x,-n.y,n.x,0,-r.y,r.x,0,-a.y,a.x,0];return!!c(u)&&(!!c(u=[1,0,0,0,1,0,0,0,1])&&(h.crossVectors(n,r),c(u=[h.x,h.y,h.z])))}}(),clampPoint:function(t,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new $e),e.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new $e;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),getBoundingSphere:function(){var t=new $e;return function(e){return void 0===e&&(console.warn("THREE.Box3: .getBoundingSphere() target is now required"),e=new fi),this.getCenter(e.center),e.radius=.5*this.getSize(t).length(),e}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:(ei=[new $e,new $e,new $e,new $e,new $e,new $e,new $e,new $e],function(t){return this.isEmpty()?this:(ei[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),ei[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),ei[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),ei[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),ei[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),ei[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),ei[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),ei[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(ei),this)}),translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(fi.prototype,{set:function(t,e){return this.center.copy(t),this.radius=e,this},setFromPoints:(ni=new di,function(t,e){var i=this.center;void 0!==e?i.copy(e):ni.setFromPoints(t).getCenter(i);for(var n=0,r=0,a=t.length;r<a;r++)n=Math.max(n,i.distanceToSquared(t[r]));return this.radius=Math.sqrt(n),this}),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.center.copy(t.center),this.radius=t.radius,this},empty:function(){return this.radius<=0},containsPoint:function(t){return t.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(t){return t.distanceTo(this.center)-this.radius},intersectsSphere:function(t){var e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e},intersectsBox:function(t){return t.intersectsSphere(this)},intersectsPlane:function(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius},clampPoint:function(t,e){var i=this.center.distanceToSquared(t);return void 0===e&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),e=new $e),e.copy(t),i>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e},getBoundingBox:function(t){return void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new di),t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}}),Object.assign(mi.prototype,{set:function(t,e){return this.normal.copy(t),this.constant=e,this},setComponents:function(t,e,i,n){return this.normal.set(t,e,i),this.constant=n,this},setFromNormalAndCoplanarPoint:function(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this},setFromCoplanarPoints:function(){var t=new $e,e=new $e;return function(i,n,r){var a=t.subVectors(r,n).cross(e.subVectors(i,n)).normalize();return this.setFromNormalAndCoplanarPoint(a,i),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.normal.copy(t.normal),this.constant=t.constant,this},normalize:function(){var t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(t){return this.normal.dot(t)+this.constant},distanceToSphere:function(t){return this.distanceToPoint(t.center)-t.radius},projectPoint:function(t,e){return void 0===e&&(console.warn("THREE.Plane: .projectPoint() target is now required"),e=new $e),e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)},intersectLine:function(){var t=new $e;return function(e,i){void 0===i&&(console.warn("THREE.Plane: .intersectLine() target is now required"),i=new $e);var n=e.delta(t),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?i.copy(e.start):void 0;var a=-(e.start.dot(this.normal)+this.constant)/r;return a<0||a>1?void 0:i.copy(n).multiplyScalar(a).add(e.start)}}(),intersectsLine:function(t){var e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){return void 0===t&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),t=new $e),t.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var t=new $e,e=new ti;return function(i,n){var r=n||e.getNormalMatrix(i),a=this.coplanarPoint(t).applyMatrix4(i),o=this.normal.applyMatrix3(r).normalize();return this.constant=-a.dot(o),this}}(),translate:function(t){return this.constant-=t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}}),Object.assign(gi.prototype,{set:function(t,e,i,n,r,a){var o=this.planes;return o[0].copy(t),o[1].copy(e),o[2].copy(i),o[3].copy(n),o[4].copy(r),o[5].copy(a),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){for(var e=this.planes,i=0;i<6;i++)e[i].copy(t.planes[i]);return this},setFromMatrix:function(t){var e=this.planes,i=t.elements,n=i[0],r=i[1],a=i[2],o=i[3],s=i[4],l=i[5],h=i[6],c=i[7],u=i[8],p=i[9],d=i[10],f=i[11],m=i[12],g=i[13],v=i[14],q=i[15];return e[0].setComponents(o-n,c-s,f-u,q-m).normalize(),e[1].setComponents(o+n,c+s,f+u,q+m).normalize(),e[2].setComponents(o+r,c+l,f+p,q+g).normalize(),e[3].setComponents(o-r,c-l,f-p,q-g).normalize(),e[4].setComponents(o-a,c-h,f-d,q-v).normalize(),e[5].setComponents(o+a,c+h,f+d,q+v).normalize(),this},intersectsObject:(ai=new fi,function(t){var e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),ai.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(ai)}),intersectsSprite:function(){var t=new fi;return function(e){return t.center.set(0,0,0),t.radius=.7071067811865476,t.applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSphere:function(t){for(var e=this.planes,i=t.center,n=-t.radius,r=0;r<6;r++){if(e[r].distanceToPoint(i)<n)return!1}return!0},intersectsBox:(ri=new $e,function(t){for(var e=this.planes,i=0;i<6;i++){var n=e[i];if(ri.x=n.normal.x>0?t.max.x:t.min.x,ri.y=n.normal.y>0?t.max.y:t.min.y,ri.z=n.normal.z>0?t.max.z:t.min.z,n.distanceToPoint(ri)<0)return!1}return!0}),containsPoint:function(t){for(var e=this.planes,i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}});var vi,qi,yi,xi={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif\n",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"\nvec3 transformed = vec3( position );\n",beginnormal_vertex:"\nvec3 objectNormal = vec3( normal );\n",bsdfs:"float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_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}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * 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}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.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 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\n}\nfloat 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_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\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 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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\n",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif\n",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif\n",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float 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 average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\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}\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};\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}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\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 linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\n",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n",defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n",encodings_fragment:" gl_FragColor = linearToOutputTexel( gl_FragColor );\n",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\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}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}\n",envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, 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#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\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\n",envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n",envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\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\n",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif\n",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif\n",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\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\n",gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n",lights_pars_begin:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.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 GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, 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_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\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#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}\n",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\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#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearCoatRadiance = vec3( 0.0 );\n#endif\n",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\n\t#endif\n#endif\n",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, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = 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#endif\n",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif\n",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif\n",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif\n",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n",normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n#endif\n",normal_fragment_maps:"#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif\n",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}\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 linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( 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 invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\n",dithering_fragment:"#if defined( DITHERING )\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n",dithering_pars_fragment:"#if defined( 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\n",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\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\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\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\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( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, 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( 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 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\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\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\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 )\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\n",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\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\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n",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\n",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#endif\n",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\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 gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n",tonemapping_pars_fragment:"#ifndef saturate\n\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\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}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\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}\n",uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\n",uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif\n",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tgl_FragColor = texture2D( t2D, vUv );\n}\n",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position, 1.0 );\n\tgl_Position.z = 1.0;\n}\n",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor.a *= opacity;\n}\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}\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 <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\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\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\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>\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}\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 <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}\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}\n",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\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}\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 <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 <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}\n",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_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\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_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 <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\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 <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}\n",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_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 <emissivemap_fragment>\n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}\n",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_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 <uv2_vertex>\n\t#include <color_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 <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 <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <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\tvec4 matcapColor = texture2D( matcap, uv );\n\tmatcapColor = matcapTexelToLinear( matcapColor );\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_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 <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\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\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}\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 <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}\n",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_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 <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_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#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_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 <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 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}\n",meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_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 <uv2_vertex>\n\t#include <color_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#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\nvoid main() {\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}\n",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\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>\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#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\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 <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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\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>\nvoid main() {\n\t#include <color_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 = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\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}\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 <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <fog_fragment>\n}\n",shadow_vert:"#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\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\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\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 = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\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}\n"},_i={merge:function(t){for(var e={},i=0;i<t.length;i++){var n=this.clone(t[i]);for(var r in n)e[r]=n[r]}return e},clone:function(t){var e={};for(var i in t)for(var n in e[i]={},t[i]){var r=t[i][n];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture)?e[i][n]=r.clone():Array.isArray(r)?e[i][n]=r.slice():e[i][n]=r}return e}},bi={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};function wi(t,e,i){return void 0===e&&void 0===i?this.set(t):this.setRGB(t,e,i)}Object.assign(wi.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this},setScalar:function(t){return this.r=t,this.g=t,this.b=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,e,i){return this.r=t,this.g=e,this.b=i,this},setHSL:function(){function t(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+6*(e-t)*(2/3-i):t}return function(e,i,n){if(e=Ze.euclideanModulo(e,1),i=Ze.clamp(i,0,1),n=Ze.clamp(n,0,1),0===i)this.r=this.g=this.b=n;else{var r=n<=.5?n*(1+i):n+i-n*i,a=2*n-r;this.r=t(a,r,e+1/3),this.g=t(a,r,e),this.b=t(a,r,e-1/3)}return this}}(),setStyle:function(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}var i;if(i=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t)){var n,r=i[1],a=i[2];switch(r){case"rgb":case"rgba":if(n=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(n[1],10))/255,this.g=Math.min(255,parseInt(n[2],10))/255,this.b=Math.min(255,parseInt(n[3],10))/255,e(n[5]),this;if(n=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(n[1],10))/100,this.g=Math.min(100,parseInt(n[2],10))/100,this.b=Math.min(100,parseInt(n[3],10))/100,e(n[5]),this;break;case"hsl":case"hsla":if(n=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(a)){var o=parseFloat(n[1])/360,s=parseInt(n[2],10)/100,l=parseInt(n[3],10)/100;return e(n[5]),this.setHSL(o,s,l)}}}else if(i=/^\#([A-Fa-f0-9]+)$/.exec(t)){var h,c=(h=i[1]).length;if(3===c)return this.r=parseInt(h.charAt(0)+h.charAt(0),16)/255,this.g=parseInt(h.charAt(1)+h.charAt(1),16)/255,this.b=parseInt(h.charAt(2)+h.charAt(2),16)/255,this;if(6===c)return this.r=parseInt(h.charAt(0)+h.charAt(1),16)/255,this.g=parseInt(h.charAt(2)+h.charAt(3),16)/255,this.b=parseInt(h.charAt(4)+h.charAt(5),16)/255,this}t&&t.length>0&&(void 0!==(h=bi[t])?this.setHex(h):console.warn("THREE.Color: Unknown color "+t));return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return void 0===e&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){void 0===e&&(e=2);var i=e>0?1/e:1;return this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},convertGammaToLinear:function(t){return this.copyGammaToLinear(this,t),this},convertLinearToGamma:function(t){return this.copyLinearToGamma(this,t),this},copySRGBToLinear:function(){function t(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),copyLinearToSRGB:function(){function t(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){void 0===t&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});var e,i,n=this.r,r=this.g,a=this.b,o=Math.max(n,r,a),s=Math.min(n,r,a),l=(s+o)/2;if(s===o)e=0,i=0;else{var h=o-s;switch(i=l<=.5?h/(o+s):h/(2-o-s),o){case n:e=(r-a)/h+(r<a?6:0);break;case r:e=(a-n)/h+2;break;case a:e=(n-r)/h+4}e/=6}return t.h=e,t.s=i,t.l=l,t},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:(yi={},function(t,e,i){return this.getHSL(yi),yi.h+=t,yi.s+=e,yi.l+=i,this.setHSL(yi.h,yi.s,yi.l),this}),add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(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:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(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},lerpHSL:(vi={h:0,s:0,l:0},qi={h:0,s:0,l:0},function(t,e){this.getHSL(vi),t.getHSL(qi);var i=Ze.lerp(vi.h,qi.h,e),n=Ze.lerp(vi.s,qi.s,e),r=Ze.lerp(vi.l,qi.l,e);return this.setHSL(i,n,r),this}),equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,e){return void 0===e&&(e=0),this.r=t[e],this.g=t[e+1],this.b=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t},toJSON:function(){return this.getHex()}});var Mi,Ti={common:{diffuse:{value:new wi(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new ti},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Je(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new wi(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new wi(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},uvTransform:{value:new ti}},sprite:{diffuse:{value:new wi(15658734)},opacity:{value:1},center:{value:new Je(.5,.5)},rotation:{value:0},map:{value:null},uvTransform:{value:new ti}}},Si={basic:{uniforms:_i.merge([Ti.common,Ti.specularmap,Ti.envmap,Ti.aomap,Ti.lightmap,Ti.fog]),vertexShader:xi.meshbasic_vert,fragmentShader:xi.meshbasic_frag},lambert:{uniforms:_i.merge([Ti.common,Ti.specularmap,Ti.envmap,Ti.aomap,Ti.lightmap,Ti.emissivemap,Ti.fog,Ti.lights,{emissive:{value:new wi(0)}}]),vertexShader:xi.meshlambert_vert,fragmentShader:xi.meshlambert_frag},phong:{uniforms:_i.merge([Ti.common,Ti.specularmap,Ti.envmap,Ti.aomap,Ti.lightmap,Ti.emissivemap,Ti.bumpmap,Ti.normalmap,Ti.displacementmap,Ti.gradientmap,Ti.fog,Ti.lights,{emissive:{value:new wi(0)},specular:{value:new wi(1118481)},shininess:{value:30}}]),vertexShader:xi.meshphong_vert,fragmentShader:xi.meshphong_frag},standard:{uniforms:_i.merge([Ti.common,Ti.envmap,Ti.aomap,Ti.lightmap,Ti.emissivemap,Ti.bumpmap,Ti.normalmap,Ti.displacementmap,Ti.roughnessmap,Ti.metalnessmap,Ti.fog,Ti.lights,{emissive:{value:new wi(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:xi.meshphysical_vert,fragmentShader:xi.meshphysical_frag},matcap:{uniforms:_i.merge([Ti.common,Ti.bumpmap,Ti.normalmap,Ti.displacementmap,Ti.fog,{matcap:{value:null}}]),vertexShader:xi.meshmatcap_vert,fragmentShader:xi.meshmatcap_frag},points:{uniforms:_i.merge([Ti.points,Ti.fog]),vertexShader:xi.points_vert,fragmentShader:xi.points_frag},dashed:{uniforms:_i.merge([Ti.common,Ti.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:xi.linedashed_vert,fragmentShader:xi.linedashed_frag},depth:{uniforms:_i.merge([Ti.common,Ti.displacementmap]),vertexShader:xi.depth_vert,fragmentShader:xi.depth_frag},normal:{uniforms:_i.merge([Ti.common,Ti.bumpmap,Ti.normalmap,Ti.displacementmap,{opacity:{value:1}}]),vertexShader:xi.normal_vert,fragmentShader:xi.normal_frag},sprite:{uniforms:_i.merge([Ti.sprite,Ti.fog]),vertexShader:xi.sprite_vert,fragmentShader:xi.sprite_frag},background:{uniforms:{uvTransform:{value:new ti},t2D:{value:null}},vertexShader:xi.background_vert,fragmentShader:xi.background_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:xi.cube_vert,fragmentShader:xi.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:xi.equirect_vert,fragmentShader:xi.equirect_frag},distanceRGBA:{uniforms:_i.merge([Ti.common,Ti.displacementmap,{referencePosition:{value:new $e},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:xi.distanceRGBA_vert,fragmentShader:xi.distanceRGBA_frag},shadow:{uniforms:_i.merge([Ti.lights,Ti.fog,{color:{value:new wi(0)},opacity:{value:1}}]),vertexShader:xi.shadow_vert,fragmentShader:xi.shadow_frag}};function Ei(){var t=null,e=!1,i=null;function n(r,a){!1!==e&&(i(r,a),t.requestAnimationFrame(n))}return{start:function(){!0!==e&&null!==i&&(t.requestAnimationFrame(n),e=!0)},stop:function(){e=!1},setAnimationLoop:function(t){i=t},setContext:function(e){t=e}}}function Ai(t){var e=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),e.get(t)},remove:function(i){i.isInterleavedBufferAttribute&&(i=i.data);var n=e.get(i);n&&(t.deleteBuffer(n.buffer),e.delete(i))},update:function(i,n){i.isInterleavedBufferAttribute&&(i=i.data);var r=e.get(i);void 0===r?e.set(i,function(e,i){var n=e.array,r=e.dynamic?35048:35044,a=t.createBuffer();t.bindBuffer(i,a),t.bufferData(i,n,r),e.onUploadCallback();var o=5126;return n instanceof Float32Array?o=5126:n instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):n instanceof Uint16Array?o=5123:n instanceof Int16Array?o=5122:n instanceof Uint32Array?o=5125:n instanceof Int32Array?o=5124:n instanceof Int8Array?o=5120:n instanceof Uint8Array&&(o=5121),{buffer:a,type:o,bytesPerElement:n.BYTES_PER_ELEMENT,version:e.version}}(i,n)):r.version<i.version&&(function(e,i,n){var r=i.array,a=i.updateRange;t.bindBuffer(n,e),!1===i.dynamic?t.bufferData(n,r,35044):-1===a.count?t.bufferSubData(n,0,r):0===a.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(t.bufferSubData(n,a.offset*r.BYTES_PER_ELEMENT,r.subarray(a.offset,a.offset+a.count)),a.count=-1)}(r.buffer,i,n),r.version=i.version)}}}function Pi(t,e,i,n,r,a){this.a=t,this.b=e,this.c=i,this.normal=n&&n.isVector3?n:new $e,this.vertexNormals=Array.isArray(n)?n:[],this.color=r&&r.isColor?r:new wi,this.vertexColors=Array.isArray(r)?r:[],this.materialIndex=void 0!==a?a:0}function Li(t,e,i,n){this._x=t||0,this._y=e||0,this._z=i||0,this._order=n||Li.DefaultOrder}function Ri(){this.mask=1}Si.physical={uniforms:_i.merge([Si.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:xi.meshphysical_vert,fragmentShader:xi.meshphysical_frag},Object.assign(Pi.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.a=t.a,this.b=t.b,this.c=t.c,this.normal.copy(t.normal),this.color.copy(t.color),this.materialIndex=t.materialIndex;for(var e=0,i=t.vertexNormals.length;e<i;e++)this.vertexNormals[e]=t.vertexNormals[e].clone();for(e=0,i=t.vertexColors.length;e<i;e++)this.vertexColors[e]=t.vertexColors[e].clone();return this}}),Li.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],Li.DefaultOrder="XYZ",Object.defineProperties(Li.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(t){this._order=t,this.onChangeCallback()}}}),Object.assign(Li.prototype,{isEuler:!0,set:function(t,e,i,n){return this._x=t,this._y=e,this._z=i,this._order=n||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this.onChangeCallback(),this},setFromRotationMatrix:function(t,e,i){var n=Ze.clamp,r=t.elements,a=r[0],o=r[4],s=r[8],l=r[1],h=r[5],c=r[9],u=r[2],p=r[6],d=r[10];return"XYZ"===(e=e||this._order)?(this._y=Math.asin(n(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-o,a)):(this._x=Math.atan2(p,h),this._z=0)):"YXZ"===e?(this._x=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(this._y=Math.atan2(s,d),this._z=Math.atan2(l,h)):(this._y=Math.atan2(-u,a),this._z=0)):"ZXY"===e?(this._x=Math.asin(n(p,-1,1)),Math.abs(p)<.99999?(this._y=Math.atan2(-u,d),this._z=Math.atan2(-o,h)):(this._y=0,this._z=Math.atan2(l,a))):"ZYX"===e?(this._y=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(this._x=Math.atan2(p,d),this._z=Math.atan2(l,a)):(this._x=0,this._z=Math.atan2(-o,h))):"YZX"===e?(this._z=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(-c,h),this._y=Math.atan2(-u,a)):(this._x=0,this._y=Math.atan2(s,d))):"XZY"===e?(this._z=Math.asin(-n(o,-1,1)),Math.abs(o)<.99999?(this._x=Math.atan2(p,h),this._y=Math.atan2(s,a)):(this._x=Math.atan2(-c,d),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+e),this._order=e,!1!==i&&this.onChangeCallback(),this},setFromQuaternion:function(){var t=new Qe;return function(e,i,n){return t.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t,i,n)}}(),setFromVector3:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)},reorder:(Mi=new Ke,function(t){return Mi.setFromEuler(this),this.setFromQuaternion(Mi,t)}),equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order},fromArray:function(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:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t},toVector3:function(t){return t?t.set(this._x,this._y,this._z):new $e(this._x,this._y,this._z)},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(Ri.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask|=1<<t|0},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},test:function(t){return 0!=(this.mask&t.mask)}});var Ci,zi,Oi,Di,Ii=0;function Ni(){Object.defineProperty(this,"id",{value:Ii++}),this.uuid=Ze.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=Ni.DefaultUp.clone();var t=new $e,e=new Li,i=new Ke,n=new $e(1,1,1);e.onChange(function(){i.setFromEuler(e,!1)}),i.onChange(function(){e.setFromQuaternion(i,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:i},scale:{configurable:!0,enumerable:!0,value:n},modelViewMatrix:{value:new Qe},normalMatrix:{value:new ti}}),this.matrix=new Qe,this.matrixWorld=new Qe,this.matrixAutoUpdate=Ni.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new Ri,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}Ni.DefaultUp=new $e(0,1,0),Ni.DefaultMatrixAutoUpdate=!0,Ni.prototype=Object.assign(Object.create(n.prototype),{constructor:Ni,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(t){this.matrix.multiplyMatrices(t,this.matrix),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(t){return this.quaternion.premultiply(t),this},setRotationFromAxisAngle:function(t,e){this.quaternion.setFromAxisAngle(t,e)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:(Di=new Ke,function(t,e){return Di.setFromAxisAngle(t,e),this.quaternion.multiply(Di),this}),rotateOnWorldAxis:function(){var t=new Ke;return function(e,i){return t.setFromAxisAngle(e,i),this.quaternion.premultiply(t),this}}(),rotateX:function(){var t=new $e(1,0,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateY:function(){var t=new $e(0,1,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateZ:function(){var t=new $e(0,0,1);return function(e){return this.rotateOnAxis(t,e)}}(),translateOnAxis:function(){var t=new $e;return function(e,i){return t.copy(e).applyQuaternion(this.quaternion),this.position.add(t.multiplyScalar(i)),this}}(),translateX:function(){var t=new $e(1,0,0);return function(e){return this.translateOnAxis(t,e)}}(),translateY:function(){var t=new $e(0,1,0);return function(e){return this.translateOnAxis(t,e)}}(),translateZ:function(){var t=new $e(0,0,1);return function(e){return this.translateOnAxis(t,e)}}(),localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:(Oi=new Qe,function(t){return t.applyMatrix4(Oi.getInverse(this.matrixWorld))}),lookAt:function(){var t=new Ke,e=new Qe,i=new $e,n=new $e;return function(r,a,o){r.isVector3?i.copy(r):i.set(r,a,o);var s=this.parent;this.updateWorldMatrix(!0,!1),n.setFromMatrixPosition(this.matrixWorld),this.isCamera?e.lookAt(n,i,this.up):e.lookAt(i,n,this.up),this.quaternion.setFromRotationMatrix(e),s&&(e.extractRotation(s.matrixWorld),t.setFromRotationMatrix(e),this.quaternion.premultiply(t.inverse()))}}(),add:function(t){if(arguments.length>1){for(var e=0;e<arguments.length;e++)this.add(arguments[e]);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,t.dispatchEvent({type:"added"}),this.children.push(t)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)},remove:function(t){if(arguments.length>1){for(var e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}var i=this.children.indexOf(t);return-1!==i&&(t.parent=null,t.dispatchEvent({type:"removed"}),this.children.splice(i,1)),this},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,e){if(this[t]===e)return this;for(var i=0,n=this.children.length;i<n;i++){var r=this.children[i].getObjectByProperty(t,e);if(void 0!==r)return r}},getWorldPosition:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),t=new $e),this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:(Ci=new $e,zi=new $e,function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),t=new Ke),this.updateMatrixWorld(!0),this.matrixWorld.decompose(Ci,t,zi),t}),getWorldScale:function(){var t=new $e,e=new Ke;return function(i){return void 0===i&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),i=new $e),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,e,i),i}}(),getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),t=new $e),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()},raycast:function(){},traverse:function(t){t(this);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].traverse(t)},traverseVisible:function(t){if(!1!==this.visible){t(this);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].traverseVisible(t)}},traverseAncestors:function(t){var e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(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);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].updateMatrixWorld(t)},updateWorldMatrix:function(t,e){var i=this.parent;if(!0===t&&null!==i&&i.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)for(var n=this.children,r=0,a=n.length;r<a;r++)n[r].updateWorldMatrix(!1,!0)},toJSON:function(t){var e=void 0===t||"string"==typeof t,i={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{}},i.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var n={};function r(e,i){return void 0===e[i.uuid]&&(e[i.uuid]=i.toJSON(t)),i.uuid}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),!0===this.castShadow&&(n.castShadow=!0),!0===this.receiveShadow&&(n.receiveShadow=!0),!1===this.visible&&(n.visible=!1),!1===this.frustumCulled&&(n.frustumCulled=!1),0!==this.renderOrder&&(n.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(n.matrixAutoUpdate=!1),this.isMesh||this.isLine||this.isPoints){n.geometry=r(t.geometries,this.geometry);var a=this.geometry.parameters;if(void 0!==a&&void 0!==a.shapes){var o=a.shapes;if(Array.isArray(o))for(var s=0,l=o.length;s<l;s++){var h=o[s];r(t.shapes,h)}else r(t.shapes,o)}}if(void 0!==this.material)if(Array.isArray(this.material)){var c=[];for(s=0,l=this.material.length;s<l;s++)c.push(r(t.materials,this.material[s]));n.material=c}else n.material=r(t.materials,this.material);if(this.children.length>0){n.children=[];for(s=0;s<this.children.length;s++)n.children.push(this.children[s].toJSON(t).object)}if(e){var u=m(t.geometries),p=m(t.materials),d=m(t.textures),f=m(t.images);o=m(t.shapes);u.length>0&&(i.geometries=u),p.length>0&&(i.materials=p),d.length>0&&(i.textures=d),f.length>0&&(i.images=f),o.length>0&&(i.shapes=o)}return i.object=n,i;function m(t){var e=[];for(var i in t){var n=t[i];delete n.metadata,e.push(n)}return e}},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e){if(void 0===e&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),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.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(var i=0;i<t.children.length;i++){var n=t.children[i];this.add(n.clone())}return this}});var Bi,Ui,Fi=0;function ki(){Object.defineProperty(this,"id",{value:Fi+=2}),this.uuid=Ze.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=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function Gi(t,e,i){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===i,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.version=0}function Hi(t,e,i){Gi.call(this,new Int8Array(t),e,i)}function Vi(t,e,i){Gi.call(this,new Uint8Array(t),e,i)}function ji(t,e,i){Gi.call(this,new Uint8ClampedArray(t),e,i)}function Wi(t,e,i){Gi.call(this,new Int16Array(t),e,i)}function Xi(t,e,i){Gi.call(this,new Uint16Array(t),e,i)}function Yi(t,e,i){Gi.call(this,new Int32Array(t),e,i)}function Zi(t,e,i){Gi.call(this,new Uint32Array(t),e,i)}function Ji(t,e,i){Gi.call(this,new Float32Array(t),e,i)}function Qi(t,e,i){Gi.call(this,new Float64Array(t),e,i)}function Ki(){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=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}function $i(t){if(0===t.length)return-1/0;for(var e=t[0],i=1,n=t.length;i<n;++i)t[i]>e&&(e=t[i]);return e}ki.prototype=Object.assign(Object.create(n.prototype),{constructor:ki,isGeometry:!0,applyMatrix:function(t){for(var e=(new ti).getNormalMatrix(t),i=0,n=this.vertices.length;i<n;i++){this.vertices[i].applyMatrix4(t)}for(i=0,n=this.faces.length;i<n;i++){var r=this.faces[i];r.normal.applyMatrix3(e).normalize();for(var a=0,o=r.vertexNormals.length;a<o;a++)r.vertexNormals[a].applyMatrix3(e).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this},rotateX:function(){var t=new Qe;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new Qe;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new Qe;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new Qe;return function(e,i,n){return t.makeTranslation(e,i,n),this.applyMatrix(t),this}}(),scale:function(){var t=new Qe;return function(e,i,n){return t.makeScale(e,i,n),this.applyMatrix(t),this}}(),lookAt:(Ui=new Ni,function(t){Ui.lookAt(t),Ui.updateMatrix(),this.applyMatrix(Ui.matrix)}),fromBufferGeometry:function(t){var e=this,i=null!==t.index?t.index.array:void 0,n=t.attributes,r=n.position.array,a=void 0!==n.normal?n.normal.array:void 0,o=void 0!==n.color?n.color.array:void 0,s=void 0!==n.uv?n.uv.array:void 0,l=void 0!==n.uv2?n.uv2.array:void 0;void 0!==l&&(this.faceVertexUvs[1]=[]);for(var h=0,c=0;h<r.length;h+=3,c+=2)e.vertices.push((new $e).fromArray(r,h)),void 0!==o&&e.colors.push((new wi).fromArray(o,h));function u(t,i,n,r){var h=void 0===o?[]:[e.colors[t].clone(),e.colors[i].clone(),e.colors[n].clone()],c=new Pi(t,i,n,void 0===a?[]:[(new $e).fromArray(a,3*t),(new $e).fromArray(a,3*i),(new $e).fromArray(a,3*n)],h,r);e.faces.push(c),void 0!==s&&e.faceVertexUvs[0].push([(new Je).fromArray(s,2*t),(new Je).fromArray(s,2*i),(new Je).fromArray(s,2*n)]),void 0!==l&&e.faceVertexUvs[1].push([(new Je).fromArray(l,2*t),(new Je).fromArray(l,2*i),(new Je).fromArray(l,2*n)])}var p=t.groups;if(p.length>0)for(h=0;h<p.length;h++)for(var d=p[h],f=d.start,m=(c=f,f+d.count);c<m;c+=3)void 0!==i?u(i[c],i[c+1],i[c+2],d.materialIndex):u(c,c+1,c+2,d.materialIndex);else if(void 0!==i)for(h=0;h<i.length;h+=3)u(i[h],i[h+1],i[h+2]);else for(h=0;h<r.length/3;h+=3)u(h,h+1,h+2);return this.computeFaceNormals(),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),this},center:(Bi=new $e,function(){return this.computeBoundingBox(),this.boundingBox.getCenter(Bi).negate(),this.translate(Bi.x,Bi.y,Bi.z),this}),normalize:function(){this.computeBoundingSphere();var t=this.boundingSphere.center,e=this.boundingSphere.radius,i=0===e?1:1/e,n=new Qe;return n.set(i,0,0,-i*t.x,0,i,0,-i*t.y,0,0,i,-i*t.z,0,0,0,1),this.applyMatrix(n),this},computeFaceNormals:function(){for(var t=new $e,e=new $e,i=0,n=this.faces.length;i<n;i++){var r=this.faces[i],a=this.vertices[r.a],o=this.vertices[r.b],s=this.vertices[r.c];t.subVectors(s,o),e.subVectors(a,o),t.cross(e),t.normalize(),r.normal.copy(t)}},computeVertexNormals:function(t){var e,i,n,r,a,o;for(void 0===t&&(t=!0),o=new Array(this.vertices.length),e=0,i=this.vertices.length;e<i;e++)o[e]=new $e;if(t){var s,l,h,c=new $e,u=new $e;for(n=0,r=this.faces.length;n<r;n++)a=this.faces[n],s=this.vertices[a.a],l=this.vertices[a.b],h=this.vertices[a.c],c.subVectors(h,l),u.subVectors(s,l),c.cross(u),o[a.a].add(c),o[a.b].add(c),o[a.c].add(c)}else for(this.computeFaceNormals(),n=0,r=this.faces.length;n<r;n++)o[(a=this.faces[n]).a].add(a.normal),o[a.b].add(a.normal),o[a.c].add(a.normal);for(e=0,i=this.vertices.length;e<i;e++)o[e].normalize();for(n=0,r=this.faces.length;n<r;n++){var p=(a=this.faces[n]).vertexNormals;3===p.length?(p[0].copy(o[a.a]),p[1].copy(o[a.b]),p[2].copy(o[a.c])):(p[0]=o[a.a].clone(),p[1]=o[a.b].clone(),p[2]=o[a.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var t,e,i;for(this.computeFaceNormals(),t=0,e=this.faces.length;t<e;t++){var n=(i=this.faces[t]).vertexNormals;3===n.length?(n[0].copy(i.normal),n[1].copy(i.normal),n[2].copy(i.normal)):(n[0]=i.normal.clone(),n[1]=i.normal.clone(),n[2]=i.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,i,n,r;for(i=0,n=this.faces.length;i<n;i++)for((r=this.faces[i]).__originalFaceNormal?r.__originalFaceNormal.copy(r.normal):r.__originalFaceNormal=r.normal.clone(),r.__originalVertexNormals||(r.__originalVertexNormals=[]),t=0,e=r.vertexNormals.length;t<e;t++)r.__originalVertexNormals[t]?r.__originalVertexNormals[t].copy(r.vertexNormals[t]):r.__originalVertexNormals[t]=r.vertexNormals[t].clone();var a=new ki;for(a.faces=this.faces,t=0,e=this.morphTargets.length;t<e;t++){if(!this.morphNormals[t]){this.morphNormals[t]={},this.morphNormals[t].faceNormals=[],this.morphNormals[t].vertexNormals=[];var o=this.morphNormals[t].faceNormals,s=this.morphNormals[t].vertexNormals;for(i=0,n=this.faces.length;i<n;i++)l=new $e,h={a:new $e,b:new $e,c:new $e},o.push(l),s.push(h)}var l,h,c=this.morphNormals[t];for(a.vertices=this.morphTargets[t].vertices,a.computeFaceNormals(),a.computeVertexNormals(),i=0,n=this.faces.length;i<n;i++)r=this.faces[i],l=c.faceNormals[i],h=c.vertexNormals[i],l.copy(r.normal),h.a.copy(r.vertexNormals[0]),h.b.copy(r.vertexNormals[1]),h.c.copy(r.vertexNormals[2])}for(i=0,n=this.faces.length;i<n;i++)(r=this.faces[i]).normal=r.__originalFaceNormal,r.vertexNormals=r.__originalVertexNormals},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new di),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new fi),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,i){if(t&&t.isGeometry){var n,r=this.vertices.length,a=this.vertices,o=t.vertices,s=this.faces,l=t.faces,h=this.faceVertexUvs[0],c=t.faceVertexUvs[0],u=this.colors,p=t.colors;void 0===i&&(i=0),void 0!==e&&(n=(new ti).getNormalMatrix(e));for(var d=0,f=o.length;d<f;d++){var m=o[d].clone();void 0!==e&&m.applyMatrix4(e),a.push(m)}for(d=0,f=p.length;d<f;d++)u.push(p[d].clone());for(d=0,f=l.length;d<f;d++){var g,v,q,y=l[d],x=y.vertexNormals,_=y.vertexColors;(g=new Pi(y.a+r,y.b+r,y.c+r)).normal.copy(y.normal),void 0!==n&&g.normal.applyMatrix3(n).normalize();for(var b=0,w=x.length;b<w;b++)v=x[b].clone(),void 0!==n&&v.applyMatrix3(n).normalize(),g.vertexNormals.push(v);g.color.copy(y.color);for(b=0,w=_.length;b<w;b++)q=_[b],g.vertexColors.push(q.clone());g.materialIndex=y.materialIndex+i,s.push(g)}for(d=0,f=c.length;d<f;d++){var M=c[d],T=[];if(void 0!==M){for(b=0,w=M.length;b<w;b++)T.push(M[b].clone());h.push(T)}}}else console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",t)},mergeMesh:function(t){t&&t.isMesh?(t.matrixAutoUpdate&&t.updateMatrix(),this.merge(t.geometry,t.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",t)},mergeVertices:function(){var t,e,i,n,r,a,o,s,l={},h=[],c=[],u=Math.pow(10,4);for(i=0,n=this.vertices.length;i<n;i++)t=this.vertices[i],void 0===l[e=Math.round(t.x*u)+"_"+Math.round(t.y*u)+"_"+Math.round(t.z*u)]?(l[e]=i,h.push(this.vertices[i]),c[i]=h.length-1):c[i]=c[l[e]];var p=[];for(i=0,n=this.faces.length;i<n;i++){(r=this.faces[i]).a=c[r.a],r.b=c[r.b],r.c=c[r.c],a=[r.a,r.b,r.c];for(var d=0;d<3;d++)if(a[d]===a[(d+1)%3]){p.push(i);break}}for(i=p.length-1;i>=0;i--){var f=p[i];for(this.faces.splice(f,1),o=0,s=this.faceVertexUvs.length;o<s;o++)this.faceVertexUvs[o].splice(f,1)}var m=this.vertices.length-h.length;return this.vertices=h,m},setFromPoints:function(t){this.vertices=[];for(var e=0,i=t.length;e<i;e++){var n=t[e];this.vertices.push(new $e(n.x,n.y,n.z||0))}return this},sortFacesByMaterialIndex:function(){for(var t=this.faces,e=t.length,i=0;i<e;i++)t[i]._id=i;t.sort(function(t,e){return t.materialIndex-e.materialIndex});var n,r,a=this.faceVertexUvs[0],o=this.faceVertexUvs[1];a&&a.length===e&&(n=[]),o&&o.length===e&&(r=[]);for(i=0;i<e;i++){var s=t[i]._id;n&&n.push(a[s]),r&&r.push(o[s])}n&&(this.faceVertexUvs[0]=n),r&&(this.faceVertexUvs[1]=r)},toJSON:function(){var t={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),void 0!==this.parameters){var e=this.parameters;for(var i in e)void 0!==e[i]&&(t[i]=e[i]);return t}for(var n=[],r=0;r<this.vertices.length;r++){var a=this.vertices[r];n.push(a.x,a.y,a.z)}var o=[],s=[],l={},h=[],c={},u=[],p={};for(r=0;r<this.faces.length;r++){var d=this.faces[r],f=void 0!==this.faceVertexUvs[0][r],m=d.normal.length()>0,g=d.vertexNormals.length>0,v=1!==d.color.r||1!==d.color.g||1!==d.color.b,q=d.vertexColors.length>0,y=0;if(y=w(y,0,0),y=w(y,1,!0),y=w(y,2,!1),y=w(y,3,f),y=w(y,4,m),y=w(y,5,g),y=w(y,6,v),y=w(y,7,q),o.push(y),o.push(d.a,d.b,d.c),o.push(d.materialIndex),f){var x=this.faceVertexUvs[0][r];o.push(S(x[0]),S(x[1]),S(x[2]))}if(m&&o.push(M(d.normal)),g){var _=d.vertexNormals;o.push(M(_[0]),M(_[1]),M(_[2]))}if(v&&o.push(T(d.color)),q){var b=d.vertexColors;o.push(T(b[0]),T(b[1]),T(b[2]))}}function w(t,e,i){return i?t|1<<e:t&~(1<<e)}function M(t){var e=t.x.toString()+t.y.toString()+t.z.toString();return void 0!==l[e]?l[e]:(l[e]=s.length/3,s.push(t.x,t.y,t.z),l[e])}function T(t){var e=t.r.toString()+t.g.toString()+t.b.toString();return void 0!==c[e]?c[e]:(c[e]=h.length,h.push(t.getHex()),c[e])}function S(t){var e=t.x.toString()+t.y.toString();return void 0!==p[e]?p[e]:(p[e]=u.length/2,u.push(t.x,t.y),p[e])}return t.data={},t.data.vertices=n,t.data.normals=s,h.length>0&&(t.data.colors=h),u.length>0&&(t.data.uvs=[u]),t.data.faces=o,t},clone:function(){return(new ki).copy(this)},copy:function(t){var e,i,n,r,a,o;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=t.name;var s=t.vertices;for(e=0,i=s.length;e<i;e++)this.vertices.push(s[e].clone());var l=t.colors;for(e=0,i=l.length;e<i;e++)this.colors.push(l[e].clone());var h=t.faces;for(e=0,i=h.length;e<i;e++)this.faces.push(h[e].clone());for(e=0,i=t.faceVertexUvs.length;e<i;e++){var c=t.faceVertexUvs[e];for(void 0===this.faceVertexUvs[e]&&(this.faceVertexUvs[e]=[]),n=0,r=c.length;n<r;n++){var u=c[n],p=[];for(a=0,o=u.length;a<o;a++){var d=u[a];p.push(d.clone())}this.faceVertexUvs[e].push(p)}}var f=t.morphTargets;for(e=0,i=f.length;e<i;e++){var m={};if(m.name=f[e].name,void 0!==f[e].vertices)for(m.vertices=[],n=0,r=f[e].vertices.length;n<r;n++)m.vertices.push(f[e].vertices[n].clone());if(void 0!==f[e].normals)for(m.normals=[],n=0,r=f[e].normals.length;n<r;n++)m.normals.push(f[e].normals[n].clone());this.morphTargets.push(m)}var g=t.morphNormals;for(e=0,i=g.length;e<i;e++){var v={};if(void 0!==g[e].vertexNormals)for(v.vertexNormals=[],n=0,r=g[e].vertexNormals.length;n<r;n++){var q=g[e].vertexNormals[n],y={};y.a=q.a.clone(),y.b=q.b.clone(),y.c=q.c.clone(),v.vertexNormals.push(y)}if(void 0!==g[e].faceNormals)for(v.faceNormals=[],n=0,r=g[e].faceNormals.length;n<r;n++)v.faceNormals.push(g[e].faceNormals[n].clone());this.morphNormals.push(v)}var x=t.skinWeights;for(e=0,i=x.length;e<i;e++)this.skinWeights.push(x[e].clone());var _=t.skinIndices;for(e=0,i=_.length;e<i;e++)this.skinIndices.push(_[e].clone());var b=t.lineDistances;for(e=0,i=b.length;e<i;e++)this.lineDistances.push(b[e]);var w=t.boundingBox;null!==w&&(this.boundingBox=w.clone());var M=t.boundingSphere;return null!==M&&(this.boundingSphere=M.clone()),this.elementsNeedUpdate=t.elementsNeedUpdate,this.verticesNeedUpdate=t.verticesNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.lineDistancesNeedUpdate=t.lineDistancesNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(Gi.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(Gi.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=void 0!==t?t.length/this.itemSize:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(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.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.itemSize,i*=e.itemSize;for(var n=0,r=this.itemSize;n<r;n++)this.array[t+n]=e.array[i+n];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var e=this.array,i=0,n=0,r=t.length;n<r;n++){var a=t[n];void 0===a&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",n),a=new wi),e[i++]=a.r,e[i++]=a.g,e[i++]=a.b}return this},copyVector2sArray:function(t){for(var e=this.array,i=0,n=0,r=t.length;n<r;n++){var a=t[n];void 0===a&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",n),a=new Je),e[i++]=a.x,e[i++]=a.y}return this},copyVector3sArray:function(t){for(var e=this.array,i=0,n=0,r=t.length;n<r;n++){var a=t[n];void 0===a&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",n),a=new $e),e[i++]=a.x,e[i++]=a.y,e[i++]=a.z}return this},copyVector4sArray:function(t){for(var e=this.array,i=0,n=0,r=t.length;n<r;n++){var a=t[n];void 0===a&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",n),a=new hi),e[i++]=a.x,e[i++]=a.y,e[i++]=a.z,e[i++]=a.w}return this},set:function(t,e){return void 0===e&&(e=0),this.array.set(t,e),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,e){return this.array[t*this.itemSize]=e,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,e){return this.array[t*this.itemSize+1]=e,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,e){return this.array[t*this.itemSize+2]=e,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,e){return this.array[t*this.itemSize+3]=e,this},setXY:function(t,e,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this},setXYZ:function(t,e,i,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this},setXYZW:function(t,e,i,n,r){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this.array[t+3]=r,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),Hi.prototype=Object.create(Gi.prototype),Hi.prototype.constructor=Hi,Vi.prototype=Object.create(Gi.prototype),Vi.prototype.constructor=Vi,ji.prototype=Object.create(Gi.prototype),ji.prototype.constructor=ji,Wi.prototype=Object.create(Gi.prototype),Wi.prototype.constructor=Wi,Xi.prototype=Object.create(Gi.prototype),Xi.prototype.constructor=Xi,Yi.prototype=Object.create(Gi.prototype),Yi.prototype.constructor=Yi,Zi.prototype=Object.create(Gi.prototype),Zi.prototype.constructor=Zi,Ji.prototype=Object.create(Gi.prototype),Ji.prototype.constructor=Ji,Qi.prototype=Object.create(Gi.prototype),Qi.prototype.constructor=Qi,Object.assign(Ki.prototype,{computeGroups:function(t){for(var e,i=[],n=void 0,r=t.faces,a=0;a<r.length;a++){var o=r[a];o.materialIndex!==n&&(n=o.materialIndex,void 0!==e&&(e.count=3*a-e.start,i.push(e)),e={start:3*a,materialIndex:n})}void 0!==e&&(e.count=3*a-e.start,i.push(e)),this.groups=i},fromGeometry:function(t){var e,i=t.faces,n=t.vertices,r=t.faceVertexUvs,a=r[0]&&r[0].length>0,o=r[1]&&r[1].length>0,s=t.morphTargets,l=s.length;if(l>0){e=[];for(var h=0;h<l;h++)e[h]={name:s[h].name,data:[]};this.morphTargets.position=e}var c,u=t.morphNormals,p=u.length;if(p>0){c=[];for(h=0;h<p;h++)c[h]={name:u[h].name,data:[]};this.morphTargets.normal=c}var d=t.skinIndices,f=t.skinWeights,m=d.length===n.length,g=f.length===n.length;n.length>0&&0===i.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(h=0;h<i.length;h++){var v=i[h];this.vertices.push(n[v.a],n[v.b],n[v.c]);var q=v.vertexNormals;if(3===q.length)this.normals.push(q[0],q[1],q[2]);else{var y=v.normal;this.normals.push(y,y,y)}var x,_=v.vertexColors;if(3===_.length)this.colors.push(_[0],_[1],_[2]);else{var b=v.color;this.colors.push(b,b,b)}if(!0===a)void 0!==(x=r[0][h])?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",h),this.uvs.push(new Je,new Je,new Je));if(!0===o)void 0!==(x=r[1][h])?this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",h),this.uvs2.push(new Je,new Je,new Je));for(var w=0;w<l;w++){var M=s[w].vertices;e[w].data.push(M[v.a],M[v.b],M[v.c])}for(w=0;w<p;w++){var T=u[w].vertexNormals[h];c[w].data.push(T.a,T.b,T.c)}m&&this.skinIndices.push(d[v.a],d[v.b],d[v.c]),g&&this.skinWeights.push(f[v.a],f[v.b],f[v.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this}});var tn=1;function en(){Object.defineProperty(this,"id",{value:tn+=2}),this.uuid=Ze.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}function nn(t,e,i,n,r,a){ki.call(this),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:i,widthSegments:n,heightSegments:r,depthSegments:a},this.fromBufferGeometry(new rn(t,e,i,n,r,a)),this.mergeVertices()}function rn(t,e,i,n,r,a){en.call(this),this.type="BoxBufferGeometry",this.parameters={width:t,height:e,depth:i,widthSegments:n,heightSegments:r,depthSegments:a};var o=this;t=t||1,e=e||1,i=i||1,n=Math.floor(n)||1,r=Math.floor(r)||1,a=Math.floor(a)||1;var s=[],l=[],h=[],c=[],u=0,p=0;function d(t,e,i,n,r,a,d,f,m,g,v){var q,y,x=a/m,_=d/g,b=a/2,w=d/2,M=f/2,T=m+1,S=g+1,E=0,A=0,P=new $e;for(y=0;y<S;y++){var L=y*_-w;for(q=0;q<T;q++){var R=q*x-b;P[t]=R*n,P[e]=L*r,P[i]=M,l.push(P.x,P.y,P.z),P[t]=0,P[e]=0,P[i]=f>0?1:-1,h.push(P.x,P.y,P.z),c.push(q/m),c.push(1-y/g),E+=1}}for(y=0;y<g;y++)for(q=0;q<m;q++){var C=u+q+T*y,z=u+q+T*(y+1),O=u+(q+1)+T*(y+1),D=u+(q+1)+T*y;s.push(C,z,D),s.push(z,O,D),A+=6}o.addGroup(p,A,v),p+=A,u+=E}d("z","y","x",-1,-1,i,e,t,a,r,0),d("z","y","x",1,-1,i,e,-t,a,r,1),d("x","z","y",1,1,t,i,e,n,a,2),d("x","z","y",1,-1,t,i,-e,n,a,3),d("x","y","z",1,-1,t,e,i,n,r,4),d("x","y","z",-1,-1,t,e,-i,n,r,5),this.setIndex(s),this.addAttribute("position",new Ji(l,3)),this.addAttribute("normal",new Ji(h,3)),this.addAttribute("uv",new Ji(c,2))}function an(t,e,i,n){ki.call(this),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:i,heightSegments:n},this.fromBufferGeometry(new on(t,e,i,n)),this.mergeVertices()}function on(t,e,i,n){en.call(this),this.type="PlaneBufferGeometry",this.parameters={width:t,height:e,widthSegments:i,heightSegments:n};var r,a,o=(t=t||1)/2,s=(e=e||1)/2,l=Math.floor(i)||1,h=Math.floor(n)||1,c=l+1,u=h+1,p=t/l,d=e/h,f=[],m=[],g=[],v=[];for(a=0;a<u;a++){var q=a*d-s;for(r=0;r<c;r++){var y=r*p-o;m.push(y,-q,0),g.push(0,0,1),v.push(r/l),v.push(1-a/h)}}for(a=0;a<h;a++)for(r=0;r<l;r++){var x=r+c*a,_=r+c*(a+1),b=r+1+c*(a+1),w=r+1+c*a;f.push(x,_,w),f.push(_,b,w)}this.setIndex(f),this.addAttribute("position",new Ji(m,3)),this.addAttribute("normal",new Ji(g,3)),this.addAttribute("uv",new Ji(v,2))}en.prototype=Object.assign(Object.create(n.prototype),{constructor:en,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new($i(t)>65535?Zi:Xi)(t,1):this.index=t},addAttribute:function(t,e){return e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):(this.attributes[t]=e,this):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(t,new Gi(arguments[1],arguments[2])))},getAttribute:function(t){return this.attributes[t]},removeAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,e,i){this.groups.push({start:t,count:e,materialIndex:void 0!==i?i:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix:function(t){var e=this.attributes.position;void 0!==e&&(t.applyToBufferAttribute(e),e.needsUpdate=!0);var i=this.attributes.normal;void 0!==i&&((new ti).getNormalMatrix(t).applyToBufferAttribute(i),i.needsUpdate=!0);return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var t=new Qe;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new Qe;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new Qe;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new Qe;return function(e,i,n){return t.makeTranslation(e,i,n),this.applyMatrix(t),this}}(),scale:function(){var t=new Qe;return function(e,i,n){return t.makeScale(e,i,n),this.applyMatrix(t),this}}(),lookAt:function(){var t=new Ni;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),center:function(){var t=new $e;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),setFromObject:function(t){var e=t.geometry;if(t.isPoints||t.isLine){var i=new Ji(3*e.vertices.length,3),n=new Ji(3*e.colors.length,3);if(this.addAttribute("position",i.copyVector3sArray(e.vertices)),this.addAttribute("color",n.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){var r=new Ji(e.lineDistances.length,1);this.addAttribute("lineDistance",r.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(t){for(var e=[],i=0,n=t.length;i<n;i++){var r=t[i];e.push(r.x,r.y,r.z||0)}return this.addAttribute("position",new Ji(e,3)),this},updateFromObject:function(t){var e,i=t.geometry;if(t.isMesh){var n=i.__directGeometry;if(!0===i.elementsNeedUpdate&&(n=void 0,i.elementsNeedUpdate=!1),void 0===n)return this.fromGeometry(i);n.verticesNeedUpdate=i.verticesNeedUpdate,n.normalsNeedUpdate=i.normalsNeedUpdate,n.colorsNeedUpdate=i.colorsNeedUpdate,n.uvsNeedUpdate=i.uvsNeedUpdate,n.groupsNeedUpdate=i.groupsNeedUpdate,i.verticesNeedUpdate=!1,i.normalsNeedUpdate=!1,i.colorsNeedUpdate=!1,i.uvsNeedUpdate=!1,i.groupsNeedUpdate=!1,i=n}return!0===i.verticesNeedUpdate&&(void 0!==(e=this.attributes.position)&&(e.copyVector3sArray(i.vertices),e.needsUpdate=!0),i.verticesNeedUpdate=!1),!0===i.normalsNeedUpdate&&(void 0!==(e=this.attributes.normal)&&(e.copyVector3sArray(i.normals),e.needsUpdate=!0),i.normalsNeedUpdate=!1),!0===i.colorsNeedUpdate&&(void 0!==(e=this.attributes.color)&&(e.copyColorsArray(i.colors),e.needsUpdate=!0),i.colorsNeedUpdate=!1),i.uvsNeedUpdate&&(void 0!==(e=this.attributes.uv)&&(e.copyVector2sArray(i.uvs),e.needsUpdate=!0),i.uvsNeedUpdate=!1),i.lineDistancesNeedUpdate&&(void 0!==(e=this.attributes.lineDistance)&&(e.copyArray(i.lineDistances),e.needsUpdate=!0),i.lineDistancesNeedUpdate=!1),i.groupsNeedUpdate&&(i.computeGroups(t.geometry),this.groups=i.groups,i.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.__directGeometry=(new Ki).fromGeometry(t),this.fromDirectGeometry(t.__directGeometry)},fromDirectGeometry:function(t){var e=new Float32Array(3*t.vertices.length);if(this.addAttribute("position",new Gi(e,3).copyVector3sArray(t.vertices)),t.normals.length>0){var i=new Float32Array(3*t.normals.length);this.addAttribute("normal",new Gi(i,3).copyVector3sArray(t.normals))}if(t.colors.length>0){var n=new Float32Array(3*t.colors.length);this.addAttribute("color",new Gi(n,3).copyColorsArray(t.colors))}if(t.uvs.length>0){var r=new Float32Array(2*t.uvs.length);this.addAttribute("uv",new Gi(r,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){var a=new Float32Array(2*t.uvs2.length);this.addAttribute("uv2",new Gi(a,2).copyVector2sArray(t.uvs2))}for(var o in this.groups=t.groups,t.morphTargets){for(var s=[],l=t.morphTargets[o],h=0,c=l.length;h<c;h++){var u=l[h],p=new Ji(3*u.data.length,3);p.name=u.name,s.push(p.copyVector3sArray(u.data))}this.morphAttributes[o]=s}if(t.skinIndices.length>0){var d=new Ji(4*t.skinIndices.length,4);this.addAttribute("skinIndex",d.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){var f=new Ji(4*t.skinWeights.length,4);this.addAttribute("skinWeight",f.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new di);var t=this.attributes.position;void 0!==t?this.boundingBox.setFromBufferAttribute(t):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:function(){var t=new di,e=new $e;return function(){null===this.boundingSphere&&(this.boundingSphere=new fi);var i=this.attributes.position;if(i){var n=this.boundingSphere.center;t.setFromBufferAttribute(i),t.getCenter(n);for(var r=0,a=0,o=i.count;a<o;a++)e.x=i.getX(a),e.y=i.getY(a),e.z=i.getZ(a),r=Math.max(r,n.distanceToSquared(e));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,e=this.attributes;if(e.position){var i=e.position.array;if(void 0===e.normal)this.addAttribute("normal",new Gi(new Float32Array(i.length),3));else for(var n=e.normal.array,r=0,a=n.length;r<a;r++)n[r]=0;var o,s,l,h=e.normal.array,c=new $e,u=new $e,p=new $e,d=new $e,f=new $e;if(t){var m=t.array;for(r=0,a=t.count;r<a;r+=3)o=3*m[r+0],s=3*m[r+1],l=3*m[r+2],c.fromArray(i,o),u.fromArray(i,s),p.fromArray(i,l),d.subVectors(p,u),f.subVectors(c,u),d.cross(f),h[o]+=d.x,h[o+1]+=d.y,h[o+2]+=d.z,h[s]+=d.x,h[s+1]+=d.y,h[s+2]+=d.z,h[l]+=d.x,h[l+1]+=d.y,h[l+2]+=d.z}else for(r=0,a=i.length;r<a;r+=9)c.fromArray(i,r),u.fromArray(i,r+3),p.fromArray(i,r+6),d.subVectors(p,u),f.subVectors(c,u),d.cross(f),h[r]=d.x,h[r+1]=d.y,h[r+2]=d.z,h[r+3]=d.x,h[r+4]=d.y,h[r+5]=d.z,h[r+6]=d.x,h[r+7]=d.y,h[r+8]=d.z;this.normalizeNormals(),e.normal.needsUpdate=!0}},merge:function(t,e){if(t&&t.isBufferGeometry){void 0===e&&(e=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));var i=this.attributes;for(var n in i)if(void 0!==t.attributes[n])for(var r=i[n].array,a=t.attributes[n],o=a.array,s=0,l=a.itemSize*e;s<o.length;s++,l++)r[l]=o[s];return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",t)},normalizeNormals:function(){var t=new $e;return function(){for(var e=this.attributes.normal,i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.normalize(),e.setXYZ(i,t.x,t.y,t.z)}}(),toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var t=new en,e=this.index.array,i=this.attributes;for(var n in i){for(var r=i[n],a=r.array,o=r.itemSize,s=new a.constructor(e.length*o),l=0,h=0,c=0,u=e.length;c<u;c++){l=e[c]*o;for(var p=0;p<o;p++)s[h++]=a[l++]}t.addAttribute(n,new Gi(s,o))}var d=this.groups;for(c=0,u=d.length;c<u;c++){var f=d[c];t.addGroup(f.start,f.count,f.materialIndex)}return t},toJSON:function(){var 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){var e=this.parameters;for(var i in e)void 0!==e[i]&&(t[i]=e[i]);return t}t.data={attributes:{}};var n=this.index;if(null!==n){var r=Array.prototype.slice.call(n.array);t.data.index={type:n.array.constructor.name,array:r}}var a=this.attributes;for(var i in a){var o=a[i];r=Array.prototype.slice.call(o.array);t.data.attributes[i]={itemSize:o.itemSize,type:o.array.constructor.name,array:r,normalized:o.normalized}}var s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));var l=this.boundingSphere;return null!==l&&(t.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),t},clone:function(){return(new en).copy(this)},copy:function(t){var e,i,n;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;var r=t.index;null!==r&&this.setIndex(r.clone());var a=t.attributes;for(e in a){var o=a[e];this.addAttribute(e,o.clone())}var s=t.morphAttributes;for(e in s){var l=[],h=s[e];for(i=0,n=h.length;i<n;i++)l.push(h[i].clone());this.morphAttributes[e]=l}var c=t.groups;for(i=0,n=c.length;i<n;i++){var u=c[i];this.addGroup(u.start,u.count,u.materialIndex)}var p=t.boundingBox;null!==p&&(this.boundingBox=p.clone());var d=t.boundingSphere;return null!==d&&(this.boundingSphere=d.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),nn.prototype=Object.create(ki.prototype),nn.prototype.constructor=nn,rn.prototype=Object.create(en.prototype),rn.prototype.constructor=rn,an.prototype=Object.create(ki.prototype),an.prototype.constructor=an,on.prototype=Object.create(en.prototype),on.prototype.constructor=on;var sn,ln,hn,cn,un,pn,dn,fn,mn,gn,vn,qn,yn=0;function xn(){Object.defineProperty(this,"id",{value:yn++}),this.uuid=Ze.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.lights=!0,this.blending=D,this.side=S,this.flatShading=!1,this.vertexColors=R,this.opacity=1,this.transparent=!1,this.blendSrc=Z,this.blendDst=J,this.blendEquation=F,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=at,this.depthTest=!0,this.depthWrite=!0,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.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.userData={},this.needsUpdate=!0}function _n(t){xn.call(this),this.type="ShaderMaterial",this.defines={},this.uniforms={},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.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,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,void 0!==t&&(void 0!==t.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(t))}function bn(t,e){this.origin=void 0!==t?t:new $e,this.direction=void 0!==e?e:new $e}function wn(t,e,i){this.a=void 0!==t?t:new $e,this.b=void 0!==e?e:new $e,this.c=void 0!==i?i:new $e}function Mn(t){xn.call(this),this.type="MeshBasicMaterial",this.color=new wi(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=ct,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function Tn(t,e){Ni.call(this),this.type="Mesh",this.geometry=void 0!==t?t:new en,this.material=void 0!==e?e:new Mn({color:16777215*Math.random()}),this.drawMode=Oe,this.updateMorphTargets()}function Sn(t,e,i,n){var r,a,o=new wi(0),s=0;function l(t,i){e.buffers.color.setClear(t.r,t.g,t.b,i,n)}return{getClearColor:function(){return o},setClearColor:function(t,e){o.set(t),l(o,s=void 0!==e?e:1)},getClearAlpha:function(){return s},setClearAlpha:function(t){l(o,s=t)},render:function(e,n,h,c){var u=n.background;null===u?l(o,s):u&&u.isColor&&(l(u,1),c=!0),(t.autoClear||c)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),u&&(u.isCubeTexture||u.isWebGLRenderTargetCube)?(void 0===a&&((a=new Tn(new rn(1,1,1),new _n({type:"BackgroundCubeMaterial",uniforms:_i.clone(Si.cube.uniforms),vertexShader:Si.cube.vertexShader,fragmentShader:Si.cube.fragmentShader,side:E,depthTest:!0,depthWrite:!1,fog:!1}))).geometry.removeAttribute("normal"),a.geometry.removeAttribute("uv"),a.onBeforeRender=function(t,e,i){this.matrixWorld.copyPosition(i.matrixWorld)},i.update(a)),a.material.uniforms.tCube.value=u.isWebGLRenderTargetCube?u.texture:u,a.material.uniforms.tFlip.value=u.isWebGLRenderTargetCube?1:-1,e.push(a,a.geometry,a.material,0,null)):u&&u.isTexture&&(void 0===r&&((r=new Tn(new on(2,2),new _n({type:"BackgroundMaterial",uniforms:_i.clone(Si.background.uniforms),vertexShader:Si.background.vertexShader,fragmentShader:Si.background.fragmentShader,side:S,depthTest:!0,depthWrite:!1,fog:!1}))).geometry.removeAttribute("normal"),i.update(r)),r.material.uniforms.t2D.value=u,!0===u.matrixAutoUpdate&&u.updateMatrix(),r.material.uniforms.uvTransform.value.copy(u.matrix),e.push(r,r.geometry,r.material,0,null))}}}function En(t,e,i,n){var r;this.setMode=function(t){r=t},this.render=function(e,n){t.drawArrays(r,e,n),i.update(n,r)},this.renderInstances=function(a,o,s){var l;if(n.isWebGL2)l=t;else if(null===(l=e.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[n.isWebGL2?"drawArraysInstanced":"drawArraysInstancedANGLE"](r,o,s,a.maxInstancedCount),i.update(s,r,a.maxInstancedCount)}}function An(t,e,i){var n;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"}var a="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext,o=void 0!==i.precision?i.precision:"highp",s=r(o);s!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",s,"instead."),o=s);var l=!0===i.logarithmicDepthBuffer,h=t.getParameter(34930),c=t.getParameter(35660),u=t.getParameter(3379),p=t.getParameter(34076),d=t.getParameter(34921),f=t.getParameter(36347),m=t.getParameter(36348),g=t.getParameter(36349),v=c>0,q=a||!!e.get("OES_texture_float");return{isWebGL2:a,getMaxAnisotropy:function(){if(void 0!==n)return n;var i=e.get("EXT_texture_filter_anisotropic");return n=null!==i?t.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:r,precision:o,logarithmicDepthBuffer:l,maxTextures:h,maxVertexTextures:c,maxTextureSize:u,maxCubemapSize:p,maxAttributes:d,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:q,floatVertexTextures:v&&q}}function Pn(){var t=this,e=null,i=0,n=!1,r=!1,a=new mi,o=new ti,s={value:null,needsUpdate:!1};function l(){s.value!==e&&(s.value=e,s.needsUpdate=i>0),t.numPlanes=i,t.numIntersection=0}function h(e,i,n,r){var l=null!==e?e.length:0,h=null;if(0!==l){if(h=s.value,!0!==r||null===h){var c=n+4*l,u=i.matrixWorldInverse;o.getNormalMatrix(u),(null===h||h.length<c)&&(h=new Float32Array(c));for(var p=0,d=n;p!==l;++p,d+=4)a.copy(e[p]).applyMatrix4(u,o),a.normal.toArray(h,d),h[d+3]=a.constant}s.value=h,s.needsUpdate=!0}return t.numPlanes=l,h}this.uniform=s,this.numPlanes=0,this.numIntersection=0,this.init=function(t,r,a){var o=0!==t.length||r||0!==i||n;return n=r,e=h(t,a,0),i=t.length,o},this.beginShadows=function(){r=!0,h(null)},this.endShadows=function(){r=!1,l()},this.setState=function(t,a,o,c,u,p){if(!n||null===t||0===t.length||r&&!o)r?h(null):l();else{var d=r?0:i,f=4*d,m=u.clippingState||null;s.value=m,m=h(t,c,f,p);for(var g=0;g!==f;++g)m[g]=e[g];u.clippingState=m,this.numIntersection=a?this.numPlanes:0,this.numPlanes+=d}}}function Ln(t){var e={};return{get:function(i){if(void 0!==e[i])return e[i];var n;switch(i){case"WEBGL_depth_texture":n=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=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":n=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":n=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=t.getExtension(i)}return null===n&&console.warn("THREE.WebGLRenderer: "+i+" extension not supported."),e[i]=n,n}}}function Rn(t,e,i){var n={},r={};function a(t){var o=t.target,s=n[o.id];for(var l in null!==s.index&&e.remove(s.index),s.attributes)e.remove(s.attributes[l]);o.removeEventListener("dispose",a),delete n[o.id];var h=r[s.id];h&&(e.remove(h),delete r[s.id]),i.memory.geometries--}return{get:function(t,e){var r=n[e.id];return r||(e.addEventListener("dispose",a),e.isBufferGeometry?r=e:e.isGeometry&&(void 0===e._bufferGeometry&&(e._bufferGeometry=(new en).setFromObject(t)),r=e._bufferGeometry),n[e.id]=r,i.memory.geometries++,r)},update:function(t){var i=t.index,n=t.attributes;for(var r in null!==i&&e.update(i,34963),n)e.update(n[r],34962);var a=t.morphAttributes;for(var r in a)for(var o=a[r],s=0,l=o.length;s<l;s++)e.update(o[s],34962)},getWireframeAttribute:function(t){var i=r[t.id];if(i)return i;var n,a=[],o=t.index,s=t.attributes;if(null!==o)for(var l=0,h=(n=o.array).length;l<h;l+=3){var c=n[l+0],u=n[l+1],p=n[l+2];a.push(c,u,u,p,p,c)}else for(l=0,h=(n=s.position.array).length/3-1;l<h;l+=3)c=l+0,u=l+1,p=l+2,a.push(c,u,u,p,p,c);return i=new($i(a)>65535?Zi:Xi)(a,1),e.update(i,34963),r[t.id]=i,i}}}function Cn(t,e,i,n){var r,a,o;this.setMode=function(t){r=t},this.setIndex=function(t){a=t.type,o=t.bytesPerElement},this.render=function(e,n){t.drawElements(r,n,a,e*o),i.update(n,r)},this.renderInstances=function(s,l,h){var c;if(n.isWebGL2)c=t;else if(null===(c=e.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");c[n.isWebGL2?"drawElementsInstanced":"drawElementsInstancedANGLE"](r,h,a,l*o,s.maxInstancedCount),i.update(h,r,s.maxInstancedCount)}}function zn(t){var 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,i,n){switch(n=n||1,e.calls++,i){case 4:e.triangles+=n*(t/3);break;case 5:case 6:e.triangles+=n*(t-2);break;case 1:e.lines+=n*(t/2);break;case 3:e.lines+=n*(t-1);break;case 2:e.lines+=n*t;break;case 0:e.points+=n*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",i)}}}}function On(t,e){return Math.abs(e[1])-Math.abs(t[1])}function Dn(t){var e={},i=new Float32Array(8);return{update:function(n,r,a,o){var s=n.morphTargetInfluences,l=s.length,h=e[r.id];if(void 0===h){h=[];for(var c=0;c<l;c++)h[c]=[c,0];e[r.id]=h}var u=a.morphTargets&&r.morphAttributes.position,p=a.morphNormals&&r.morphAttributes.normal;for(c=0;c<l;c++)0!==(d=h[c])[1]&&(u&&r.removeAttribute("morphTarget"+c),p&&r.removeAttribute("morphNormal"+c));for(c=0;c<l;c++)(d=h[c])[0]=c,d[1]=s[c];for(h.sort(On),c=0;c<8;c++){var d;if(d=h[c]){var f=d[0],m=d[1];if(m){u&&r.addAttribute("morphTarget"+c,u[f]),p&&r.addAttribute("morphNormal"+c,p[f]),i[c]=m;continue}}i[c]=0}o.getUniforms().setValue(t,"morphTargetInfluences",i)}}}function In(t,e){var i={};return{update:function(n){var r=e.render.frame,a=n.geometry,o=t.get(n,a);return i[o.id]!==r&&(a.isGeometry&&o.updateFromObject(n),t.update(o),i[o.id]=r),o},dispose:function(){i={}}}}function Nn(t,e,i,n,r,a,o,s,l,h){t=void 0!==t?t:[],e=void 0!==e?e:yt,li.call(this,t,e,i,n,r,a,o,s,l,h),this.flipY=!1}function Bn(t,e,i,n){li.call(this,null),this.image={data:t,width:e,height:i,depth:n},this.magFilter=Pt,this.minFilter=Pt,this.generateMipmaps=!1,this.flipY=!1}xn.prototype=Object.assign(Object.create(n.prototype),{constructor:xn,isMaterial:!0,onBeforeCompile:function(){},setValues:function(t){if(void 0!==t)for(var e in t){var i=t[e];if(void 0!==i)if("shading"!==e){var n=this[e];void 0!==n?n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[e]=i:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}else console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===P;else console.warn("THREE.Material: '"+e+"' parameter is undefined.")}},toJSON:function(t){var e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});var i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function n(t){var e=[];for(var i in t){var n=t[i];delete n.metadata,e.push(n)}return e}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),void 0!==this.roughness&&(i.roughness=this.roughness),void 0!==this.metalness&&(i.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),1!==this.emissiveIntensity&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),void 0!==this.shininess&&(i.shininess=this.shininess),void 0!==this.clearCoat&&(i.clearCoat=this.clearCoat),void 0!==this.clearCoatRoughness&&(i.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(t).uuid),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(t).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(t).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(t).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(t).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(t).uuid,i.reflectivity=this.reflectivity,void 0!==this.combine&&(i.combine=this.combine),void 0!==this.envMapIntensity&&(i.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.size&&(i.size=this.size),void 0!==this.sizeAttenuation&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==D&&(i.blending=this.blending),!0===this.flatShading&&(i.flatShading=this.flatShading),this.side!==S&&(i.side=this.side),this.vertexColors!==R&&(i.vertexColors=this.vertexColors),this.opacity<1&&(i.opacity=this.opacity),!0===this.transparent&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,0!==this.rotation&&(i.rotation=this.rotation),!0===this.polygonOffset&&(i.polygonOffset=!0),0!==this.polygonOffsetFactor&&(i.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(i.polygonOffsetUnits=this.polygonOffsetUnits),1!==this.linewidth&&(i.linewidth=this.linewidth),void 0!==this.dashSize&&(i.dashSize=this.dashSize),void 0!==this.gapSize&&(i.gapSize=this.gapSize),void 0!==this.scale&&(i.scale=this.scale),!0===this.dithering&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(i.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(i.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(i.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(i.morphTargets=!0),!0===this.skinning&&(i.skinning=!0),!1===this.visible&&(i.visible=!1),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),e){var r=n(t.textures),a=n(t.images);r.length>0&&(i.textures=r),a.length>0&&(i.images=a)}return i},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,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.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.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.userData=JSON.parse(JSON.stringify(t.userData)),this.clipShadows=t.clipShadows,this.clipIntersection=t.clipIntersection;var e=t.clippingPlanes,i=null;if(null!==e){var n=e.length;i=new Array(n);for(var r=0;r!==n;++r)i[r]=e[r].clone()}return this.clippingPlanes=i,this.shadowSide=t.shadowSide,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),_n.prototype=Object.create(xn.prototype),_n.prototype.constructor=_n,_n.prototype.isShaderMaterial=!0,_n.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=_i.clone(t.uniforms),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=t.extensions,this},_n.prototype.toJSON=function(t){var e=xn.prototype.toJSON.call(this,t);for(var i in e.uniforms={},this.uniforms){var n=this.uniforms[i].value;n.isTexture?e.uniforms[i]={type:"t",value:n.toJSON(t).uuid}:n.isColor?e.uniforms[i]={type:"c",value:n.getHex()}:n.isVector2?e.uniforms[i]={type:"v2",value:n.toArray()}:n.isVector3?e.uniforms[i]={type:"v3",value:n.toArray()}:n.isVector4?e.uniforms[i]={type:"v4",value:n.toArray()}:n.isMatrix4?e.uniforms[i]={type:"m4",value:n.toArray()}:e.uniforms[i]={value:n}}return Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e},Object.assign(bn.prototype,{set:function(t,e){return this.origin.copy(t),this.direction.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,e){return void 0===e&&(console.warn("THREE.Ray: .at() target is now required"),e=new $e),e.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(){var t=new $e;return function(e){return this.origin.copy(this.at(e,t)),this}}(),closestPointToPoint:function(t,e){void 0===e&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new $e),e.subVectors(t,this.origin);var i=e.dot(this.direction);return i<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(i).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(){var t=new $e;return function(e){var i=t.subVectors(e,this.origin).dot(this.direction);return i<0?this.origin.distanceToSquared(e):(t.copy(this.direction).multiplyScalar(i).add(this.origin),t.distanceToSquared(e))}}(),distanceSqToSegment:(ln=new $e,hn=new $e,cn=new $e,function(t,e,i,n){ln.copy(t).add(e).multiplyScalar(.5),hn.copy(e).sub(t).normalize(),cn.copy(this.origin).sub(ln);var r,a,o,s,l=.5*t.distanceTo(e),h=-this.direction.dot(hn),c=cn.dot(this.direction),u=-cn.dot(hn),p=cn.lengthSq(),d=Math.abs(1-h*h);if(d>0)if(a=h*c-u,s=l*d,(r=h*u-c)>=0)if(a>=-s)if(a<=s){var f=1/d;o=(r*=f)*(r+h*(a*=f)+2*c)+a*(h*r+a+2*u)+p}else a=l,o=-(r=Math.max(0,-(h*a+c)))*r+a*(a+2*u)+p;else a=-l,o=-(r=Math.max(0,-(h*a+c)))*r+a*(a+2*u)+p;else a<=-s?o=-(r=Math.max(0,-(-h*l+c)))*r+(a=r>0?-l:Math.min(Math.max(-l,-u),l))*(a+2*u)+p:a<=s?(r=0,o=(a=Math.min(Math.max(-l,-u),l))*(a+2*u)+p):o=-(r=Math.max(0,-(h*l+c)))*r+(a=r>0?l:Math.min(Math.max(-l,-u),l))*(a+2*u)+p;else a=h>0?-l:l,o=-(r=Math.max(0,-(h*a+c)))*r+a*(a+2*u)+p;return i&&i.copy(this.direction).multiplyScalar(r).add(this.origin),n&&n.copy(hn).multiplyScalar(a).add(ln),o}),intersectSphere:function(){var t=new $e;return function(e,i){t.subVectors(e.center,this.origin);var n=t.dot(this.direction),r=t.dot(t)-n*n,a=e.radius*e.radius;if(r>a)return null;var o=Math.sqrt(a-r),s=n-o,l=n+o;return s<0&&l<0?null:s<0?this.at(l,i):this.at(s,i)}}(),intersectsSphere:function(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;var i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null},intersectPlane:function(t,e){var i=this.distanceToPlane(t);return null===i?null:this.at(i,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0},intersectBox:function(t,e){var i,n,r,a,o,s,l=1/this.direction.x,h=1/this.direction.y,c=1/this.direction.z,u=this.origin;return l>=0?(i=(t.min.x-u.x)*l,n=(t.max.x-u.x)*l):(i=(t.max.x-u.x)*l,n=(t.min.x-u.x)*l),h>=0?(r=(t.min.y-u.y)*h,a=(t.max.y-u.y)*h):(r=(t.max.y-u.y)*h,a=(t.min.y-u.y)*h),i>a||r>n?null:((r>i||i!=i)&&(i=r),(a<n||n!=n)&&(n=a),c>=0?(o=(t.min.z-u.z)*c,s=(t.max.z-u.z)*c):(o=(t.max.z-u.z)*c,s=(t.min.z-u.z)*c),i>s||o>n?null:((o>i||i!=i)&&(i=o),(s<n||n!=n)&&(n=s),n<0?null:this.at(i>=0?i:n,e)))},intersectsBox:(sn=new $e,function(t){return null!==this.intersectBox(t,sn)}),intersectTriangle:function(){var t=new $e,e=new $e,i=new $e,n=new $e;return function(r,a,o,s,l){e.subVectors(a,r),i.subVectors(o,r),n.crossVectors(e,i);var h,c=this.direction.dot(n);if(c>0){if(s)return null;h=1}else{if(!(c<0))return null;h=-1,c=-c}t.subVectors(this.origin,r);var u=h*this.direction.dot(i.crossVectors(t,i));if(u<0)return null;var p=h*this.direction.dot(e.cross(t));if(p<0)return null;if(u+p>c)return null;var d=-h*t.dot(n);return d<0?null:this.at(d/c,l)}}(),applyMatrix4:function(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),Object.assign(wn,{getNormal:(pn=new $e,function(t,e,i,n){void 0===n&&(console.warn("THREE.Triangle: .getNormal() target is now required"),n=new $e),n.subVectors(i,e),pn.subVectors(t,e),n.cross(pn);var r=n.lengthSq();return r>0?n.multiplyScalar(1/Math.sqrt(r)):n.set(0,0,0)}),getBarycoord:function(){var t=new $e,e=new $e,i=new $e;return function(n,r,a,o,s){t.subVectors(o,r),e.subVectors(a,r),i.subVectors(n,r);var l=t.dot(t),h=t.dot(e),c=t.dot(i),u=e.dot(e),p=e.dot(i),d=l*u-h*h;if(void 0===s&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),s=new $e),0===d)return s.set(-2,-1,-1);var f=1/d,m=(u*c-h*p)*f,g=(l*p-h*c)*f;return s.set(1-m-g,g,m)}}(),containsPoint:function(){var t=new $e;return function(e,i,n,r){return wn.getBarycoord(e,i,n,r,t),t.x>=0&&t.y>=0&&t.x+t.y<=1}}(),getUV:(un=new $e,function(t,e,i,n,r,a,o,s){return this.getBarycoord(t,e,i,n,un),s.set(0,0),s.addScaledVector(r,un.x),s.addScaledVector(a,un.y),s.addScaledVector(o,un.z),s})}),Object.assign(wn.prototype,{set:function(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this},setFromPointsAndIndices:function(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},getArea:function(){var t=new $e,e=new $e;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),getMidpoint:function(t){return void 0===t&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),t=new $e),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(t){return wn.getNormal(this.a,this.b,this.c,t)},getPlane:function(t){return void 0===t&&(console.warn("THREE.Triangle: .getPlane() target is now required"),t=new $e),t.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(t,e){return wn.getBarycoord(t,this.a,this.b,this.c,e)},containsPoint:function(t){return wn.containsPoint(t,this.a,this.b,this.c)},getUV:function(t,e,i,n,r){return wn.getUV(t,this.a,this.b,this.c,e,i,n,r)},intersectsBox:function(t){return t.intersectsTriangle(this)},closestPointToPoint:(dn=new $e,fn=new $e,mn=new $e,gn=new $e,vn=new $e,qn=new $e,function(t,e){void 0===e&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),e=new $e);var i,n,r=this.a,a=this.b,o=this.c;dn.subVectors(a,r),fn.subVectors(o,r),gn.subVectors(t,r);var s=dn.dot(gn),l=fn.dot(gn);if(s<=0&&l<=0)return e.copy(r);vn.subVectors(t,a);var h=dn.dot(vn),c=fn.dot(vn);if(h>=0&&c<=h)return e.copy(a);var u=s*c-h*l;if(u<=0&&s>=0&&h<=0)return i=s/(s-h),e.copy(r).addScaledVector(dn,i);qn.subVectors(t,o);var p=dn.dot(qn),d=fn.dot(qn);if(d>=0&&p<=d)return e.copy(o);var f=p*l-s*d;if(f<=0&&l>=0&&d<=0)return n=l/(l-d),e.copy(r).addScaledVector(fn,n);var m=h*d-p*c;if(m<=0&&c-h>=0&&p-d>=0)return mn.subVectors(o,a),n=(c-h)/(c-h+(p-d)),e.copy(a).addScaledVector(mn,n);var g=1/(m+f+u);return i=f*g,n=u*g,e.copy(r).addScaledVector(dn,i).addScaledVector(fn,n)}),equals:function(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}),Mn.prototype=Object.create(xn.prototype),Mn.prototype.constructor=Mn,Mn.prototype.isMeshBasicMaterial=!0,Mn.prototype.copy=function(t){return xn.prototype.copy.call(this,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this},Tn.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Tn,isMesh:!0,setDrawMode:function(t){this.drawMode=t},copy:function(t){return Ni.prototype.copy.call(this,t),this.drawMode=t.drawMode,void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this},updateMorphTargets:function(){var t,e,i,n=this.geometry;if(n.isBufferGeometry){var r=n.morphAttributes,a=Object.keys(r);if(a.length>0){var o=r[a[0]];if(void 0!==o)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=o.length;t<e;t++)i=o[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[i]=t}}else{var s=n.morphTargets;if(void 0!==s&&s.length>0)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=s.length;t<e;t++)i=s[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[i]=t}},raycast:function(){var t=new Qe,e=new bn,i=new fi,n=new $e,r=new $e,a=new $e,o=new $e,s=new $e,l=new $e,h=new Je,c=new Je,u=new Je,p=new $e,d=new $e;function f(t,e,i,n,r,a,o,s){if(null===(e.side===E?n.intersectTriangle(o,a,r,!0,s):n.intersectTriangle(r,a,o,e.side!==A,s)))return null;d.copy(s),d.applyMatrix4(t.matrixWorld);var l=i.ray.origin.distanceTo(d);return l<i.near||l>i.far?null:{distance:l,point:d.clone(),object:t}}function m(t,e,i,o,s,l,d,m,g){n.fromBufferAttribute(s,d),r.fromBufferAttribute(s,m),a.fromBufferAttribute(s,g);var v=f(t,e,i,o,n,r,a,p);if(v){l&&(h.fromBufferAttribute(l,d),c.fromBufferAttribute(l,m),u.fromBufferAttribute(l,g),v.uv=wn.getUV(p,n,r,a,h,c,u,new Je));var q=new Pi(d,m,g);wn.getNormal(n,r,a,q.normal),v.face=q}return v}return function(d,g){var v,q=this.geometry,y=this.material,x=this.matrixWorld;if(void 0!==y&&(null===q.boundingSphere&&q.computeBoundingSphere(),i.copy(q.boundingSphere),i.applyMatrix4(x),!1!==d.ray.intersectsSphere(i)&&(t.getInverse(x),e.copy(d.ray).applyMatrix4(t),null===q.boundingBox||!1!==e.intersectsBox(q.boundingBox))))if(q.isBufferGeometry){var _,b,w,M,T,S,E,A,P,L=q.index,R=q.attributes.position,C=q.attributes.uv,z=q.groups,O=q.drawRange;if(null!==L)if(Array.isArray(y))for(M=0,S=z.length;M<S;M++)for(P=y[(A=z[M]).materialIndex],T=Math.max(A.start,O.start),E=Math.min(A.start+A.count,O.start+O.count);T<E;T+=3)_=L.getX(T),b=L.getX(T+1),w=L.getX(T+2),(v=m(this,P,d,e,R,C,_,b,w))&&(v.faceIndex=Math.floor(T/3),g.push(v));else for(M=Math.max(0,O.start),S=Math.min(L.count,O.start+O.count);M<S;M+=3)_=L.getX(M),b=L.getX(M+1),w=L.getX(M+2),(v=m(this,y,d,e,R,C,_,b,w))&&(v.faceIndex=Math.floor(M/3),g.push(v));else if(void 0!==R)if(Array.isArray(y))for(M=0,S=z.length;M<S;M++)for(P=y[(A=z[M]).materialIndex],T=Math.max(A.start,O.start),E=Math.min(A.start+A.count,O.start+O.count);T<E;T+=3)(v=m(this,P,d,e,R,C,_=T,b=T+1,w=T+2))&&(v.faceIndex=Math.floor(T/3),g.push(v));else for(M=Math.max(0,O.start),S=Math.min(R.count,O.start+O.count);M<S;M+=3)(v=m(this,y,d,e,R,C,_=M,b=M+1,w=M+2))&&(v.faceIndex=Math.floor(M/3),g.push(v))}else if(q.isGeometry){var D,I,N,B,U=Array.isArray(y),F=q.vertices,k=q.faces,G=q.faceVertexUvs[0];G.length>0&&(B=G);for(var H=0,V=k.length;H<V;H++){var j=k[H],W=U?y[j.materialIndex]:y;if(void 0!==W){if(D=F[j.a],I=F[j.b],N=F[j.c],!0===W.morphTargets){var X=q.morphTargets,Y=this.morphTargetInfluences;n.set(0,0,0),r.set(0,0,0),a.set(0,0,0);for(var Z=0,J=X.length;Z<J;Z++){var Q=Y[Z];if(0!==Q){var K=X[Z].vertices;n.addScaledVector(o.subVectors(K[j.a],D),Q),r.addScaledVector(s.subVectors(K[j.b],I),Q),a.addScaledVector(l.subVectors(K[j.c],N),Q)}}n.add(D),r.add(I),a.add(N),D=n,I=r,N=a}if(v=f(this,W,d,e,D,I,N,p)){if(B&&B[H]){var $=B[H];h.copy($[0]),c.copy($[1]),u.copy($[2]),v.uv=wn.getUV(p,D,I,N,h,c,u,new Je)}v.face=j,v.faceIndex=H,g.push(v)}}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Nn.prototype=Object.create(li.prototype),Nn.prototype.constructor=Nn,Nn.prototype.isCubeTexture=!0,Object.defineProperty(Nn.prototype,"images",{get:function(){return this.image},set:function(t){this.image=t}}),Bn.prototype=Object.create(li.prototype),Bn.prototype.constructor=Bn,Bn.prototype.isDataTexture3D=!0;var Un=new li,Fn=new Bn,kn=new Nn;function Gn(){this.seq=[],this.map={}}var Hn=[],Vn=[],jn=new Float32Array(16),Wn=new Float32Array(9),Xn=new Float32Array(4);function Yn(t,e,i){var n=t[0];if(n<=0||n>0)return t;var r=e*i,a=Hn[r];if(void 0===a&&(a=new Float32Array(r),Hn[r]=a),0!==e){n.toArray(a,0);for(var o=1,s=0;o!==e;++o)s+=i,t[o].toArray(a,s)}return a}function Zn(t,e){if(t.length!==e.length)return!1;for(var i=0,n=t.length;i<n;i++)if(t[i]!==e[i])return!1;return!0}function Jn(t,e){for(var i=0,n=e.length;i<n;i++)t[i]=e[i]}function Qn(t,e){var i=Vn[e];void 0===i&&(i=new Int32Array(e),Vn[e]=i);for(var n=0;n!==e;++n)i[n]=t.allocTextureUnit();return i}function Kn(t,e){var i=this.cache;i[0]!==e&&(t.uniform1f(this.addr,e),i[0]=e)}function $n(t,e){var i=this.cache;i[0]!==e&&(t.uniform1i(this.addr,e),i[0]=e)}function tr(t,e){var i=this.cache;if(void 0!==e.x)i[0]===e.x&&i[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),i[0]=e.x,i[1]=e.y);else{if(Zn(i,e))return;t.uniform2fv(this.addr,e),Jn(i,e)}}function er(t,e){var i=this.cache;if(void 0!==e.x)i[0]===e.x&&i[1]===e.y&&i[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),i[0]=e.x,i[1]=e.y,i[2]=e.z);else if(void 0!==e.r)i[0]===e.r&&i[1]===e.g&&i[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),i[0]=e.r,i[1]=e.g,i[2]=e.b);else{if(Zn(i,e))return;t.uniform3fv(this.addr,e),Jn(i,e)}}function ir(t,e){var i=this.cache;if(void 0!==e.x)i[0]===e.x&&i[1]===e.y&&i[2]===e.z&&i[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),i[0]=e.x,i[1]=e.y,i[2]=e.z,i[3]=e.w);else{if(Zn(i,e))return;t.uniform4fv(this.addr,e),Jn(i,e)}}function nr(t,e){var i=this.cache,n=e.elements;if(void 0===n){if(Zn(i,e))return;t.uniformMatrix2fv(this.addr,!1,e),Jn(i,e)}else{if(Zn(i,n))return;Xn.set(n),t.uniformMatrix2fv(this.addr,!1,Xn),Jn(i,n)}}function rr(t,e){var i=this.cache,n=e.elements;if(void 0===n){if(Zn(i,e))return;t.uniformMatrix3fv(this.addr,!1,e),Jn(i,e)}else{if(Zn(i,n))return;Wn.set(n),t.uniformMatrix3fv(this.addr,!1,Wn),Jn(i,n)}}function ar(t,e){var i=this.cache,n=e.elements;if(void 0===n){if(Zn(i,e))return;t.uniformMatrix4fv(this.addr,!1,e),Jn(i,e)}else{if(Zn(i,n))return;jn.set(n),t.uniformMatrix4fv(this.addr,!1,jn),Jn(i,n)}}function or(t,e,i){var n=this.cache,r=i.allocTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTexture2D(e||Un,r)}function sr(t,e,i){var n=this.cache,r=i.allocTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTexture3D(e||Fn,r)}function lr(t,e,i){var n=this.cache,r=i.allocTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTextureCube(e||kn,r)}function hr(t,e){var i=this.cache;Zn(i,e)||(t.uniform2iv(this.addr,e),Jn(i,e))}function cr(t,e){var i=this.cache;Zn(i,e)||(t.uniform3iv(this.addr,e),Jn(i,e))}function ur(t,e){var i=this.cache;Zn(i,e)||(t.uniform4iv(this.addr,e),Jn(i,e))}function pr(t,e){var i=this.cache;Zn(i,e)||(t.uniform1fv(this.addr,e),Jn(i,e))}function dr(t,e){var i=this.cache;Zn(i,e)||(t.uniform1iv(this.addr,e),Jn(i,e))}function fr(t,e){var i=this.cache,n=Yn(e,this.size,2);Zn(i,n)||(t.uniform2fv(this.addr,n),this.updateCache(n))}function mr(t,e){var i=this.cache,n=Yn(e,this.size,3);Zn(i,n)||(t.uniform3fv(this.addr,n),this.updateCache(n))}function gr(t,e){var i=this.cache,n=Yn(e,this.size,4);Zn(i,n)||(t.uniform4fv(this.addr,n),this.updateCache(n))}function vr(t,e){var i=this.cache,n=Yn(e,this.size,4);Zn(i,n)||(t.uniformMatrix2fv(this.addr,!1,n),this.updateCache(n))}function qr(t,e){var i=this.cache,n=Yn(e,this.size,9);Zn(i,n)||(t.uniformMatrix3fv(this.addr,!1,n),this.updateCache(n))}function yr(t,e){var i=this.cache,n=Yn(e,this.size,16);Zn(i,n)||(t.uniformMatrix4fv(this.addr,!1,n),this.updateCache(n))}function xr(t,e,i){var n=this.cache,r=e.length,a=Qn(i,r);!1===Zn(n,a)&&(t.uniform1iv(this.addr,a),Jn(n,a));for(var o=0;o!==r;++o)i.setTexture2D(e[o]||Un,a[o])}function _r(t,e,i){var n=this.cache,r=e.length,a=Qn(i,r);!1===Zn(n,a)&&(t.uniform1iv(this.addr,a),Jn(n,a));for(var o=0;o!==r;++o)i.setTextureCube(e[o]||kn,a[o])}function br(t,e,i){this.id=t,this.addr=i,this.cache=[],this.setValue=function(t){switch(t){case 5126:return Kn;case 35664:return tr;case 35665:return er;case 35666:return ir;case 35674:return nr;case 35675:return rr;case 35676:return ar;case 35678:case 36198:return or;case 35679:return sr;case 35680:return lr;case 5124:case 35670:return $n;case 35667:case 35671:return hr;case 35668:case 35672:return cr;case 35669:case 35673:return ur}}(e.type)}function wr(t,e,i){this.id=t,this.addr=i,this.cache=[],this.size=e.size,this.setValue=function(t){switch(t){case 5126:return pr;case 35664:return fr;case 35665:return mr;case 35666:return gr;case 35674:return vr;case 35675:return qr;case 35676:return yr;case 35678:return xr;case 35680:return _r;case 5124:case 35670:return dr;case 35667:case 35671:return hr;case 35668:case 35672:return cr;case 35669:case 35673:return ur}}(e.type)}function Mr(t){this.id=t,Gn.call(this)}wr.prototype.updateCache=function(t){var e=this.cache;t instanceof Float32Array&&e.length!==t.length&&(this.cache=new Float32Array(t.length)),Jn(e,t)},Mr.prototype.setValue=function(t,e,i){for(var n=this.seq,r=0,a=n.length;r!==a;++r){var o=n[r];o.setValue(t,e[o.id],i)}};var Tr=/([\w\d_]+)(\])?(\[|\.)?/g;function Sr(t,e){t.seq.push(e),t.map[e.id]=e}function Er(t,e,i){var n=t.name,r=n.length;for(Tr.lastIndex=0;;){var a=Tr.exec(n),o=Tr.lastIndex,s=a[1],l="]"===a[2],h=a[3];if(l&&(s|=0),void 0===h||"["===h&&o+2===r){Sr(i,void 0===h?new br(s,t,e):new wr(s,t,e));break}var c=i.map[s];void 0===c&&Sr(i,c=new Mr(s)),i=c}}function Ar(t,e,i){Gn.call(this),this.renderer=i;for(var n=t.getProgramParameter(e,35718),r=0;r<n;++r){var a=t.getActiveUniform(e,r);Er(a,t.getUniformLocation(e,a.name),this)}}function Pr(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),!1===t.getShaderParameter(n,35713)&&console.error("THREE.WebGLShader: Shader couldn't compile."),""!==t.getShaderInfoLog(n)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",35633===e?"vertex":"fragment",t.getShaderInfoLog(n),function(t){for(var e=t.split("\n"),i=0;i<e.length;i++)e[i]=i+1+": "+e[i];return e.join("\n")}(i)),n}Ar.prototype.setValue=function(t,e,i){var n=this.map[e];void 0!==n&&n.setValue(t,i,this.renderer)},Ar.prototype.setOptional=function(t,e,i){var n=e[i];void 0!==n&&this.setValue(t,i,n)},Ar.upload=function(t,e,i,n){for(var r=0,a=e.length;r!==a;++r){var o=e[r],s=i[o.id];!1!==s.needsUpdate&&o.setValue(t,s.value,n)}},Ar.seqWithValue=function(t,e){for(var i=[],n=0,r=t.length;n!==r;++n){var a=t[n];a.id in e&&i.push(a)}return i};var Lr=0;function Rr(t){switch(t){case Ne:return["Linear","( value )"];case Be:return["sRGB","( value )"];case Fe:return["RGBE","( value )"];case Ge:return["RGBM","( value, 7.0 )"];case He:return["RGBM","( value, 16.0 )"];case Ve:return["RGBD","( value, 256.0 )"];case Ue:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw new Error("unsupported encoding: "+t)}}function Cr(t,e){var i=Rr(e);return"vec4 "+t+"( vec4 value ) { return "+i[0]+"ToLinear"+i[1]+"; }"}function zr(t,e){var i;switch(e){case ft:i="Linear";break;case mt:i="Reinhard";break;case gt:i="Uncharted2";break;case vt:i="OptimizedCineon";break;default:throw new Error("unsupported toneMapping: "+e)}return"vec3 "+t+"( vec3 color ) { return "+i+"ToneMapping( color ); }"}function Or(t){return""!==t}function Dr(t,e){return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights)}function Ir(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}function Nr(t){return t.replace(/^[ \t]*#include +<([\w\d.\/]+)>/gm,function(t,e){var i=xi[e];if(void 0===i)throw new Error("Can not resolve #include <"+e+">");return Nr(i)})}function Br(t){return t.replace(/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,function(t,e,i,n){for(var r="",a=parseInt(e);a<parseInt(i);a++)r+=n.replace(/\[ i \]/g,"[ "+a+" ]");return r})}function Ur(t,e,i,n,r,a,o){var s=t.context,l=n.defines,h=r.vertexShader,c=r.fragmentShader,u="SHADOWMAP_TYPE_BASIC";a.shadowMapType===M?u="SHADOWMAP_TYPE_PCF":a.shadowMapType===T&&(u="SHADOWMAP_TYPE_PCF_SOFT");var p="ENVMAP_TYPE_CUBE",d="ENVMAP_MODE_REFLECTION",f="ENVMAP_BLENDING_MULTIPLY";if(a.envMap){switch(n.envMap.mapping){case yt:case xt:p="ENVMAP_TYPE_CUBE";break;case Mt:case Tt:p="ENVMAP_TYPE_CUBE_UV";break;case _t:case bt:p="ENVMAP_TYPE_EQUIREC";break;case wt:p="ENVMAP_TYPE_SPHERE"}switch(n.envMap.mapping){case xt:case bt:d="ENVMAP_MODE_REFRACTION"}switch(n.combine){case ct:f="ENVMAP_BLENDING_MULTIPLY";break;case ut:f="ENVMAP_BLENDING_MIX";break;case pt:f="ENVMAP_BLENDING_ADD"}}var m,g,v,q,y,x=t.gammaFactor>0?t.gammaFactor:1,_=o.isWebGL2?"":function(t,e,i){return[(t=t||{}).derivatives||e.envMapCubeUV||e.bumpMap||e.normalMap&&!e.objectSpaceNormalMap||e.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(t.fragDepth||e.logarithmicDepthBuffer)&&i.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",t.drawBuffers&&i.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(t.shaderTextureLOD||e.envMap)&&i.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Or).join("\n")}(n.extensions,a,e),b=function(t){var e=[];for(var i in t){var n=t[i];!1!==n&&e.push("#define "+i+" "+n)}return e.join("\n")}(l),w=s.createProgram();if(n.isRawShaderMaterial?((m=[b].filter(Or).join("\n")).length>0&&(m+="\n"),(g=[_,b].filter(Or).join("\n")).length>0&&(g+="\n")):(m=["precision "+a.precision+" float;","precision "+a.precision+" int;","#define SHADER_NAME "+r.name,b,a.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+x,"#define MAX_BONES "+a.maxBones,a.useFog&&a.fog?"#define USE_FOG":"",a.useFog&&a.fogExp?"#define FOG_EXP2":"",a.map?"#define USE_MAP":"",a.envMap?"#define USE_ENVMAP":"",a.envMap?"#define "+d:"",a.lightMap?"#define USE_LIGHTMAP":"",a.aoMap?"#define USE_AOMAP":"",a.emissiveMap?"#define USE_EMISSIVEMAP":"",a.bumpMap?"#define USE_BUMPMAP":"",a.normalMap?"#define USE_NORMALMAP":"",a.normalMap&&a.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",a.displacementMap&&a.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",a.specularMap?"#define USE_SPECULARMAP":"",a.roughnessMap?"#define USE_ROUGHNESSMAP":"",a.metalnessMap?"#define USE_METALNESSMAP":"",a.alphaMap?"#define USE_ALPHAMAP":"",a.vertexColors?"#define USE_COLOR":"",a.flatShading?"#define FLAT_SHADED":"",a.skinning?"#define USE_SKINNING":"",a.useVertexTexture?"#define BONE_TEXTURE":"",a.morphTargets?"#define USE_MORPHTARGETS":"",a.morphNormals&&!1===a.flatShading?"#define USE_MORPHNORMALS":"",a.doubleSided?"#define DOUBLE_SIDED":"",a.flipSided?"#define FLIP_SIDED":"",a.shadowMapEnabled?"#define USE_SHADOWMAP":"",a.shadowMapEnabled?"#define "+u:"",a.sizeAttenuation?"#define USE_SIZEATTENUATION":"",a.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",a.logarithmicDepthBuffer&&(o.isWebGL2||e.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\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(Or).join("\n"),g=[_,"precision "+a.precision+" float;","precision "+a.precision+" int;","#define SHADER_NAME "+r.name,b,a.alphaTest?"#define ALPHATEST "+a.alphaTest+(a.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+x,a.useFog&&a.fog?"#define USE_FOG":"",a.useFog&&a.fogExp?"#define FOG_EXP2":"",a.map?"#define USE_MAP":"",a.envMap?"#define USE_ENVMAP":"",a.envMap?"#define "+p:"",a.envMap?"#define "+d:"",a.envMap?"#define "+f:"",a.lightMap?"#define USE_LIGHTMAP":"",a.aoMap?"#define USE_AOMAP":"",a.emissiveMap?"#define USE_EMISSIVEMAP":"",a.bumpMap?"#define USE_BUMPMAP":"",a.normalMap?"#define USE_NORMALMAP":"",a.normalMap&&a.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",a.specularMap?"#define USE_SPECULARMAP":"",a.roughnessMap?"#define USE_ROUGHNESSMAP":"",a.metalnessMap?"#define USE_METALNESSMAP":"",a.alphaMap?"#define USE_ALPHAMAP":"",a.vertexColors?"#define USE_COLOR":"",a.gradientMap?"#define USE_GRADIENTMAP":"",a.flatShading?"#define FLAT_SHADED":"",a.doubleSided?"#define DOUBLE_SIDED":"",a.flipSided?"#define FLIP_SIDED":"",a.shadowMapEnabled?"#define USE_SHADOWMAP":"",a.shadowMapEnabled?"#define "+u:"",a.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",a.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",a.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",a.logarithmicDepthBuffer&&(o.isWebGL2||e.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"",a.envMap&&(o.isWebGL2||e.get("EXT_shader_texture_lod"))?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",a.toneMapping!==dt?"#define TONE_MAPPING":"",a.toneMapping!==dt?xi.tonemapping_pars_fragment:"",a.toneMapping!==dt?zr("toneMapping",a.toneMapping):"",a.dithering?"#define DITHERING":"",a.outputEncoding||a.mapEncoding||a.matcapEncoding||a.envMapEncoding||a.emissiveMapEncoding?xi.encodings_pars_fragment:"",a.mapEncoding?Cr("mapTexelToLinear",a.mapEncoding):"",a.matcapEncoding?Cr("matcapTexelToLinear",a.matcapEncoding):"",a.envMapEncoding?Cr("envMapTexelToLinear",a.envMapEncoding):"",a.emissiveMapEncoding?Cr("emissiveMapTexelToLinear",a.emissiveMapEncoding):"",a.outputEncoding?(v="linearToOutputTexel",q=a.outputEncoding,y=Rr(q),"vec4 "+v+"( vec4 value ) { return LinearTo"+y[0]+y[1]+"; }"):"",a.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Or).join("\n")),h=Ir(h=Dr(h=Nr(h),a),a),c=Ir(c=Dr(c=Nr(c),a),a),h=Br(h),c=Br(c),o.isWebGL2&&!n.isRawShaderMaterial){var S=!1,E=/^\s*#version\s+300\s+es\s*\n/;n.isShaderMaterial&&null!==h.match(E)&&null!==c.match(E)&&(S=!0,h=h.replace(E,""),c=c.replace(E,"")),m=["#version 300 es\n","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+m,g=["#version 300 es\n","#define varying in",S?"":"out highp vec4 pc_fragColor;",S?"":"#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"+g}var A=g+c,P=Pr(s,35633,m+h),L=Pr(s,35632,A);s.attachShader(w,P),s.attachShader(w,L),void 0!==n.index0AttributeName?s.bindAttribLocation(w,0,n.index0AttributeName):!0===a.morphTargets&&s.bindAttribLocation(w,0,"position"),s.linkProgram(w);var R,C,z=s.getProgramInfoLog(w).trim(),O=s.getShaderInfoLog(P).trim(),D=s.getShaderInfoLog(L).trim(),I=!0,N=!0;return!1===s.getProgramParameter(w,35714)?(I=!1,console.error("THREE.WebGLProgram: shader error: ",s.getError(),"35715",s.getProgramParameter(w,35715),"gl.getProgramInfoLog",z,O,D)):""!==z?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",z):""!==O&&""!==D||(N=!1),N&&(this.diagnostics={runnable:I,material:n,programLog:z,vertexShader:{log:O,prefix:m},fragmentShader:{log:D,prefix:g}}),s.deleteShader(P),s.deleteShader(L),this.getUniforms=function(){return void 0===R&&(R=new Ar(s,w,t)),R},this.getAttributes=function(){return void 0===C&&(C=function(t,e){for(var i={},n=t.getProgramParameter(e,35721),r=0;r<n;r++){var a=t.getActiveAttrib(e,r).name;i[a]=t.getAttribLocation(e,a)}return i}(s,w)),C},this.destroy=function(){s.deleteProgram(w),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms()."),this.getUniforms()}},attributes:{get:function(){return console.warn("THREE.WebGLProgram: .attributes is now .getAttributes()."),this.getAttributes()}}}),this.name=r.name,this.id=Lr++,this.code=i,this.usedTimes=1,this.program=w,this.vertexShader=P,this.fragmentShader=L,this}function Fr(t,e,i){var n=[],r={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},a=["precision","supportsVertexTextures","map","mapEncoding","matcapEncoding","envMap","envMapMode","envMapEncoding","lightMap","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","fog","useFog","fogExp","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering"];function o(t,e){var i;return t?t.isTexture?i=t.encoding:t.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),i=t.texture.encoding):i=Ne,i===Ne&&e&&(i=Ue),i}this.getParameters=function(e,n,a,s,l,h,c){var u=r[e.type],p=c.isSkinnedMesh?function(t){var e=t.skeleton.bones;if(i.floatVertexTextures)return 1024;var n=i.maxVertexUniforms,r=Math.floor((n-20)/4),a=Math.min(r,e.length);return a<e.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+e.length+" bones. This GPU supports "+a+"."),0):a}(c):0,d=i.precision;null!==e.precision&&(d=i.getMaxPrecision(e.precision))!==e.precision&&console.warn("THREE.WebGLProgram.getParameters:",e.precision,"not supported, using",d,"instead.");var f=t.getRenderTarget();return{shaderID:u,precision:d,supportsVertexTextures:i.vertexTextures,outputEncoding:o(f?f.texture:null,t.gammaOutput),map:!!e.map,mapEncoding:o(e.map,t.gammaInput),matcap:!!e.matcap,matcapEncoding:o(e.matcap,t.gammaInput),envMap:!!e.envMap,envMapMode:e.envMap&&e.envMap.mapping,envMapEncoding:o(e.envMap,t.gammaInput),envMapCubeUV:!!e.envMap&&(e.envMap.mapping===Mt||e.envMap.mapping===Tt),lightMap:!!e.lightMap,aoMap:!!e.aoMap,emissiveMap:!!e.emissiveMap,emissiveMapEncoding:o(e.emissiveMap,t.gammaInput),bumpMap:!!e.bumpMap,normalMap:!!e.normalMap,objectSpaceNormalMap:e.normalMapType===Ye,displacementMap:!!e.displacementMap,roughnessMap:!!e.roughnessMap,metalnessMap:!!e.metalnessMap,specularMap:!!e.specularMap,alphaMap:!!e.alphaMap,gradientMap:!!e.gradientMap,combine:e.combine,vertexColors:e.vertexColors,fog:!!s,useFog:e.fog,fogExp:s&&s.isFogExp2,flatShading:e.flatShading,sizeAttenuation:e.sizeAttenuation,logarithmicDepthBuffer:i.logarithmicDepthBuffer,skinning:e.skinning&&p>0,maxBones:p,useVertexTexture:i.floatVertexTextures,morphTargets:e.morphTargets,morphNormals:e.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:n.directional.length,numPointLights:n.point.length,numSpotLights:n.spot.length,numRectAreaLights:n.rectArea.length,numHemiLights:n.hemi.length,numClippingPlanes:l,numClipIntersection:h,dithering:e.dithering,shadowMapEnabled:t.shadowMap.enabled&&c.receiveShadow&&a.length>0,shadowMapType:t.shadowMap.type,toneMapping:t.toneMapping,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:e.premultipliedAlpha,alphaTest:e.alphaTest,doubleSided:e.side===A,flipSided:e.side===E,depthPacking:void 0!==e.depthPacking&&e.depthPacking}},this.getProgramCode=function(e,i){var n=[];if(i.shaderID?n.push(i.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(var r in e.defines)n.push(r),n.push(e.defines[r]);for(var o=0;o<a.length;o++)n.push(i[a[o]]);return n.push(e.onBeforeCompile.toString()),n.push(t.gammaOutput),n.push(t.gammaFactor),n.join()},this.acquireProgram=function(r,a,o,s){for(var l,h=0,c=n.length;h<c;h++){var u=n[h];if(u.code===s){++(l=u).usedTimes;break}}return void 0===l&&(l=new Ur(t,e,s,r,a,o,i),n.push(l)),l},this.releaseProgram=function(t){if(0==--t.usedTimes){var e=n.indexOf(t);n[e]=n[n.length-1],n.pop(),t.destroy()}},this.programs=n}function kr(){var t=new WeakMap;return{get:function(e){var i=t.get(e);return void 0===i&&(i={},t.set(e,i)),i},remove:function(e){t.delete(e)},update:function(e,i,n){t.get(e)[i]=n},dispose:function(){t=new WeakMap}}}function Gr(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program&&e.program&&t.program!==e.program?t.program.id-e.program.id: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 Hr(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Vr(){var t=[],e=0,i=[],n=[];return{opaque:i,transparent:n,init:function(){e=0,i.length=0,n.length=0},push:function(r,a,o,s,l){var h=t[e];void 0===h?(h={id:r.id,object:r,geometry:a,material:o,program:o.program,renderOrder:r.renderOrder,z:s,group:l},t[e]=h):(h.id=r.id,h.object=r,h.geometry=a,h.material=o,h.program=o.program,h.renderOrder=r.renderOrder,h.z=s,h.group=l),(!0===o.transparent?n:i).push(h),e++},sort:function(){i.length>1&&i.sort(Gr),n.length>1&&n.sort(Hr)}}}function jr(){var t={};return{get:function(e,i){var n=e.id+","+i.id,r=t[n];return void 0===r&&(r=new Vr,t[n]=r),r},dispose:function(){t={}}}}function Wr(){var t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];var i;switch(e.type){case"DirectionalLight":i={direction:new $e,color:new wi,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new Je};break;case"SpotLight":i={position:new $e,direction:new $e,color:new wi,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new Je};break;case"PointLight":i={position:new $e,color:new wi,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new Je,shadowCameraNear:1,shadowCameraFar:1e3};break;case"HemisphereLight":i={direction:new $e,skyColor:new wi,groundColor:new wi};break;case"RectAreaLight":i={color:new wi,position:new $e,halfWidth:new $e,halfHeight:new $e}}return t[e.id]=i,i}}}var Xr=0;function Yr(){var t=new Wr,e={id:Xr++,hash:{stateID:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},i=new $e,n=new Qe,r=new Qe;return{setup:function(a,o,s){for(var l=0,h=0,c=0,u=0,p=0,d=0,f=0,m=0,g=s.matrixWorldInverse,v=0,q=a.length;v<q;v++){var y=a[v],x=y.color,_=y.intensity,b=y.distance,w=y.shadow&&y.shadow.map?y.shadow.map.texture:null;if(y.isAmbientLight)l+=x.r*_,h+=x.g*_,c+=x.b*_;else if(y.isDirectionalLight){if((T=t.get(y)).color.copy(y.color).multiplyScalar(y.intensity),T.direction.setFromMatrixPosition(y.matrixWorld),i.setFromMatrixPosition(y.target.matrixWorld),T.direction.sub(i),T.direction.transformDirection(g),T.shadow=y.castShadow,y.castShadow){var M=y.shadow;T.shadowBias=M.bias,T.shadowRadius=M.radius,T.shadowMapSize=M.mapSize}e.directionalShadowMap[u]=w,e.directionalShadowMatrix[u]=y.shadow.matrix,e.directional[u]=T,u++}else if(y.isSpotLight)(T=t.get(y)).position.setFromMatrixPosition(y.matrixWorld),T.position.applyMatrix4(g),T.color.copy(x).multiplyScalar(_),T.distance=b,T.direction.setFromMatrixPosition(y.matrixWorld),i.setFromMatrixPosition(y.target.matrixWorld),T.direction.sub(i),T.direction.transformDirection(g),T.coneCos=Math.cos(y.angle),T.penumbraCos=Math.cos(y.angle*(1-y.penumbra)),T.decay=y.decay,T.shadow=y.castShadow,y.castShadow&&(M=y.shadow,T.shadowBias=M.bias,T.shadowRadius=M.radius,T.shadowMapSize=M.mapSize),e.spotShadowMap[d]=w,e.spotShadowMatrix[d]=y.shadow.matrix,e.spot[d]=T,d++;else if(y.isRectAreaLight)(T=t.get(y)).color.copy(x).multiplyScalar(_),T.position.setFromMatrixPosition(y.matrixWorld),T.position.applyMatrix4(g),r.identity(),n.copy(y.matrixWorld),n.premultiply(g),r.extractRotation(n),T.halfWidth.set(.5*y.width,0,0),T.halfHeight.set(0,.5*y.height,0),T.halfWidth.applyMatrix4(r),T.halfHeight.applyMatrix4(r),e.rectArea[f]=T,f++;else if(y.isPointLight)(T=t.get(y)).position.setFromMatrixPosition(y.matrixWorld),T.position.applyMatrix4(g),T.color.copy(y.color).multiplyScalar(y.intensity),T.distance=y.distance,T.decay=y.decay,T.shadow=y.castShadow,y.castShadow&&(M=y.shadow,T.shadowBias=M.bias,T.shadowRadius=M.radius,T.shadowMapSize=M.mapSize,T.shadowCameraNear=M.camera.near,T.shadowCameraFar=M.camera.far),e.pointShadowMap[p]=w,e.pointShadowMatrix[p]=y.shadow.matrix,e.point[p]=T,p++;else if(y.isHemisphereLight){var T;(T=t.get(y)).direction.setFromMatrixPosition(y.matrixWorld),T.direction.transformDirection(g),T.direction.normalize(),T.skyColor.copy(y.color).multiplyScalar(_),T.groundColor.copy(y.groundColor).multiplyScalar(_),e.hemi[m]=T,m++}}e.ambient[0]=l,e.ambient[1]=h,e.ambient[2]=c,e.directional.length=u,e.spot.length=d,e.rectArea.length=f,e.point.length=p,e.hemi.length=m,e.hash.stateID=e.id,e.hash.directionalLength=u,e.hash.pointLength=p,e.hash.spotLength=d,e.hash.rectAreaLength=f,e.hash.hemiLength=m,e.hash.shadowsLength=o.length},state:e}}function Zr(){var t=new Yr,e=[],i=[];return{init:function(){e.length=0,i.length=0},state:{lightsArray:e,shadowsArray:i,lights:t},setupLights:function(n){t.setup(e,i,n)},pushLight:function(t){e.push(t)},pushShadow:function(t){i.push(t)}}}function Jr(){var t={};return{get:function(e,i){var n;return void 0===t[e.id]?(n=new Zr,t[e.id]={},t[e.id][i.id]=n):void 0===t[e.id][i.id]?(n=new Zr,t[e.id][i.id]=n):n=t[e.id][i.id],n},dispose:function(){t={}}}}function Qr(t){xn.call(this),this.type="MeshDepthMaterial",this.depthPacking=je,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(t)}function Kr(t){xn.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new $e,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.lights=!1,this.setValues(t)}function $r(t,e,i){for(var n=new gi,r=new Qe,a=new Je,o=new Je(i,i),s=new $e,l=new $e,h=1,c=2,u=1+(h|c),p=new Array(u),d=new Array(u),f={},m={0:E,1:S,2:A},g=[new $e(1,0,0),new $e(-1,0,0),new $e(0,0,1),new $e(0,0,-1),new $e(0,1,0),new $e(0,-1,0)],v=[new $e(0,1,0),new $e(0,1,0),new $e(0,1,0),new $e(0,1,0),new $e(0,0,1),new $e(0,0,-1)],q=[new hi,new hi,new hi,new hi,new hi,new hi],y=0;y!==u;++y){var x=0!=(y&h),_=0!=(y&c),b=new Qr({depthPacking:We,morphTargets:x,skinning:_});p[y]=b;var w=new Kr({morphTargets:x,skinning:_});d[y]=w}var T=this;function P(e,i,n,r,a,o){var s=e.geometry,l=null,u=p,g=e.customDepthMaterial;if(n&&(u=d,g=e.customDistanceMaterial),g)l=g;else{var v=!1;i.morphTargets&&(s&&s.isBufferGeometry?v=s.morphAttributes&&s.morphAttributes.position&&s.morphAttributes.position.length>0:s&&s.isGeometry&&(v=s.morphTargets&&s.morphTargets.length>0)),e.isSkinnedMesh&&!1===i.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",e);var q=e.isSkinnedMesh&&i.skinning,y=0;v&&(y|=h),q&&(y|=c),l=u[y]}if(t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length){var x=l.uuid,_=i.uuid,b=f[x];void 0===b&&(b={},f[x]=b);var w=b[_];void 0===w&&(w=l.clone(),b[_]=w),l=w}return l.visible=i.visible,l.wireframe=i.wireframe,l.side=null!=i.shadowSide?i.shadowSide:m[i.side],l.clipShadows=i.clipShadows,l.clippingPlanes=i.clippingPlanes,l.clipIntersection=i.clipIntersection,l.wireframeLinewidth=i.wireframeLinewidth,l.linewidth=i.linewidth,n&&l.isMeshDistanceMaterial&&(l.referencePosition.copy(r),l.nearDistance=a,l.farDistance=o),l}function L(i,r,a,o){if(!1!==i.visible){if(i.layers.test(r.layers)&&(i.isMesh||i.isLine||i.isPoints)&&i.castShadow&&(!i.frustumCulled||n.intersectsObject(i))){i.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,i.matrixWorld);var s=e.update(i),h=i.material;if(Array.isArray(h))for(var c=s.groups,u=0,p=c.length;u<p;u++){var d=c[u],f=h[d.materialIndex];if(f&&f.visible){var m=P(i,f,o,l,a.near,a.far);t.renderBufferDirect(a,null,s,m,i,d)}}else if(h.visible){m=P(i,h,o,l,a.near,a.far);t.renderBufferDirect(a,null,s,m,i,null)}}for(var g=i.children,v=0,q=g.length;v<q;v++)L(g[v],r,a,o)}}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=M,this.render=function(e,i,h){if(!1!==T.enabled&&(!1!==T.autoUpdate||!1!==T.needsUpdate)&&0!==e.length){t.context;var c,u=t.state;u.disable(3042),u.buffers.color.setClear(1,1,1,1),u.buffers.depth.setTest(!0),u.setScissorTest(!1);for(var p=0,d=e.length;p<d;p++){var f=e[p],m=f.shadow,y=f&&f.isPointLight;if(void 0!==m){var x=m.camera;if(a.copy(m.mapSize),a.min(o),y){var _=a.x,b=a.y;q[0].set(2*_,b,_,b),q[1].set(0,b,_,b),q[2].set(3*_,b,_,b),q[3].set(_,b,_,b),q[4].set(3*_,0,_,b),q[5].set(_,0,_,b),a.x*=4,a.y*=2}if(null===m.map){var w={minFilter:Pt,magFilter:Pt,format:Zt};m.map=new ci(a.x,a.y,w),m.map.texture.name=f.name+".shadowMap",x.updateProjectionMatrix()}m.isSpotLightShadow&&m.update(f);var M=m.map,S=m.matrix;l.setFromMatrixPosition(f.matrixWorld),x.position.copy(l),y?(c=6,S.makeTranslation(-l.x,-l.y,-l.z)):(c=1,s.setFromMatrixPosition(f.target.matrixWorld),x.lookAt(s),x.updateMatrixWorld(),S.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),S.multiply(x.projectionMatrix),S.multiply(x.matrixWorldInverse)),t.setRenderTarget(M),t.clear();for(var E=0;E<c;E++){if(y){s.copy(x.position),s.add(g[E]),x.up.copy(v[E]),x.lookAt(s),x.updateMatrixWorld();var A=q[E];u.viewport(A)}r.multiplyMatrices(x.projectionMatrix,x.matrixWorldInverse),n.setFromMatrix(r),L(i,h,x,y)}}else console.warn("THREE.WebGLShadowMap:",f,"has no shadow.")}T.needsUpdate=!1}}}function ta(t,e,i,n){var r=new function(){var e=!1,i=new hi,n=null,r=new hi(0,0,0,0);return{setMask:function(i){n===i||e||(t.colorMask(i,i,i,i),n=i)},setLocked:function(t){e=t},setClear:function(e,n,a,o,s){!0===s&&(e*=o,n*=o,a*=o),i.set(e,n,a,o),!1===r.equals(i)&&(t.clearColor(e,n,a,o),r.copy(i))},reset:function(){e=!1,n=null,r.set(-1,0,0,0)}}},a=new function(){var e=!1,i=null,n=null,r=null;return{setTest:function(t){t?Q(2929):K(2929)},setMask:function(n){i===n||e||(t.depthMask(n),i=n)},setFunc:function(e){if(n!==e){if(e)switch(e){case it:t.depthFunc(512);break;case nt:t.depthFunc(519);break;case rt:t.depthFunc(513);break;case at:t.depthFunc(515);break;case ot:t.depthFunc(514);break;case st:t.depthFunc(518);break;case lt:t.depthFunc(516);break;case ht:t.depthFunc(517);break;default:t.depthFunc(515)}else t.depthFunc(515);n=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,i=null,n=null,r=null}}},o=new function(){var e=!1,i=null,n=null,r=null,a=null,o=null,s=null,l=null,h=null;return{setTest:function(t){t?Q(2960):K(2960)},setMask:function(n){i===n||e||(t.stencilMask(n),i=n)},setFunc:function(e,i,o){n===e&&r===i&&a===o||(t.stencilFunc(e,i,o),n=e,r=i,a=o)},setOp:function(e,i,n){o===e&&s===i&&l===n||(t.stencilOp(e,i,n),o=e,s=i,l=n)},setLocked:function(t){e=t},setClear:function(e){h!==e&&(t.clearStencil(e),h=e)},reset:function(){e=!1,i=null,n=null,r=null,a=null,o=null,s=null,l=null,h=null}}},s=t.getParameter(34921),l=new Uint8Array(s),h=new Uint8Array(s),c=new Uint8Array(s),u={},p=null,d=null,f=null,m=null,g=null,x=null,_=null,b=null,w=null,M=null,T=!1,S=null,P=null,L=null,R=null,C=null,z=t.getParameter(35661),k=!1,G=0,H=t.getParameter(7938);-1!==H.indexOf("WebGL")?(G=parseFloat(/^WebGL\ ([0-9])/.exec(H)[1]),k=G>=1):-1!==H.indexOf("OpenGL ES")&&(G=parseFloat(/^OpenGL\ ES\ ([0-9])/.exec(H)[1]),k=G>=2);var V=null,j={},W=new hi,X=new hi;function Y(e,i,n){var r=new Uint8Array(4),a=t.createTexture();t.bindTexture(e,a),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(var o=0;o<n;o++)t.texImage2D(i+o,0,6408,1,1,0,6408,5121,r);return a}var Z={};function J(i,r){(l[i]=1,0===h[i]&&(t.enableVertexAttribArray(i),h[i]=1),c[i]!==r)&&((n.isWebGL2?t:e.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](i,r),c[i]=r)}function Q(e){!0!==u[e]&&(t.enable(e),u[e]=!0)}function K(e){!1!==u[e]&&(t.disable(e),u[e]=!1)}function $(e,n,r,a,o,s,l,h){if(e!==O){if(f||(Q(3042),f=!0),e===U)o=o||n,s=s||r,l=l||a,n===g&&o===b||(t.blendEquationSeparate(i.convert(n),i.convert(o)),g=n,b=o),r===x&&a===_&&s===w&&l===M||(t.blendFuncSeparate(i.convert(r),i.convert(a),i.convert(s),i.convert(l)),x=r,_=a,w=s,M=l),m=e,T=null;else if(e!==m||h!==T){if(g===F&&b===F||(t.blendEquation(32774),g=F,b=F),h)switch(e){case D:t.blendFuncSeparate(1,771,1,771);break;case I:t.blendFunc(1,1);break;case N:t.blendFuncSeparate(0,0,769,771);break;case B: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 I:t.blendFunc(770,1);break;case N:t.blendFunc(0,769);break;case B:t.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}x=null,_=null,w=null,M=null,m=e,T=h}}else f&&(K(3042),f=!1)}function tt(e){S!==e&&(e?t.frontFace(2304):t.frontFace(2305),S=e)}function et(e){e!==v?(Q(2884),e!==P&&(e===q?t.cullFace(1029):e===y?t.cullFace(1028):t.cullFace(1032))):K(2884),P=e}function ct(e,i,n){e?(Q(32823),R===i&&C===n||(t.polygonOffset(i,n),R=i,C=n)):K(32823)}function ut(e){void 0===e&&(e=33984+z-1),V!==e&&(t.activeTexture(e),V=e)}return Z[3553]=Y(3553,3553,1),Z[34067]=Y(34067,34069,6),r.setClear(0,0,0,1),a.setClear(1),o.setClear(0),Q(2929),a.setFunc(at),tt(!1),et(q),Q(2884),$(O),{buffers:{color:r,depth:a,stencil:o},initAttributes:function(){for(var t=0,e=l.length;t<e;t++)l[t]=0},enableAttribute:function(t){J(t,0)},enableAttributeAndDivisor:J,disableUnusedAttributes:function(){for(var e=0,i=h.length;e!==i;++e)h[e]!==l[e]&&(t.disableVertexAttribArray(e),h[e]=0)},enable:Q,disable:K,getCompressedTextureFormats:function(){if(null===p&&(p=[],e.get("WEBGL_compressed_texture_pvrtc")||e.get("WEBGL_compressed_texture_s3tc")||e.get("WEBGL_compressed_texture_etc1")||e.get("WEBGL_compressed_texture_astc")))for(var i=t.getParameter(34467),n=0;n<i.length;n++)p.push(i[n]);return p},useProgram:function(e){return d!==e&&(t.useProgram(e),d=e,!0)},setBlending:$,setMaterial:function(t,e){t.side===A?K(2884):Q(2884);var i=t.side===E;e&&(i=!i),tt(i),t.blending===D&&!1===t.transparent?$(O):$(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),a.setFunc(t.depthFunc),a.setTest(t.depthTest),a.setMask(t.depthWrite),r.setMask(t.colorWrite),ct(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits)},setFlipSided:tt,setCullFace:et,setLineWidth:function(e){e!==L&&(k&&t.lineWidth(e),L=e)},setPolygonOffset:ct,setScissorTest:function(t){t?Q(3089):K(3089)},activeTexture:ut,bindTexture:function(e,i){null===V&&ut();var n=j[V];void 0===n&&(n={type:void 0,texture:void 0},j[V]=n),n.type===e&&n.texture===i||(t.bindTexture(e,i||Z[e]),n.type=e,n.texture=i)},compressedTexImage2D:function(){try{t.compressedTexImage2D.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)}},scissor:function(e){!1===W.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),W.copy(e))},viewport:function(e){!1===X.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),X.copy(e))},reset:function(){for(var e=0;e<h.length;e++)1===h[e]&&(t.disableVertexAttribArray(e),h[e]=0);u={},p=null,V=null,j={},d=null,m=null,S=null,P=null,r.reset(),a.reset(),o.reset()}}}function ea(t,e,i,n,r,a,o){var s,l={};function h(t,e){if(t.width>e||t.height>e){if("data"in t)return void console.warn("THREE.WebGLRenderer: image in DataTexture is too big ("+t.width+"x"+t.height+").");var i=e/Math.max(t.width,t.height),n=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return n.width=Math.floor(t.width*i),n.height=Math.floor(t.height*i),n.getContext("2d").drawImage(t,0,0,t.width,t.height,0,0,n.width,n.height),console.warn("THREE.WebGLRenderer: image is too big ("+t.width+"x"+t.height+"). Resized to "+n.width+"x"+n.height),n}return t}function c(t){return Ze.isPowerOfTwo(t.width)&&Ze.isPowerOfTwo(t.height)}function u(t,e){return t.generateMipmaps&&e&&t.minFilter!==Pt&&t.minFilter!==Ct}function p(e,i,r,a){t.generateMipmap(e),n.get(i).__maxMipLevel=Math.log(Math.max(r,a))*Math.LOG2E}function d(t,e){if(!r.isWebGL2)return t;if(6403===t){if(5126===e)return 33326;if(5131===e)return 33325;if(5121===e)return 33321}if(6407===t){if(5126===e)return 34837;if(5131===e)return 34843;if(5121===e)return 32849}if(6408===t){if(5126===e)return 34836;if(5131===e)return 34842;if(5121===e)return 32856}return t}function f(t){return t===Pt||t===Lt||t===Rt?9728:9729}function m(e){var i=e.target;i.removeEventListener("dispose",m),function(e){var i=n.get(e);if(e.image&&i.__image__webglTextureCube)t.deleteTexture(i.__image__webglTextureCube);else{if(void 0===i.__webglInit)return;t.deleteTexture(i.__webglTexture)}n.remove(e)}(i),i.isVideoTexture&&delete l[i.id],o.memory.textures--}function g(e){var i=e.target;i.removeEventListener("dispose",g),function(e){var i=n.get(e),r=n.get(e.texture);if(!e)return;void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLRenderTargetCube)for(var a=0;a<6;a++)t.deleteFramebuffer(i.__webglFramebuffer[a]),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer[a]);else t.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer);n.remove(e.texture),n.remove(e)}(i),o.memory.textures--}function v(t,e){var r=n.get(t);if(t.isVideoTexture&&function(t){var e=t.id,i=o.render.frame;l[e]!==i&&(l[e]=i,t.update())}(t),t.version>0&&r.__version!==t.version){var a=t.image;if(void 0===a)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==a.complete)return void y(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}i.activeTexture(33984+e),i.bindTexture(3553,r.__webglTexture)}function q(i,o,s){var l;if(s?(t.texParameteri(i,10242,a.convert(o.wrapS)),t.texParameteri(i,10243,a.convert(o.wrapT)),t.texParameteri(i,10240,a.convert(o.magFilter)),t.texParameteri(i,10241,a.convert(o.minFilter))):(t.texParameteri(i,10242,33071),t.texParameteri(i,10243,33071),o.wrapS===Et&&o.wrapT===Et||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(i,10240,f(o.magFilter)),t.texParameteri(i,10241,f(o.minFilter)),o.minFilter!==Pt&&o.minFilter!==Ct&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),l=e.get("EXT_texture_filter_anisotropic")){if(o.type===kt&&null===e.get("OES_texture_float_linear"))return;if(o.type===Gt&&null===(r.isWebGL2||e.get("OES_texture_half_float_linear")))return;(o.anisotropy>1||n.get(o).__currentAnisotropy)&&(t.texParameterf(i,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(o.anisotropy,r.getMaxAnisotropy())),n.get(o).__currentAnisotropy=o.anisotropy)}}function y(e,n,l){var f;f=n.isDataTexture3D?32879:3553,void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",m),e.__webglTexture=t.createTexture(),o.memory.textures++),i.activeTexture(33984+l),i.bindTexture(f,e.__webglTexture),t.pixelStorei(37440,n.flipY),t.pixelStorei(37441,n.premultiplyAlpha),t.pixelStorei(3317,n.unpackAlignment);var g=h(n.image,r.maxTextureSize);(function(t){return!r.isWebGL2&&(t.wrapS!==Et||t.wrapT!==Et||t.minFilter!==Pt&&t.minFilter!==Ct)})(n)&&!1===c(g)&&(g=function(t){return t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof ImageBitmap?(void 0===s&&(s=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),s.width=Ze.floorPowerOfTwo(t.width),s.height=Ze.floorPowerOfTwo(t.height),s.getContext("2d").drawImage(t,0,0,s.width,s.height),console.warn("THREE.WebGLRenderer: image is not power of two ("+t.width+"x"+t.height+"). Resized to "+s.width+"x"+s.height),s):t}(g));var v=c(g),y=a.convert(n.format),x=a.convert(n.type),_=d(y,x);q(f,n,v);var b,w=n.mipmaps;if(n.isDepthTexture){if(_=6402,n.type===kt){if(!r.isWebGL2)throw new Error("Float Depth Texture only supported in WebGL2.0");_=36012}else r.isWebGL2&&(_=33189);n.format===$t&&6402===_&&n.type!==Bt&&n.type!==Ft&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),n.type=Bt,x=a.convert(n.type)),n.format===te&&(_=34041,n.type!==Wt&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),n.type=Wt,x=a.convert(n.type))),i.texImage2D(3553,0,_,g.width,g.height,0,y,x,null)}else if(n.isDataTexture)if(w.length>0&&v){for(var M=0,T=w.length;M<T;M++)b=w[M],i.texImage2D(3553,M,_,b.width,b.height,0,y,x,b.data);n.generateMipmaps=!1,e.__maxMipLevel=w.length-1}else i.texImage2D(3553,0,_,g.width,g.height,0,y,x,g.data),e.__maxMipLevel=0;else if(n.isCompressedTexture){for(M=0,T=w.length;M<T;M++)b=w[M],n.format!==Zt&&n.format!==Yt?i.getCompressedTextureFormats().indexOf(y)>-1?i.compressedTexImage2D(3553,M,_,b.width,b.height,0,b.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):i.texImage2D(3553,M,_,b.width,b.height,0,y,x,b.data);e.__maxMipLevel=w.length-1}else if(n.isDataTexture3D)i.texImage3D(32879,0,_,g.width,g.height,g.depth,0,y,x,g.data),e.__maxMipLevel=0;else if(w.length>0&&v){for(M=0,T=w.length;M<T;M++)b=w[M],i.texImage2D(3553,M,_,y,x,b);n.generateMipmaps=!1,e.__maxMipLevel=w.length-1}else i.texImage2D(3553,0,_,y,x,g),e.__maxMipLevel=0;u(n,v)&&p(3553,n,g.width,g.height),e.__version=n.version,n.onUpdate&&n.onUpdate(n)}function x(e,r,o,s){var l=a.convert(r.texture.format),h=a.convert(r.texture.type),c=d(l,h);i.texImage2D(s,0,c,r.width,r.height,0,l,h,null),t.bindFramebuffer(36160,e),t.framebufferTexture2D(36160,o,s,n.get(r.texture).__webglTexture,0),t.bindFramebuffer(36160,null)}function _(e,i){t.bindRenderbuffer(36161,e),i.depthBuffer&&!i.stencilBuffer?(t.renderbufferStorage(36161,33189,i.width,i.height),t.framebufferRenderbuffer(36160,36096,36161,e)):i.depthBuffer&&i.stencilBuffer?(t.renderbufferStorage(36161,34041,i.width,i.height),t.framebufferRenderbuffer(36160,33306,36161,e)):t.renderbufferStorage(36161,32854,i.width,i.height),t.bindRenderbuffer(36161,null)}function b(e){var i=n.get(e),r=!0===e.isWebGLRenderTargetCube;if(e.depthTexture){if(r)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,i){if(i&&i.isWebGLRenderTargetCube)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,e),!i.depthTexture||!i.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");n.get(i.depthTexture).__webglTexture&&i.depthTexture.image.width===i.width&&i.depthTexture.image.height===i.height||(i.depthTexture.image.width=i.width,i.depthTexture.image.height=i.height,i.depthTexture.needsUpdate=!0),v(i.depthTexture,0);var r=n.get(i.depthTexture).__webglTexture;if(i.depthTexture.format===$t)t.framebufferTexture2D(36160,36096,3553,r,0);else{if(i.depthTexture.format!==te)throw new Error("Unknown depthTexture format");t.framebufferTexture2D(36160,33306,3553,r,0)}}(i.__webglFramebuffer,e)}else if(r){i.__webglDepthbuffer=[];for(var a=0;a<6;a++)t.bindFramebuffer(36160,i.__webglFramebuffer[a]),i.__webglDepthbuffer[a]=t.createRenderbuffer(),_(i.__webglDepthbuffer[a],e)}else t.bindFramebuffer(36160,i.__webglFramebuffer),i.__webglDepthbuffer=t.createRenderbuffer(),_(i.__webglDepthbuffer,e);t.bindFramebuffer(36160,null)}this.setTexture2D=v,this.setTexture3D=function(t,e){var r=n.get(t);t.version>0&&r.__version!==t.version?y(r,t,e):(i.activeTexture(33984+e),i.bindTexture(32879,r.__webglTexture))},this.setTextureCube=function(e,s){var l=n.get(e);if(6===e.image.length)if(e.version>0&&l.__version!==e.version){l.__image__webglTextureCube||(e.addEventListener("dispose",m),l.__image__webglTextureCube=t.createTexture(),o.memory.textures++),i.activeTexture(33984+s),i.bindTexture(34067,l.__image__webglTextureCube),t.pixelStorei(37440,e.flipY);for(var f=e&&e.isCompressedTexture,g=e.image[0]&&e.image[0].isDataTexture,v=[],y=0;y<6;y++)v[y]=f||g?g?e.image[y].image:e.image[y]:h(e.image[y],r.maxCubemapSize);var x=v[0],_=c(x),b=a.convert(e.format),w=a.convert(e.type),M=d(b,w);for(q(34067,e,_),y=0;y<6;y++)if(f)for(var T,S=v[y].mipmaps,E=0,A=S.length;E<A;E++)T=S[E],e.format!==Zt&&e.format!==Yt?i.getCompressedTextureFormats().indexOf(b)>-1?i.compressedTexImage2D(34069+y,E,M,T.width,T.height,0,T.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):i.texImage2D(34069+y,E,M,T.width,T.height,0,b,w,T.data);else g?i.texImage2D(34069+y,0,M,v[y].width,v[y].height,0,b,w,v[y].data):i.texImage2D(34069+y,0,M,b,w,v[y]);l.__maxMipLevel=f?S.length-1:0,u(e,_)&&p(34067,e,x.width,x.height),l.__version=e.version,e.onUpdate&&e.onUpdate(e)}else i.activeTexture(33984+s),i.bindTexture(34067,l.__image__webglTextureCube)},this.setTextureCubeDynamic=function(t,e){i.activeTexture(33984+e),i.bindTexture(34067,n.get(t).__webglTexture)},this.setupRenderTarget=function(e){var r=n.get(e),a=n.get(e.texture);e.addEventListener("dispose",g),a.__webglTexture=t.createTexture(),o.memory.textures++;var s=!0===e.isWebGLRenderTargetCube,l=c(e);if(s){r.__webglFramebuffer=[];for(var h=0;h<6;h++)r.__webglFramebuffer[h]=t.createFramebuffer()}else r.__webglFramebuffer=t.createFramebuffer();if(s){for(i.bindTexture(34067,a.__webglTexture),q(34067,e.texture,l),h=0;h<6;h++)x(r.__webglFramebuffer[h],e,36064,34069+h);u(e.texture,l)&&p(34067,e.texture,e.width,e.height),i.bindTexture(34067,null)}else i.bindTexture(3553,a.__webglTexture),q(3553,e.texture,l),x(r.__webglFramebuffer,e,36064,3553),u(e.texture,l)&&p(3553,e.texture,e.width,e.height),i.bindTexture(3553,null);e.depthBuffer&&b(e)},this.updateRenderTargetMipmap=function(t){var e=t.texture;if(u(e,c(t))){var r=t.isWebGLRenderTargetCube?34067:3553,a=n.get(e).__webglTexture;i.bindTexture(r,a),p(r,e,t.width,t.height),i.bindTexture(r,null)}}}function ia(t,e,i){return{convert:function(t){var n;if(t===St)return 10497;if(t===Et)return 33071;if(t===At)return 33648;if(t===Pt)return 9728;if(t===Lt)return 9984;if(t===Rt)return 9986;if(t===Ct)return 9729;if(t===zt)return 9985;if(t===Ot)return 9987;if(t===Dt)return 5121;if(t===Ht)return 32819;if(t===Vt)return 32820;if(t===jt)return 33635;if(t===It)return 5120;if(t===Nt)return 5122;if(t===Bt)return 5123;if(t===Ut)return 5124;if(t===Ft)return 5125;if(t===kt)return 5126;if(t===Gt){if(i.isWebGL2)return 5131;if(null!==(n=e.get("OES_texture_half_float")))return n.HALF_FLOAT_OES}if(t===Xt)return 6406;if(t===Yt)return 6407;if(t===Zt)return 6408;if(t===Jt)return 6409;if(t===Qt)return 6410;if(t===$t)return 6402;if(t===te)return 34041;if(t===ee)return 6403;if(t===F)return 32774;if(t===k)return 32778;if(t===G)return 32779;if(t===j)return 0;if(t===W)return 1;if(t===X)return 768;if(t===Y)return 769;if(t===Z)return 770;if(t===J)return 771;if(t===Q)return 772;if(t===K)return 773;if(t===$)return 774;if(t===tt)return 775;if(t===et)return 776;if((t===ie||t===ne||t===re||t===ae)&&null!==(n=e.get("WEBGL_compressed_texture_s3tc"))){if(t===ie)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===ne)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===re)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===ae)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((t===oe||t===se||t===le||t===he)&&null!==(n=e.get("WEBGL_compressed_texture_pvrtc"))){if(t===oe)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===se)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===le)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===he)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===ce&&null!==(n=e.get("WEBGL_compressed_texture_etc1")))return n.COMPRESSED_RGB_ETC1_WEBGL;if((t===ue||t===pe||t===de||t===fe||t===me||t===ge||t===ve||t===qe||t===ye||t===xe||t===_e||t===be||t===we||t===Me)&&null!==(n=e.get("WEBGL_compressed_texture_astc")))return t;if(t===H||t===V){if(i.isWebGL2){if(t===H)return 32775;if(t===V)return 32776}if(null!==(n=e.get("EXT_blend_minmax"))){if(t===H)return n.MIN_EXT;if(t===V)return n.MAX_EXT}}if(t===Wt){if(i.isWebGL2)return 34042;if(null!==(n=e.get("WEBGL_depth_texture")))return n.UNSIGNED_INT_24_8_WEBGL}return 0}}}function na(){Ni.call(this),this.type="Group"}function ra(){Ni.call(this),this.type="Camera",this.matrixWorldInverse=new Qe,this.projectionMatrix=new Qe,this.projectionMatrixInverse=new Qe}function aa(t,e,i,n){ra.call(this),this.type="PerspectiveCamera",this.fov=void 0!==t?t:50,this.zoom=1,this.near=void 0!==i?i:.1,this.far=void 0!==n?n:2e3,this.focus=10,this.aspect=void 0!==e?e:1,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}function oa(t){aa.call(this),this.cameras=t||[]}Qr.prototype=Object.create(xn.prototype),Qr.prototype.constructor=Qr,Qr.prototype.isMeshDepthMaterial=!0,Qr.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,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},Kr.prototype=Object.create(xn.prototype),Kr.prototype.constructor=Kr,Kr.prototype.isMeshDistanceMaterial=!0,Kr.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this},na.prototype=Object.assign(Object.create(Ni.prototype),{constructor:na,isGroup:!0}),ra.prototype=Object.assign(Object.create(Ni.prototype),{constructor:ra,isCamera:!0,copy:function(t,e){return Ni.prototype.copy.call(this,t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),t=new $e),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(t){Ni.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return(new this.constructor).copy(this)}}),aa.prototype=Object.assign(Object.create(ra.prototype),{constructor:aa,isPerspectiveCamera:!0,copy:function(t,e){return ra.prototype.copy.call(this,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:function(t){var e=.5*this.getFilmHeight()/t;this.fov=2*Ze.RAD2DEG*Math.atan(e),this.updateProjectionMatrix()},getFocalLength:function(){var t=Math.tan(.5*Ze.DEG2RAD*this.fov);return.5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*Ze.RAD2DEG*Math.atan(Math.tan(.5*Ze.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(t,e,i,n,r,a){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=i,this.view.offsetY=n,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=this.near,e=t*Math.tan(.5*Ze.DEG2RAD*this.fov)/this.zoom,i=2*e,n=this.aspect*i,r=-.5*n,a=this.view;if(null!==this.view&&this.view.enabled){var o=a.fullWidth,s=a.fullHeight;r+=a.offsetX*n/o,e-=a.offsetY*i/s,n*=a.width/o,i*=a.height/s}var l=this.filmOffset;0!==l&&(r+=t*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+n,e,e-i,t,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){var e=Ni.prototype.toJSON.call(this,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}}),oa.prototype=Object.assign(Object.create(aa.prototype),{constructor:oa,isArrayCamera:!0});var sa,la,ha,ca,ua,pa,da=new $e,fa=new $e;function ma(t,e,i){da.setFromMatrixPosition(e.matrixWorld),fa.setFromMatrixPosition(i.matrixWorld);var n=da.distanceTo(fa),r=e.projectionMatrix.elements,a=i.projectionMatrix.elements,o=r[14]/(r[10]-1),s=r[14]/(r[10]+1),l=(r[9]+1)/r[5],h=(r[9]-1)/r[5],c=(r[8]-1)/r[0],u=(a[8]+1)/a[0],p=o*c,d=o*u,f=n/(-c+u),m=f*-c;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(m),t.translateZ(f),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.getInverse(t.matrixWorld);var g=o+f,v=s+f,q=p-m,y=d+(n-m),x=l*s/v*g,_=h*s/v*g;t.projectionMatrix.makePerspective(q,y,x,_,g,v)}function ga(t){var e=this,i=null,n=null,r=null,a=[],o=new Qe,s=new Qe,l=1,h="stage";"undefined"!=typeof window&&"VRFrameData"in window&&(n=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",y,!1));var c=new Qe,u=new Ke,p=new $e,d=new aa;d.bounds=new hi(0,0,.5,1),d.layers.enable(1);var f=new aa;f.bounds=new hi(.5,0,.5,1),f.layers.enable(2);var m,g,v=new oa([d,f]);function q(){return null!==i&&!0===i.isPresenting}function y(){if(q()){var n=i.getEyeParameters("left"),r=n.renderWidth*l,a=n.renderHeight*l;g=t.getPixelRatio(),m=t.getSize(),t.setDrawingBufferSize(2*r,a,1),b.start()}else e.enabled&&t.setDrawingBufferSize(m.width,m.height,g),b.stop()}v.layers.enable(1),v.layers.enable(2);var x=[];function _(t){for(var e=navigator.getGamepads&&navigator.getGamepads(),i=0,n=0,r=e.length;i<r;i++){var a=e[i];if(a&&("Daydream Controller"===a.id||"Gear VR Controller"===a.id||"Oculus Go Controller"===a.id||"OpenVR Gamepad"===a.id||a.id.startsWith("Oculus Touch")||a.id.startsWith("Spatial Controller"))){if(n===t)return a;n++}}}this.enabled=!1,this.getController=function(t){var e=a[t];return void 0===e&&((e=new na).matrixAutoUpdate=!1,e.visible=!1,a[t]=e),e},this.getDevice=function(){return i},this.setDevice=function(t){void 0!==t&&(i=t),b.setContext(t)},this.setFramebufferScaleFactor=function(t){l=t},this.setFrameOfReferenceType=function(t){h=t},this.setPoseTarget=function(t){void 0!==t&&(r=t)},this.getCamera=function(t){var e="stage"===h?1.6:0;if(null===i)return t.position.set(0,e,0),t;if(i.depthNear=t.near,i.depthFar=t.far,i.getFrameData(n),"stage"===h){var l=i.stageParameters;l?o.fromArray(l.sittingToStandingTransform):o.makeTranslation(0,e,0)}var m=n.pose,g=null!==r?r:t;if(g.matrix.copy(o),g.matrix.decompose(g.position,g.quaternion,g.scale),null!==m.orientation&&(u.fromArray(m.orientation),g.quaternion.multiply(u)),null!==m.position&&(u.setFromRotationMatrix(o),p.fromArray(m.position),p.applyQuaternion(u),g.position.add(p)),g.updateMatrixWorld(),!1===i.isPresenting)return t;d.near=t.near,f.near=t.near,d.far=t.far,f.far=t.far,d.matrixWorldInverse.fromArray(n.leftViewMatrix),f.matrixWorldInverse.fromArray(n.rightViewMatrix),s.getInverse(o),"stage"===h&&(d.matrixWorldInverse.multiply(s),f.matrixWorldInverse.multiply(s));var q=g.parent;null!==q&&(c.getInverse(q.matrixWorld),d.matrixWorldInverse.multiply(c),f.matrixWorldInverse.multiply(c)),d.matrixWorld.getInverse(d.matrixWorldInverse),f.matrixWorld.getInverse(f.matrixWorldInverse),d.projectionMatrix.fromArray(n.leftProjectionMatrix),f.projectionMatrix.fromArray(n.rightProjectionMatrix),ma(v,d,f);var y=i.getLayers();if(y.length){var b=y[0];null!==b.leftBounds&&4===b.leftBounds.length&&d.bounds.fromArray(b.leftBounds),null!==b.rightBounds&&4===b.rightBounds.length&&f.bounds.fromArray(b.rightBounds)}return function(){for(var t=0;t<a.length;t++){var e=a[t],i=_(t);if(void 0!==i&&void 0!==i.pose){if(null===i.pose)return;var n=i.pose;!1===n.hasPosition&&e.position.set(.2,-.6,-.05),null!==n.position&&e.position.fromArray(n.position),null!==n.orientation&&e.quaternion.fromArray(n.orientation),e.matrix.compose(e.position,e.quaternion,e.scale),e.matrix.premultiply(o),e.matrix.decompose(e.position,e.quaternion,e.scale),e.matrixWorldNeedsUpdate=!0,e.visible=!0;var r="Daydream Controller"===i.id?0:1;x[t]!==i.buttons[r].pressed&&(x[t]=i.buttons[r].pressed,!0===x[t]?e.dispatchEvent({type:"selectstart"}):(e.dispatchEvent({type:"selectend"}),e.dispatchEvent({type:"select"})))}else e.visible=!1}}(),v},this.getStandingMatrix=function(){return o},this.isPresenting=q;var b=new Ei;this.setAnimationLoop=function(t){b.setAnimationLoop(t)},this.submitFrame=function(){q()&&i.submitFrame()},this.dispose=function(){"undefined"!=typeof window&&window.removeEventListener("vrdisplaypresentchange",y)}}function va(t){var e=t.context,i=null,n=null,r=1,a=null,o="stage",s=null,l=[],h=[];function c(){return null!==n&&null!==a}var u=new aa;u.layers.enable(1),u.viewport=new hi;var p=new aa;p.layers.enable(2),p.viewport=new hi;var d=new oa([u,p]);function f(t){var e=l[h.indexOf(t.inputSource)];e&&e.dispatchEvent({type:t.type})}function m(){t.setFramebuffer(null),q.stop()}function g(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.getInverse(t.matrixWorld)}d.layers.enable(1),d.layers.enable(2),this.enabled=!1,this.getController=function(t){var e=l[t];return void 0===e&&((e=new na).matrixAutoUpdate=!1,e.visible=!1,l[t]=e),e},this.getDevice=function(){return i},this.setDevice=function(t){void 0!==t&&(i=t),t instanceof XRDevice&&e.setCompatibleXRDevice(t)},this.setFramebufferScaleFactor=function(t){r=t},this.setFrameOfReferenceType=function(t){o=t},this.setSession=function(i){null!==(n=i)&&(n.addEventListener("select",f),n.addEventListener("selectstart",f),n.addEventListener("selectend",f),n.addEventListener("end",m),n.baseLayer=new XRWebGLLayer(n,e,{framebufferScaleFactor:r}),n.requestFrameOfReference(o).then(function(e){a=e,t.setFramebuffer(n.baseLayer.framebuffer),q.setContext(n),q.start()}),h=n.getInputSources(),n.addEventListener("inputsourceschange",function(){h=n.getInputSources(),console.log(h);for(var t=0;t<l.length;t++){l[t].userData.inputSource=h[t]}}))},this.getCamera=function(t){if(c()){var e=t.parent,i=d.cameras;g(d,e);for(var n=0;n<i.length;n++)g(i[n],e);t.matrixWorld.copy(d.matrixWorld);for(var r=t.children,a=(n=0,r.length);n<a;n++)r[n].updateMatrixWorld(!0);return ma(d,u,p),d}return t},this.isPresenting=c;var v=null;var q=new Ei;q.setAnimationLoop(function(t,e){if(null!==(s=e.getDevicePose(a)))for(var i=n.baseLayer,r=e.views,o=0;o<r.length;o++){var c=r[o],u=i.getViewport(c),p=s.getViewMatrix(c),f=d.cameras[o];f.matrix.fromArray(p).getInverse(f.matrix),f.projectionMatrix.fromArray(c.projectionMatrix),f.viewport.set(u.x,u.y,u.width,u.height),0===o&&d.matrix.copy(f.matrix)}for(o=0;o<l.length;o++){var m=l[o],g=h[o];if(g){var q=e.getInputPose(g,a);if(null!==q){"targetRay"in q?m.matrix.elements=q.targetRay.transformMatrix:"pointerMatrix"in q&&(m.matrix.elements=q.pointerMatrix),m.matrix.decompose(m.position,m.rotation,m.scale),m.visible=!0;continue}}m.visible=!1}v&&v(t)}),this.setAnimationLoop=function(t){v=t},this.dispose=function(){},this.getStandingMatrix=function(){return console.warn("THREE.WebXRManager: getStandingMatrix() is no longer needed."),new THREE.Matrix4},this.submitFrame=function(){}}function qa(t){console.log("THREE.WebGLRenderer",m);var e=void 0!==(t=t||{}).canvas?t.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),i=void 0!==t.context?t.context:null,n=void 0!==t.alpha&&t.alpha,r=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,s=void 0===t.premultipliedAlpha||t.premultipliedAlpha,l=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,h=void 0!==t.powerPreference?t.powerPreference:"default",c=null,u=null;this.domElement=e,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=ft,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var p,d,f,g,v,q,y,x,_,b,w,M,T,S,A,P,L,R,C=this,z=!1,O=null,D=null,I=null,N=-1,B={geometry:null,program:null,wireframe:!1},U=null,F=null,k=new hi,G=new hi,H=null,V=0,j=e.width,W=e.height,X=1,Y=new hi(0,0,j,W),Z=new hi(0,0,j,W),J=!1,Q=new gi,K=new Pn,$=!1,tt=!1,et=new Qe,it=new $e;function nt(){return null===D?X:1}try{var rt={alpha:n,depth:r,stencil:a,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:h};if(e.addEventListener("webglcontextlost",lt,!1),e.addEventListener("webglcontextrestored",ht,!1),null===(p=i||e.getContext("webgl",rt)||e.getContext("experimental-webgl",rt)))throw null!==e.getContext("webgl")?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.");void 0===p.getShaderPrecisionFormat&&(p.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(t){console.error("THREE.WebGLRenderer: "+t.message)}function at(){d=new Ln(p),(f=new An(p,d,t)).isWebGL2||(d.get("WEBGL_depth_texture"),d.get("OES_texture_float"),d.get("OES_texture_half_float"),d.get("OES_texture_half_float_linear"),d.get("OES_standard_derivatives"),d.get("OES_element_index_uint"),d.get("ANGLE_instanced_arrays")),d.get("OES_texture_float_linear"),R=new ia(p,d,f),(g=new ta(p,d,R,f)).scissor(G.copy(Z).multiplyScalar(X)),g.viewport(k.copy(Y).multiplyScalar(X)),v=new zn(p),q=new kr,y=new ea(p,d,g,q,f,R,v),x=new Ai(p),_=new Rn(p,x,v),b=new In(_,v),A=new Dn(p),w=new Fr(C,d,f),M=new jr,T=new Jr,S=new Sn(C,g,b,s),P=new En(p,d,v,f),L=new Cn(p,d,v,f),v.programs=w.programs,C.context=p,C.capabilities=f,C.extensions=d,C.properties=q,C.renderLists=M,C.state=g,C.info=v}at();var ot=null;"undefined"!=typeof navigator&&(ot="xr"in navigator?new va(C):new ga(C)),this.vr=ot;var st=new $r(C,b,f.maxTextureSize);function lt(t){t.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),z=!0}function ht(){console.log("THREE.WebGLRenderer: Context Restored."),z=!1,at()}function ct(t){var e=t.target;e.removeEventListener("dispose",ct),function(t){ut(t),q.remove(t)}(e)}function ut(t){var e=q.get(t).program;t.program=void 0,void 0!==e&&w.releaseProgram(e)}this.shadowMap=st,this.getContext=function(){return p},this.getContextAttributes=function(){return p.getContextAttributes()},this.forceContextLoss=function(){var t=d.get("WEBGL_lose_context");t&&t.loseContext()},this.forceContextRestore=function(){var t=d.get("WEBGL_lose_context");t&&t.restoreContext()},this.getPixelRatio=function(){return X},this.setPixelRatio=function(t){void 0!==t&&(X=t,this.setSize(j,W,!1))},this.getSize=function(){return{width:j,height:W}},this.setSize=function(t,i,n){ot.isPresenting()?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(j=t,W=i,e.width=t*X,e.height=i*X,!1!==n&&(e.style.width=t+"px",e.style.height=i+"px"),this.setViewport(0,0,t,i))},this.getDrawingBufferSize=function(){return{width:j*X,height:W*X}},this.setDrawingBufferSize=function(t,i,n){j=t,W=i,X=n,e.width=t*n,e.height=i*n,this.setViewport(0,0,t,i)},this.getCurrentViewport=function(){return k},this.setViewport=function(t,e,i,n){Y.set(t,W-e-n,i,n),g.viewport(k.copy(Y).multiplyScalar(X))},this.setScissor=function(t,e,i,n){Z.set(t,W-e-n,i,n),g.scissor(G.copy(Z).multiplyScalar(X))},this.setScissorTest=function(t){g.setScissorTest(J=t)},this.getClearColor=function(){return S.getClearColor()},this.setClearColor=function(){S.setClearColor.apply(S,arguments)},this.getClearAlpha=function(){return S.getClearAlpha()},this.setClearAlpha=function(){S.setClearAlpha.apply(S,arguments)},this.clear=function(t,e,i){var n=0;(void 0===t||t)&&(n|=16384),(void 0===e||e)&&(n|=256),(void 0===i||i)&&(n|=1024),p.clear(n)},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(){e.removeEventListener("webglcontextlost",lt,!1),e.removeEventListener("webglcontextrestored",ht,!1),M.dispose(),T.dispose(),q.dispose(),b.dispose(),ot.dispose(),mt.stop()},this.renderBufferImmediate=function(t,e){g.initAttributes();var i=q.get(t);t.hasPositions&&!i.position&&(i.position=p.createBuffer()),t.hasNormals&&!i.normal&&(i.normal=p.createBuffer()),t.hasUvs&&!i.uv&&(i.uv=p.createBuffer()),t.hasColors&&!i.color&&(i.color=p.createBuffer());var n=e.getAttributes();t.hasPositions&&(p.bindBuffer(34962,i.position),p.bufferData(34962,t.positionArray,35048),g.enableAttribute(n.position),p.vertexAttribPointer(n.position,3,5126,!1,0,0)),t.hasNormals&&(p.bindBuffer(34962,i.normal),p.bufferData(34962,t.normalArray,35048),g.enableAttribute(n.normal),p.vertexAttribPointer(n.normal,3,5126,!1,0,0)),t.hasUvs&&(p.bindBuffer(34962,i.uv),p.bufferData(34962,t.uvArray,35048),g.enableAttribute(n.uv),p.vertexAttribPointer(n.uv,2,5126,!1,0,0)),t.hasColors&&(p.bindBuffer(34962,i.color),p.bufferData(34962,t.colorArray,35048),g.enableAttribute(n.color),p.vertexAttribPointer(n.color,3,5126,!1,0,0)),g.disableUnusedAttributes(),p.drawArrays(4,0,t.count),t.count=0},this.renderBufferDirect=function(t,e,i,n,r,a){var o=r.isMesh&&r.normalMatrix.determinant()<0;g.setMaterial(n,o);var s=yt(t,e,n,r),l=!1;B.geometry===i.id&&B.program===s.id&&B.wireframe===(!0===n.wireframe)||(B.geometry=i.id,B.program=s.id,B.wireframe=!0===n.wireframe,l=!0),r.morphTargetInfluences&&(A.update(r,i,n,s),l=!0);var h,c=i.index,u=i.attributes.position,m=1;!0===n.wireframe&&(c=_.getWireframeAttribute(i),m=2);var v=P;null!==c&&(h=x.get(c),(v=L).setIndex(h)),l&&(!function(t,e,i){if(i&&i.isInstancedBufferGeometry&!f.isWebGL2&&null===d.get("ANGLE_instanced_arrays"))return void console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");g.initAttributes();var n=i.attributes,r=e.getAttributes(),a=t.defaultAttributeValues;for(var o in r){var s=r[o];if(s>=0){var l=n[o];if(void 0!==l){var h=l.normalized,c=l.itemSize,u=x.get(l);if(void 0===u)continue;var m=u.buffer,v=u.type,q=u.bytesPerElement;if(l.isInterleavedBufferAttribute){var y=l.data,_=y.stride,b=l.offset;y&&y.isInstancedInterleavedBuffer?(g.enableAttributeAndDivisor(s,y.meshPerAttribute),void 0===i.maxInstancedCount&&(i.maxInstancedCount=y.meshPerAttribute*y.count)):g.enableAttribute(s),p.bindBuffer(34962,m),p.vertexAttribPointer(s,c,v,h,_*q,b*q)}else l.isInstancedBufferAttribute?(g.enableAttributeAndDivisor(s,l.meshPerAttribute),void 0===i.maxInstancedCount&&(i.maxInstancedCount=l.meshPerAttribute*l.count)):g.enableAttribute(s),p.bindBuffer(34962,m),p.vertexAttribPointer(s,c,v,h,0,0)}else if(void 0!==a){var w=a[o];if(void 0!==w)switch(w.length){case 2:p.vertexAttrib2fv(s,w);break;case 3:p.vertexAttrib3fv(s,w);break;case 4:p.vertexAttrib4fv(s,w);break;default:p.vertexAttrib1fv(s,w)}}}}g.disableUnusedAttributes()}(n,s,i),null!==c&&p.bindBuffer(34963,h.buffer));var q=1/0;null!==c?q=c.count:void 0!==u&&(q=u.count);var y=i.drawRange.start*m,b=i.drawRange.count*m,w=null!==a?a.start*m:0,M=null!==a?a.count*m:1/0,T=Math.max(y,w),S=Math.min(q,y+b,w+M)-1,E=Math.max(0,S-T+1);if(0!==E){if(r.isMesh)if(!0===n.wireframe)g.setLineWidth(n.wireframeLinewidth*nt()),v.setMode(1);else switch(r.drawMode){case Oe:v.setMode(4);break;case De:v.setMode(5);break;case Ie:v.setMode(6)}else if(r.isLine){var R=n.linewidth;void 0===R&&(R=1),g.setLineWidth(R*nt()),r.isLineSegments?v.setMode(1):r.isLineLoop?v.setMode(2):v.setMode(3)}else r.isPoints?v.setMode(0):r.isSprite&&v.setMode(4);i&&i.isInstancedBufferGeometry?i.maxInstancedCount>0&&v.renderInstances(i,T,E):v.render(T,E)}},this.compile=function(t,e){(u=T.get(t,e)).init(),t.traverse(function(t){t.isLight&&(u.pushLight(t),t.castShadow&&u.pushShadow(t))}),u.setupLights(e),t.traverse(function(e){if(e.material)if(Array.isArray(e.material))for(var i=0;i<e.material.length;i++)qt(e.material[i],t.fog,e);else qt(e.material,t.fog,e)})};var pt=null;var dt,mt=new Ei;function gt(t,e,i,n){for(var r=0,a=t.length;r<a;r++){var o=t[r],s=o.object,l=o.geometry,h=void 0===n?o.material:n,c=o.group;if(i.isArrayCamera){F=i;for(var p=i.cameras,d=0,f=p.length;d<f;d++){var m=p[d];if(s.layers.test(m.layers)){if("viewport"in m)g.viewport(k.copy(m.viewport));else{var v=m.bounds,q=v.x*j,y=v.y*W,x=v.z*j,_=v.w*W;g.viewport(k.set(q,y,x,_).multiplyScalar(X))}u.setupLights(m),vt(s,e,m,l,h,c)}}}else F=null,vt(s,e,i,l,h,c)}}function vt(t,e,i,n,r,a){if(t.onBeforeRender(C,e,i,n,r,a),u=T.get(e,F||i),t.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),t.isImmediateRenderObject){g.setMaterial(r);var o=yt(i,e.fog,r,t);B.geometry=null,B.program=null,B.wireframe=!1,function(t,e){t.render(function(t){C.renderBufferImmediate(t,e)})}(t,o)}else C.renderBufferDirect(i,e.fog,n,r,t,a);t.onAfterRender(C,e,i,n,r,a),u=T.get(e,F||i)}function qt(t,e,i){var n=q.get(t),r=u.state.lights,a=u.state.shadowsArray,o=n.lightsHash,s=r.state.hash,l=w.getParameters(t,r.state,a,e,K.numPlanes,K.numIntersection,i),h=w.getProgramCode(t,l),c=n.program,p=!0;if(void 0===c)t.addEventListener("dispose",ct);else if(c.code!==h)ut(t);else if(o.stateID!==s.stateID||o.directionalLength!==s.directionalLength||o.pointLength!==s.pointLength||o.spotLength!==s.spotLength||o.rectAreaLength!==s.rectAreaLength||o.hemiLength!==s.hemiLength||o.shadowsLength!==s.shadowsLength)o.stateID=s.stateID,o.directionalLength=s.directionalLength,o.pointLength=s.pointLength,o.spotLength=s.spotLength,o.rectAreaLength=s.rectAreaLength,o.hemiLength=s.hemiLength,o.shadowsLength=s.shadowsLength,p=!1;else{if(void 0!==l.shaderID)return;p=!1}if(p){if(l.shaderID){var d=Si[l.shaderID];n.shader={name:t.type,uniforms:_i.clone(d.uniforms),vertexShader:d.vertexShader,fragmentShader:d.fragmentShader}}else n.shader={name:t.type,uniforms:t.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader};t.onBeforeCompile(n.shader,C),h=w.getProgramCode(t,l),c=w.acquireProgram(t,n.shader,l,h),n.program=c,t.program=c}var f=c.getAttributes();if(t.morphTargets){t.numSupportedMorphTargets=0;for(var m=0;m<C.maxMorphTargets;m++)f["morphTarget"+m]>=0&&t.numSupportedMorphTargets++}if(t.morphNormals){t.numSupportedMorphNormals=0;for(m=0;m<C.maxMorphNormals;m++)f["morphNormal"+m]>=0&&t.numSupportedMorphNormals++}var g=n.shader.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(n.numClippingPlanes=K.numPlanes,n.numIntersection=K.numIntersection,g.clippingPlanes=K.uniform),n.fog=e,void 0===o&&(n.lightsHash=o={}),o.stateID=s.stateID,o.directionalLength=s.directionalLength,o.pointLength=s.pointLength,o.spotLength=s.spotLength,o.rectAreaLength=s.rectAreaLength,o.hemiLength=s.hemiLength,o.shadowsLength=s.shadowsLength,t.lights&&(g.ambientLightColor.value=r.state.ambient,g.directionalLights.value=r.state.directional,g.spotLights.value=r.state.spot,g.rectAreaLights.value=r.state.rectArea,g.pointLights.value=r.state.point,g.hemisphereLights.value=r.state.hemi,g.directionalShadowMap.value=r.state.directionalShadowMap,g.directionalShadowMatrix.value=r.state.directionalShadowMatrix,g.spotShadowMap.value=r.state.spotShadowMap,g.spotShadowMatrix.value=r.state.spotShadowMatrix,g.pointShadowMap.value=r.state.pointShadowMap,g.pointShadowMatrix.value=r.state.pointShadowMatrix);var v=n.program.getUniforms(),y=Ar.seqWithValue(v.seq,g);n.uniformsList=y}function yt(t,e,i,n){V=0;var r=q.get(i),a=u.state.lights,o=r.lightsHash,s=a.state.hash;if($&&(tt||t!==U)){var l=t===U&&i.id===N;K.setState(i.clippingPlanes,i.clipIntersection,i.clipShadows,t,r,l)}!1===i.needsUpdate&&(void 0===r.program?i.needsUpdate=!0:i.fog&&r.fog!==e?i.needsUpdate=!0:(!i.lights||o.stateID===s.stateID&&o.directionalLength===s.directionalLength&&o.pointLength===s.pointLength&&o.spotLength===s.spotLength&&o.rectAreaLength===s.rectAreaLength&&o.hemiLength===s.hemiLength&&o.shadowsLength===s.shadowsLength)&&(void 0===r.numClippingPlanes||r.numClippingPlanes===K.numPlanes&&r.numIntersection===K.numIntersection)||(i.needsUpdate=!0)),i.needsUpdate&&(qt(i,e,n),i.needsUpdate=!1);var h,c,d=!1,m=!1,v=!1,y=r.program,x=y.getUniforms(),_=r.shader.uniforms;if(g.useProgram(y.program)&&(d=!0,m=!0,v=!0),i.id!==N&&(N=i.id,m=!0),d||U!==t){if(x.setValue(p,"projectionMatrix",t.projectionMatrix),f.logarithmicDepthBuffer&&x.setValue(p,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),U!==t&&(U=t,m=!0,v=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.envMap){var b=x.map.cameraPosition;void 0!==b&&b.setValue(p,it.setFromMatrixPosition(t.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.skinning)&&x.setValue(p,"viewMatrix",t.matrixWorldInverse)}if(i.skinning){x.setOptional(p,n,"bindMatrix"),x.setOptional(p,n,"bindMatrixInverse");var w=n.skeleton;if(w){var M=w.bones;if(f.floatVertexTextures){if(void 0===w.boneTexture){var T=Math.sqrt(4*M.length);T=Ze.ceilPowerOfTwo(T),T=Math.max(T,4);var S=new Float32Array(T*T*4);S.set(w.boneMatrices);var A=new pi(S,T,T,Zt,kt);A.needsUpdate=!0,w.boneMatrices=S,w.boneTexture=A,w.boneTextureSize=T}x.setValue(p,"boneTexture",w.boneTexture),x.setValue(p,"boneTextureSize",w.boneTextureSize)}else x.setOptional(p,w,"boneMatrices")}}return m&&(x.setValue(p,"toneMappingExposure",C.toneMappingExposure),x.setValue(p,"toneMappingWhitePoint",C.toneMappingWhitePoint),i.lights&&(c=v,(h=_).ambientLightColor.needsUpdate=c,h.directionalLights.needsUpdate=c,h.pointLights.needsUpdate=c,h.spotLights.needsUpdate=c,h.rectAreaLights.needsUpdate=c,h.hemisphereLights.needsUpdate=c),e&&i.fog&&function(t,e){t.fogColor.value=e.color,e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)}(_,e),i.isMeshBasicMaterial?xt(_,i):i.isMeshLambertMaterial?(xt(_,i),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(_,i)):i.isMeshPhongMaterial?(xt(_,i),i.isMeshToonMaterial?function(t,e){_t(t,e),e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(_,i):_t(_,i)):i.isMeshStandardMaterial?(xt(_,i),i.isMeshPhysicalMaterial?function(t,e){bt(t,e),t.reflectivity.value=e.reflectivity,t.clearCoat.value=e.clearCoat,t.clearCoatRoughness.value=e.clearCoatRoughness}(_,i):bt(_,i)):i.isMeshMatcapMaterial?(xt(_,i),function(t,e){e.matcap&&(t.matcap.value=e.matcap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===E&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===E&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(_,i)):i.isMeshDepthMaterial?(xt(_,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(_,i)):i.isMeshDistanceMaterial?(xt(_,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias);t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(_,i)):i.isMeshNormalMaterial?(xt(_,i),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===E&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===E&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(_,i)):i.isLineBasicMaterial?(function(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity}(_,i),i.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(_,i)):i.isPointsMaterial?function(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity,t.size.value=e.size*X,t.scale.value=.5*W,t.map.value=e.map,null!==e.map&&(!0===e.map.matrixAutoUpdate&&e.map.updateMatrix(),t.uvTransform.value.copy(e.map.matrix))}(_,i):i.isSpriteMaterial?function(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity,t.rotation.value=e.rotation,t.map.value=e.map,null!==e.map&&(!0===e.map.matrixAutoUpdate&&e.map.updateMatrix(),t.uvTransform.value.copy(e.map.matrix))}(_,i):i.isShadowMaterial&&(_.color.value=i.color,_.opacity.value=i.opacity),void 0!==_.ltc_1&&(_.ltc_1.value=Ti.LTC_1),void 0!==_.ltc_2&&(_.ltc_2.value=Ti.LTC_2),Ar.upload(p,r.uniformsList,_,C)),i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(Ar.upload(p,r.uniformsList,_,C),i.uniformsNeedUpdate=!1),i.isSpriteMaterial&&x.setValue(p,"center",n.center),x.setValue(p,"modelViewMatrix",n.modelViewMatrix),x.setValue(p,"normalMatrix",n.normalMatrix),x.setValue(p,"modelMatrix",n.matrixWorld),y}function xt(t,e){var i;t.opacity.value=e.opacity,e.color&&(t.diffuse.value=e.color),e.emissive&&t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),e.map&&(t.map.value=e.map),e.alphaMap&&(t.alphaMap.value=e.alphaMap),e.specularMap&&(t.specularMap.value=e.specularMap),e.envMap&&(t.envMap.value=e.envMap,t.flipEnvMap.value=e.envMap&&e.envMap.isCubeTexture?-1:1,t.reflectivity.value=e.reflectivity,t.refractionRatio.value=e.refractionRatio,t.maxMipLevel.value=q.get(e.envMap).__maxMipLevel),e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.aoMap&&(t.aoMap.value=e.aoMap,t.aoMapIntensity.value=e.aoMapIntensity),e.map?i=e.map:e.specularMap?i=e.specularMap:e.displacementMap?i=e.displacementMap:e.normalMap?i=e.normalMap:e.bumpMap?i=e.bumpMap:e.roughnessMap?i=e.roughnessMap:e.metalnessMap?i=e.metalnessMap:e.alphaMap?i=e.alphaMap:e.emissiveMap&&(i=e.emissiveMap),void 0!==i&&(i.isWebGLRenderTarget&&(i=i.texture),!0===i.matrixAutoUpdate&&i.updateMatrix(),t.uvTransform.value.copy(i.matrix))}function _t(t,e){t.specular.value=e.specular,t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===E&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===E&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function bt(t,e){t.roughness.value=e.roughness,t.metalness.value=e.metalness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===E&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===E&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}mt.setAnimationLoop(function(t){ot.isPresenting()||pt&&pt(t)}),"undefined"!=typeof window&&mt.setContext(window),this.setAnimationLoop=function(t){pt=t,ot.setAnimationLoop(t),mt.start()},this.render=function(t,e,i,n){if(e&&e.isCamera){if(!z){B.geometry=null,B.program=null,B.wireframe=!1,N=-1,U=null,!0===t.autoUpdate&&t.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),ot.enabled&&(e=ot.getCamera(e)),(u=T.get(t,e)).init(),t.onBeforeRender(C,t,e,i),et.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),Q.setFromMatrix(et),tt=this.localClippingEnabled,$=K.init(this.clippingPlanes,tt,e),(c=M.get(t,e)).init(),function t(e,i,n){if(!1===e.visible)return;var r=e.layers.test(i.layers);if(r)if(e.isLight)u.pushLight(e),e.castShadow&&u.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||Q.intersectsSprite(e)){n&&it.setFromMatrixPosition(e.matrixWorld).applyMatrix4(et);var a=b.update(e),o=e.material;c.push(e,a,o,it.z,null)}}else if(e.isImmediateRenderObject)n&&it.setFromMatrixPosition(e.matrixWorld).applyMatrix4(et),c.push(e,null,e.material,it.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.update(),!e.frustumCulled||Q.intersectsObject(e))){n&&it.setFromMatrixPosition(e.matrixWorld).applyMatrix4(et);var a=b.update(e),o=e.material;if(Array.isArray(o))for(var s=a.groups,l=0,h=s.length;l<h;l++){var p=s[l],d=o[p.materialIndex];d&&d.visible&&c.push(e,a,d,it.z,p)}else o.visible&&c.push(e,a,o,it.z,null)}var f=e.children;for(var l=0,h=f.length;l<h;l++)t(f[l],i,n)}(t,e,C.sortObjects),!0===C.sortObjects&&c.sort(),$&&K.beginShadows();var r=u.state.shadowsArray;st.render(r,t,e),u.setupLights(e),$&&K.endShadows(),this.info.autoReset&&this.info.reset(),void 0===i&&(i=null),this.setRenderTarget(i),S.render(c,t,e,n);var a=c.opaque,o=c.transparent;if(t.overrideMaterial){var s=t.overrideMaterial;a.length&&gt(a,t,e,s),o.length&&gt(o,t,e,s)}else a.length&&gt(a,t,e),o.length&&gt(o,t,e);i&&y.updateRenderTargetMipmap(i),g.buffers.depth.setTest(!0),g.buffers.depth.setMask(!0),g.buffers.color.setMask(!0),g.setPolygonOffset(!1),t.onAfterRender(C,t,e),ot.enabled&&ot.submitFrame(),c=null,u=null}}else console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.")},this.allocTextureUnit=function(){var t=V;return t>=f.maxTextures&&console.warn("THREE.WebGLRenderer: Trying to use "+t+" texture units while this GPU supports only "+f.maxTextures),V+=1,t},this.setTexture2D=(dt=!1,function(t,e){t&&t.isWebGLRenderTarget&&(dt||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),dt=!0),t=t.texture),y.setTexture2D(t,e)}),this.setTexture3D=function(t,e){y.setTexture3D(t,e)},this.setTexture=function(){var t=!1;return function(e,i){t||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),t=!0),y.setTexture2D(e,i)}}(),this.setTextureCube=function(){var t=!1;return function(e,i){e&&e.isWebGLRenderTargetCube&&(t||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),t=!0),e=e.texture),e&&e.isCubeTexture||Array.isArray(e.image)&&6===e.image.length?y.setTextureCube(e,i):y.setTextureCubeDynamic(e,i)}}(),this.setFramebuffer=function(t){O=t},this.getRenderTarget=function(){return D},this.setRenderTarget=function(t){D=t,t&&void 0===q.get(t).__webglFramebuffer&&y.setupRenderTarget(t);var e=O,i=!1;if(t){var n=q.get(t).__webglFramebuffer;t.isWebGLRenderTargetCube?(e=n[t.activeCubeFace],i=!0):e=n,k.copy(t.viewport),G.copy(t.scissor),H=t.scissorTest}else k.copy(Y).multiplyScalar(X),G.copy(Z).multiplyScalar(X),H=J;if(I!==e&&(p.bindFramebuffer(36160,e),I=e),g.viewport(k),g.scissor(G),g.setScissorTest(H),i){var r=q.get(t.texture);p.framebufferTexture2D(36160,36064,34069+t.activeCubeFace,r.__webglTexture,t.activeMipMapLevel)}},this.readRenderTargetPixels=function(t,e,i,n,r,a){if(t&&t.isWebGLRenderTarget){var o=q.get(t).__webglFramebuffer;if(o){var s=!1;o!==I&&(p.bindFramebuffer(36160,o),s=!0);try{var l=t.texture,h=l.format,c=l.type;if(h!==Zt&&R.convert(h)!==p.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(!(c===Dt||R.convert(c)===p.getParameter(35738)||c===kt&&(f.isWebGL2||d.get("OES_texture_float")||d.get("WEBGL_color_buffer_float"))||c===Gt&&(f.isWebGL2?d.get("EXT_color_buffer_float"):d.get("EXT_color_buffer_half_float"))))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===p.checkFramebufferStatus(36160)?e>=0&&e<=t.width-n&&i>=0&&i<=t.height-r&&p.readPixels(e,i,n,r,R.convert(h),R.convert(c),a):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{s&&p.bindFramebuffer(36160,I)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")},this.copyFramebufferToTexture=function(t,e,i){var n=e.image.width,r=e.image.height,a=R.convert(e.format);this.setTexture2D(e,0),p.copyTexImage2D(3553,i||0,a,t.x,t.y,n,r,0)},this.copyTextureToTexture=function(t,e,i,n){var r=e.image.width,a=e.image.height,o=R.convert(i.format),s=R.convert(i.type);this.setTexture2D(i,0),e.isDataTexture?p.texSubImage2D(3553,n||0,t.x,t.y,r,a,o,s,e.image.data):p.texSubImage2D(3553,n||0,t.x,t.y,o,s,e.image)}}function ya(t,e){this.name="",this.color=new wi(t),this.density=void 0!==e?e:25e-5}function xa(t,e,i){this.name="",this.color=new wi(t),this.near=void 0!==e?e:1,this.far=void 0!==i?i:1e3}function _a(){Ni.call(this),this.type="Scene",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function ba(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.version=0}function wa(t,e,i,n){this.data=t,this.itemSize=e,this.offset=i,this.normalized=!0===n}function Ma(t){xn.call(this),this.type="SpriteMaterial",this.color=new wi(16777215),this.map=null,this.rotation=0,this.sizeAttenuation=!0,this.lights=!1,this.transparent=!0,this.setValues(t)}function Ta(t){if(Ni.call(this),this.type="Sprite",void 0===sa){sa=new en;var e=new ba(new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),5);sa.setIndex([0,1,2,0,2,3]),sa.addAttribute("position",new wa(e,3,0,!1)),sa.addAttribute("uv",new wa(e,2,3,!1))}this.geometry=sa,this.material=void 0!==t?t:new Ma,this.center=new Je(.5,.5)}function Sa(){Ni.call(this),this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Ea(t,e){if(t=t||[],this.bones=t.slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[];for(var i=0,n=this.bones.length;i<n;i++)this.boneInverses.push(new Qe)}}function Aa(){Ni.call(this),this.type="Bone"}function Pa(t,e){Tn.call(this,t,e),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Qe,this.bindMatrixInverse=new Qe;var i=new Ea(this.initBones());this.bind(i,this.matrixWorld),this.normalizeSkinWeights()}function La(t){xn.call(this),this.type="LineBasicMaterial",this.color=new wi(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.lights=!1,this.setValues(t)}function Ra(t,e,i){1===i&&console.error("THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead."),Ni.call(this),this.type="Line",this.geometry=void 0!==t?t:new en,this.material=void 0!==e?e:new La({color:16777215*Math.random()})}function Ca(t,e){Ra.call(this,t,e),this.type="LineSegments"}function za(t,e){Ra.call(this,t,e),this.type="LineLoop"}function Oa(t){xn.call(this),this.type="PointsMaterial",this.color=new wi(16777215),this.map=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function Da(t,e){Ni.call(this),this.type="Points",this.geometry=void 0!==t?t:new en,this.material=void 0!==e?e:new Oa({color:16777215*Math.random()})}function Ia(t,e,i,n,r,a,o,s,l){li.call(this,t,e,i,n,r,a,o,s,l),this.generateMipmaps=!1}function Na(t,e,i,n,r,a,o,s,l,h,c,u){li.call(this,null,a,o,s,l,h,n,r,c,u),this.image={width:e,height:i},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}function Ba(t,e,i,n,r,a,o,s,l){li.call(this,t,e,i,n,r,a,o,s,l),this.needsUpdate=!0}function Ua(t,e,i,n,r,a,o,s,l,h){if((h=void 0!==h?h:$t)!==$t&&h!==te)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===i&&h===$t&&(i=Bt),void 0===i&&h===te&&(i=Wt),li.call(this,null,n,r,a,o,s,h,i,l),this.image={width:t,height:e},this.magFilter=void 0!==o?o:Pt,this.minFilter=void 0!==s?s:Pt,this.flipY=!1,this.generateMipmaps=!1}function Fa(t){en.call(this),this.type="WireframeGeometry";var e,i,n,r,a,o,s,l,h,c,u=[],p=[0,0],d={},f=["a","b","c"];if(t&&t.isGeometry){var m=t.faces;for(e=0,n=m.length;e<n;e++){var g=m[e];for(i=0;i<3;i++)s=g[f[i]],l=g[f[(i+1)%3]],p[0]=Math.min(s,l),p[1]=Math.max(s,l),void 0===d[h=p[0]+","+p[1]]&&(d[h]={index1:p[0],index2:p[1]})}for(h in d)o=d[h],c=t.vertices[o.index1],u.push(c.x,c.y,c.z),c=t.vertices[o.index2],u.push(c.x,c.y,c.z)}else if(t&&t.isBufferGeometry){var v,q,y,x,_,b,w;if(c=new $e,null!==t.index){for(v=t.attributes.position,q=t.index,0===(y=t.groups).length&&(y=[{start:0,count:q.count,materialIndex:0}]),r=0,a=y.length;r<a;++r)for(e=_=(x=y[r]).start,n=_+x.count;e<n;e+=3)for(i=0;i<3;i++)s=q.getX(e+i),l=q.getX(e+(i+1)%3),p[0]=Math.min(s,l),p[1]=Math.max(s,l),void 0===d[h=p[0]+","+p[1]]&&(d[h]={index1:p[0],index2:p[1]});for(h in d)o=d[h],c.fromBufferAttribute(v,o.index1),u.push(c.x,c.y,c.z),c.fromBufferAttribute(v,o.index2),u.push(c.x,c.y,c.z)}else for(e=0,n=(v=t.attributes.position).count/3;e<n;e++)for(i=0;i<3;i++)b=3*e+i,c.fromBufferAttribute(v,b),u.push(c.x,c.y,c.z),w=3*e+(i+1)%3,c.fromBufferAttribute(v,w),u.push(c.x,c.y,c.z)}this.addAttribute("position",new Ji(u,3))}function ka(t,e,i){ki.call(this),this.type="ParametricGeometry",this.parameters={func:t,slices:e,stacks:i},this.fromBufferGeometry(new Ga(t,e,i)),this.mergeVertices()}function Ga(t,e,i){en.call(this),this.type="ParametricBufferGeometry",this.parameters={func:t,slices:e,stacks:i};var n,r,a=[],o=[],s=[],l=[],h=new $e,c=new $e,u=new $e,p=new $e,d=new $e;t.length<3&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var f=e+1;for(n=0;n<=i;n++){var m=n/i;for(r=0;r<=e;r++){var g=r/e;t(g,m,c),o.push(c.x,c.y,c.z),g-1e-5>=0?(t(g-1e-5,m,u),p.subVectors(c,u)):(t(g+1e-5,m,u),p.subVectors(u,c)),m-1e-5>=0?(t(g,m-1e-5,u),d.subVectors(c,u)):(t(g,m+1e-5,u),d.subVectors(u,c)),h.crossVectors(p,d).normalize(),s.push(h.x,h.y,h.z),l.push(g,m)}}for(n=0;n<i;n++)for(r=0;r<e;r++){var v=n*f+r,q=n*f+r+1,y=(n+1)*f+r+1,x=(n+1)*f+r;a.push(v,q,x),a.push(q,y,x)}this.setIndex(a),this.addAttribute("position",new Ji(o,3)),this.addAttribute("normal",new Ji(s,3)),this.addAttribute("uv",new Ji(l,2))}function Ha(t,e,i,n){ki.call(this),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:i,detail:n},this.fromBufferGeometry(new Va(t,e,i,n)),this.mergeVertices()}function Va(t,e,i,n){en.call(this),this.type="PolyhedronBufferGeometry",this.parameters={vertices:t,indices:e,radius:i,detail:n},i=i||1;var r=[],a=[];function o(t,e,i,n){var r,a,o=Math.pow(2,n),l=[];for(r=0;r<=o;r++){l[r]=[];var h=t.clone().lerp(i,r/o),c=e.clone().lerp(i,r/o),u=o-r;for(a=0;a<=u;a++)l[r][a]=0===a&&r===o?h:h.clone().lerp(c,a/u)}for(r=0;r<o;r++)for(a=0;a<2*(o-r)-1;a++){var p=Math.floor(a/2);a%2==0?(s(l[r][p+1]),s(l[r+1][p]),s(l[r][p])):(s(l[r][p+1]),s(l[r+1][p+1]),s(l[r+1][p]))}}function s(t){r.push(t.x,t.y,t.z)}function l(e,i){var n=3*e;i.x=t[n+0],i.y=t[n+1],i.z=t[n+2]}function h(t,e,i,n){n<0&&1===t.x&&(a[e]=t.x-1),0===i.x&&0===i.z&&(a[e]=n/2/Math.PI+.5)}function c(t){return Math.atan2(t.z,-t.x)}!function(t){for(var i=new $e,n=new $e,r=new $e,a=0;a<e.length;a+=3)l(e[a+0],i),l(e[a+1],n),l(e[a+2],r),o(i,n,r,t)}(n=n||0),function(t){for(var e=new $e,i=0;i<r.length;i+=3)e.x=r[i+0],e.y=r[i+1],e.z=r[i+2],e.normalize().multiplyScalar(t),r[i+0]=e.x,r[i+1]=e.y,r[i+2]=e.z}(i),function(){for(var t=new $e,e=0;e<r.length;e+=3){t.x=r[e+0],t.y=r[e+1],t.z=r[e+2];var i=c(t)/2/Math.PI+.5,n=(o=t,Math.atan2(-o.y,Math.sqrt(o.x*o.x+o.z*o.z))/Math.PI+.5);a.push(i,1-n)}var o;(function(){for(var t=new $e,e=new $e,i=new $e,n=new $e,o=new Je,s=new Je,l=new Je,u=0,p=0;u<r.length;u+=9,p+=6){t.set(r[u+0],r[u+1],r[u+2]),e.set(r[u+3],r[u+4],r[u+5]),i.set(r[u+6],r[u+7],r[u+8]),o.set(a[p+0],a[p+1]),s.set(a[p+2],a[p+3]),l.set(a[p+4],a[p+5]),n.copy(t).add(e).add(i).divideScalar(3);var d=c(n);h(o,p+0,t,d),h(s,p+2,e,d),h(l,p+4,i,d)}})(),function(){for(var t=0;t<a.length;t+=6){var e=a[t+0],i=a[t+2],n=a[t+4],r=Math.max(e,i,n),o=Math.min(e,i,n);r>.9&&o<.1&&(e<.2&&(a[t+0]+=1),i<.2&&(a[t+2]+=1),n<.2&&(a[t+4]+=1))}}()}(),this.addAttribute("position",new Ji(r,3)),this.addAttribute("normal",new Ji(r.slice(),3)),this.addAttribute("uv",new Ji(a,2)),0===n?this.computeVertexNormals():this.normalizeNormals()}function ja(t,e){ki.call(this),this.type="TetrahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Wa(t,e)),this.mergeVertices()}function Wa(t,e){Va.call(this,[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="TetrahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Xa(t,e){ki.call(this),this.type="OctahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Ya(t,e)),this.mergeVertices()}function Ya(t,e){Va.call(this,[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="OctahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Za(t,e){ki.call(this),this.type="IcosahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Ja(t,e)),this.mergeVertices()}function Ja(t,e){var i=(1+Math.sqrt(5))/2,n=[-1,i,0,1,i,0,-1,-i,0,1,-i,0,0,-1,i,0,1,i,0,-1,-i,0,1,-i,i,0,-1,i,0,1,-i,0,-1,-i,0,1];Va.call(this,n,[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="IcosahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Qa(t,e){ki.call(this),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Ka(t,e)),this.mergeVertices()}function Ka(t,e){var i=(1+Math.sqrt(5))/2,n=1/i,r=[-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,-n,-i,0,-n,i,0,n,-i,0,n,i,-n,-i,0,-n,i,0,n,-i,0,n,i,0,-i,0,-n,i,0,-n,-i,0,n,i,0,n];Va.call(this,r,[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronBufferGeometry",this.parameters={radius:t,detail:e}}function $a(t,e,i,n,r,a){ki.call(this),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:i,radialSegments:n,closed:r},void 0!==a&&console.warn("THREE.TubeGeometry: taper has been removed.");var o=new to(t,e,i,n,r);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals,this.fromBufferGeometry(o),this.mergeVertices()}function to(t,e,i,n,r){en.call(this),this.type="TubeBufferGeometry",this.parameters={path:t,tubularSegments:e,radius:i,radialSegments:n,closed:r},e=e||64,i=i||1,n=n||8,r=r||!1;var a=t.computeFrenetFrames(e,r);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals;var o,s,l=new $e,h=new $e,c=new Je,u=new $e,p=[],d=[],f=[],m=[];function g(r){u=t.getPointAt(r/e,u);var o=a.normals[r],c=a.binormals[r];for(s=0;s<=n;s++){var f=s/n*Math.PI*2,m=Math.sin(f),g=-Math.cos(f);h.x=g*o.x+m*c.x,h.y=g*o.y+m*c.y,h.z=g*o.z+m*c.z,h.normalize(),d.push(h.x,h.y,h.z),l.x=u.x+i*h.x,l.y=u.y+i*h.y,l.z=u.z+i*h.z,p.push(l.x,l.y,l.z)}}!function(){for(o=0;o<e;o++)g(o);g(!1===r?e:0),function(){for(o=0;o<=e;o++)for(s=0;s<=n;s++)c.x=o/e,c.y=s/n,f.push(c.x,c.y)}(),function(){for(s=1;s<=e;s++)for(o=1;o<=n;o++){var t=(n+1)*(s-1)+(o-1),i=(n+1)*s+(o-1),r=(n+1)*s+o,a=(n+1)*(s-1)+o;m.push(t,i,a),m.push(i,r,a)}}()}(),this.setIndex(m),this.addAttribute("position",new Ji(p,3)),this.addAttribute("normal",new Ji(d,3)),this.addAttribute("uv",new Ji(f,2))}function eo(t,e,i,n,r,a,o){ki.call(this),this.type="TorusKnotGeometry",this.parameters={radius:t,tube:e,tubularSegments:i,radialSegments:n,p:r,q:a},void 0!==o&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead."),this.fromBufferGeometry(new io(t,e,i,n,r,a)),this.mergeVertices()}function io(t,e,i,n,r,a){en.call(this),this.type="TorusKnotBufferGeometry",this.parameters={radius:t,tube:e,tubularSegments:i,radialSegments:n,p:r,q:a},t=t||1,e=e||.4,i=Math.floor(i)||64,n=Math.floor(n)||8,r=r||2,a=a||3;var o,s,l=[],h=[],c=[],u=[],p=new $e,d=new $e,f=new $e,m=new $e,g=new $e,v=new $e,q=new $e;for(o=0;o<=i;++o){var y=o/i*r*Math.PI*2;for(E(y,r,a,t,f),E(y+.01,r,a,t,m),v.subVectors(m,f),q.addVectors(m,f),g.crossVectors(v,q),q.crossVectors(g,v),g.normalize(),q.normalize(),s=0;s<=n;++s){var x=s/n*Math.PI*2,_=-e*Math.cos(x),b=e*Math.sin(x);p.x=f.x+(_*q.x+b*g.x),p.y=f.y+(_*q.y+b*g.y),p.z=f.z+(_*q.z+b*g.z),h.push(p.x,p.y,p.z),d.subVectors(p,f).normalize(),c.push(d.x,d.y,d.z),u.push(o/i),u.push(s/n)}}for(s=1;s<=i;s++)for(o=1;o<=n;o++){var w=(n+1)*(s-1)+(o-1),M=(n+1)*s+(o-1),T=(n+1)*s+o,S=(n+1)*(s-1)+o;l.push(w,M,S),l.push(M,T,S)}function E(t,e,i,n,r){var a=Math.cos(t),o=Math.sin(t),s=i/e*t,l=Math.cos(s);r.x=n*(2+l)*.5*a,r.y=n*(2+l)*o*.5,r.z=n*Math.sin(s)*.5}this.setIndex(l),this.addAttribute("position",new Ji(h,3)),this.addAttribute("normal",new Ji(c,3)),this.addAttribute("uv",new Ji(u,2))}function no(t,e,i,n,r){ki.call(this),this.type="TorusGeometry",this.parameters={radius:t,tube:e,radialSegments:i,tubularSegments:n,arc:r},this.fromBufferGeometry(new ro(t,e,i,n,r)),this.mergeVertices()}function ro(t,e,i,n,r){en.call(this),this.type="TorusBufferGeometry",this.parameters={radius:t,tube:e,radialSegments:i,tubularSegments:n,arc:r},t=t||1,e=e||.4,i=Math.floor(i)||8,n=Math.floor(n)||6,r=r||2*Math.PI;var a,o,s=[],l=[],h=[],c=[],u=new $e,p=new $e,d=new $e;for(a=0;a<=i;a++)for(o=0;o<=n;o++){var f=o/n*r,m=a/i*Math.PI*2;p.x=(t+e*Math.cos(m))*Math.cos(f),p.y=(t+e*Math.cos(m))*Math.sin(f),p.z=e*Math.sin(m),l.push(p.x,p.y,p.z),u.x=t*Math.cos(f),u.y=t*Math.sin(f),d.subVectors(p,u).normalize(),h.push(d.x,d.y,d.z),c.push(o/n),c.push(a/i)}for(a=1;a<=i;a++)for(o=1;o<=n;o++){var g=(n+1)*a+o-1,v=(n+1)*(a-1)+o-1,q=(n+1)*(a-1)+o,y=(n+1)*a+o;s.push(g,v,y),s.push(v,q,y)}this.setIndex(s),this.addAttribute("position",new Ji(l,3)),this.addAttribute("normal",new Ji(h,3)),this.addAttribute("uv",new Ji(c,2))}ya.prototype.isFogExp2=!0,ya.prototype.clone=function(){return new ya(this.color,this.density)},ya.prototype.toJSON=function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},xa.prototype.isFog=!0,xa.prototype.clone=function(){return new xa(this.color,this.near,this.far)},xa.prototype.toJSON=function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},_a.prototype=Object.assign(Object.create(Ni.prototype),{constructor:_a,copy:function(t,e){return Ni.prototype.copy.call(this,t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this},toJSON:function(t){var e=Ni.prototype.toJSON.call(this,t);return null!==this.background&&(e.object.background=this.background.toJSON(t)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}),Object.defineProperty(ba.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(ba.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=void 0!==t?t.length/this.stride:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.stride,i*=e.stride;for(var n=0,r=this.stride;n<r;n++)this.array[t+n]=e.array[i+n];return this},set:function(t,e){return void 0===e&&(e=0),this.array.set(t,e),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(t){return this.onUploadCallback=t,this}}),Object.defineProperties(wa.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(wa.prototype,{isInterleavedBufferAttribute:!0,setX:function(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this},setY:function(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this},setZ:function(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this},setW:function(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this},getX:function(t){return this.data.array[t*this.data.stride+this.offset]},getY:function(t){return this.data.array[t*this.data.stride+this.offset+1]},getZ:function(t){return this.data.array[t*this.data.stride+this.offset+2]},getW:function(t){return this.data.array[t*this.data.stride+this.offset+3]},setXY:function(t,e,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this},setXYZ:function(t,e,i,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this},setXYZW:function(t,e,i,n,r){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this.data.array[t+3]=r,this}}),Ma.prototype=Object.create(xn.prototype),Ma.prototype.constructor=Ma,Ma.prototype.isSpriteMaterial=!0,Ma.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this},Ta.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Ta,isSprite:!0,raycast:function(){var t=new $e,e=new $e,i=new $e,n=new Je,r=new Je,a=new Qe,o=new $e,s=new $e,l=new $e,h=new Je,c=new Je,u=new Je;function p(t,e,i,o,s,l){n.subVectors(t,i).addScalar(.5).multiply(o),void 0!==s?(r.x=l*n.x-s*n.y,r.y=s*n.x+l*n.y):r.copy(n),t.copy(e),t.x+=r.x,t.y+=r.y,t.applyMatrix4(a)}return function(n,r){e.setFromMatrixScale(this.matrixWorld),a.getInverse(this.modelViewMatrix).premultiply(this.matrixWorld),i.setFromMatrixPosition(this.modelViewMatrix);var d,f,m=this.material.rotation;0!==m&&(f=Math.cos(m),d=Math.sin(m));var g=this.center;p(o.set(-.5,-.5,0),i,g,e,d,f),p(s.set(.5,-.5,0),i,g,e,d,f),p(l.set(.5,.5,0),i,g,e,d,f),h.set(0,0),c.set(1,0),u.set(1,1);var v=n.ray.intersectTriangle(o,s,l,!1,t);if(null!==v||(p(s.set(-.5,.5,0),i,g,e,d,f),c.set(0,1),null!==(v=n.ray.intersectTriangle(o,l,s,!1,t)))){var q=n.ray.origin.distanceTo(t);q<n.near||q>n.far||r.push({distance:q,point:t.clone(),uv:wn.getUV(t,o,s,l,h,c,u,new Je),face:null,object:this})}}}(),clone:function(){return new this.constructor(this.material).copy(this)},copy:function(t){return Ni.prototype.copy.call(this,t),void 0!==t.center&&this.center.copy(t.center),this}}),Sa.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Sa,copy:function(t){Ni.prototype.copy.call(this,t,!1);for(var e=t.levels,i=0,n=e.length;i<n;i++){var r=e[i];this.addLevel(r.object.clone(),r.distance)}return this},addLevel:function(t,e){void 0===e&&(e=0),e=Math.abs(e);for(var i=this.levels,n=0;n<i.length&&!(e<i[n].distance);n++);i.splice(n,0,{distance:e,object:t}),this.add(t)},getObjectForDistance:function(t){for(var e=this.levels,i=1,n=e.length;i<n&&!(t<e[i].distance);i++);return e[i-1].object},raycast:(la=new $e,function(t,e){la.setFromMatrixPosition(this.matrixWorld);var i=t.ray.origin.distanceTo(la);this.getObjectForDistance(i).raycast(t,e)}),update:function(){var t=new $e,e=new $e;return function(i){var n=this.levels;if(n.length>1){t.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(this.matrixWorld);var r=t.distanceTo(e);n[0].object.visible=!0;for(var a=1,o=n.length;a<o&&r>=n[a].distance;a++)n[a-1].object.visible=!1,n[a].object.visible=!0;for(;a<o;a++)n[a].object.visible=!1}}}(),toJSON:function(t){var e=Ni.prototype.toJSON.call(this,t);e.object.levels=[];for(var i=this.levels,n=0,r=i.length;n<r;n++){var a=i[n];e.object.levels.push({object:a.object.uuid,distance:a.distance})}return e}}),Object.assign(Ea.prototype,{calculateInverses:function(){this.boneInverses=[];for(var t=0,e=this.bones.length;t<e;t++){var i=new Qe;this.bones[t]&&i.getInverse(this.bones[t].matrixWorld),this.boneInverses.push(i)}},pose:function(){var t,e,i;for(e=0,i=this.bones.length;e<i;e++)(t=this.bones[e])&&t.matrixWorld.getInverse(this.boneInverses[e]);for(e=0,i=this.bones.length;e<i;e++)(t=this.bones[e])&&(t.parent&&t.parent.isBone?(t.matrix.getInverse(t.parent.matrixWorld),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))},update:(ha=new Qe,ca=new Qe,function(){for(var t=this.bones,e=this.boneInverses,i=this.boneMatrices,n=this.boneTexture,r=0,a=t.length;r<a;r++){var o=t[r]?t[r].matrixWorld:ca;ha.multiplyMatrices(o,e[r]),ha.toArray(i,16*r)}void 0!==n&&(n.needsUpdate=!0)}),clone:function(){return new Ea(this.bones,this.boneInverses)},getBoneByName:function(t){for(var e=0,i=this.bones.length;e<i;e++){var n=this.bones[e];if(n.name===t)return n}}}),Aa.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Aa,isBone:!0}),Pa.prototype=Object.assign(Object.create(Tn.prototype),{constructor:Pa,isSkinnedMesh:!0,initBones:function(){var t,e,i,n,r=[];if(this.geometry&&void 0!==this.geometry.bones){for(i=0,n=this.geometry.bones.length;i<n;i++)e=this.geometry.bones[i],t=new Aa,r.push(t),t.name=e.name,t.position.fromArray(e.pos),t.quaternion.fromArray(e.rotq),void 0!==e.scl&&t.scale.fromArray(e.scl);for(i=0,n=this.geometry.bones.length;i<n;i++)-1!==(e=this.geometry.bones[i]).parent&&null!==e.parent&&void 0!==r[e.parent]?r[e.parent].add(r[i]):this.add(r[i])}return this.updateMatrixWorld(!0),r},bind:function(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var t,e;if(this.geometry&&this.geometry.isGeometry)for(e=0;e<this.geometry.skinWeights.length;e++){var i=this.geometry.skinWeights[e];(t=1/i.manhattanLength())!==1/0?i.multiplyScalar(t):i.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var n=new hi,r=this.geometry.attributes.skinWeight;for(e=0;e<r.count;e++)n.x=r.getX(e),n.y=r.getY(e),n.z=r.getZ(e),n.w=r.getW(e),(t=1/n.manhattanLength())!==1/0?n.multiplyScalar(t):n.set(1,0,0,0),r.setXYZW(e,n.x,n.y,n.z,n.w)}},updateMatrixWorld:function(t){Tn.prototype.updateMatrixWorld.call(this,t),"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),La.prototype=Object.create(xn.prototype),La.prototype.constructor=La,La.prototype.isLineBasicMaterial=!0,La.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this},Ra.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Ra,isLine:!0,computeLineDistances:(ua=new $e,pa=new $e,function(){var t=this.geometry;if(t.isBufferGeometry)if(null===t.index){for(var e=t.attributes.position,i=[0],n=1,r=e.count;n<r;n++)ua.fromBufferAttribute(e,n-1),pa.fromBufferAttribute(e,n),i[n]=i[n-1],i[n]+=ua.distanceTo(pa);t.addAttribute("lineDistance",new Ji(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(t.isGeometry){var a=t.vertices;for((i=t.lineDistances)[0]=0,n=1,r=a.length;n<r;n++)i[n]=i[n-1],i[n]+=a[n-1].distanceTo(a[n])}return this}),raycast:function(){var t=new Qe,e=new bn,i=new fi;return function(n,r){var a=n.linePrecision,o=this.geometry,s=this.matrixWorld;if(null===o.boundingSphere&&o.computeBoundingSphere(),i.copy(o.boundingSphere),i.applyMatrix4(s),i.radius+=a,!1!==n.ray.intersectsSphere(i)){t.getInverse(s),e.copy(n.ray).applyMatrix4(t);var l=a/((this.scale.x+this.scale.y+this.scale.z)/3),h=l*l,c=new $e,u=new $e,p=new $e,d=new $e,f=this&&this.isLineSegments?2:1;if(o.isBufferGeometry){var m=o.index,g=o.attributes.position.array;if(null!==m)for(var v=m.array,q=0,y=v.length-1;q<y;q+=f){var x=v[q],_=v[q+1];if(c.fromArray(g,3*x),u.fromArray(g,3*_),!(e.distanceSqToSegment(c,u,d,p)>h))d.applyMatrix4(this.matrixWorld),(M=n.ray.origin.distanceTo(d))<n.near||M>n.far||r.push({distance:M,point:p.clone().applyMatrix4(this.matrixWorld),index:q,face:null,faceIndex:null,object:this})}else for(q=0,y=g.length/3-1;q<y;q+=f){if(c.fromArray(g,3*q),u.fromArray(g,3*q+3),!(e.distanceSqToSegment(c,u,d,p)>h))d.applyMatrix4(this.matrixWorld),(M=n.ray.origin.distanceTo(d))<n.near||M>n.far||r.push({distance:M,point:p.clone().applyMatrix4(this.matrixWorld),index:q,face:null,faceIndex:null,object:this})}}else if(o.isGeometry){var b=o.vertices,w=b.length;for(q=0;q<w-1;q+=f){var M;if(!(e.distanceSqToSegment(b[q],b[q+1],d,p)>h))d.applyMatrix4(this.matrixWorld),(M=n.ray.origin.distanceTo(d))<n.near||M>n.far||r.push({distance:M,point:p.clone().applyMatrix4(this.matrixWorld),index:q,face:null,faceIndex:null,object:this})}}}}}(),copy:function(t){return Ni.prototype.copy.call(this,t),this.geometry.copy(t.geometry),this.material.copy(t.material),this},clone:function(){return(new this.constructor).copy(this)}}),Ca.prototype=Object.assign(Object.create(Ra.prototype),{constructor:Ca,isLineSegments:!0,computeLineDistances:function(){var t=new $e,e=new $e;return function(){var i=this.geometry;if(i.isBufferGeometry)if(null===i.index){for(var n=i.attributes.position,r=[],a=0,o=n.count;a<o;a+=2)t.fromBufferAttribute(n,a),e.fromBufferAttribute(n,a+1),r[a]=0===a?0:r[a-1],r[a+1]=r[a]+t.distanceTo(e);i.addAttribute("lineDistance",new Ji(r,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(i.isGeometry){var s=i.vertices;for(r=i.lineDistances,a=0,o=s.length;a<o;a+=2)t.copy(s[a]),e.copy(s[a+1]),r[a]=0===a?0:r[a-1],r[a+1]=r[a]+t.distanceTo(e)}return this}}()}),za.prototype=Object.assign(Object.create(Ra.prototype),{constructor:za,isLineLoop:!0}),Oa.prototype=Object.create(xn.prototype),Oa.prototype.constructor=Oa,Oa.prototype.isPointsMaterial=!0,Oa.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.morphTargets=t.morphTargets,this},Da.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Da,isPoints:!0,raycast:function(){var t=new Qe,e=new bn,i=new fi;return function(n,r){var a=this,o=this.geometry,s=this.matrixWorld,l=n.params.Points.threshold;if(null===o.boundingSphere&&o.computeBoundingSphere(),i.copy(o.boundingSphere),i.applyMatrix4(s),i.radius+=l,!1!==n.ray.intersectsSphere(i)){t.getInverse(s),e.copy(n.ray).applyMatrix4(t);var h=l/((this.scale.x+this.scale.y+this.scale.z)/3),c=h*h,u=new $e,p=new $e;if(o.isBufferGeometry){var d=o.index,f=o.attributes.position.array;if(null!==d)for(var m=d.array,g=0,v=m.length;g<v;g++){var q=m[g];u.fromArray(f,3*q),_(u,q)}else{g=0;for(var y=f.length/3;g<y;g++)u.fromArray(f,3*g),_(u,g)}}else{var x=o.vertices;for(g=0,y=x.length;g<y;g++)_(x[g],g)}}function _(t,i){var o=e.distanceSqToPoint(t);if(o<c){e.closestPointToPoint(t,p),p.applyMatrix4(s);var l=n.ray.origin.distanceTo(p);if(l<n.near||l>n.far)return;r.push({distance:l,distanceToRay:Math.sqrt(o),point:p.clone(),index:i,face:null,object:a})}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Ia.prototype=Object.assign(Object.create(li.prototype),{constructor:Ia,isVideoTexture:!0,update:function(){var t=this.image;t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),Na.prototype=Object.create(li.prototype),Na.prototype.constructor=Na,Na.prototype.isCompressedTexture=!0,Ba.prototype=Object.create(li.prototype),Ba.prototype.constructor=Ba,Ba.prototype.isCanvasTexture=!0,Ua.prototype=Object.create(li.prototype),Ua.prototype.constructor=Ua,Ua.prototype.isDepthTexture=!0,Fa.prototype=Object.create(en.prototype),Fa.prototype.constructor=Fa,ka.prototype=Object.create(ki.prototype),ka.prototype.constructor=ka,Ga.prototype=Object.create(en.prototype),Ga.prototype.constructor=Ga,Ha.prototype=Object.create(ki.prototype),Ha.prototype.constructor=Ha,Va.prototype=Object.create(en.prototype),Va.prototype.constructor=Va,ja.prototype=Object.create(ki.prototype),ja.prototype.constructor=ja,Wa.prototype=Object.create(Va.prototype),Wa.prototype.constructor=Wa,Xa.prototype=Object.create(ki.prototype),Xa.prototype.constructor=Xa,Ya.prototype=Object.create(Va.prototype),Ya.prototype.constructor=Ya,Za.prototype=Object.create(ki.prototype),Za.prototype.constructor=Za,Ja.prototype=Object.create(Va.prototype),Ja.prototype.constructor=Ja,Qa.prototype=Object.create(ki.prototype),Qa.prototype.constructor=Qa,Ka.prototype=Object.create(Va.prototype),Ka.prototype.constructor=Ka,$a.prototype=Object.create(ki.prototype),$a.prototype.constructor=$a,to.prototype=Object.create(en.prototype),to.prototype.constructor=to,eo.prototype=Object.create(ki.prototype),eo.prototype.constructor=eo,io.prototype=Object.create(en.prototype),io.prototype.constructor=io,no.prototype=Object.create(ki.prototype),no.prototype.constructor=no,ro.prototype=Object.create(en.prototype),ro.prototype.constructor=ro;var ao=function(t,e,i){i=i||2;var n,r,a,o,s,l,h,c=e&&e.length,u=c?e[0]*i:t.length,p=oo(t,0,u,i,!0),d=[];if(!p)return d;if(c&&(p=function(t,e,i,n){var r,a,o,s,l,h=[];for(r=0,a=e.length;r<a;r++)o=e[r]*n,s=r<a-1?e[r+1]*n:t.length,(l=oo(t,o,s,n,!1))===l.next&&(l.steiner=!0),h.push(vo(l));for(h.sort(fo),r=0;r<h.length;r++)mo(h[r],i),i=so(i,i.next);return i}(t,e,p,i)),t.length>80*i){n=a=t[0],r=o=t[1];for(var f=i;f<u;f+=i)(s=t[f])<n&&(n=s),(l=t[f+1])<r&&(r=l),s>a&&(a=s),l>o&&(o=l);h=0!==(h=Math.max(a-n,o-r))?1/h:0}return lo(p,d,i,n,r,h),d};function oo(t,e,i,n,r){var a,o;if(r===function(t,e,i,n){for(var r=0,a=e,o=i-n;a<i;a+=n)r+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return r}(t,e,i,n)>0)for(a=e;a<i;a+=n)o=To(a,t[a],t[a+1],o);else for(a=i-n;a>=e;a-=n)o=To(a,t[a],t[a+1],o);return o&&_o(o,o.next)&&(So(o),o=o.next),o}function so(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!_o(n,n.next)&&0!==xo(n.prev,n,n.next))n=n.next;else{if(So(n),(n=e=n.prev)===n.next)break;i=!0}}while(i||n!==e);return e}function lo(t,e,i,n,r,a,o){if(t){!o&&a&&function(t,e,i,n){var r=t;do{null===r.z&&(r.z=go(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){var e,i,n,r,a,o,s,l,h=1;do{for(i=t,t=null,a=null,o=0;i;){for(o++,n=i,s=0,e=0;e<h&&(s++,n=n.nextZ);e++);for(l=h;s>0||l>0&&n;)0!==s&&(0===l||!n||i.z<=n.z)?(r=i,i=i.nextZ,s--):(r=n,n=n.nextZ,l--),a?a.nextZ=r:t=r,r.prevZ=a,a=r;i=n}a.nextZ=null,h*=2}while(o>1)}(r)}(t,n,r,a);for(var s,l,h=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?co(t,n,r,a):ho(t))e.push(s.i/i),e.push(t.i/i),e.push(l.i/i),So(t),t=l.next,h=l.next;else if((t=l)===h){o?1===o?lo(t=uo(t,e,i),e,i,n,r,a,2):2===o&&po(t,e,i,n,r,a):lo(so(t),e,i,n,r,a,1);break}}}function ho(t){var e=t.prev,i=t,n=t.next;if(xo(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(qo(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&xo(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function co(t,e,i,n){var r=t.prev,a=t,o=t.next;if(xo(r,a,o)>=0)return!1;for(var s=r.x<a.x?r.x<o.x?r.x:o.x:a.x<o.x?a.x:o.x,l=r.y<a.y?r.y<o.y?r.y:o.y:a.y<o.y?a.y:o.y,h=r.x>a.x?r.x>o.x?r.x:o.x:a.x>o.x?a.x:o.x,c=r.y>a.y?r.y>o.y?r.y:o.y:a.y>o.y?a.y:o.y,u=go(s,l,e,i,n),p=go(h,c,e,i,n),d=t.nextZ;d&&d.z<=p;){if(d!==t.prev&&d!==t.next&&qo(r.x,r.y,a.x,a.y,o.x,o.y,d.x,d.y)&&xo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=u;){if(d!==t.prev&&d!==t.next&&qo(r.x,r.y,a.x,a.y,o.x,o.y,d.x,d.y)&&xo(d.prev,d,d.next)>=0)return!1;d=d.prevZ}return!0}function uo(t,e,i){var n=t;do{var r=n.prev,a=n.next.next;!_o(r,a)&&bo(r,n,n.next,a)&&wo(r,a)&&wo(a,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(a.i/i),So(n),So(n.next),n=t=a),n=n.next}while(n!==t);return n}function po(t,e,i,n,r,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&yo(o,s)){var l=Mo(o,s);return o=so(o,o.next),l=so(l,l.next),lo(o,e,i,n,r,a),void lo(l,e,i,n,r,a)}s=s.next}o=o.next}while(o!==t)}function fo(t,e){return t.x-e.x}function mo(t,e){if(e=function(t,e){var i,n=e,r=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=r&&s>o){if(o=s,s===r){if(a===n.y)return n;if(a===n.next.y)return n.next}i=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!i)return null;if(r===o)return i.prev;var l,h=i,c=i.x,u=i.y,p=1/0;n=i.next;for(;n!==h;)r>=n.x&&n.x>=c&&r!==n.x&&qo(a<u?r:o,a,c,u,a<u?o:r,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(r-n.x))<p||l===p&&n.x>i.x)&&wo(n,t)&&(i=n,p=l),n=n.next;return i}(t,e)){var i=Mo(e,t);so(i,i.next)}}function go(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function vo(t){var e=t,i=t;do{e.x<i.x&&(i=e),e=e.next}while(e!==t);return i}function qo(t,e,i,n,r,a,o,s){return(r-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(i-o)*(e-s)>=0&&(i-o)*(a-s)-(r-o)*(n-s)>=0}function yo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&bo(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&wo(t,e)&&wo(e,t)&&function(t,e){var i=t,n=!1,r=(t.x+e.x)/2,a=(t.y+e.y)/2;do{i.y>a!=i.next.y>a&&i.next.y!==i.y&&r<(i.next.x-i.x)*(a-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)}function xo(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function _o(t,e){return t.x===e.x&&t.y===e.y}function bo(t,e,i,n){return!!(_o(t,e)&&_o(i,n)||_o(t,n)&&_o(i,e))||xo(t,e,i)>0!=xo(t,e,n)>0&&xo(i,n,t)>0!=xo(i,n,e)>0}function wo(t,e){return xo(t.prev,t,t.next)<0?xo(t,e,t.next)>=0&&xo(t,t.prev,e)>=0:xo(t,e,t.prev)<0||xo(t,t.next,e)<0}function Mo(t,e){var i=new Eo(t.i,t.x,t.y),n=new Eo(e.i,e.x,e.y),r=t.next,a=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,a.next=n,n.prev=a,n}function To(t,e,i,n){var r=new Eo(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function So(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 Eo(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var Ao={area:function(t){for(var e=t.length,i=0,n=e-1,r=0;r<e;n=r++)i+=t[n].x*t[r].y-t[r].x*t[n].y;return.5*i},isClockWise:function(t){return Ao.area(t)<0},triangulateShape:function(t,e){var i=[],n=[],r=[];Po(t),Lo(i,t);var a=t.length;e.forEach(Po);for(var o=0;o<e.length;o++)n.push(a),a+=e[o].length,Lo(i,e[o]);var s=ao(i,n);for(o=0;o<s.length;o+=3)r.push(s.slice(o,o+3));return r}};function Po(t){var e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function Lo(t,e){for(var i=0;i<e.length;i++)t.push(e[i].x),t.push(e[i].y)}function Ro(t,e){ki.call(this),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},this.fromBufferGeometry(new Co(t,e)),this.mergeVertices()}function Co(t,e){en.call(this),this.type="ExtrudeBufferGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];for(var i=this,n=[],r=[],a=0,o=t.length;a<o;a++){s(t[a])}function s(t){var a=[],o=void 0!==e.curveSegments?e.curveSegments:12,s=void 0!==e.steps?e.steps:1,l=void 0!==e.depth?e.depth:100,h=void 0===e.bevelEnabled||e.bevelEnabled,c=void 0!==e.bevelThickness?e.bevelThickness:6,u=void 0!==e.bevelSize?e.bevelSize:c-2,p=void 0!==e.bevelSegments?e.bevelSegments:3,d=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:zo;void 0!==e.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=e.amount);var m,g,v,q,y,x,_,b,w=!1;d&&(m=d.getSpacedPoints(s),w=!0,h=!1,g=d.computeFrenetFrames(s,!1),v=new $e,q=new $e,y=new $e),h||(p=0,c=0,u=0);var M=t.extractPoints(o),T=M.shape,S=M.holes;if(!Ao.isClockWise(T))for(T=T.reverse(),_=0,b=S.length;_<b;_++)x=S[_],Ao.isClockWise(x)&&(S[_]=x.reverse());var E=Ao.triangulateShape(T,S),A=T;for(_=0,b=S.length;_<b;_++)x=S[_],T=T.concat(x);function P(t,e,i){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),e.clone().multiplyScalar(i).add(t)}var L,R,C,z,O,D,I=T.length,N=E.length;function B(t,e,i){var n,r,a,o=t.x-e.x,s=t.y-e.y,l=i.x-t.x,h=i.y-t.y,c=o*o+s*s,u=o*h-s*l;if(Math.abs(u)>Number.EPSILON){var p=Math.sqrt(c),d=Math.sqrt(l*l+h*h),f=e.x-s/p,m=e.y+o/p,g=((i.x-h/d-f)*h-(i.y+l/d-m)*l)/(o*h-s*l),v=(n=f+o*g-t.x)*n+(r=m+s*g-t.y)*r;if(v<=2)return new Je(n,r);a=Math.sqrt(v/2)}else{var q=!1;o>Number.EPSILON?l>Number.EPSILON&&(q=!0):o<-Number.EPSILON?l<-Number.EPSILON&&(q=!0):Math.sign(s)===Math.sign(h)&&(q=!0),q?(n=-s,r=o,a=Math.sqrt(c)):(n=o,r=s,a=Math.sqrt(c/2))}return new Je(n/a,r/a)}for(var U=[],F=0,k=A.length,G=k-1,H=F+1;F<k;F++,G++,H++)G===k&&(G=0),H===k&&(H=0),U[F]=B(A[F],A[G],A[H]);var V,j,W=[],X=U.concat();for(_=0,b=S.length;_<b;_++){for(x=S[_],V=[],F=0,G=(k=x.length)-1,H=F+1;F<k;F++,G++,H++)G===k&&(G=0),H===k&&(H=0),V[F]=B(x[F],x[G],x[H]);W.push(V),X=X.concat(V)}for(L=0;L<p;L++){for(C=L/p,z=c*Math.cos(C*Math.PI/2),R=u*Math.sin(C*Math.PI/2),F=0,k=A.length;F<k;F++)Z((O=P(A[F],U[F],R)).x,O.y,-z);for(_=0,b=S.length;_<b;_++)for(x=S[_],V=W[_],F=0,k=x.length;F<k;F++)Z((O=P(x[F],V[F],R)).x,O.y,-z)}for(R=u,F=0;F<I;F++)O=h?P(T[F],X[F],R):T[F],w?(q.copy(g.normals[0]).multiplyScalar(O.x),v.copy(g.binormals[0]).multiplyScalar(O.y),y.copy(m[0]).add(q).add(v),Z(y.x,y.y,y.z)):Z(O.x,O.y,0);for(j=1;j<=s;j++)for(F=0;F<I;F++)O=h?P(T[F],X[F],R):T[F],w?(q.copy(g.normals[j]).multiplyScalar(O.x),v.copy(g.binormals[j]).multiplyScalar(O.y),y.copy(m[j]).add(q).add(v),Z(y.x,y.y,y.z)):Z(O.x,O.y,l/s*j);for(L=p-1;L>=0;L--){for(C=L/p,z=c*Math.cos(C*Math.PI/2),R=u*Math.sin(C*Math.PI/2),F=0,k=A.length;F<k;F++)Z((O=P(A[F],U[F],R)).x,O.y,l+z);for(_=0,b=S.length;_<b;_++)for(x=S[_],V=W[_],F=0,k=x.length;F<k;F++)O=P(x[F],V[F],R),w?Z(O.x,O.y+m[s-1].y,m[s-1].x+z):Z(O.x,O.y,l+z)}function Y(t,e){var i,n;for(F=t.length;--F>=0;){i=F,(n=F-1)<0&&(n=t.length-1);var r=0,a=s+2*p;for(r=0;r<a;r++){var o=I*r,l=I*(r+1);Q(e+i+o,e+n+o,e+n+l,e+i+l)}}}function Z(t,e,i){a.push(t),a.push(e),a.push(i)}function J(t,e,r){K(t),K(e),K(r);var a=n.length/3,o=f.generateTopUV(i,n,a-3,a-2,a-1);$(o[0]),$(o[1]),$(o[2])}function Q(t,e,r,a){K(t),K(e),K(a),K(e),K(r),K(a);var o=n.length/3,s=f.generateSideWallUV(i,n,o-6,o-3,o-2,o-1);$(s[0]),$(s[1]),$(s[3]),$(s[1]),$(s[2]),$(s[3])}function K(t){n.push(a[3*t+0]),n.push(a[3*t+1]),n.push(a[3*t+2])}function $(t){r.push(t.x),r.push(t.y)}!function(){var t=n.length/3;if(h){var e=0,r=I*e;for(F=0;F<N;F++)J((D=E[F])[2]+r,D[1]+r,D[0]+r);for(r=I*(e=s+2*p),F=0;F<N;F++)J((D=E[F])[0]+r,D[1]+r,D[2]+r)}else{for(F=0;F<N;F++)J((D=E[F])[2],D[1],D[0]);for(F=0;F<N;F++)J((D=E[F])[0]+I*s,D[1]+I*s,D[2]+I*s)}i.addGroup(t,n.length/3-t,0)}(),function(){var t=n.length/3,e=0;for(Y(A,e),e+=A.length,_=0,b=S.length;_<b;_++)Y(x=S[_],e),e+=x.length;i.addGroup(t,n.length/3-t,1)}()}this.addAttribute("position",new Ji(n,3)),this.addAttribute("uv",new Ji(r,2)),this.computeVertexNormals()}Ro.prototype=Object.create(ki.prototype),Ro.prototype.constructor=Ro,Ro.prototype.toJSON=function(){var t=ki.prototype.toJSON.call(this);return Oo(this.parameters.shapes,this.parameters.options,t)},Co.prototype=Object.create(en.prototype),Co.prototype.constructor=Co,Co.prototype.toJSON=function(){var t=en.prototype.toJSON.call(this);return Oo(this.parameters.shapes,this.parameters.options,t)};var zo={generateTopUV:function(t,e,i,n,r){var a=e[3*i],o=e[3*i+1],s=e[3*n],l=e[3*n+1],h=e[3*r],c=e[3*r+1];return[new Je(a,o),new Je(s,l),new Je(h,c)]},generateSideWallUV:function(t,e,i,n,r,a){var o=e[3*i],s=e[3*i+1],l=e[3*i+2],h=e[3*n],c=e[3*n+1],u=e[3*n+2],p=e[3*r],d=e[3*r+1],f=e[3*r+2],m=e[3*a],g=e[3*a+1],v=e[3*a+2];return Math.abs(s-c)<.01?[new Je(o,1-l),new Je(h,1-u),new Je(p,1-f),new Je(m,1-v)]:[new Je(s,1-l),new Je(c,1-u),new Je(d,1-f),new Je(g,1-v)]}};function Oo(t,e,i){if(i.shapes=[],Array.isArray(t))for(var n=0,r=t.length;n<r;n++){var a=t[n];i.shapes.push(a.uuid)}else i.shapes.push(t.uuid);return void 0!==e.extrudePath&&(i.options.extrudePath=e.extrudePath.toJSON()),i}function Do(t,e){ki.call(this),this.type="TextGeometry",this.parameters={text:t,parameters:e},this.fromBufferGeometry(new Io(t,e)),this.mergeVertices()}function Io(t,e){var i=(e=e||{}).font;if(!i||!i.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new ki;var n=i.generateShapes(t,e.size);e.depth=void 0!==e.height?e.height:50,void 0===e.bevelThickness&&(e.bevelThickness=10),void 0===e.bevelSize&&(e.bevelSize=8),void 0===e.bevelEnabled&&(e.bevelEnabled=!1),Co.call(this,n,e),this.type="TextBufferGeometry"}function No(t,e,i,n,r,a,o){ki.call(this),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:i,phiStart:n,phiLength:r,thetaStart:a,thetaLength:o},this.fromBufferGeometry(new Bo(t,e,i,n,r,a,o)),this.mergeVertices()}function Bo(t,e,i,n,r,a,o){en.call(this),this.type="SphereBufferGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:i,phiStart:n,phiLength:r,thetaStart:a,thetaLength:o},t=t||1,e=Math.max(3,Math.floor(e)||8),i=Math.max(2,Math.floor(i)||6),n=void 0!==n?n:0,r=void 0!==r?r:2*Math.PI;var s,l,h=(a=void 0!==a?a:0)+(o=void 0!==o?o:Math.PI),c=0,u=[],p=new $e,d=new $e,f=[],m=[],g=[],v=[];for(l=0;l<=i;l++){var q=[],y=l/i;for(s=0;s<=e;s++){var x=s/e;p.x=-t*Math.cos(n+x*r)*Math.sin(a+y*o),p.y=t*Math.cos(a+y*o),p.z=t*Math.sin(n+x*r)*Math.sin(a+y*o),m.push(p.x,p.y,p.z),d.set(p.x,p.y,p.z).normalize(),g.push(d.x,d.y,d.z),v.push(x,1-y),q.push(c++)}u.push(q)}for(l=0;l<i;l++)for(s=0;s<e;s++){var _=u[l][s+1],b=u[l][s],w=u[l+1][s],M=u[l+1][s+1];(0!==l||a>0)&&f.push(_,b,M),(l!==i-1||h<Math.PI)&&f.push(b,w,M)}this.setIndex(f),this.addAttribute("position",new Ji(m,3)),this.addAttribute("normal",new Ji(g,3)),this.addAttribute("uv",new Ji(v,2))}function Uo(t,e,i,n,r,a){ki.call(this),this.type="RingGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:n,thetaStart:r,thetaLength:a},this.fromBufferGeometry(new Fo(t,e,i,n,r,a)),this.mergeVertices()}function Fo(t,e,i,n,r,a){en.call(this),this.type="RingBufferGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:n,thetaStart:r,thetaLength:a},t=t||.5,e=e||1,r=void 0!==r?r:0,a=void 0!==a?a:2*Math.PI,i=void 0!==i?Math.max(3,i):8;var o,s,l,h=[],c=[],u=[],p=[],d=t,f=(e-t)/(n=void 0!==n?Math.max(1,n):1),m=new $e,g=new Je;for(s=0;s<=n;s++){for(l=0;l<=i;l++)o=r+l/i*a,m.x=d*Math.cos(o),m.y=d*Math.sin(o),c.push(m.x,m.y,m.z),u.push(0,0,1),g.x=(m.x/e+1)/2,g.y=(m.y/e+1)/2,p.push(g.x,g.y);d+=f}for(s=0;s<n;s++){var v=s*(i+1);for(l=0;l<i;l++){var q=o=l+v,y=o+i+1,x=o+i+2,_=o+1;h.push(q,y,_),h.push(y,x,_)}}this.setIndex(h),this.addAttribute("position",new Ji(c,3)),this.addAttribute("normal",new Ji(u,3)),this.addAttribute("uv",new Ji(p,2))}function ko(t,e,i,n){ki.call(this),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:i,phiLength:n},this.fromBufferGeometry(new Go(t,e,i,n)),this.mergeVertices()}function Go(t,e,i,n){en.call(this),this.type="LatheBufferGeometry",this.parameters={points:t,segments:e,phiStart:i,phiLength:n},e=Math.floor(e)||12,i=i||0,n=n||2*Math.PI,n=Ze.clamp(n,0,2*Math.PI);var r,a,o,s=[],l=[],h=[],c=1/e,u=new $e,p=new Je;for(a=0;a<=e;a++){var d=i+a*c*n,f=Math.sin(d),m=Math.cos(d);for(o=0;o<=t.length-1;o++)u.x=t[o].x*f,u.y=t[o].y,u.z=t[o].x*m,l.push(u.x,u.y,u.z),p.x=a/e,p.y=o/(t.length-1),h.push(p.x,p.y)}for(a=0;a<e;a++)for(o=0;o<t.length-1;o++){var g=r=o+a*t.length,v=r+t.length,q=r+t.length+1,y=r+1;s.push(g,v,y),s.push(v,q,y)}if(this.setIndex(s),this.addAttribute("position",new Ji(l,3)),this.addAttribute("uv",new Ji(h,2)),this.computeVertexNormals(),n===2*Math.PI){var x=this.attributes.normal.array,_=new $e,b=new $e,w=new $e;for(r=e*t.length*3,a=0,o=0;a<t.length;a++,o+=3)_.x=x[o+0],_.y=x[o+1],_.z=x[o+2],b.x=x[r+o+0],b.y=x[r+o+1],b.z=x[r+o+2],w.addVectors(_,b).normalize(),x[o+0]=x[r+o+0]=w.x,x[o+1]=x[r+o+1]=w.y,x[o+2]=x[r+o+2]=w.z}}function Ho(t,e){ki.call(this),this.type="ShapeGeometry","object"==typeof e&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),e=e.curveSegments),this.parameters={shapes:t,curveSegments:e},this.fromBufferGeometry(new Vo(t,e)),this.mergeVertices()}function Vo(t,e){en.call(this),this.type="ShapeBufferGeometry",this.parameters={shapes:t,curveSegments:e},e=e||12;var i=[],n=[],r=[],a=[],o=0,s=0;if(!1===Array.isArray(t))h(t);else for(var l=0;l<t.length;l++)h(t[l]),this.addGroup(o,s,l),o+=s,s=0;function h(t){var o,l,h,c=n.length/3,u=t.extractPoints(e),p=u.shape,d=u.holes;if(!1===Ao.isClockWise(p))for(p=p.reverse(),o=0,l=d.length;o<l;o++)h=d[o],!0===Ao.isClockWise(h)&&(d[o]=h.reverse());var f=Ao.triangulateShape(p,d);for(o=0,l=d.length;o<l;o++)h=d[o],p=p.concat(h);for(o=0,l=p.length;o<l;o++){var m=p[o];n.push(m.x,m.y,0),r.push(0,0,1),a.push(m.x,m.y)}for(o=0,l=f.length;o<l;o++){var g=f[o],v=g[0]+c,q=g[1]+c,y=g[2]+c;i.push(v,q,y),s+=3}}this.setIndex(i),this.addAttribute("position",new Ji(n,3)),this.addAttribute("normal",new Ji(r,3)),this.addAttribute("uv",new Ji(a,2))}function jo(t,e){if(e.shapes=[],Array.isArray(t))for(var i=0,n=t.length;i<n;i++){var r=t[i];e.shapes.push(r.uuid)}else e.shapes.push(t.uuid);return e}function Wo(t,e){en.call(this),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1;var i,n,r,a,o=[],s=Math.cos(Ze.DEG2RAD*e),l=[0,0],h={},c=["a","b","c"];t.isBufferGeometry?(a=new ki).fromBufferGeometry(t):a=t.clone(),a.mergeVertices(),a.computeFaceNormals();for(var u=a.vertices,p=a.faces,d=0,f=p.length;d<f;d++)for(var m=p[d],g=0;g<3;g++)i=m[c[g]],n=m[c[(g+1)%3]],l[0]=Math.min(i,n),l[1]=Math.max(i,n),void 0===h[r=l[0]+","+l[1]]?h[r]={index1:l[0],index2:l[1],face1:d,face2:void 0}:h[r].face2=d;for(r in h){var v=h[r];if(void 0===v.face2||p[v.face1].normal.dot(p[v.face2].normal)<=s){var q=u[v.index1];o.push(q.x,q.y,q.z),q=u[v.index2],o.push(q.x,q.y,q.z)}}this.addAttribute("position",new Ji(o,3))}function Xo(t,e,i,n,r,a,o,s){ki.call(this),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:i,radialSegments:n,heightSegments:r,openEnded:a,thetaStart:o,thetaLength:s},this.fromBufferGeometry(new Yo(t,e,i,n,r,a,o,s)),this.mergeVertices()}function Yo(t,e,i,n,r,a,o,s){en.call(this),this.type="CylinderBufferGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:i,radialSegments:n,heightSegments:r,openEnded:a,thetaStart:o,thetaLength:s};var l=this;t=void 0!==t?t:1,e=void 0!==e?e:1,i=i||1,n=Math.floor(n)||8,r=Math.floor(r)||1,a=void 0!==a&&a,o=void 0!==o?o:0,s=void 0!==s?s:2*Math.PI;var h=[],c=[],u=[],p=[],d=0,f=[],m=i/2,g=0;function v(i){var r,a,f,v=new Je,q=new $e,y=0,x=!0===i?t:e,_=!0===i?1:-1;for(a=d,r=1;r<=n;r++)c.push(0,m*_,0),u.push(0,_,0),p.push(.5,.5),d++;for(f=d,r=0;r<=n;r++){var b=r/n*s+o,w=Math.cos(b),M=Math.sin(b);q.x=x*M,q.y=m*_,q.z=x*w,c.push(q.x,q.y,q.z),u.push(0,_,0),v.x=.5*w+.5,v.y=.5*M*_+.5,p.push(v.x,v.y),d++}for(r=0;r<n;r++){var T=a+r,S=f+r;!0===i?h.push(S,S+1,T):h.push(S+1,S,T),y+=3}l.addGroup(g,y,!0===i?1:2),g+=y}!function(){var a,v,q=new $e,y=new $e,x=0,_=(e-t)/i;for(v=0;v<=r;v++){var b=[],w=v/r,M=w*(e-t)+t;for(a=0;a<=n;a++){var T=a/n,S=T*s+o,E=Math.sin(S),A=Math.cos(S);y.x=M*E,y.y=-w*i+m,y.z=M*A,c.push(y.x,y.y,y.z),q.set(E,_,A).normalize(),u.push(q.x,q.y,q.z),p.push(T,1-w),b.push(d++)}f.push(b)}for(a=0;a<n;a++)for(v=0;v<r;v++){var P=f[v][a],L=f[v+1][a],R=f[v+1][a+1],C=f[v][a+1];h.push(P,L,C),h.push(L,R,C),x+=6}l.addGroup(g,x,0),g+=x}(),!1===a&&(t>0&&v(!0),e>0&&v(!1)),this.setIndex(h),this.addAttribute("position",new Ji(c,3)),this.addAttribute("normal",new Ji(u,3)),this.addAttribute("uv",new Ji(p,2))}function Zo(t,e,i,n,r,a,o){Xo.call(this,0,t,e,i,n,r,a,o),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:n,openEnded:r,thetaStart:a,thetaLength:o}}function Jo(t,e,i,n,r,a,o){Yo.call(this,0,t,e,i,n,r,a,o),this.type="ConeBufferGeometry",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:n,openEnded:r,thetaStart:a,thetaLength:o}}function Qo(t,e,i,n){ki.call(this),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:n},this.fromBufferGeometry(new Ko(t,e,i,n)),this.mergeVertices()}function Ko(t,e,i,n){en.call(this),this.type="CircleBufferGeometry",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:n},t=t||1,e=void 0!==e?Math.max(3,e):8,i=void 0!==i?i:0,n=void 0!==n?n:2*Math.PI;var r,a,o=[],s=[],l=[],h=[],c=new $e,u=new Je;for(s.push(0,0,0),l.push(0,0,1),h.push(.5,.5),a=0,r=3;a<=e;a++,r+=3){var p=i+a/e*n;c.x=t*Math.cos(p),c.y=t*Math.sin(p),s.push(c.x,c.y,c.z),l.push(0,0,1),u.x=(s[r]/t+1)/2,u.y=(s[r+1]/t+1)/2,h.push(u.x,u.y)}for(r=1;r<=e;r++)o.push(r,r+1,0);this.setIndex(o),this.addAttribute("position",new Ji(s,3)),this.addAttribute("normal",new Ji(l,3)),this.addAttribute("uv",new Ji(h,2))}Do.prototype=Object.create(ki.prototype),Do.prototype.constructor=Do,Io.prototype=Object.create(Co.prototype),Io.prototype.constructor=Io,No.prototype=Object.create(ki.prototype),No.prototype.constructor=No,Bo.prototype=Object.create(en.prototype),Bo.prototype.constructor=Bo,Uo.prototype=Object.create(ki.prototype),Uo.prototype.constructor=Uo,Fo.prototype=Object.create(en.prototype),Fo.prototype.constructor=Fo,ko.prototype=Object.create(ki.prototype),ko.prototype.constructor=ko,Go.prototype=Object.create(en.prototype),Go.prototype.constructor=Go,Ho.prototype=Object.create(ki.prototype),Ho.prototype.constructor=Ho,Ho.prototype.toJSON=function(){var t=ki.prototype.toJSON.call(this);return jo(this.parameters.shapes,t)},Vo.prototype=Object.create(en.prototype),Vo.prototype.constructor=Vo,Vo.prototype.toJSON=function(){var t=en.prototype.toJSON.call(this);return jo(this.parameters.shapes,t)},Wo.prototype=Object.create(en.prototype),Wo.prototype.constructor=Wo,Xo.prototype=Object.create(ki.prototype),Xo.prototype.constructor=Xo,Yo.prototype=Object.create(en.prototype),Yo.prototype.constructor=Yo,Zo.prototype=Object.create(Xo.prototype),Zo.prototype.constructor=Zo,Jo.prototype=Object.create(Yo.prototype),Jo.prototype.constructor=Jo,Qo.prototype=Object.create(ki.prototype),Qo.prototype.constructor=Qo,Ko.prototype=Object.create(en.prototype),Ko.prototype.constructor=Ko;var $o=Object.freeze({WireframeGeometry:Fa,ParametricGeometry:ka,ParametricBufferGeometry:Ga,TetrahedronGeometry:ja,TetrahedronBufferGeometry:Wa,OctahedronGeometry:Xa,OctahedronBufferGeometry:Ya,IcosahedronGeometry:Za,IcosahedronBufferGeometry:Ja,DodecahedronGeometry:Qa,DodecahedronBufferGeometry:Ka,PolyhedronGeometry:Ha,PolyhedronBufferGeometry:Va,TubeGeometry:$a,TubeBufferGeometry:to,TorusKnotGeometry:eo,TorusKnotBufferGeometry:io,TorusGeometry:no,TorusBufferGeometry:ro,TextGeometry:Do,TextBufferGeometry:Io,SphereGeometry:No,SphereBufferGeometry:Bo,RingGeometry:Uo,RingBufferGeometry:Fo,PlaneGeometry:an,PlaneBufferGeometry:on,LatheGeometry:ko,LatheBufferGeometry:Go,ShapeGeometry:Ho,ShapeBufferGeometry:Vo,ExtrudeGeometry:Ro,ExtrudeBufferGeometry:Co,EdgesGeometry:Wo,ConeGeometry:Zo,ConeBufferGeometry:Jo,CylinderGeometry:Xo,CylinderBufferGeometry:Yo,CircleGeometry:Qo,CircleBufferGeometry:Ko,BoxGeometry:nn,BoxBufferGeometry:rn});function ts(t){xn.call(this),this.type="ShadowMaterial",this.color=new wi(0),this.transparent=!0,this.setValues(t)}function es(t){_n.call(this,t),this.type="RawShaderMaterial"}function is(t){xn.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new wi(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new wi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xe,this.normalScale=new Je(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.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function ns(t){is.call(this),this.defines={PHYSICAL:""},this.type="MeshPhysicalMaterial",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(t)}function rs(t){xn.call(this),this.type="MeshPhongMaterial",this.color=new wi(16777215),this.specular=new wi(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new wi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xe,this.normalScale=new Je(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ct,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function as(t){rs.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.gradientMap=null,this.setValues(t)}function os(t){xn.call(this),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xe,this.normalScale=new Je(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function ss(t){xn.call(this),this.type="MeshLambertMaterial",this.color=new wi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new wi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ct,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function ls(t){if(xn.call(this),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new wi(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xe,this.normalScale=new Je(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.lights=!1,this.setValues(t),null===this.matcap){var e=document.createElement("canvas");e.width=1,e.height=1;var i=e.getContext("2d");i.fillStyle="#fff",i.fillRect(0,0,1,1),this.matcap=new THREE.CanvasTexture(e)}}function hs(t){La.call(this),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}ts.prototype=Object.create(xn.prototype),ts.prototype.constructor=ts,ts.prototype.isShadowMaterial=!0,ts.prototype.copy=function(t){return xn.prototype.copy.call(this,t),this.color.copy(t.color),this},es.prototype=Object.create(_n.prototype),es.prototype.constructor=es,es.prototype.isRawShaderMaterial=!0,is.prototype=Object.create(xn.prototype),is.prototype.constructor=is,is.prototype.isMeshStandardMaterial=!0,is.prototype.copy=function(t){return xn.prototype.copy.call(this,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.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},ns.prototype=Object.create(is.prototype),ns.prototype.constructor=ns,ns.prototype.isMeshPhysicalMaterial=!0,ns.prototype.copy=function(t){return is.prototype.copy.call(this,t),this.defines={PHYSICAL:""},this.reflectivity=t.reflectivity,this.clearCoat=t.clearCoat,this.clearCoatRoughness=t.clearCoatRoughness,this},rs.prototype=Object.create(xn.prototype),rs.prototype.constructor=rs,rs.prototype.isMeshPhongMaterial=!0,rs.prototype.copy=function(t){return xn.prototype.copy.call(this,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},as.prototype=Object.create(rs.prototype),as.prototype.constructor=as,as.prototype.isMeshToonMaterial=!0,as.prototype.copy=function(t){return rs.prototype.copy.call(this,t),this.gradientMap=t.gradientMap,this},os.prototype=Object.create(xn.prototype),os.prototype.constructor=os,os.prototype.isMeshNormalMaterial=!0,os.prototype.copy=function(t){return xn.prototype.copy.call(this,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},ss.prototype=Object.create(xn.prototype),ss.prototype.constructor=ss,ss.prototype.isMeshLambertMaterial=!0,ss.prototype.copy=function(t){return xn.prototype.copy.call(this,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.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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},ls.prototype=Object.create(xn.prototype),ls.prototype.constructor=ls,ls.prototype.isMeshMatcapMaterial=!0,ls.prototype.copy=function(t){return xn.prototype.copy.call(this,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},hs.prototype=Object.create(La.prototype),hs.prototype.constructor=hs,hs.prototype.isLineDashedMaterial=!0,hs.prototype.copy=function(t){return La.prototype.copy.call(this,t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this};var cs=Object.freeze({ShadowMaterial:ts,SpriteMaterial:Ma,RawShaderMaterial:es,ShaderMaterial:_n,PointsMaterial:Oa,MeshPhysicalMaterial:ns,MeshStandardMaterial:is,MeshPhongMaterial:rs,MeshToonMaterial:as,MeshNormalMaterial:os,MeshLambertMaterial:ss,MeshDepthMaterial:Qr,MeshDistanceMaterial:Kr,MeshBasicMaterial:Mn,MeshMatcapMaterial:ls,LineDashedMaterial:hs,LineBasicMaterial:La,Material:xn}),us={arraySlice:function(t,e,i){return us.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==i?i:t.length)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){for(var e=t.length,i=new Array(e),n=0;n!==e;++n)i[n]=n;return i.sort(function(e,i){return t[e]-t[i]}),i},sortedArray:function(t,e,i){for(var n=t.length,r=new t.constructor(n),a=0,o=0;o!==n;++a)for(var s=i[a]*e,l=0;l!==e;++l)r[o++]=t[s+l];return r},flattenJSON:function(t,e,i,n){for(var r=1,a=t[0];void 0!==a&&void 0===a[n];)a=t[r++];if(void 0!==a){var o=a[n];if(void 0!==o)if(Array.isArray(o))do{void 0!==(o=a[n])&&(e.push(a.time),i.push.apply(i,o)),a=t[r++]}while(void 0!==a);else if(void 0!==o.toArray)do{void 0!==(o=a[n])&&(e.push(a.time),o.toArray(i,i.length)),a=t[r++]}while(void 0!==a);else do{void 0!==(o=a[n])&&(e.push(a.time),i.push(o)),a=t[r++]}while(void 0!==a)}}};function ps(t,e,i,n){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==n?n:new e.constructor(i),this.sampleValues=e,this.valueSize=i}function ds(t,e,i,n){ps.call(this,t,e,i,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function fs(t,e,i,n){ps.call(this,t,e,i,n)}function ms(t,e,i,n){ps.call(this,t,e,i,n)}function gs(t,e,i,n){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=us.convertArray(e,this.TimeBufferType),this.values=us.convertArray(i,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}function vs(t,e,i){gs.call(this,t,e,i)}function qs(t,e,i,n){gs.call(this,t,e,i,n)}function ys(t,e,i,n){gs.call(this,t,e,i,n)}function xs(t,e,i,n){ps.call(this,t,e,i,n)}function _s(t,e,i,n){gs.call(this,t,e,i,n)}function bs(t,e,i,n){gs.call(this,t,e,i,n)}function ws(t,e,i,n){gs.call(this,t,e,i,n)}function Ms(t,e,i){this.name=t,this.tracks=i,this.duration=void 0!==e?e:-1,this.uuid=Ze.generateUUID(),this.duration<0&&this.resetDuration()}function Ts(t){if(void 0===t.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");var e=function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return ys;case"vector":case"vector2":case"vector3":case"vector4":return ws;case"color":return qs;case"quaternion":return _s;case"bool":case"boolean":return vs;case"string":return bs}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+t)}(t.type);if(void 0===t.times){var i=[],n=[];us.flattenJSON(t.keys,i,n,"value"),t.times=i,t.values=n}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}Object.assign(ps.prototype,{evaluate:function(t){var e=this.parameterPositions,i=this._cachedIndex,n=e[i],r=e[i-1];t:{e:{var a;i:{n:if(!(t<n)){for(var o=i+2;;){if(void 0===n){if(t<r)break n;return i=e.length,this._cachedIndex=i,this.afterEnd_(i-1,t,r)}if(i===o)break;if(r=n,t<(n=e[++i]))break e}a=e.length;break i}if(t>=r)break t;var s=e[1];t<s&&(i=2,r=s);for(o=i-2;;){if(void 0===r)return this._cachedIndex=0,this.beforeStart_(0,t,n);if(i===o)break;if(n=r,t>=(r=e[--i-1]))break e}a=i,i=0}for(;i<a;){var l=i+a>>>1;t<e[l]?a=l:i=l+1}if(n=e[i],void 0===(r=e[i-1]))return this._cachedIndex=0,this.beforeStart_(0,t,n);if(void 0===n)return i=e.length,this._cachedIndex=i,this.afterEnd_(i-1,r,t)}this._cachedIndex=i,this.intervalChanged_(i,r,n)}return this.interpolate_(i,r,t,n)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(t){for(var e=this.resultBuffer,i=this.sampleValues,n=this.valueSize,r=t*n,a=0;a!==n;++a)e[a]=i[r+a];return e},interpolate_:function(){throw new Error("call to abstract method")},intervalChanged_:function(){}}),//!\ DECLARE ALIAS AFTER assign prototype ! Object.assign(ps.prototype,{beforeStart_:ps.prototype.copySampleValue_,afterEnd_:ps.prototype.copySampleValue_}),ds.prototype=Object.assign(Object.create(ps.prototype),{constructor:ds,DefaultSettings_:{endingStart:Re,endingEnd:Re},intervalChanged_:function(t,e,i){var n=this.parameterPositions,r=t-2,a=t+1,o=n[r],s=n[a];if(void 0===o)switch(this.getSettings_().endingStart){case Ce:r=t,o=2*e-i;break;case ze:o=e+n[r=n.length-2]-n[r+1];break;default:r=t,o=i}if(void 0===s)switch(this.getSettings_().endingEnd){case Ce:a=t,s=2*i-e;break;case ze:a=1,s=i+n[1]-n[0];break;default:a=t-1,s=e}var l=.5*(i-e),h=this.valueSize;this._weightPrev=l/(e-o),this._weightNext=l/(s-i),this._offsetPrev=r*h,this._offsetNext=a*h},interpolate_:function(t,e,i,n){for(var r=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=t*o,l=s-o,h=this._offsetPrev,c=this._offsetNext,u=this._weightPrev,p=this._weightNext,d=(i-e)/(n-e),f=d*d,m=f*d,g=-u*m+2*u*f-u*d,v=(1+u)*m+(-1.5-2*u)*f+(-.5+u)*d+1,q=(-1-p)*m+(1.5+p)*f+.5*d,y=p*m-p*f,x=0;x!==o;++x)r[x]=g*a[h+x]+v*a[l+x]+q*a[s+x]+y*a[c+x];return r}}),fs.prototype=Object.assign(Object.create(ps.prototype),{constructor:fs,interpolate_:function(t,e,i,n){for(var r=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=t*o,l=s-o,h=(i-e)/(n-e),c=1-h,u=0;u!==o;++u)r[u]=a[l+u]*c+a[s+u]*h;return r}}),ms.prototype=Object.assign(Object.create(ps.prototype),{constructor:ms,interpolate_:function(t){return this.copySampleValue_(t-1)}}),Object.assign(gs,{toJSON:function(t){var e,i=t.constructor;if(void 0!==i.toJSON)e=i.toJSON(t);else{e={name:t.name,times:us.convertArray(t.times,Array),values:us.convertArray(t.values,Array)};var n=t.getInterpolation();n!==t.DefaultInterpolation&&(e.interpolation=n)}return e.type=t.ValueTypeName,e}}),Object.assign(gs.prototype,{constructor:gs,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:Pe,InterpolantFactoryMethodDiscrete:function(t){return new ms(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodLinear:function(t){return new fs(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:function(t){return new ds(this.times,this.values,this.getValueSize(),t)},setInterpolation:function(t){var e;switch(t){case Ae:e=this.InterpolantFactoryMethodDiscrete;break;case Pe:e=this.InterpolantFactoryMethodLinear;break;case Le:e=this.InterpolantFactoryMethodSmooth}if(void 0===e){var i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(i);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=e,this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Ae;case this.InterpolantFactoryMethodLinear:return Pe;case this.InterpolantFactoryMethodSmooth:return Le}},getValueSize:function(){return this.values.length/this.times.length},shift:function(t){if(0!==t)for(var e=this.times,i=0,n=e.length;i!==n;++i)e[i]+=t;return this},scale:function(t){if(1!==t)for(var e=this.times,i=0,n=e.length;i!==n;++i)e[i]*=t;return this},trim:function(t,e){for(var i=this.times,n=i.length,r=0,a=n-1;r!==n&&i[r]<t;)++r;for(;-1!==a&&i[a]>e;)--a;if(++a,0!==r||a!==n){r>=a&&(r=(a=Math.max(a,1))-1);var o=this.getValueSize();this.times=us.arraySlice(i,r,a),this.values=us.arraySlice(this.values,r*o,a*o)}return this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);var i=this.times,n=this.values,r=i.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);for(var a=null,o=0;o!==r;o++){var s=i[o];if("number"==typeof s&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,o,s),t=!1;break}if(null!==a&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,o,s,a),t=!1;break}a=s}if(void 0!==n&&us.isTypedArray(n)){o=0;for(var l=n.length;o!==l;++o){var h=n[o];if(isNaN(h)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,o,h),t=!1;break}}}return t},optimize:function(){for(var t=this.times,e=this.values,i=this.getValueSize(),n=this.getInterpolation()===Le,r=1,a=t.length-1,o=1;o<a;++o){var s=!1,l=t[o];if(l!==t[o+1]&&(1!==o||l!==l[0]))if(n)s=!0;else for(var h=o*i,c=h-i,u=h+i,p=0;p!==i;++p){var d=e[h+p];if(d!==e[c+p]||d!==e[u+p]){s=!0;break}}if(s){if(o!==r){t[r]=t[o];var f=o*i,m=r*i;for(p=0;p!==i;++p)e[m+p]=e[f+p]}++r}}if(a>0){t[r]=t[a];for(f=a*i,m=r*i,p=0;p!==i;++p)e[m+p]=e[f+p];++r}return r!==t.length&&(this.times=us.arraySlice(t,0,r),this.values=us.arraySlice(e,0,r*i)),this}}),vs.prototype=Object.assign(Object.create(gs.prototype),{constructor:vs,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:Ae,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),qs.prototype=Object.assign(Object.create(gs.prototype),{constructor:qs,ValueTypeName:"color"}),ys.prototype=Object.assign(Object.create(gs.prototype),{constructor:ys,ValueTypeName:"number"}),xs.prototype=Object.assign(Object.create(ps.prototype),{constructor:xs,interpolate_:function(t,e,i,n){for(var r=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=t*o,l=(i-e)/(n-e),h=s+o;s!==h;s+=4)Ke.slerpFlat(r,0,a,s-o,a,s,l);return r}}),_s.prototype=Object.assign(Object.create(gs.prototype),{constructor:_s,ValueTypeName:"quaternion",DefaultInterpolation:Pe,InterpolantFactoryMethodLinear:function(t){return new xs(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),bs.prototype=Object.assign(Object.create(gs.prototype),{constructor:bs,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:Ae,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),ws.prototype=Object.assign(Object.create(gs.prototype),{constructor:ws,ValueTypeName:"vector"}),Object.assign(Ms,{parse:function(t){for(var e=[],i=t.tracks,n=1/(t.fps||1),r=0,a=i.length;r!==a;++r)e.push(Ts(i[r]).scale(n));return new Ms(t.name,t.duration,e)},toJSON:function(t){for(var e=[],i=t.tracks,n={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid},r=0,a=i.length;r!==a;++r)e.push(gs.toJSON(i[r]));return n},CreateFromMorphTargetSequence:function(t,e,i,n){for(var r=e.length,a=[],o=0;o<r;o++){var s=[],l=[];s.push((o+r-1)%r,o,(o+1)%r),l.push(0,1,0);var h=us.getKeyframeOrder(s);s=us.sortedArray(s,1,h),l=us.sortedArray(l,1,h),n||0!==s[0]||(s.push(r),l.push(l[0])),a.push(new ys(".morphTargetInfluences["+e[o].name+"]",s,l).scale(1/i))}return new Ms(t,-1,a)},findByName:function(t,e){var i=t;if(!Array.isArray(t)){var n=t;i=n.geometry&&n.geometry.animations||n.animations}for(var r=0;r<i.length;r++)if(i[r].name===e)return i[r];return null},CreateClipsFromMorphTargetSequences:function(t,e,i){for(var n={},r=/^([\w-]*?)([\d]+)$/,a=0,o=t.length;a<o;a++){var s=t[a],l=s.name.match(r);if(l&&l.length>1){var h=n[u=l[1]];h||(n[u]=h=[]),h.push(s)}}var c=[];for(var u in n)c.push(Ms.CreateFromMorphTargetSequence(u,n[u],e,i));return c},parseAnimation:function(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;for(var i=function(t,e,i,n,r){if(0!==i.length){var a=[],o=[];us.flattenJSON(i,a,o,n),0!==a.length&&r.push(new t(e,a,o))}},n=[],r=t.name||"default",a=t.length||-1,o=t.fps||30,s=t.hierarchy||[],l=0;l<s.length;l++){var h=s[l].keys;if(h&&0!==h.length)if(h[0].morphTargets){for(var c={},u=0;u<h.length;u++)if(h[u].morphTargets)for(var p=0;p<h[u].morphTargets.length;p++)c[h[u].morphTargets[p]]=-1;for(var d in c){var f=[],m=[];for(p=0;p!==h[u].morphTargets.length;++p){var g=h[u];f.push(g.time),m.push(g.morphTarget===d?1:0)}n.push(new ys(".morphTargetInfluence["+d+"]",f,m))}a=c.length*(o||1)}else{var v=".bones["+e[l].name+"]";i(ws,v+".position",h,"pos",n),i(_s,v+".quaternion",h,"rot",n),i(ws,v+".scale",h,"scl",n)}}return 0===n.length?null:new Ms(r,a,n)}}),Object.assign(Ms.prototype,{resetDuration:function(){for(var t=0,e=0,i=this.tracks.length;e!==i;++e){var n=this.tracks[e];t=Math.max(t,n.times[n.times.length-1])}return this.duration=t,this},trim:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this},validate:function(){for(var t=!0,e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t},optimize:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}});var Ss={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={}}};function Es(t,e,i){var n=this,r=!1,a=0,o=0,s=void 0;this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=i,this.itemStart=function(t){o++,!1===r&&void 0!==n.onStart&&n.onStart(t,a,o),r=!0},this.itemEnd=function(t){a++,void 0!==n.onProgress&&n.onProgress(t,a,o),a===o&&(r=!1,void 0!==n.onLoad&&n.onLoad())},this.itemError=function(t){void 0!==n.onError&&n.onError(t)},this.resolveURL=function(t){return s?s(t):t},this.setURLModifier=function(t){return s=t,this}}var As=new Es,Ps={};function Ls(t){this.manager=void 0!==t?t:As}function Rs(t){this.manager=void 0!==t?t:As}function Cs(t){this.manager=void 0!==t?t:As,this._parser=null}function zs(t){this.manager=void 0!==t?t:As,this._parser=null}function Os(t){this.manager=void 0!==t?t:As}function Ds(t){this.manager=void 0!==t?t:As}function Is(t){this.manager=void 0!==t?t:As}function Ns(){this.type="Curve",this.arcLengthDivisions=200}function Bs(t,e,i,n,r,a,o,s){Ns.call(this),this.type="EllipseCurve",this.aX=t||0,this.aY=e||0,this.xRadius=i||1,this.yRadius=n||1,this.aStartAngle=r||0,this.aEndAngle=a||2*Math.PI,this.aClockwise=o||!1,this.aRotation=s||0}function Us(t,e,i,n,r,a){Bs.call(this,t,e,i,i,n,r,a),this.type="ArcCurve"}function Fs(){var t=0,e=0,i=0,n=0;function r(r,a,o,s){t=r,e=o,i=-3*r+3*a-2*o-s,n=2*r-2*a+o+s}return{initCatmullRom:function(t,e,i,n,a){r(e,i,a*(i-t),a*(n-e))},initNonuniformCatmullRom:function(t,e,i,n,a,o,s){var l=(e-t)/a-(i-t)/(a+o)+(i-e)/o,h=(i-e)/o-(n-e)/(o+s)+(n-i)/s;r(e,i,l*=o,h*=o)},calc:function(r){var a=r*r;return t+e*r+i*a+n*(a*r)}}}Object.assign(Ls.prototype,{load:function(t,e,i,n){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);var r=this,a=Ss.get(t);if(void 0!==a)return r.manager.itemStart(t),setTimeout(function(){e&&e(a),r.manager.itemEnd(t)},0),a;if(void 0===Ps[t]){var o=t.match(/^data:(.*?)(;base64)?,(.*)$/);if(o){var s=o[1],l=!!o[2],h=o[3];h=decodeURIComponent(h),l&&(h=atob(h));try{var c,u=(this.responseType||"").toLowerCase();switch(u){case"arraybuffer":case"blob":for(var p=new Uint8Array(h.length),d=0;d<h.length;d++)p[d]=h.charCodeAt(d);c="blob"===u?new Blob([p.buffer],{type:s}):p.buffer;break;case"document":var f=new DOMParser;c=f.parseFromString(h,s);break;case"json":c=JSON.parse(h);break;default:c=h}setTimeout(function(){e&&e(c),r.manager.itemEnd(t)},0)}catch(e){setTimeout(function(){n&&n(e),r.manager.itemError(t),r.manager.itemEnd(t)},0)}}else{Ps[t]=[],Ps[t].push({onLoad:e,onProgress:i,onError:n});var m=new XMLHttpRequest;for(var g in m.open("GET",t,!0),m.addEventListener("load",function(e){var i=this.response;Ss.add(t,i);var n=Ps[t];if(delete Ps[t],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received.");for(var a=0,o=n.length;a<o;a++){(s=n[a]).onLoad&&s.onLoad(i)}r.manager.itemEnd(t)}else{for(a=0,o=n.length;a<o;a++){var s;(s=n[a]).onError&&s.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)}},!1),m.addEventListener("progress",function(e){for(var i=Ps[t],n=0,r=i.length;n<r;n++){var a=i[n];a.onProgress&&a.onProgress(e)}},!1),m.addEventListener("error",function(e){var i=Ps[t];delete Ps[t];for(var n=0,a=i.length;n<a;n++){var o=i[n];o.onError&&o.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)},!1),m.addEventListener("abort",function(e){var i=Ps[t];delete Ps[t];for(var n=0,a=i.length;n<a;n++){var o=i[n];o.onError&&o.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)},!1),void 0!==this.responseType&&(m.responseType=this.responseType),void 0!==this.withCredentials&&(m.withCredentials=this.withCredentials),m.overrideMimeType&&m.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)m.setRequestHeader(g,this.requestHeader[g]);m.send(null)}return r.manager.itemStart(t),m}Ps[t].push({onLoad:e,onProgress:i,onError:n})},setPath:function(t){return this.path=t,this},setResponseType:function(t){return this.responseType=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setMimeType:function(t){return this.mimeType=t,this},setRequestHeader:function(t){return this.requestHeader=t,this}}),Object.assign(Rs.prototype,{load:function(t,e,i,n){var r=this,a=new Ls(r.manager);a.setPath(r.path),a.load(t,function(t){e(r.parse(JSON.parse(t)))},i,n)},parse:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=Ms.parse(t[n]);i.push(r)}e(i)},setPath:function(t){return this.path=t,this}}),Object.assign(Cs.prototype,{load:function(t,e,i,n){var r=this,a=[],o=new Na;o.image=a;var s=new Ls(this.manager);function l(l){s.load(t[l],function(t){var i=r._parser(t,!0);a[l]={width:i.width,height:i.height,format:i.format,mipmaps:i.mipmaps},6===(h+=1)&&(1===i.mipmapCount&&(o.minFilter=Ct),o.format=i.format,o.needsUpdate=!0,e&&e(o))},i,n)}if(s.setPath(this.path),s.setResponseType("arraybuffer"),Array.isArray(t))for(var h=0,c=0,u=t.length;c<u;++c)l(c);else s.load(t,function(t){var i=r._parser(t,!0);if(i.isCubemap)for(var n=i.mipmaps.length/i.mipmapCount,s=0;s<n;s++){a[s]={mipmaps:[]};for(var l=0;l<i.mipmapCount;l++)a[s].mipmaps.push(i.mipmaps[s*i.mipmapCount+l]),a[s].format=i.format,a[s].width=i.width,a[s].height=i.height}else o.image.width=i.width,o.image.height=i.height,o.mipmaps=i.mipmaps;1===i.mipmapCount&&(o.minFilter=Ct),o.format=i.format,o.needsUpdate=!0,e&&e(o)},i,n);return o},setPath:function(t){return this.path=t,this}}),Object.assign(zs.prototype,{load:function(t,e,i,n){var r=this,a=new pi,o=new Ls(this.manager);return o.setResponseType("arraybuffer"),o.setPath(this.path),o.load(t,function(t){var i=r._parser(t);i&&(void 0!==i.image?a.image=i.image:void 0!==i.data&&(a.image.width=i.width,a.image.height=i.height,a.image.data=i.data),a.wrapS=void 0!==i.wrapS?i.wrapS:Et,a.wrapT=void 0!==i.wrapT?i.wrapT:Et,a.magFilter=void 0!==i.magFilter?i.magFilter:Ct,a.minFilter=void 0!==i.minFilter?i.minFilter:Ot,a.anisotropy=void 0!==i.anisotropy?i.anisotropy:1,void 0!==i.format&&(a.format=i.format),void 0!==i.type&&(a.type=i.type),void 0!==i.mipmaps&&(a.mipmaps=i.mipmaps),1===i.mipmapCount&&(a.minFilter=Ct),a.needsUpdate=!0,e&&e(a,i))},i,n),a},setPath:function(t){return this.path=t,this}}),Object.assign(Os.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);var r=this,a=Ss.get(t);if(void 0!==a)return r.manager.itemStart(t),setTimeout(function(){e&&e(a),r.manager.itemEnd(t)},0),a;var o=document.createElementNS("http://www.w3.org/1999/xhtml","img");function s(){o.removeEventListener("load",s,!1),o.removeEventListener("error",l,!1),Ss.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){o.removeEventListener("load",s,!1),o.removeEventListener("error",l,!1),n&&n(e),r.manager.itemError(t),r.manager.itemEnd(t)}return o.addEventListener("load",s,!1),o.addEventListener("error",l,!1),"data:"!==t.substr(0,5)&&void 0!==this.crossOrigin&&(o.crossOrigin=this.crossOrigin),r.manager.itemStart(t),o.src=t,o},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Ds.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var r=new Nn,a=new Os(this.manager);a.setCrossOrigin(this.crossOrigin),a.setPath(this.path);var o=0;function s(i){a.load(t[i],function(t){r.images[i]=t,6===++o&&(r.needsUpdate=!0,e&&e(r))},void 0,n)}for(var l=0;l<t.length;++l)s(l);return r},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Is.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var r=new li,a=new Os(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(t,function(i){r.image=i;var n=t.search(/\.jpe?g$/i)>0||0===t.search(/^data\:image\/jpeg/);r.format=n?Yt:Zt,r.needsUpdate=!0,void 0!==e&&e(r)},i,n),r},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Ns.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t,e){var i=this.getUtoTmapping(t);return this.getPoint(i,e)},getPoints:function(t){void 0===t&&(t=5);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return e},getSpacedPoints:function(t){void 0===t&&(t=5);for(var e=[],i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e,i,n=[],r=this.getPoint(0),a=0;for(n.push(0),i=1;i<=t;i++)a+=(e=this.getPoint(i/t)).distanceTo(r),n.push(a),r=e;return this.cacheArcLengths=n,n},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){var i,n=this.getLengths(),r=0,a=n.length;i=e||t*n[a-1];for(var o,s=0,l=a-1;s<=l;)if((o=n[r=Math.floor(s+(l-s)/2)]-i)<0)s=r+1;else{if(!(o>0)){l=r;break}l=r-1}if(n[r=l]===i)return r/(a-1);var h=n[r];return(r+(i-h)/(n[r+1]-h))/(a-1)},getTangent:function(t){var e=t-1e-4,i=t+1e-4;e<0&&(e=0),i>1&&(i=1);var n=this.getPoint(e);return this.getPoint(i).clone().sub(n).normalize()},getTangentAt:function(t){var e=this.getUtoTmapping(t);return this.getTangent(e)},computeFrenetFrames:function(t,e){var i,n,r,a=new $e,o=[],s=[],l=[],h=new $e,c=new Qe;for(i=0;i<=t;i++)n=i/t,o[i]=this.getTangentAt(n),o[i].normalize();s[0]=new $e,l[0]=new $e;var u=Number.MAX_VALUE,p=Math.abs(o[0].x),d=Math.abs(o[0].y),f=Math.abs(o[0].z);for(p<=u&&(u=p,a.set(1,0,0)),d<=u&&(u=d,a.set(0,1,0)),f<=u&&a.set(0,0,1),h.crossVectors(o[0],a).normalize(),s[0].crossVectors(o[0],h),l[0].crossVectors(o[0],s[0]),i=1;i<=t;i++)s[i]=s[i-1].clone(),l[i]=l[i-1].clone(),h.crossVectors(o[i-1],o[i]),h.length()>Number.EPSILON&&(h.normalize(),r=Math.acos(Ze.clamp(o[i-1].dot(o[i]),-1,1)),s[i].applyMatrix4(c.makeRotationAxis(h,r))),l[i].crossVectors(o[i],s[i]);if(!0===e)for(r=Math.acos(Ze.clamp(s[0].dot(s[t]),-1,1)),r/=t,o[0].dot(h.crossVectors(s[0],s[t]))>0&&(r=-r),i=1;i<=t;i++)s[i].applyMatrix4(c.makeRotationAxis(o[i],r*i)),l[i].crossVectors(o[i],s[i]);return{tangents:o,normals:s,binormals:l}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){var t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),Bs.prototype=Object.create(Ns.prototype),Bs.prototype.constructor=Bs,Bs.prototype.isEllipseCurve=!0,Bs.prototype.getPoint=function(t,e){for(var i=e||new Je,n=2*Math.PI,r=this.aEndAngle-this.aStartAngle,a=Math.abs(r)<Number.EPSILON;r<0;)r+=n;for(;r>n;)r-=n;r<Number.EPSILON&&(r=a?0:n),!0!==this.aClockwise||a||(r===n?r=-n:r-=n);var o=this.aStartAngle+t*r,s=this.aX+this.xRadius*Math.cos(o),l=this.aY+this.yRadius*Math.sin(o);if(0!==this.aRotation){var h=Math.cos(this.aRotation),c=Math.sin(this.aRotation),u=s-this.aX,p=l-this.aY;s=u*h-p*c+this.aX,l=u*c+p*h+this.aY}return i.set(s,l)},Bs.prototype.copy=function(t){return Ns.prototype.copy.call(this,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},Bs.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);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},Bs.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,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},Us.prototype=Object.create(Bs.prototype),Us.prototype.constructor=Us,Us.prototype.isArcCurve=!0;var ks=new $e,Gs=new Fs,Hs=new Fs,Vs=new Fs;function js(t,e,i,n){Ns.call(this),this.type="CatmullRomCurve3",this.points=t||[],this.closed=e||!1,this.curveType=i||"centripetal",this.tension=n||.5}function Ws(t,e,i,n,r){var a=.5*(n-e),o=.5*(r-i),s=t*t;return(2*i-2*n+a+o)*(t*s)+(-3*i+3*n-2*a-o)*s+a*t+i}function Xs(t,e,i,n){return function(t,e){var i=1-t;return i*i*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,i)+function(t,e){return t*t*e}(t,n)}function Ys(t,e,i,n,r){return function(t,e){var i=1-t;return i*i*i*e}(t,e)+function(t,e){var i=1-t;return 3*i*i*t*e}(t,i)+function(t,e){return 3*(1-t)*t*t*e}(t,n)+function(t,e){return t*t*t*e}(t,r)}function Zs(t,e,i,n){Ns.call(this),this.type="CubicBezierCurve",this.v0=t||new Je,this.v1=e||new Je,this.v2=i||new Je,this.v3=n||new Je}function Js(t,e,i,n){Ns.call(this),this.type="CubicBezierCurve3",this.v0=t||new $e,this.v1=e||new $e,this.v2=i||new $e,this.v3=n||new $e}function Qs(t,e){Ns.call(this),this.type="LineCurve",this.v1=t||new Je,this.v2=e||new Je}function Ks(t,e){Ns.call(this),this.type="LineCurve3",this.v1=t||new $e,this.v2=e||new $e}function $s(t,e,i){Ns.call(this),this.type="QuadraticBezierCurve",this.v0=t||new Je,this.v1=e||new Je,this.v2=i||new Je}function tl(t,e,i){Ns.call(this),this.type="QuadraticBezierCurve3",this.v0=t||new $e,this.v1=e||new $e,this.v2=i||new $e}function el(t){Ns.call(this),this.type="SplineCurve",this.points=t||[]}js.prototype=Object.create(Ns.prototype),js.prototype.constructor=js,js.prototype.isCatmullRomCurve3=!0,js.prototype.getPoint=function(t,e){var i,n,r,a,o=e||new $e,s=this.points,l=s.length,h=(l-(this.closed?0:1))*t,c=Math.floor(h),u=h-c;if(this.closed?c+=c>0?0:(Math.floor(Math.abs(c)/l)+1)*l:0===u&&c===l-1&&(c=l-2,u=1),this.closed||c>0?i=s[(c-1)%l]:(ks.subVectors(s[0],s[1]).add(s[0]),i=ks),n=s[c%l],r=s[(c+1)%l],this.closed||c+2<l?a=s[(c+2)%l]:(ks.subVectors(s[l-1],s[l-2]).add(s[l-1]),a=ks),"centripetal"===this.curveType||"chordal"===this.curveType){var p="chordal"===this.curveType?.5:.25,d=Math.pow(i.distanceToSquared(n),p),f=Math.pow(n.distanceToSquared(r),p),m=Math.pow(r.distanceToSquared(a),p);f<1e-4&&(f=1),d<1e-4&&(d=f),m<1e-4&&(m=f),Gs.initNonuniformCatmullRom(i.x,n.x,r.x,a.x,d,f,m),Hs.initNonuniformCatmullRom(i.y,n.y,r.y,a.y,d,f,m),Vs.initNonuniformCatmullRom(i.z,n.z,r.z,a.z,d,f,m)}else"catmullrom"===this.curveType&&(Gs.initCatmullRom(i.x,n.x,r.x,a.x,this.tension),Hs.initCatmullRom(i.y,n.y,r.y,a.y,this.tension),Vs.initCatmullRom(i.z,n.z,r.z,a.z,this.tension));return o.set(Gs.calc(u),Hs.calc(u),Vs.calc(u)),o},js.prototype.copy=function(t){Ns.prototype.copy.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push(n.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},js.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);t.points=[];for(var e=0,i=this.points.length;e<i;e++){var n=this.points[e];t.points.push(n.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t},js.prototype.fromJSON=function(t){Ns.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push((new $e).fromArray(n))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},Zs.prototype=Object.create(Ns.prototype),Zs.prototype.constructor=Zs,Zs.prototype.isCubicBezierCurve=!0,Zs.prototype.getPoint=function(t,e){var i=e||new Je,n=this.v0,r=this.v1,a=this.v2,o=this.v3;return i.set(Ys(t,n.x,r.x,a.x,o.x),Ys(t,n.y,r.y,a.y,o.y)),i},Zs.prototype.copy=function(t){return Ns.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},Zs.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},Zs.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},Js.prototype=Object.create(Ns.prototype),Js.prototype.constructor=Js,Js.prototype.isCubicBezierCurve3=!0,Js.prototype.getPoint=function(t,e){var i=e||new $e,n=this.v0,r=this.v1,a=this.v2,o=this.v3;return i.set(Ys(t,n.x,r.x,a.x,o.x),Ys(t,n.y,r.y,a.y,o.y),Ys(t,n.z,r.z,a.z,o.z)),i},Js.prototype.copy=function(t){return Ns.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},Js.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},Js.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},Qs.prototype=Object.create(Ns.prototype),Qs.prototype.constructor=Qs,Qs.prototype.isLineCurve=!0,Qs.prototype.getPoint=function(t,e){var i=e||new Je;return 1===t?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i},Qs.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},Qs.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()},Qs.prototype.copy=function(t){return Ns.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},Qs.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},Qs.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Ks.prototype=Object.create(Ns.prototype),Ks.prototype.constructor=Ks,Ks.prototype.isLineCurve3=!0,Ks.prototype.getPoint=function(t,e){var i=e||new $e;return 1===t?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i},Ks.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},Ks.prototype.copy=function(t){return Ns.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},Ks.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},Ks.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},$s.prototype=Object.create(Ns.prototype),$s.prototype.constructor=$s,$s.prototype.isQuadraticBezierCurve=!0,$s.prototype.getPoint=function(t,e){var i=e||new Je,n=this.v0,r=this.v1,a=this.v2;return i.set(Xs(t,n.x,r.x,a.x),Xs(t,n.y,r.y,a.y)),i},$s.prototype.copy=function(t){return Ns.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},$s.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},$s.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},tl.prototype=Object.create(Ns.prototype),tl.prototype.constructor=tl,tl.prototype.isQuadraticBezierCurve3=!0,tl.prototype.getPoint=function(t,e){var i=e||new $e,n=this.v0,r=this.v1,a=this.v2;return i.set(Xs(t,n.x,r.x,a.x),Xs(t,n.y,r.y,a.y),Xs(t,n.z,r.z,a.z)),i},tl.prototype.copy=function(t){return Ns.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},tl.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},tl.prototype.fromJSON=function(t){return Ns.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},el.prototype=Object.create(Ns.prototype),el.prototype.constructor=el,el.prototype.isSplineCurve=!0,el.prototype.getPoint=function(t,e){var i=e||new Je,n=this.points,r=(n.length-1)*t,a=Math.floor(r),o=r-a,s=n[0===a?a:a-1],l=n[a],h=n[a>n.length-2?n.length-1:a+1],c=n[a>n.length-3?n.length-1:a+2];return i.set(Ws(o,s.x,l.x,h.x,c.x),Ws(o,s.y,l.y,h.y,c.y)),i},el.prototype.copy=function(t){Ns.prototype.copy.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push(n.clone())}return this},el.prototype.toJSON=function(){var t=Ns.prototype.toJSON.call(this);t.points=[];for(var e=0,i=this.points.length;e<i;e++){var n=this.points[e];t.points.push(n.toArray())}return t},el.prototype.fromJSON=function(t){Ns.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push((new Je).fromArray(n))}return this};var il=Object.freeze({ArcCurve:Us,CatmullRomCurve3:js,CubicBezierCurve:Zs,CubicBezierCurve3:Js,EllipseCurve:Bs,LineCurve:Qs,LineCurve3:Ks,QuadraticBezierCurve:$s,QuadraticBezierCurve3:tl,SplineCurve:el});function nl(){Ns.call(this),this.type="CurvePath",this.curves=[],this.autoClose=!1}function rl(t){nl.call(this),this.type="Path",this.currentPoint=new Je,t&&this.setFromPoints(t)}function al(t){rl.call(this,t),this.uuid=Ze.generateUUID(),this.type="Shape",this.holes=[]}function ol(t,e){Ni.call(this),this.type="Light",this.color=new wi(t),this.intensity=void 0!==e?e:1,this.receiveShadow=void 0}function sl(t,e,i){ol.call(this,t,i),this.type="HemisphereLight",this.castShadow=void 0,this.position.copy(Ni.DefaultUp),this.updateMatrix(),this.groundColor=new wi(e)}function ll(t){this.camera=t,this.bias=0,this.radius=1,this.mapSize=new Je(512,512),this.map=null,this.matrix=new Qe}function hl(){ll.call(this,new aa(50,1,.5,500))}function cl(t,e,i,n,r,a){ol.call(this,t,e),this.type="SpotLight",this.position.copy(Ni.DefaultUp),this.updateMatrix(),this.target=new Ni,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(t){this.intensity=t/Math.PI}}),this.distance=void 0!==i?i:0,this.angle=void 0!==n?n:Math.PI/3,this.penumbra=void 0!==r?r:0,this.decay=void 0!==a?a:1,this.shadow=new hl}function ul(t,e,i,n){ol.call(this,t,e),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(t){this.intensity=t/(4*Math.PI)}}),this.distance=void 0!==i?i:0,this.decay=void 0!==n?n:1,this.shadow=new ll(new aa(90,1,.5,500))}function pl(t,e,i,n,r,a){ra.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=void 0!==t?t:-1,this.right=void 0!==e?e:1,this.top=void 0!==i?i:1,this.bottom=void 0!==n?n:-1,this.near=void 0!==r?r:.1,this.far=void 0!==a?a:2e3,this.updateProjectionMatrix()}function dl(){ll.call(this,new pl(-5,5,5,-5,.5,500))}function fl(t,e){ol.call(this,t,e),this.type="DirectionalLight",this.position.copy(Ni.DefaultUp),this.updateMatrix(),this.target=new Ni,this.shadow=new dl}function ml(t,e){ol.call(this,t,e),this.type="AmbientLight",this.castShadow=void 0}function gl(t,e,i,n){ol.call(this,t,e),this.type="RectAreaLight",this.width=void 0!==i?i:10,this.height=void 0!==n?n:10}function vl(t){this.manager=void 0!==t?t:As,this.textures={}}nl.prototype=Object.assign(Object.create(Ns.prototype),{constructor:nl,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new Qs(e,t))},getPoint:function(t){for(var e=t*this.getLength(),i=this.getCurveLengths(),n=0;n<i.length;){if(i[n]>=e){var r=i[n]-e,a=this.curves[n],o=a.getLength(),s=0===o?0:1-r/o;return a.getPointAt(s)}n++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,i=0,n=this.curves.length;i<n;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t,t},getSpacedPoints:function(t){void 0===t&&(t=40);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e},getPoints:function(t){t=t||12;for(var e,i=[],n=0,r=this.curves;n<r.length;n++)for(var a=r[n],o=a&&a.isEllipseCurve?2*t:a&&(a.isLineCurve||a.isLineCurve3)?1:a&&a.isSplineCurve?t*a.points.length:t,s=a.getPoints(o),l=0;l<s.length;l++){var h=s[l];e&&e.equals(h)||(i.push(h),e=h)}return this.autoClose&&i.length>1&&!i[i.length-1].equals(i[0])&&i.push(i[0]),i},copy:function(t){Ns.prototype.copy.call(this,t),this.curves=[];for(var e=0,i=t.curves.length;e<i;e++){var n=t.curves[e];this.curves.push(n.clone())}return this.autoClose=t.autoClose,this},toJSON:function(){var t=Ns.prototype.toJSON.call(this);t.autoClose=this.autoClose,t.curves=[];for(var e=0,i=this.curves.length;e<i;e++){var n=this.curves[e];t.curves.push(n.toJSON())}return t},fromJSON:function(t){Ns.prototype.fromJSON.call(this,t),this.autoClose=t.autoClose,this.curves=[];for(var e=0,i=t.curves.length;e<i;e++){var n=t.curves[e];this.curves.push((new il[n.type]).fromJSON(n))}return this}}),rl.prototype=Object.assign(Object.create(nl.prototype),{constructor:rl,setFromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y)},moveTo:function(t,e){this.currentPoint.set(t,e)},lineTo:function(t,e){var i=new Qs(this.currentPoint.clone(),new Je(t,e));this.curves.push(i),this.currentPoint.set(t,e)},quadraticCurveTo:function(t,e,i,n){var r=new $s(this.currentPoint.clone(),new Je(t,e),new Je(i,n));this.curves.push(r),this.currentPoint.set(i,n)},bezierCurveTo:function(t,e,i,n,r,a){var o=new Zs(this.currentPoint.clone(),new Je(t,e),new Je(i,n),new Je(r,a));this.curves.push(o),this.currentPoint.set(r,a)},splineThru:function(t){var e=new el([this.currentPoint.clone()].concat(t));this.curves.push(e),this.currentPoint.copy(t[t.length-1])},arc:function(t,e,i,n,r,a){var o=this.currentPoint.x,s=this.currentPoint.y;this.absarc(t+o,e+s,i,n,r,a)},absarc:function(t,e,i,n,r,a){this.absellipse(t,e,i,i,n,r,a)},ellipse:function(t,e,i,n,r,a,o,s){var l=this.currentPoint.x,h=this.currentPoint.y;this.absellipse(t+l,e+h,i,n,r,a,o,s)},absellipse:function(t,e,i,n,r,a,o,s){var l=new Bs(t,e,i,n,r,a,o,s);if(this.curves.length>0){var h=l.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(l);var c=l.getPoint(1);this.currentPoint.copy(c)},copy:function(t){return nl.prototype.copy.call(this,t),this.currentPoint.copy(t.currentPoint),this},toJSON:function(){var t=nl.prototype.toJSON.call(this);return t.currentPoint=this.currentPoint.toArray(),t},fromJSON:function(t){return nl.prototype.fromJSON.call(this,t),this.currentPoint.fromArray(t.currentPoint),this}}),al.prototype=Object.assign(Object.create(rl.prototype),{constructor:al,getPointsHoles:function(t){for(var e=[],i=0,n=this.holes.length;i<n;i++)e[i]=this.holes[i].getPoints(t);return e},extractPoints:function(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}},copy:function(t){rl.prototype.copy.call(this,t),this.holes=[];for(var e=0,i=t.holes.length;e<i;e++){var n=t.holes[e];this.holes.push(n.clone())}return this},toJSON:function(){var t=rl.prototype.toJSON.call(this);t.uuid=this.uuid,t.holes=[];for(var e=0,i=this.holes.length;e<i;e++){var n=this.holes[e];t.holes.push(n.toJSON())}return t},fromJSON:function(t){rl.prototype.fromJSON.call(this,t),this.uuid=t.uuid,this.holes=[];for(var e=0,i=t.holes.length;e<i;e++){var n=t.holes[e];this.holes.push((new rl).fromJSON(n))}return this}}),ol.prototype=Object.assign(Object.create(Ni.prototype),{constructor:ol,isLight:!0,copy:function(t){return Ni.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){var e=Ni.prototype.toJSON.call(this,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}}),sl.prototype=Object.assign(Object.create(ol.prototype),{constructor:sl,isHemisphereLight:!0,copy:function(t){return ol.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(ll.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var t={};return 0!==this.bias&&(t.bias=this.bias),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}}),hl.prototype=Object.assign(Object.create(ll.prototype),{constructor:hl,isSpotLightShadow:!0,update:function(t){var e=this.camera,i=2*Ze.RAD2DEG*t.angle,n=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;i===e.fov&&n===e.aspect&&r===e.far||(e.fov=i,e.aspect=n,e.far=r,e.updateProjectionMatrix())}}),cl.prototype=Object.assign(Object.create(ol.prototype),{constructor:cl,isSpotLight:!0,copy:function(t){return ol.prototype.copy.call(this,t),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}}),ul.prototype=Object.assign(Object.create(ol.prototype),{constructor:ul,isPointLight:!0,copy:function(t){return ol.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),pl.prototype=Object.assign(Object.create(ra.prototype),{constructor:pl,isOrthographicCamera:!0,copy:function(t,e){return ra.prototype.copy.call(this,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:function(t,e,i,n,r,a){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=i,this.view.offsetY=n,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,n=(this.top+this.bottom)/2,r=i-t,a=i+t,o=n+e,s=n-e;if(null!==this.view&&this.view.enabled){var l=this.zoom/(this.view.width/this.view.fullWidth),h=this.zoom/(this.view.height/this.view.fullHeight),c=(this.right-this.left)/this.view.width,u=(this.top-this.bottom)/this.view.height;a=(r+=c*(this.view.offsetX/l))+c*(this.view.width/l),s=(o-=u*(this.view.offsetY/h))-u*(this.view.height/h)}this.projectionMatrix.makeOrthographic(r,a,o,s,this.near,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){var e=Ni.prototype.toJSON.call(this,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}}),dl.prototype=Object.assign(Object.create(ll.prototype),{constructor:dl}),fl.prototype=Object.assign(Object.create(ol.prototype),{constructor:fl,isDirectionalLight:!0,copy:function(t){return ol.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),ml.prototype=Object.assign(Object.create(ol.prototype),{constructor:ml,isAmbientLight:!0}),gl.prototype=Object.assign(Object.create(ol.prototype),{constructor:gl,isRectAreaLight:!0,copy:function(t){return ol.prototype.copy.call(this,t),this.width=t.width,this.height=t.height,this},toJSON:function(t){var e=ol.prototype.toJSON.call(this,t);return e.object.width=this.width,e.object.height=this.height,e}}),Object.assign(vl.prototype,{load:function(t,e,i,n){var r=this,a=new Ls(r.manager);a.setPath(r.path),a.load(t,function(t){e(r.parse(JSON.parse(t)))},i,n)},parse:function(t){var e=this.textures;function i(t){return void 0===e[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),e[t]}var n=new cs[t.type];if(void 0!==t.uuid&&(n.uuid=t.uuid),void 0!==t.name&&(n.name=t.name),void 0!==t.color&&n.color.setHex(t.color),void 0!==t.roughness&&(n.roughness=t.roughness),void 0!==t.metalness&&(n.metalness=t.metalness),void 0!==t.emissive&&n.emissive.setHex(t.emissive),void 0!==t.specular&&n.specular.setHex(t.specular),void 0!==t.shininess&&(n.shininess=t.shininess),void 0!==t.clearCoat&&(n.clearCoat=t.clearCoat),void 0!==t.clearCoatRoughness&&(n.clearCoatRoughness=t.clearCoatRoughness),void 0!==t.vertexColors&&(n.vertexColors=t.vertexColors),void 0!==t.fog&&(n.fog=t.fog),void 0!==t.flatShading&&(n.flatShading=t.flatShading),void 0!==t.blending&&(n.blending=t.blending),void 0!==t.combine&&(n.combine=t.combine),void 0!==t.side&&(n.side=t.side),void 0!==t.opacity&&(n.opacity=t.opacity),void 0!==t.transparent&&(n.transparent=t.transparent),void 0!==t.alphaTest&&(n.alphaTest=t.alphaTest),void 0!==t.depthTest&&(n.depthTest=t.depthTest),void 0!==t.depthWrite&&(n.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(n.colorWrite=t.colorWrite),void 0!==t.wireframe&&(n.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(n.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(n.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(n.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.rotation&&(n.rotation=t.rotation),1!==t.linewidth&&(n.linewidth=t.linewidth),void 0!==t.dashSize&&(n.dashSize=t.dashSize),void 0!==t.gapSize&&(n.gapSize=t.gapSize),void 0!==t.scale&&(n.scale=t.scale),void 0!==t.polygonOffset&&(n.polygonOffset=t.polygonOffset),void 0!==t.polygonOffsetFactor&&(n.polygonOffsetFactor=t.polygonOffsetFactor),void 0!==t.polygonOffsetUnits&&(n.polygonOffsetUnits=t.polygonOffsetUnits),void 0!==t.skinning&&(n.skinning=t.skinning),void 0!==t.morphTargets&&(n.morphTargets=t.morphTargets),void 0!==t.dithering&&(n.dithering=t.dithering),void 0!==t.visible&&(n.visible=t.visible),void 0!==t.userData&&(n.userData=t.userData),void 0!==t.uniforms)for(var r in t.uniforms){var a=t.uniforms[r];switch(n.uniforms[r]={},a.type){case"t":n.uniforms[r].value=i(a.value);break;case"c":n.uniforms[r].value=(new wi).setHex(a.value);break;case"v2":n.uniforms[r].value=(new Je).fromArray(a.value);break;case"v3":n.uniforms[r].value=(new $e).fromArray(a.value);break;case"v4":n.uniforms[r].value=(new hi).fromArray(a.value);break;case"m4":n.uniforms[r].value=(new Qe).fromArray(a.value);break;default:n.uniforms[r].value=a.value}}if(void 0!==t.defines&&(n.defines=t.defines),void 0!==t.vertexShader&&(n.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(n.fragmentShader=t.fragmentShader),void 0!==t.shading&&(n.flatShading=1===t.shading),void 0!==t.size&&(n.size=t.size),void 0!==t.sizeAttenuation&&(n.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(n.map=i(t.map)),void 0!==t.alphaMap&&(n.alphaMap=i(t.alphaMap),n.transparent=!0),void 0!==t.bumpMap&&(n.bumpMap=i(t.bumpMap)),void 0!==t.bumpScale&&(n.bumpScale=t.bumpScale),void 0!==t.normalMap&&(n.normalMap=i(t.normalMap)),void 0!==t.normalMapType&&(n.normalMapType=t.normalMapType),void 0!==t.normalScale){var o=t.normalScale;!1===Array.isArray(o)&&(o=[o,o]),n.normalScale=(new Je).fromArray(o)}return void 0!==t.displacementMap&&(n.displacementMap=i(t.displacementMap)),void 0!==t.displacementScale&&(n.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(n.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(n.roughnessMap=i(t.roughnessMap)),void 0!==t.metalnessMap&&(n.metalnessMap=i(t.metalnessMap)),void 0!==t.emissiveMap&&(n.emissiveMap=i(t.emissiveMap)),void 0!==t.emissiveIntensity&&(n.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(n.specularMap=i(t.specularMap)),void 0!==t.envMap&&(n.envMap=i(t.envMap)),void 0!==t.envMapIntensity&&(n.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(n.reflectivity=t.reflectivity),void 0!==t.lightMap&&(n.lightMap=i(t.lightMap)),void 0!==t.lightMapIntensity&&(n.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(n.aoMap=i(t.aoMap)),void 0!==t.aoMapIntensity&&(n.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(n.gradientMap=i(t.gradientMap)),n},setPath:function(t){return this.path=t,this},setTextures:function(t){return this.textures=t,this}});var ql={decodeText:function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0,n=t.length;i<n;i++)e+=String.fromCharCode(t[i]);return decodeURIComponent(escape(e))},extractUrlBase:function(t){var e=t.lastIndexOf("/");return-1===e?"./":t.substr(0,e+1)}};function yl(t){this.manager=void 0!==t?t:As}Object.assign(yl.prototype,{load:function(t,e,i,n){var r=this,a=new Ls(r.manager);a.setPath(r.path),a.load(t,function(t){e(r.parse(JSON.parse(t)))},i,n)},parse:function(t){var e=new en,i=t.data.index;if(void 0!==i){var n=new Ml[i.type](i.array);e.setIndex(new Gi(n,1))}var r=t.data.attributes;for(var a in r){var o=r[a];n=new Ml[o.type](o.array);e.addAttribute(a,new Gi(n,o.itemSize,o.normalized))}var s=t.data.groups||t.data.drawcalls||t.data.offsets;if(void 0!==s)for(var l=0,h=s.length;l!==h;++l){var c=s[l];e.addGroup(c.start,c.count,c.materialIndex)}var u=t.data.boundingSphere;if(void 0!==u){var p=new $e;void 0!==u.center&&p.fromArray(u.center),e.boundingSphere=new fi(p,u.radius)}return e},setPath:function(t){return this.path=t,this}});var xl,_l,bl,wl,Ml={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:"undefined"!=typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Tl(){}function Sl(t){"boolean"==typeof t&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),t=void 0),this.manager=void 0!==t?t:As,this.withCredentials=!1}function El(t){this.manager=void 0!==t?t:As,this.resourcePath=""}Tl.Handlers={handlers:[],add:function(t,e){this.handlers.push(t,e)},get:function(t){for(var e=this.handlers,i=0,n=e.length;i<n;i+=2){var r=e[i],a=e[i+1];if(r.test(t))return a}return null}},Object.assign(Tl.prototype,{crossOrigin:"anonymous",onLoadStart:function(){},onLoadProgress:function(){},onLoadComplete:function(){},initMaterials:function(t,e,i){for(var n=[],r=0;r<t.length;++r)n[r]=this.createMaterial(t[r],e,i);return n},createMaterial:(xl={NoBlending:O,NormalBlending:D,AdditiveBlending:I,SubtractiveBlending:N,MultiplyBlending:B,CustomBlending:U},_l=new wi,bl=new Is,wl=new vl,function(t,e,i){var n={};function r(t,r,a,o,s){var l,h=e+t,c=Tl.Handlers.get(h);null!==c?l=c.load(h):(bl.setCrossOrigin(i),l=bl.load(h)),void 0!==r&&(l.repeat.fromArray(r),1!==r[0]&&(l.wrapS=St),1!==r[1]&&(l.wrapT=St)),void 0!==a&&l.offset.fromArray(a),void 0!==o&&("repeat"===o[0]&&(l.wrapS=St),"mirror"===o[0]&&(l.wrapS=At),"repeat"===o[1]&&(l.wrapT=St),"mirror"===o[1]&&(l.wrapT=At)),void 0!==s&&(l.anisotropy=s);var u=Ze.generateUUID();return n[u]=l,u}var a={uuid:Ze.generateUUID(),type:"MeshLambertMaterial"};for(var o in t){var s=t[o];switch(o){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":break;case"DbgName":a.name=s;break;case"blending":a.blending=xl[s];break;case"colorAmbient":case"mapAmbient":console.warn("THREE.Loader.createMaterial:",o,"is no longer supported.");break;case"colorDiffuse":a.color=_l.fromArray(s).getHex();break;case"colorSpecular":a.specular=_l.fromArray(s).getHex();break;case"colorEmissive":a.emissive=_l.fromArray(s).getHex();break;case"specularCoef":a.shininess=s;break;case"shading":"basic"===s.toLowerCase()&&(a.type="MeshBasicMaterial"),"phong"===s.toLowerCase()&&(a.type="MeshPhongMaterial"),"standard"===s.toLowerCase()&&(a.type="MeshStandardMaterial");break;case"mapDiffuse":a.map=r(s,t.mapDiffuseRepeat,t.mapDiffuseOffset,t.mapDiffuseWrap,t.mapDiffuseAnisotropy);break;case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":break;case"mapEmissive":a.emissiveMap=r(s,t.mapEmissiveRepeat,t.mapEmissiveOffset,t.mapEmissiveWrap,t.mapEmissiveAnisotropy);break;case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":break;case"mapLight":a.lightMap=r(s,t.mapLightRepeat,t.mapLightOffset,t.mapLightWrap,t.mapLightAnisotropy);break;case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":break;case"mapAO":a.aoMap=r(s,t.mapAORepeat,t.mapAOOffset,t.mapAOWrap,t.mapAOAnisotropy);break;case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":break;case"mapBump":a.bumpMap=r(s,t.mapBumpRepeat,t.mapBumpOffset,t.mapBumpWrap,t.mapBumpAnisotropy);break;case"mapBumpScale":a.bumpScale=s;break;case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":break;case"mapNormal":a.normalMap=r(s,t.mapNormalRepeat,t.mapNormalOffset,t.mapNormalWrap,t.mapNormalAnisotropy);break;case"mapNormalFactor":a.normalScale=s;break;case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":break;case"mapSpecular":a.specularMap=r(s,t.mapSpecularRepeat,t.mapSpecularOffset,t.mapSpecularWrap,t.mapSpecularAnisotropy);break;case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":break;case"mapMetalness":a.metalnessMap=r(s,t.mapMetalnessRepeat,t.mapMetalnessOffset,t.mapMetalnessWrap,t.mapMetalnessAnisotropy);break;case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":break;case"mapRoughness":a.roughnessMap=r(s,t.mapRoughnessRepeat,t.mapRoughnessOffset,t.mapRoughnessWrap,t.mapRoughnessAnisotropy);break;case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":break;case"mapAlpha":a.alphaMap=r(s,t.mapAlphaRepeat,t.mapAlphaOffset,t.mapAlphaWrap,t.mapAlphaAnisotropy);break;case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"flipSided":a.side=E;break;case"doubleSided":a.side=A;break;case"transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity"),a.opacity=s;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":a[o]=s;break;case"vertexColors":!0===s&&(a.vertexColors=z),"face"===s&&(a.vertexColors=C);break;default:console.error("THREE.Loader.createMaterial: Unsupported",o,s)}}return"MeshBasicMaterial"===a.type&&delete a.emissive,"MeshPhongMaterial"!==a.type&&delete a.specular,a.opacity<1&&(a.transparent=!0),wl.setTextures(n),wl.parse(a)})}),Object.assign(Sl.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var r=this,a=void 0===this.path?ql.extractUrlBase(t):this.path,o=new Ls(this.manager);o.setPath(this.path),o.setWithCredentials(this.withCredentials),o.load(t,function(i){var n=JSON.parse(i),o=n.metadata;if(void 0!==o){var s=o.type;if(void 0!==s&&"object"===s.toLowerCase())return void console.error("THREE.JSONLoader: "+t+" should be loaded with THREE.ObjectLoader instead.")}var l=r.parse(n,a);e(l.geometry,l.materials)},i,n)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(){return function(t,e){void 0!==t.data&&(t=t.data),void 0!==t.scale?t.scale=1/t.scale:t.scale=1;var i=new ki;return function(t,e){function i(t,e){return t&1<<e}var n,r,a,o,s,l,h,c,u,p,d,f,m,g,v,q,y,x,_,b,w,M,T,S,E,A=t.faces,P=t.vertices,L=t.normals,R=t.colors,C=t.scale,z=0;if(void 0!==t.uvs){for(n=0;n<t.uvs.length;n++)t.uvs[n].length&&z++;for(n=0;n<z;n++)e.faceVertexUvs[n]=[]}for(o=0,s=P.length;o<s;)(x=new $e).x=P[o++]*C,x.y=P[o++]*C,x.z=P[o++]*C,e.vertices.push(x);for(o=0,s=A.length;o<s;)if(d=i(p=A[o++],0),f=i(p,1),m=i(p,3),g=i(p,4),v=i(p,5),q=i(p,6),y=i(p,7),d){if((b=new Pi).a=A[o],b.b=A[o+1],b.c=A[o+3],(w=new Pi).a=A[o+1],w.b=A[o+2],w.c=A[o+3],o+=4,f&&(u=A[o++],b.materialIndex=u,w.materialIndex=u),a=e.faces.length,m)for(n=0;n<z;n++)for(S=t.uvs[n],e.faceVertexUvs[n][a]=[],e.faceVertexUvs[n][a+1]=[],r=0;r<4;r++)E=new Je(S[2*(c=A[o++])],S[2*c+1]),2!==r&&e.faceVertexUvs[n][a].push(E),0!==r&&e.faceVertexUvs[n][a+1].push(E);if(g&&(h=3*A[o++],b.normal.set(L[h++],L[h++],L[h]),w.normal.copy(b.normal)),v)for(n=0;n<4;n++)h=3*A[o++],T=new $e(L[h++],L[h++],L[h]),2!==n&&b.vertexNormals.push(T),0!==n&&w.vertexNormals.push(T);if(q&&(M=R[l=A[o++]],b.color.setHex(M),w.color.setHex(M)),y)for(n=0;n<4;n++)M=R[l=A[o++]],2!==n&&b.vertexColors.push(new wi(M)),0!==n&&w.vertexColors.push(new wi(M));e.faces.push(b),e.faces.push(w)}else{if((_=new Pi).a=A[o++],_.b=A[o++],_.c=A[o++],f&&(u=A[o++],_.materialIndex=u),a=e.faces.length,m)for(n=0;n<z;n++)for(S=t.uvs[n],e.faceVertexUvs[n][a]=[],r=0;r<3;r++)E=new Je(S[2*(c=A[o++])],S[2*c+1]),e.faceVertexUvs[n][a].push(E);if(g&&(h=3*A[o++],_.normal.set(L[h++],L[h++],L[h])),v)for(n=0;n<3;n++)h=3*A[o++],T=new $e(L[h++],L[h++],L[h]),_.vertexNormals.push(T);if(q&&(l=A[o++],_.color.setHex(R[l])),y)for(n=0;n<3;n++)l=A[o++],_.vertexColors.push(new wi(R[l]));e.faces.push(_)}}(t,i),function(t,e){var i=void 0!==t.influencesPerVertex?t.influencesPerVertex:2;if(t.skinWeights)for(var n=0,r=t.skinWeights.length;n<r;n+=i){var a=t.skinWeights[n],o=i>1?t.skinWeights[n+1]:0,s=i>2?t.skinWeights[n+2]:0,l=i>3?t.skinWeights[n+3]:0;e.skinWeights.push(new hi(a,o,s,l))}if(t.skinIndices)for(n=0,r=t.skinIndices.length;n<r;n+=i){var h=t.skinIndices[n],c=i>1?t.skinIndices[n+1]:0,u=i>2?t.skinIndices[n+2]:0,p=i>3?t.skinIndices[n+3]:0;e.skinIndices.push(new hi(h,c,u,p))}e.bones=t.bones,e.bones&&e.bones.length>0&&(e.skinWeights.length!==e.skinIndices.length||e.skinIndices.length!==e.vertices.length)&&console.warn("When skinning, number of vertices ("+e.vertices.length+"), skinIndices ("+e.skinIndices.length+"), and skinWeights ("+e.skinWeights.length+") should match.")}(t,i),function(t,e){var i=t.scale;if(void 0!==t.morphTargets)for(var n=0,r=t.morphTargets.length;n<r;n++){e.morphTargets[n]={},e.morphTargets[n].name=t.morphTargets[n].name,e.morphTargets[n].vertices=[];for(var a=e.morphTargets[n].vertices,o=t.morphTargets[n].vertices,s=0,l=o.length;s<l;s+=3){var h=new $e;h.x=o[s]*i,h.y=o[s+1]*i,h.z=o[s+2]*i,a.push(h)}}if(void 0!==t.morphColors&&t.morphColors.length>0){console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.');var c=e.faces,u=t.morphColors[0].colors;for(n=0,r=c.length;n<r;n++)c[n].color.fromArray(u,3*n)}}(t,i),function(t,e){var i=[],n=[];void 0!==t.animation&&n.push(t.animation),void 0!==t.animations&&(t.animations.length?n=n.concat(t.animations):n.push(t.animations));for(var r=0;r<n.length;r++){var a=Ms.parseAnimation(n[r],e.bones);a&&i.push(a)}if(e.morphTargets){var o=Ms.CreateClipsFromMorphTargetSequences(e.morphTargets,10);i=i.concat(o)}i.length>0&&(e.animations=i)}(t,i),i.computeFaceNormals(),i.computeBoundingSphere(),void 0===t.materials||0===t.materials.length?{geometry:i}:{geometry:i,materials:Tl.prototype.initMaterials(t.materials,this.resourcePath||e,this.crossOrigin)}}}()}),Object.assign(El.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var r=this,a=void 0===this.path?ql.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||a;var o=new Ls(r.manager);o.setPath(this.path),o.load(t,function(i){var a=null;try{a=JSON.parse(i)}catch(e){return void 0!==n&&n(e),void console.error("THREE:ObjectLoader: Can't parse "+t+".",e.message)}var o=a.metadata;void 0!==o&&void 0!==o.type&&"geometry"!==o.type.toLowerCase()?r.parse(a,e):console.error("THREE.ObjectLoader: Can't load "+t+". Use THREE.JSONLoader instead.")},i,n)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(t,e){var i=this.parseShape(t.shapes),n=this.parseGeometries(t.geometries,i),r=this.parseImages(t.images,function(){void 0!==e&&e(s)}),a=this.parseTextures(t.textures,r),o=this.parseMaterials(t.materials,a),s=this.parseObject(t.object,n,o);return t.animations&&(s.animations=this.parseAnimations(t.animations)),void 0!==t.images&&0!==t.images.length||void 0!==e&&e(s),s},parseShape:function(t){var e={};if(void 0!==t)for(var i=0,n=t.length;i<n;i++){var r=(new al).fromJSON(t[i]);e[r.uuid]=r}return e},parseGeometries:function(t,e){var i={};if(void 0!==t)for(var n=new Sl,r=new yl,a=0,o=t.length;a<o;a++){var s,l=t[a];switch(l.type){case"PlaneGeometry":case"PlaneBufferGeometry":s=new $o[l.type](l.width,l.height,l.widthSegments,l.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":s=new $o[l.type](l.width,l.height,l.depth,l.widthSegments,l.heightSegments,l.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":s=new $o[l.type](l.radius,l.segments,l.thetaStart,l.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":s=new $o[l.type](l.radiusTop,l.radiusBottom,l.height,l.radialSegments,l.heightSegments,l.openEnded,l.thetaStart,l.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":s=new $o[l.type](l.radius,l.height,l.radialSegments,l.heightSegments,l.openEnded,l.thetaStart,l.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":s=new $o[l.type](l.radius,l.widthSegments,l.heightSegments,l.phiStart,l.phiLength,l.thetaStart,l.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":s=new $o[l.type](l.radius,l.detail);break;case"RingGeometry":case"RingBufferGeometry":s=new $o[l.type](l.innerRadius,l.outerRadius,l.thetaSegments,l.phiSegments,l.thetaStart,l.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":s=new $o[l.type](l.radius,l.tube,l.radialSegments,l.tubularSegments,l.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":s=new $o[l.type](l.radius,l.tube,l.tubularSegments,l.radialSegments,l.p,l.q);break;case"LatheGeometry":case"LatheBufferGeometry":s=new $o[l.type](l.points,l.segments,l.phiStart,l.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":s=new $o[l.type](l.vertices,l.indices,l.radius,l.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":for(var h=[],c=0,u=l.shapes.length;c<u;c++){var p=e[l.shapes[c]];h.push(p)}s=new $o[l.type](h,l.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":for(h=[],c=0,u=l.shapes.length;c<u;c++){p=e[l.shapes[c]];h.push(p)}var d=l.options.extrudePath;void 0!==d&&(l.options.extrudePath=(new il[d.type]).fromJSON(d)),s=new $o[l.type](h,l.options);break;case"BufferGeometry":s=r.parse(l);break;case"Geometry":s=n.parse(l,this.resourcePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+l.type+'"');continue}s.uuid=l.uuid,void 0!==l.name&&(s.name=l.name),!0===s.isBufferGeometry&&void 0!==l.userData&&(s.userData=l.userData),i[l.uuid]=s}return i},parseMaterials:function(t,e){var i={},n={};if(void 0!==t){var r=new vl;r.setTextures(e);for(var a=0,o=t.length;a<o;a++){var s=t[a];if("MultiMaterial"===s.type){for(var l=[],h=0;h<s.materials.length;h++){var c=s.materials[h];void 0===i[c.uuid]&&(i[c.uuid]=r.parse(c)),l.push(i[c.uuid])}n[s.uuid]=l}else n[s.uuid]=r.parse(s),i[s.uuid]=n[s.uuid]}}return n},parseAnimations:function(t){for(var e=[],i=0;i<t.length;i++){var n=t[i],r=Ms.parse(n);void 0!==n.uuid&&(r.uuid=n.uuid),e.push(r)}return e},parseImages:function(t,e){var i=this,n={};function r(t){return i.manager.itemStart(t),a.load(t,function(){i.manager.itemEnd(t)},void 0,function(){i.manager.itemError(t),i.manager.itemEnd(t)})}if(void 0!==t&&t.length>0){var a=new Os(new Es(e));a.setCrossOrigin(this.crossOrigin);for(var o=0,s=t.length;o<s;o++){var l=t[o],h=l.url;if(Array.isArray(h)){n[l.uuid]=[];for(var c=0,u=h.length;c<u;c++){var p=h[c],d=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(p)?p:i.resourcePath+p;n[l.uuid].push(r(d))}}else{d=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(l.url)?l.url:i.resourcePath+l.url;n[l.uuid]=r(d)}}}return n},parseTextures:function(t,e){function i(t,e){return"number"==typeof t?t:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",t),e[t])}var n={};if(void 0!==t)for(var r=0,a=t.length;r<a;r++){var o,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),(o=Array.isArray(e[s.image])?new Nn(e[s.image]):new li(e[s.image])).needsUpdate=!0,o.uuid=s.uuid,void 0!==s.name&&(o.name=s.name),void 0!==s.mapping&&(o.mapping=i(s.mapping,Pl)),void 0!==s.offset&&o.offset.fromArray(s.offset),void 0!==s.repeat&&o.repeat.fromArray(s.repeat),void 0!==s.center&&o.center.fromArray(s.center),void 0!==s.rotation&&(o.rotation=s.rotation),void 0!==s.wrap&&(o.wrapS=i(s.wrap[0],Ll),o.wrapT=i(s.wrap[1],Ll)),void 0!==s.format&&(o.format=s.format),void 0!==s.minFilter&&(o.minFilter=i(s.minFilter,Rl)),void 0!==s.magFilter&&(o.magFilter=i(s.magFilter,Rl)),void 0!==s.anisotropy&&(o.anisotropy=s.anisotropy),void 0!==s.flipY&&(o.flipY=s.flipY),n[s.uuid]=o}return n},parseObject:function(t,e,i){var n;function r(t){return void 0===e[t]&&console.warn("THREE.ObjectLoader: Undefined geometry",t),e[t]}function a(t){if(void 0!==t){if(Array.isArray(t)){for(var e=[],n=0,r=t.length;n<r;n++){var a=t[n];void 0===i[a]&&console.warn("THREE.ObjectLoader: Undefined material",a),e.push(i[a])}return e}return void 0===i[t]&&console.warn("THREE.ObjectLoader: Undefined material",t),i[t]}}switch(t.type){case"Scene":n=new _a,void 0!==t.background&&Number.isInteger(t.background)&&(n.background=new wi(t.background)),void 0!==t.fog&&("Fog"===t.fog.type?n.fog=new xa(t.fog.color,t.fog.near,t.fog.far):"FogExp2"===t.fog.type&&(n.fog=new ya(t.fog.color,t.fog.density)));break;case"PerspectiveCamera":n=new aa(t.fov,t.aspect,t.near,t.far),void 0!==t.focus&&(n.focus=t.focus),void 0!==t.zoom&&(n.zoom=t.zoom),void 0!==t.filmGauge&&(n.filmGauge=t.filmGauge),void 0!==t.filmOffset&&(n.filmOffset=t.filmOffset),void 0!==t.view&&(n.view=Object.assign({},t.view));break;case"OrthographicCamera":n=new pl(t.left,t.right,t.top,t.bottom,t.near,t.far),void 0!==t.zoom&&(n.zoom=t.zoom),void 0!==t.view&&(n.view=Object.assign({},t.view));break;case"AmbientLight":n=new ml(t.color,t.intensity);break;case"DirectionalLight":n=new fl(t.color,t.intensity);break;case"PointLight":n=new ul(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":n=new gl(t.color,t.intensity,t.width,t.height);break;case"SpotLight":n=new cl(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":n=new sl(t.color,t.groundColor,t.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":var o=r(t.geometry),s=a(t.material);n=o.bones&&o.bones.length>0?new Pa(o,s):new Tn(o,s);break;case"LOD":n=new Sa;break;case"Line":n=new Ra(r(t.geometry),a(t.material),t.mode);break;case"LineLoop":n=new za(r(t.geometry),a(t.material));break;case"LineSegments":n=new Ca(r(t.geometry),a(t.material));break;case"PointCloud":case"Points":n=new Da(r(t.geometry),a(t.material));break;case"Sprite":n=new Ta(a(t.material));break;case"Group":n=new na;break;default:n=new Ni}if(n.uuid=t.uuid,void 0!==t.name&&(n.name=t.name),void 0!==t.matrix?(n.matrix.fromArray(t.matrix),void 0!==t.matrixAutoUpdate&&(n.matrixAutoUpdate=t.matrixAutoUpdate),n.matrixAutoUpdate&&n.matrix.decompose(n.position,n.quaternion,n.scale)):(void 0!==t.position&&n.position.fromArray(t.position),void 0!==t.rotation&&n.rotation.fromArray(t.rotation),void 0!==t.quaternion&&n.quaternion.fromArray(t.quaternion),void 0!==t.scale&&n.scale.fromArray(t.scale)),void 0!==t.castShadow&&(n.castShadow=t.castShadow),void 0!==t.receiveShadow&&(n.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(n.shadow.bias=t.shadow.bias),void 0!==t.shadow.radius&&(n.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&n.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(n.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(n.visible=t.visible),void 0!==t.frustumCulled&&(n.frustumCulled=t.frustumCulled),void 0!==t.renderOrder&&(n.renderOrder=t.renderOrder),void 0!==t.userData&&(n.userData=t.userData),void 0!==t.layers&&(n.layers.mask=t.layers),void 0!==t.children)for(var l=t.children,h=0;h<l.length;h++)n.add(this.parseObject(l[h],e,i));if("LOD"===t.type)for(var c=t.levels,u=0;u<c.length;u++){var p=c[u],d=n.getObjectByProperty("uuid",p.object);void 0!==d&&n.addLevel(d,p.distance)}return n}});var Al,Pl={UVMapping:qt,CubeReflectionMapping:yt,CubeRefractionMapping:xt,EquirectangularReflectionMapping:_t,EquirectangularRefractionMapping:bt,SphericalReflectionMapping:wt,CubeUVReflectionMapping:Mt,CubeUVRefractionMapping:Tt},Ll={RepeatWrapping:St,ClampToEdgeWrapping:Et,MirroredRepeatWrapping:At},Rl={NearestFilter:Pt,NearestMipMapNearestFilter:Lt,NearestMipMapLinearFilter:Rt,LinearFilter:Ct,LinearMipMapNearestFilter:zt,LinearMipMapLinearFilter:Ot};function Cl(t){"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.manager=void 0!==t?t:As,this.options=void 0}function zl(){this.type="ShapePath",this.color=new wi,this.subPaths=[],this.currentPath=null}function Ol(t){this.type="Font",this.data=t}function Dl(t,e,i,n,r){var a=r.glyphs[t]||r.glyphs["?"];if(a){var o,s,l,h,c,u,p,d,f=new zl;if(a.o)for(var m=a._cachedOutline||(a._cachedOutline=a.o.split(" ")),g=0,v=m.length;g<v;){switch(m[g++]){case"m":o=m[g++]*e+i,s=m[g++]*e+n,f.moveTo(o,s);break;case"l":o=m[g++]*e+i,s=m[g++]*e+n,f.lineTo(o,s);break;case"q":l=m[g++]*e+i,h=m[g++]*e+n,c=m[g++]*e+i,u=m[g++]*e+n,f.quadraticCurveTo(c,u,l,h);break;case"b":l=m[g++]*e+i,h=m[g++]*e+n,c=m[g++]*e+i,u=m[g++]*e+n,p=m[g++]*e+i,d=m[g++]*e+n,f.bezierCurveTo(c,u,p,d,l,h)}}return{offsetX:a.ha*e,path:f}}}function Il(t){this.manager=void 0!==t?t:As}Cl.prototype={constructor:Cl,setOptions:function(t){return this.options=t,this},load:function(t,e,i,n){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);var r=this,a=Ss.get(t);if(void 0!==a)return r.manager.itemStart(t),setTimeout(function(){e&&e(a),r.manager.itemEnd(t)},0),a;fetch(t).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,r.options)}).then(function(i){Ss.add(t,i),e&&e(i),r.manager.itemEnd(t)}).catch(function(e){n&&n(e),r.manager.itemError(t),r.manager.itemEnd(t)})},setCrossOrigin:function(){return this},setPath:function(t){return this.path=t,this}},Object.assign(zl.prototype,{moveTo:function(t,e){this.currentPath=new rl,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e)},lineTo:function(t,e){this.currentPath.lineTo(t,e)},quadraticCurveTo:function(t,e,i,n){this.currentPath.quadraticCurveTo(t,e,i,n)},bezierCurveTo:function(t,e,i,n,r,a){this.currentPath.bezierCurveTo(t,e,i,n,r,a)},splineThru:function(t){this.currentPath.splineThru(t)},toShapes:function(t,e){function i(t){for(var e=[],i=0,n=t.length;i<n;i++){var r=t[i],a=new al;a.curves=r.curves,e.push(a)}return e}function n(t,e){for(var i=e.length,n=!1,r=i-1,a=0;a<i;r=a++){var o=e[r],s=e[a],l=s.x-o.x,h=s.y-o.y;if(Math.abs(h)>Number.EPSILON){if(h<0&&(o=e[a],l=-l,s=e[r],h=-h),t.y<o.y||t.y>s.y)continue;if(t.y===o.y){if(t.x===o.x)return!0}else{var c=h*(t.x-o.x)-l*(t.y-o.y);if(0===c)return!0;if(c<0)continue;n=!n}}else{if(t.y!==o.y)continue;if(s.x<=t.x&&t.x<=o.x||o.x<=t.x&&t.x<=s.x)return!0}}return n}var r=Ao.isClockWise,a=this.subPaths;if(0===a.length)return[];if(!0===e)return i(a);var o,s,l,h=[];if(1===a.length)return s=a[0],(l=new al).curves=s.curves,h.push(l),h;var c=!r(a[0].getPoints());c=t?!c:c;var u,p,d=[],f=[],m=[],g=0;f[g]=void 0,m[g]=[];for(var v=0,q=a.length;v<q;v++)o=r(u=(s=a[v]).getPoints()),(o=t?!o:o)?(!c&&f[g]&&g++,f[g]={s:new al,p:u},f[g].s.curves=s.curves,c&&g++,m[g]=[]):m[g].push({h:s,p:u[0]});if(!f[0])return i(a);if(f.length>1){for(var y=!1,x=[],_=0,b=f.length;_<b;_++)d[_]=[];for(_=0,b=f.length;_<b;_++)for(var w=m[_],M=0;M<w.length;M++){for(var T=w[M],S=!0,E=0;E<f.length;E++)n(T.p,f[E].p)&&(_!==E&&x.push({froms:_,tos:E,hole:M}),S?(S=!1,d[E].push(T)):y=!0);S&&d[_].push(T)}x.length>0&&(y||(m=d))}v=0;for(var A=f.length;v<A;v++){l=f[v].s,h.push(l);for(var P=0,L=(p=m[v]).length;P<L;P++)l.holes.push(p[P].h)}return h}}),Object.assign(Ol.prototype,{isFont:!0,generateShapes:function(t,e){void 0===e&&(e=100);for(var i=[],n=function(t,e,i){for(var n=Array.from?Array.from(t):String(t).split(""),r=e/i.resolution,a=(i.boundingBox.yMax-i.boundingBox.yMin+i.underlineThickness)*r,o=[],s=0,l=0,h=0;h<n.length;h++){var c=n[h];if("\n"===c)s=0,l-=a;else{var u=Dl(c,r,s,l,i);s+=u.offsetX,o.push(u.path)}}return o}(t,e,this.data),r=0,a=n.length;r<a;r++)Array.prototype.push.apply(i,n[r].toShapes());return i}}),Object.assign(Il.prototype,{load:function(t,e,i,n){var r=this,a=new Ls(this.manager);a.setPath(this.path),a.load(t,function(t){var i;try{i=JSON.parse(t)}catch(e){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),i=JSON.parse(t.substring(65,t.length-2))}var n=r.parse(i);e&&e(n)},i,n)},parse:function(t){return new Ol(t)},setPath:function(t){return this.path=t,this}});var Nl,Bl,Ul,Fl,kl,Gl,Hl,Vl,jl,Wl,Xl={getContext:function(){return void 0===Al&&(Al=new(window.AudioContext||window.webkitAudioContext)),Al},setContext:function(t){Al=t}};function Yl(t){this.manager=void 0!==t?t:As}function Zl(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new aa,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new aa,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Jl(t,e,i,n){Ni.call(this),this.type="CubeCamera";var r=new aa(90,1,t,e);r.up.set(0,-1,0),r.lookAt(new $e(1,0,0)),this.add(r);var a=new aa(90,1,t,e);a.up.set(0,-1,0),a.lookAt(new $e(-1,0,0)),this.add(a);var o=new aa(90,1,t,e);o.up.set(0,0,1),o.lookAt(new $e(0,1,0)),this.add(o);var s=new aa(90,1,t,e);s.up.set(0,0,-1),s.lookAt(new $e(0,-1,0)),this.add(s);var l=new aa(90,1,t,e);l.up.set(0,-1,0),l.lookAt(new $e(0,0,1)),this.add(l);var h=new aa(90,1,t,e);h.up.set(0,-1,0),h.lookAt(new $e(0,0,-1)),this.add(h),n=n||{format:Yt,magFilter:Ct,minFilter:Ct},this.renderTarget=new ui(i,i,n),this.renderTarget.texture.name="CubeCamera",this.update=function(t,e){null===this.parent&&this.updateMatrixWorld();var i=this.renderTarget,n=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,i.activeCubeFace=0,t.render(e,r,i),i.activeCubeFace=1,t.render(e,a,i),i.activeCubeFace=2,t.render(e,o,i),i.activeCubeFace=3,t.render(e,s,i),i.activeCubeFace=4,t.render(e,l,i),i.texture.generateMipmaps=n,i.activeCubeFace=5,t.render(e,h,i),t.setRenderTarget(null)},this.clear=function(t,e,i,n){for(var r=this.renderTarget,a=0;a<6;a++)r.activeCubeFace=a,t.setRenderTarget(r),t.clear(e,i,n);t.setRenderTarget(null)}}function Ql(t){this.autoStart=void 0===t||t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}function Kl(){Ni.call(this),this.type="AudioListener",this.context=Xl.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0}function $l(t){Ni.call(this),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.offset=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType="empty",this.filters=[]}function th(t){$l.call(this,t),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function eh(t,e){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=void 0!==e?e:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}function ih(t,e,i){this.binding=t,this.valueSize=i;var n,r=Float64Array;switch(e){case"quaternion":n=this._slerp;break;case"string":case"bool":r=Array,n=this._select;break;default:n=this._lerp}this.buffer=new r(4*i),this._mixBufferRegion=n,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}Object.assign(Yl.prototype,{load:function(t,e,i,n){var r=new Ls(this.manager);r.setResponseType("arraybuffer"),r.setPath(this.path),r.load(t,function(t){var i=t.slice(0);Xl.getContext().decodeAudioData(i,function(t){e(t)})},i,n)},setPath:function(t){return this.path=t,this}}),Object.assign(Zl.prototype,{update:(jl=new Qe,Wl=new Qe,function(t){if(Nl!==this||Bl!==t.focus||Ul!==t.fov||Fl!==t.aspect*this.aspect||kl!==t.near||Gl!==t.far||Hl!==t.zoom||Vl!==this.eyeSep){Nl=this,Bl=t.focus,Ul=t.fov,Fl=t.aspect*this.aspect,kl=t.near,Gl=t.far,Hl=t.zoom;var e,i,n=t.projectionMatrix.clone(),r=(Vl=this.eyeSep/2)*kl/Bl,a=kl*Math.tan(Ze.DEG2RAD*Ul*.5)/Hl;Wl.elements[12]=-Vl,jl.elements[12]=Vl,e=-a*Fl+r,i=a*Fl+r,n.elements[0]=2*kl/(i-e),n.elements[8]=(i+e)/(i-e),this.cameraL.projectionMatrix.copy(n),e=-a*Fl-r,i=a*Fl-r,n.elements[0]=2*kl/(i-e),n.elements[8]=(i+e)/(i-e),this.cameraR.projectionMatrix.copy(n)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Wl),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(jl)})}),Jl.prototype=Object.create(Ni.prototype),Jl.prototype.constructor=Jl,Object.assign(Ql.prototype,{start:function(){this.startTime=("undefined"==typeof performance?Date:performance).now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.running=!1,this.autoStart=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var e=("undefined"==typeof performance?Date:performance).now();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}),Kl.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Kl,getInput:function(){return this.gain},removeFilter:function(){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:function(){return this.filter},setFilter:function(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:function(){return this.gain.gain.value},setMasterVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this},updateMatrixWorld:function(){var t=new $e,e=new Ke,i=new $e,n=new $e,r=new Ql;return function(a){Ni.prototype.updateMatrixWorld.call(this,a);var o=this.context.listener,s=this.up;if(this.timeDelta=r.getDelta(),this.matrixWorld.decompose(t,e,i),n.set(0,0,-1).applyQuaternion(e),o.positionX){var l=this.context.currentTime+this.timeDelta;o.positionX.linearRampToValueAtTime(t.x,l),o.positionY.linearRampToValueAtTime(t.y,l),o.positionZ.linearRampToValueAtTime(t.z,l),o.forwardX.linearRampToValueAtTime(n.x,l),o.forwardY.linearRampToValueAtTime(n.y,l),o.forwardZ.linearRampToValueAtTime(n.z,l),o.upX.linearRampToValueAtTime(s.x,l),o.upY.linearRampToValueAtTime(s.y,l),o.upZ.linearRampToValueAtTime(s.z,l)}else o.setPosition(t.x,t.y,t.z),o.setOrientation(n.x,n.y,n.z,s.x,s.y,s.z)}}()}),$l.prototype=Object.assign(Object.create(Ni.prototype),{constructor:$l,getOutput:function(){return this.gain},setNodeSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this},setMediaElementSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this},setBuffer:function(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(!0!==this.isPlaying){if(!1!==this.hasPlaybackControl){var t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.onended=this.onEnded.bind(this),t.playbackRate.setValueAtTime(this.playbackRate,this.startTime),this.startTime=this.context.currentTime,t.start(this.startTime,this.offset),this.isPlaying=!0,this.source=t,this.connect()}console.warn("THREE.Audio: this Audio has no playback control.")}else console.warn("THREE.Audio: Audio is already playing.")},pause:function(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this.source.stop(),this.source.onended=null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")},stop:function(){if(!1!==this.hasPlaybackControl)return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var 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},disconnect:function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var 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},getFilters:function(){return this.filters},setFilters:function(t){return t||(t=[]),!0===this.isPlaying?(this.disconnect(),this.filters=t,this.connect()):this.filters=t,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(t){return this.setFilters(t?[t]:[])},setPlaybackRate:function(t){if(!1!==this.hasPlaybackControl)return this.playbackRate=t,!0===this.isPlaying&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this;console.warn("THREE.Audio: this Audio has no playback control.")},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(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.")},getVolume:function(){return this.gain.gain.value},setVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}),th.prototype=Object.assign(Object.create($l.prototype),{constructor:th,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(t){return this.panner.refDistance=t,this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(t){return this.panner.rolloffFactor=t,this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(t){return this.panner.distanceModel=t,this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(t){return this.panner.maxDistance=t,this},setDirectionalCone:function(t,e,i){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=i,this},updateMatrixWorld:function(){var t=new $e,e=new Ke,i=new $e,n=new $e;return function(r){Ni.prototype.updateMatrixWorld.call(this,r);var a=this.panner;if(this.matrixWorld.decompose(t,e,i),n.set(0,0,1).applyQuaternion(e),a.positionX){var o=this.context.currentTime+this.listener.timeDelta;a.positionX.linearRampToValueAtTime(t.x,o),a.positionY.linearRampToValueAtTime(t.y,o),a.positionZ.linearRampToValueAtTime(t.z,o),a.orientationX.linearRampToValueAtTime(n.x,o),a.orientationY.linearRampToValueAtTime(n.y,o),a.orientationZ.linearRampToValueAtTime(n.z,o)}else a.setPosition(t.x,t.y,t.z),a.setOrientation(n.x,n.y,n.z)}}()}),Object.assign(eh.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var t=0,e=this.getFrequencyData(),i=0;i<e.length;i++)t+=e[i];return t/e.length}}),Object.assign(ih.prototype,{accumulate:function(t,e){var i=this.buffer,n=this.valueSize,r=t*n+n,a=this.cumulativeWeight;if(0===a){for(var o=0;o!==n;++o)i[r+o]=i[o];a=e}else{var s=e/(a+=e);this._mixBufferRegion(i,r,0,s,n)}this.cumulativeWeight=a},apply:function(t){var e=this.valueSize,i=this.buffer,n=t*e+e,r=this.cumulativeWeight,a=this.binding;if(this.cumulativeWeight=0,r<1){var o=3*e;this._mixBufferRegion(i,n,o,1-r,e)}for(var s=e,l=e+e;s!==l;++s)if(i[s]!==i[s+e]){a.setValue(i,n);break}},saveOriginalState:function(){var t=this.binding,e=this.buffer,i=this.valueSize,n=3*i;t.getValue(e,n);for(var r=i,a=n;r!==a;++r)e[r]=e[n+r%i];this.cumulativeWeight=0},restoreOriginalState:function(){var t=3*this.valueSize;this.binding.setValue(this.buffer,t)},_select:function(t,e,i,n,r){if(n>=.5)for(var a=0;a!==r;++a)t[e+a]=t[i+a]},_slerp:function(t,e,i,n){Ke.slerpFlat(t,e,t,e,t,i,n)},_lerp:function(t,e,i,n,r){for(var a=1-n,o=0;o!==r;++o){var s=e+o;t[s]=t[s]*a+t[i+o]*n}}});var nh,rh,ah,oh,sh,lh,hh,ch,uh,ph,dh,fh,mh,gh,vh;function qh(t,e,i){var n=i||yh.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,n)}function yh(t,e,i){this.path=e,this.parsedPath=i||yh.parseTrackName(e),this.node=yh.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}function xh(){this.uuid=Ze.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var t={};this._indicesByUUID=t;for(var e=0,i=arguments.length;e!==i;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var n=this;this.stats={objects:{get total(){return n._objects.length},get inUse(){return this.total-n.nCachedObjects_}},get bindingsPerObject(){return n._bindings.length}}}function _h(t,e,i){this._mixer=t,this._clip=e,this._localRoot=i||null;for(var n=e.tracks,r=n.length,a=new Array(r),o={endingStart:Re,endingEnd:Re},s=0;s!==r;++s){var l=n[s].createInterpolant(null);a[s]=l,l.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Se,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}function bh(t){this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function wh(t){"string"==typeof t&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),t=arguments[1]),this.value=t}function Mh(){en.call(this),this.type="InstancedBufferGeometry",this.maxInstancedCount=void 0}function Th(t,e,i){ba.call(this,t,e),this.meshPerAttribute=i||1}function Sh(t,e,i,n){"number"==typeof i&&(n=i,i=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),Gi.call(this,t,e,i),this.meshPerAttribute=n||1}function Eh(t,e,i,n){this.ray=new bn(t,e),this.near=i||0,this.far=n||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function Ah(t,e){return t.distance-e.distance}function Ph(t,e,i,n){if(!1!==t.visible&&(t.raycast(e,i),!0===n))for(var r=t.children,a=0,o=r.length;a<o;a++)Ph(r[a],e,i,!0)}function Lh(t,e,i){return this.radius=void 0!==t?t:1,this.phi=void 0!==e?e:0,this.theta=void 0!==i?i:0,this}function Rh(t,e,i){return this.radius=void 0!==t?t:1,this.theta=void 0!==e?e:0,this.y=void 0!==i?i:0,this}function Ch(t,e){this.min=void 0!==t?t:new Je(1/0,1/0),this.max=void 0!==e?e:new Je(-1/0,-1/0)}function zh(t,e){this.start=void 0!==t?t:new $e,this.end=void 0!==e?e:new $e}function Oh(t){Ni.call(this),this.material=t,this.render=function(){}}function Dh(t,e,i,n){this.object=t,this.size=void 0!==e?e:1;var r=void 0!==i?i:16711680,a=void 0!==n?n:1,o=0,s=this.object.geometry;s&&s.isGeometry?o=3*s.faces.length:s&&s.isBufferGeometry&&(o=s.attributes.normal.count);var l=new en,h=new Ji(2*o*3,3);l.addAttribute("position",h),Ca.call(this,l,new La({color:r,linewidth:a})),this.matrixAutoUpdate=!1,this.update()}function Ih(t,e){Ni.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;for(var i=new en,n=[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],r=0,a=1;r<32;r++,a++){var o=r/32*Math.PI*2,s=a/32*Math.PI*2;n.push(Math.cos(o),Math.sin(o),1,Math.cos(s),Math.sin(s),1)}i.addAttribute("position",new Ji(n,3));var l=new La({fog:!1});this.cone=new Ca(i,l),this.add(this.cone),this.update()}function Nh(t){for(var e=function t(e){var i=[];e&&e.isBone&&i.push(e);for(var n=0;n<e.children.length;n++)i.push.apply(i,t(e.children[n]));return i}(t),i=new en,n=[],r=[],a=new wi(0,0,1),o=new wi(0,1,0),s=0;s<e.length;s++){var l=e[s];l.parent&&l.parent.isBone&&(n.push(0,0,0),n.push(0,0,0),r.push(a.r,a.g,a.b),r.push(o.r,o.g,o.b))}i.addAttribute("position",new Ji(n,3)),i.addAttribute("color",new Ji(r,3));var h=new La({vertexColors:z,depthTest:!1,depthWrite:!1,transparent:!0});Ca.call(this,i,h),this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1}function Bh(t,e,i){this.light=t,this.light.updateMatrixWorld(),this.color=i;var n=new Bo(e,4,2),r=new Mn({wireframe:!0,fog:!1});Tn.call(this,n,r),this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}function Uh(t,e){Ni.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;var i=new La({fog:!1}),n=new en;n.addAttribute("position",new Gi(new Float32Array(15),3)),this.line=new Ra(n,i),this.add(this.line),this.update()}function Fh(t,e,i){Ni.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=i;var n=new Ya(e);n.rotateY(.5*Math.PI),this.material=new Mn({wireframe:!0,fog:!1}),void 0===this.color&&(this.material.vertexColors=z);var r=n.getAttribute("position"),a=new Float32Array(3*r.count);n.addAttribute("color",new Gi(a,3)),this.add(new Tn(n,this.material)),this.update()}function kh(t,e,i,n){t=t||10,e=e||10,i=new wi(void 0!==i?i:4473924),n=new wi(void 0!==n?n:8947848);for(var r=e/2,a=t/e,o=t/2,s=[],l=[],h=0,c=0,u=-o;h<=e;h++,u+=a){s.push(-o,0,u,o,0,u),s.push(u,0,-o,u,0,o);var p=h===r?i:n;p.toArray(l,c),c+=3,p.toArray(l,c),c+=3,p.toArray(l,c),c+=3,p.toArray(l,c),c+=3}var d=new en;d.addAttribute("position",new Ji(s,3)),d.addAttribute("color",new Ji(l,3));var f=new La({vertexColors:z});Ca.call(this,d,f)}function Gh(t,e,i,n,r,a){t=t||10,e=e||16,i=i||8,n=n||64,r=new wi(void 0!==r?r:4473924),a=new wi(void 0!==a?a:8947848);var o,s,l,h,c,u,p,d=[],f=[];for(h=0;h<=e;h++)l=h/e*(2*Math.PI),o=Math.sin(l)*t,s=Math.cos(l)*t,d.push(0,0,0),d.push(o,0,s),p=1&h?r:a,f.push(p.r,p.g,p.b),f.push(p.r,p.g,p.b);for(h=0;h<=i;h++)for(p=1&h?r:a,u=t-t/i*h,c=0;c<n;c++)l=c/n*(2*Math.PI),o=Math.sin(l)*u,s=Math.cos(l)*u,d.push(o,0,s),f.push(p.r,p.g,p.b),l=(c+1)/n*(2*Math.PI),o=Math.sin(l)*u,s=Math.cos(l)*u,d.push(o,0,s),f.push(p.r,p.g,p.b);var m=new en;m.addAttribute("position",new Ji(d,3)),m.addAttribute("color",new Ji(f,3));var g=new La({vertexColors:z});Ca.call(this,m,g)}function Hh(t,e,i,n){this.object=t,this.size=void 0!==e?e:1;var r=void 0!==i?i:16776960,a=void 0!==n?n:1,o=0,s=this.object.geometry;s&&s.isGeometry?o=s.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");var l=new en,h=new Ji(2*o*3,3);l.addAttribute("position",h),Ca.call(this,l,new La({color:r,linewidth:a})),this.matrixAutoUpdate=!1,this.update()}function Vh(t,e,i){Ni.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,void 0===e&&(e=1);var n=new en;n.addAttribute("position",new Ji([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));var r=new La({fog:!1});this.lightPlane=new Ra(n,r),this.add(this.lightPlane),(n=new en).addAttribute("position",new Ji([0,0,0,0,0,1],3)),this.targetLine=new Ra(n,r),this.add(this.targetLine),this.update()}function jh(t){var e=new en,i=new La({color:16777215,vertexColors:C}),n=[],r=[],a={},o=new wi(16755200),s=new wi(16711680),l=new wi(43775),h=new wi(16777215),c=new wi(3355443);function u(t,e,i){p(t,i),p(e,i)}function p(t,e){n.push(0,0,0),r.push(e.r,e.g,e.b),void 0===a[t]&&(a[t]=[]),a[t].push(n.length/3-1)}u("n1","n2",o),u("n2","n4",o),u("n4","n3",o),u("n3","n1",o),u("f1","f2",o),u("f2","f4",o),u("f4","f3",o),u("f3","f1",o),u("n1","f1",o),u("n2","f2",o),u("n3","f3",o),u("n4","f4",o),u("p","n1",s),u("p","n2",s),u("p","n3",s),u("p","n4",s),u("u1","u2",l),u("u2","u3",l),u("u3","u1",l),u("c","t",h),u("p","c",c),u("cn1","cn2",c),u("cn3","cn4",c),u("cf1","cf2",c),u("cf3","cf4",c),e.addAttribute("position",new Ji(n,3)),e.addAttribute("color",new Ji(r,3)),Ca.call(this,e,i),this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=a,this.update()}function Wh(t,e){this.object=t,void 0===e&&(e=16776960);var i=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]),n=new Float32Array(24),r=new en;r.setIndex(new Gi(i,1)),r.addAttribute("position",new Gi(n,3)),Ca.call(this,r,new La({color:e})),this.matrixAutoUpdate=!1,this.update()}function Xh(t,e){this.type="Box3Helper",this.box=t;var i=void 0!==e?e:16776960,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]),r=new en;r.setIndex(new Gi(n,1)),r.addAttribute("position",new Ji([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)),Ca.call(this,r,new La({color:i})),this.geometry.computeBoundingSphere()}function Yh(t,e,i){this.type="PlaneHelper",this.plane=t,this.size=void 0===e?1:e;var n=void 0!==i?i:16776960,r=new en;r.addAttribute("position",new Ji([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,0,1,0,0,0],3)),r.computeBoundingSphere(),Ra.call(this,r,new La({color:n}));var a=new en;a.addAttribute("position",new Ji([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),a.computeBoundingSphere(),this.add(new Tn(a,new Mn({color:n,opacity:.2,transparent:!0,depthWrite:!1})))}function Zh(t,e,i,n,r,a){Ni.call(this),void 0===t&&(t=new THREE.Vector3(0,0,1)),void 0===e&&(e=new THREE.Vector3(0,0,0)),void 0===i&&(i=1),void 0===n&&(n=16776960),void 0===r&&(r=.2*i),void 0===a&&(a=.2*r),void 0===fh&&((fh=new en).addAttribute("position",new Ji([0,0,0,0,1,0],3)),(mh=new Yo(0,.5,1,5,1)).translate(0,-.5,0)),this.position.copy(e),this.line=new Ra(fh,new La({color:n})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Tn(mh,new Mn({color:n})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(i,r,a)}function Jh(t){var e=[0,0,0,t=t||1,0,0,0,0,0,0,t,0,0,0,0,0,0,t],i=new en;i.addAttribute("position",new Ji(e,3)),i.addAttribute("color",new Ji([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));var n=new La({vertexColors:z});Ca.call(this,i,n)}function Qh(t,e,i,n,r,a,o){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new Pi(t,e,i,r,a,o)}Object.assign(qh.prototype,{getValue:function(t,e){this.bind();var i=this._targetGroup.nCachedObjects_,n=this._bindings[i];void 0!==n&&n.getValue(t,e)},setValue:function(t,e){for(var i=this._bindings,n=this._targetGroup.nCachedObjects_,r=i.length;n!==r;++n)i[n].setValue(t,e)},bind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()},unbind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}}),Object.assign(yh,{Composite:qh,create:function(t,e,i){return t&&t.isAnimationObjectGroup?new yh.Composite(t,e,i):new yh(t,e,i)},sanitizeNodeName:(uh=new RegExp("[\\[\\]\\.:\\/]","g"),function(t){return t.replace(/\s/g,"_").replace(uh,"")}),parseTrackName:(nh="[^\\[\\]\\.:\\/]",rh="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",ah=/((?:WC+[\/:])*)/.source.replace("WC",nh),oh=/(WCOD+)?/.source.replace("WCOD",rh),sh=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",nh),lh=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",nh),hh=new RegExp("^"+ah+oh+sh+lh+"$"),ch=["material","materials","bones"],function(t){var e=hh.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);var i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},n=i.nodeName&&i.nodeName.lastIndexOf(".");if(void 0!==n&&-1!==n){var r=i.nodeName.substring(n+1);-1!==ch.indexOf(r)&&(i.nodeName=i.nodeName.substring(0,n),i.objectName=r)}if(null===i.propertyName||0===i.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return i}),findNode:function(t,e){if(!e||""===e||"root"===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){var i=t.skeleton.getBoneByName(e);if(void 0!==i)return i}if(t.children){var n=function(t){for(var i=0;i<t.length;i++){var r=t[i];if(r.name===e||r.uuid===e)return r;var a=n(r.children);if(a)return a}return null},r=n(t.children);if(r)return r}return null}}),Object.assign(yh.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(t,e){t[e]=this.node[this.propertyName]},function(t,e){for(var i=this.resolvedProperty,n=0,r=i.length;n!==r;++n)t[e++]=i[n]},function(t,e){t[e]=this.resolvedProperty[this.propertyIndex]},function(t,e){this.resolvedProperty.toArray(t,e)}],SetterByBindingTypeAndVersioning:[[function(t,e){this.targetObject[this.propertyName]=t[e]},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){for(var i=this.resolvedProperty,n=0,r=i.length;n!==r;++n)i[n]=t[e++]},function(t,e){for(var i=this.resolvedProperty,n=0,r=i.length;n!==r;++n)i[n]=t[e++];this.targetObject.needsUpdate=!0},function(t,e){for(var i=this.resolvedProperty,n=0,r=i.length;n!==r;++n)i[n]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty[this.propertyIndex]=t[e]},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty.fromArray(t,e)},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,i=e.objectName,n=e.propertyName,r=e.propertyIndex;if(t||(t=yh.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,t){if(i){var a=e.objectIndex;switch(i){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(var o=0;o<t.length;o++)if(t[o].name===a){a=o;break}break;default:if(void 0===t[i])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[i]}if(void 0!==a){if(void 0===t[a])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[a]}}var s=t[n];if(void 0!==s){var l=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?l=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(l=this.Versioning.MatrixWorldNeedsUpdate);var h=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===n){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.isBufferGeometry){if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);for(o=0;o<this.node.geometry.morphAttributes.position.length;o++)if(t.geometry.morphAttributes.position[o].name===r){r=o;break}}else{if(!t.geometry.morphTargets)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.",this);for(o=0;o<this.node.geometry.morphTargets.length;o++)if(t.geometry.morphTargets[o].name===r){r=o;break}}}h=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(h=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(h=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=n;this.getValue=this.GetterByBindingType[h],this.setValue=this.SetterByBindingTypeAndVersioning[h][l]}else{var c=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+c+"."+n+" but it wasn't found.",t)}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),//!\ DECLARE ALIAS AFTER assign prototype ! Object.assign(yh.prototype,{_getValue_unbound:yh.prototype.getValue,_setValue_unbound:yh.prototype.setValue}),Object.assign(xh.prototype,{isAnimationObjectGroup:!0,add:function(){for(var t=this._objects,e=t.length,i=this.nCachedObjects_,n=this._indicesByUUID,r=this._paths,a=this._parsedPaths,o=this._bindings,s=o.length,l=void 0,h=0,c=arguments.length;h!==c;++h){var u=arguments[h],p=u.uuid,d=n[p];if(void 0===d){d=e++,n[p]=d,t.push(u);for(var f=0,m=s;f!==m;++f)o[f].push(new yh(u,r[f],a[f]))}else if(d<i){l=t[d];var g=--i,v=t[g];n[v.uuid]=d,t[d]=v,n[p]=g,t[g]=u;for(f=0,m=s;f!==m;++f){var q=o[f],y=q[g],x=q[d];q[d]=y,void 0===x&&(x=new yh(u,r[f],a[f])),q[g]=x}}else t[d]!==l&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=i},remove:function(){for(var t=this._objects,e=this.nCachedObjects_,i=this._indicesByUUID,n=this._bindings,r=n.length,a=0,o=arguments.length;a!==o;++a){var s=arguments[a],l=s.uuid,h=i[l];if(void 0!==h&&h>=e){var c=e++,u=t[c];i[u.uuid]=h,t[h]=u,i[l]=c,t[c]=s;for(var p=0,d=r;p!==d;++p){var f=n[p],m=f[c],g=f[h];f[h]=m,f[c]=g}}}this.nCachedObjects_=e},uncache:function(){for(var t=this._objects,e=t.length,i=this.nCachedObjects_,n=this._indicesByUUID,r=this._bindings,a=r.length,o=0,s=arguments.length;o!==s;++o){var l=arguments[o].uuid,h=n[l];if(void 0!==h)if(delete n[l],h<i){var c=--i,u=t[c],p=t[v=--e];n[u.uuid]=h,t[h]=u,n[p.uuid]=c,t[c]=p,t.pop();for(var d=0,f=a;d!==f;++d){var m=(q=r[d])[c],g=q[v];q[h]=m,q[c]=g,q.pop()}}else{var v;n[(p=t[v=--e]).uuid]=h,t[h]=p,t.pop();for(d=0,f=a;d!==f;++d){var q;(q=r[d])[h]=q[v],q.pop()}}}this.nCachedObjects_=i},subscribe_:function(t,e){var i=this._bindingsIndicesByPath,n=i[t],r=this._bindings;if(void 0!==n)return r[n];var a=this._paths,o=this._parsedPaths,s=this._objects,l=s.length,h=this.nCachedObjects_,c=new Array(l);n=r.length,i[t]=n,a.push(t),o.push(e),r.push(c);for(var u=h,p=s.length;u!==p;++u){var d=s[u];c[u]=new yh(d,t,e)}return c},unsubscribe_:function(t){var e=this._bindingsIndicesByPath,i=e[t];if(void 0!==i){var n=this._paths,r=this._parsedPaths,a=this._bindings,o=a.length-1,s=a[o];e[t[o]]=i,a[i]=s,a.pop(),r[i]=r[o],r.pop(),n[i]=n[o],n.pop()}}}),Object.assign(_h.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(t){return this._startTime=t,this},setLoop:function(t,e){return this.loop=t,this.repetitions=e,this},setEffectiveWeight:function(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(t){return this._scheduleFading(t,0,1)},fadeOut:function(t){return this._scheduleFading(t,1,0)},crossFadeFrom:function(t,e,i){if(t.fadeOut(e),this.fadeIn(e),i){var n=this._clip.duration,r=t._clip.duration,a=r/n,o=n/r;t.warp(1,a,e),this.warp(o,1,e)}return this},crossFadeTo:function(t,e,i){return t.crossFadeFrom(this,e,i)},stopFading:function(){var t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},setEffectiveTimeScale:function(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(t){return this.timeScale=this._clip.duration/t,this.stopWarping()},syncWith:function(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()},halt:function(t){return this.warp(this._effectiveTimeScale,0,t)},warp:function(t,e,i){var n=this._mixer,r=n.time,a=this._timeScaleInterpolant,o=this.timeScale;null===a&&(a=n._lendControlInterpolant(),this._timeScaleInterpolant=a);var s=a.parameterPositions,l=a.sampleValues;return s[0]=r,s[1]=r+i,l[0]=t/o,l[1]=e/o,this},stopWarping:function(){var t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(t,e,i,n){if(this.enabled){var r=this._startTime;if(null!==r){var a=(t-r)*i;if(a<0||0===i)return;this._startTime=null,e=i*a}e*=this._updateTimeScale(t);var o=this._updateTime(e),s=this._updateWeight(t);if(s>0)for(var l=this._interpolants,h=this._propertyBindings,c=0,u=l.length;c!==u;++c)l[c].evaluate(o),h[c].accumulate(n,s)}else this._updateWeight(t)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var i=this._weightInterpolant;if(null!==i){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var i=this._timeScaleInterpolant;if(null!==i)e*=i.evaluate(t)[0],t>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}return this._effectiveTimeScale=e,e},_updateTime:function(t){var e=this.time+t,i=this._clip.duration,n=this.loop,r=this._loopCount,a=n===Ee;if(0===t)return-1===r?e:a&&1==(1&r)?i-e:e;if(n===Te){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(e>=i)e=i;else{if(!(e<0))break t;e=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,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,a)):this._setEndings(0===this.repetitions,!0,a)),e>=i||e<0){var o=Math.floor(e/i);e-=i*o,r+=Math.abs(o);var s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=t>0?i:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===s){var l=t<0;this._setEndings(l,!l,a)}else this._setEndings(!1,!1,a);this._loopCount=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:o})}}if(a&&1==(1&r))return this.time=e,i-e}return this.time=e,e},_setEndings:function(t,e,i){var n=this._interpolantSettings;i?(n.endingStart=Ce,n.endingEnd=Ce):(n.endingStart=t?this.zeroSlopeAtStart?Ce:Re:ze,n.endingEnd=e?this.zeroSlopeAtEnd?Ce:Re:ze)},_scheduleFading:function(t,e,i){var n=this._mixer,r=n.time,a=this._weightInterpolant;null===a&&(a=n._lendControlInterpolant(),this._weightInterpolant=a);var o=a.parameterPositions,s=a.sampleValues;return o[0]=r,s[0]=e,o[1]=r+t,s[1]=i,this}}),bh.prototype=Object.assign(Object.create(n.prototype),{constructor:bh,_bindAction:function(t,e){var i=t._localRoot||this._root,n=t._clip.tracks,r=n.length,a=t._propertyBindings,o=t._interpolants,s=i.uuid,l=this._bindingsByRootAndName,h=l[s];void 0===h&&(h={},l[s]=h);for(var c=0;c!==r;++c){var u=n[c],p=u.name,d=h[p];if(void 0!==d)a[c]=d;else{if(void 0!==(d=a[c])){null===d._cacheIndex&&(++d.referenceCount,this._addInactiveBinding(d,s,p));continue}var f=e&&e._propertyBindings[c].binding.parsedPath;++(d=new ih(yh.create(i,p,f),u.ValueTypeName,u.getValueSize())).referenceCount,this._addInactiveBinding(d,s,p),a[c]=d}o[c].resultBuffer=d.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){var e=(t._localRoot||this._root).uuid,i=t._clip.uuid,n=this._actionsByClip[i];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,i,e)}for(var r=t._propertyBindings,a=0,o=r.length;a!==o;++a){var s=r[a];0==s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var r=e[i];0==--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var 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:function(t){var e=t._cacheIndex;return null!==e&&e<this._nActiveActions},_addInactiveAction:function(t,e,i){var n=this._actions,r=this._actionsByClip,a=r[e];if(void 0===a)a={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=a;else{var o=a.knownActions;t._byClipCacheIndex=o.length,o.push(t)}t._cacheIndex=n.length,n.push(t),a.actionByRoot[i]=t},_removeInactiveAction:function(t){var e=this._actions,i=e[e.length-1],n=t._cacheIndex;i._cacheIndex=n,e[n]=i,e.pop(),t._cacheIndex=null;var r=t._clip.uuid,a=this._actionsByClip,o=a[r],s=o.knownActions,l=s[s.length-1],h=t._byClipCacheIndex;l._byClipCacheIndex=h,s[h]=l,s.pop(),t._byClipCacheIndex=null,delete o.actionByRoot[(t._localRoot||this._root).uuid],0===s.length&&delete a[r],this._removeInactiveBindingsForAction(t)},_removeInactiveBindingsForAction:function(t){for(var e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var r=e[i];0==--r.referenceCount&&this._removeInactiveBinding(r)}},_lendAction:function(t){var e=this._actions,i=t._cacheIndex,n=this._nActiveActions++,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r},_takeBackAction:function(t){var e=this._actions,i=t._cacheIndex,n=--this._nActiveActions,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r},_addInactiveBinding:function(t,e,i){var n=this._bindingsByRootAndName,r=n[e],a=this._bindings;void 0===r&&(r={},n[e]=r),r[i]=t,t._cacheIndex=a.length,a.push(t)},_removeInactiveBinding:function(t){var e=this._bindings,i=t.binding,n=i.rootNode.uuid,r=i.path,a=this._bindingsByRootAndName,o=a[n],s=e[e.length-1],l=t._cacheIndex;s._cacheIndex=l,e[l]=s,e.pop(),delete o[r];t:{for(var h in o)break t;delete a[n]}},_lendBinding:function(t){var e=this._bindings,i=t._cacheIndex,n=this._nActiveBindings++,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r},_takeBackBinding:function(t){var e=this._bindings,i=t._cacheIndex,n=--this._nActiveBindings,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r},_lendControlInterpolant:function(){var t=this._controlInterpolants,e=this._nActiveControlInterpolants++,i=t[e];return void 0===i&&((i=new fs(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer)).__cacheIndex=e,t[e]=i),i},_takeBackControlInterpolant:function(t){var e=this._controlInterpolants,i=t.__cacheIndex,n=--this._nActiveControlInterpolants,r=e[n];t.__cacheIndex=n,e[n]=t,r.__cacheIndex=i,e[i]=r},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(t,e){var i=e||this._root,n=i.uuid,r="string"==typeof t?Ms.findByName(i,t):t,a=null!==r?r.uuid:t,o=this._actionsByClip[a],s=null;if(void 0!==o){var l=o.actionByRoot[n];if(void 0!==l)return l;s=o.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var h=new _h(this,r,e);return this._bindAction(h,s),this._addInactiveAction(h,a,n),h},existingAction:function(t,e){var i=e||this._root,n=i.uuid,r="string"==typeof t?Ms.findByName(i,t):t,a=r?r.uuid:t,o=this._actionsByClip[a];return void 0!==o&&o.actionByRoot[n]||null},stopAllAction:function(){var t=this._actions,e=this._nActiveActions,i=this._bindings,n=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==e;++r)t[r].reset();for(r=0;r!==n;++r)i[r].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,i=this._nActiveActions,n=this.time+=t,r=Math.sign(t),a=this._accuIndex^=1,o=0;o!==i;++o){e[o]._update(n,t,r,a)}var s=this._bindings,l=this._nActiveBindings;for(o=0;o!==l;++o)s[o].apply(a);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions,i=t.uuid,n=this._actionsByClip,r=n[i];if(void 0!==r){for(var a=r.knownActions,o=0,s=a.length;o!==s;++o){var l=a[o];this._deactivateAction(l);var h=l._cacheIndex,c=e[e.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,c._cacheIndex=h,e[h]=c,e.pop(),this._removeInactiveBindingsForAction(l)}delete n[i]}},uncacheRoot:function(t){var e=t.uuid,i=this._actionsByClip;for(var n in i){var r=i[n].actionByRoot[e];void 0!==r&&(this._deactivateAction(r),this._removeInactiveAction(r))}var a=this._bindingsByRootAndName[e];if(void 0!==a)for(var o in a){var s=a[o];s.restoreOriginalState(),this._removeInactiveBinding(s)}},uncacheAction:function(t,e){var i=this.existingAction(t,e);null!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}}),wh.prototype.clone=function(){return new wh(void 0===this.value.clone?this.value:this.value.clone())},Mh.prototype=Object.assign(Object.create(en.prototype),{constructor:Mh,isInstancedBufferGeometry:!0,copy:function(t){return en.prototype.copy.call(this,t),this.maxInstancedCount=t.maxInstancedCount,this},clone:function(){return(new this.constructor).copy(this)}}),Th.prototype=Object.assign(Object.create(ba.prototype),{constructor:Th,isInstancedInterleavedBuffer:!0,copy:function(t){return ba.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Sh.prototype=Object.assign(Object.create(Gi.prototype),{constructor:Sh,isInstancedBufferAttribute:!0,copy:function(t){return Gi.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Object.assign(Eh.prototype,{linePrecision:1,set:function(t,e){this.ray.set(t,e)},setFromCamera:function(t,e){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()):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)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(t,e,i){var n=i||[];return Ph(t,this,n,e),n.sort(Ah),n},intersectObjects:function(t,e,i){var n=i||[];if(!1===Array.isArray(t))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),n;for(var r=0,a=t.length;r<a;r++)Ph(t[r],this,n,e);return n.sort(Ah),n}}),Object.assign(Lh.prototype,{set:function(t,e,i){return this.radius=t,this.phi=e,this.theta=i,this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this},makeSafe:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,i){return this.radius=Math.sqrt(t*t+e*e+i*i),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,i),this.phi=Math.acos(Ze.clamp(e/this.radius,-1,1))),this}}),Object.assign(Rh.prototype,{set:function(t,e,i){return this.radius=t,this.theta=e,this.y=i,this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,i){return this.radius=Math.sqrt(t*t+i*i),this.theta=Math.atan2(t,i),this.y=e,this}}),Object.assign(Ch.prototype,{set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new Je;return function(e,i){var n=t.copy(i).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(t){return void 0===t&&(console.warn("THREE.Box2: .getCenter() target is now required"),t=new Je),this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(console.warn("THREE.Box2: .getSize() target is now required"),t=new Je),this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},containsBox:function(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:function(t,e){return void 0===e&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new Je),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:function(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:function(t,e){return void 0===e&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new Je),e.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new Je;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(zh.prototype,{set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},getCenter:function(t){return void 0===t&&(console.warn("THREE.Line3: .getCenter() target is now required"),t=new $e),t.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){return void 0===t&&(console.warn("THREE.Line3: .delta() target is now required"),t=new $e),t.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){return void 0===e&&(console.warn("THREE.Line3: .at() target is now required"),e=new $e),this.delta(e).multiplyScalar(t).add(this.start)},closestPointToPointParameter:(ph=new $e,dh=new $e,function(t,e){ph.subVectors(t,this.start),dh.subVectors(this.end,this.start);var i=dh.dot(dh),n=dh.dot(ph)/i;return e&&(n=Ze.clamp(n,0,1)),n}),closestPointToPoint:function(t,e,i){var n=this.closestPointToPointParameter(t,e);return void 0===i&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),i=new $e),this.delta(i).multiplyScalar(n).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}),Oh.prototype=Object.create(Ni.prototype),Oh.prototype.constructor=Oh,Oh.prototype.isImmediateRenderObject=!0,Dh.prototype=Object.create(Ca.prototype),Dh.prototype.constructor=Dh,Dh.prototype.update=function(){var t=new $e,e=new $e,i=new ti;return function(){var n=["a","b","c"];this.object.updateMatrixWorld(!0),i.getNormalMatrix(this.object.matrixWorld);var r=this.object.matrixWorld,a=this.geometry.attributes.position,o=this.object.geometry;if(o&&o.isGeometry)for(var s=o.vertices,l=o.faces,h=0,c=0,u=l.length;c<u;c++)for(var p=l[c],d=0,f=p.vertexNormals.length;d<f;d++){var m=s[p[n[d]]],g=p.vertexNormals[d];t.copy(m).applyMatrix4(r),e.copy(g).applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),a.setXYZ(h,t.x,t.y,t.z),h+=1,a.setXYZ(h,e.x,e.y,e.z),h+=1}else if(o&&o.isBufferGeometry){var v=o.attributes.position,q=o.attributes.normal;for(h=0,d=0,f=v.count;d<f;d++)t.set(v.getX(d),v.getY(d),v.getZ(d)).applyMatrix4(r),e.set(q.getX(d),q.getY(d),q.getZ(d)),e.applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),a.setXYZ(h,t.x,t.y,t.z),h+=1,a.setXYZ(h,e.x,e.y,e.z),h+=1}a.needsUpdate=!0}}(),Ih.prototype=Object.create(Ni.prototype),Ih.prototype.constructor=Ih,Ih.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},Ih.prototype.update=function(){var t=new $e,e=new $e;return function(){this.light.updateMatrixWorld();var i=this.light.distance?this.light.distance:1e3,n=i*Math.tan(this.light.angle);this.cone.scale.set(n,n,i),t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(e.sub(t)),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}(),Nh.prototype=Object.create(Ca.prototype),Nh.prototype.constructor=Nh,Nh.prototype.updateMatrixWorld=function(){var t=new $e,e=new Qe,i=new Qe;return function(n){var r=this.bones,a=this.geometry,o=a.getAttribute("position");i.getInverse(this.root.matrixWorld);for(var s=0,l=0;s<r.length;s++){var h=r[s];h.parent&&h.parent.isBone&&(e.multiplyMatrices(i,h.matrixWorld),t.setFromMatrixPosition(e),o.setXYZ(l,t.x,t.y,t.z),e.multiplyMatrices(i,h.parent.matrixWorld),t.setFromMatrixPosition(e),o.setXYZ(l+1,t.x,t.y,t.z),l+=2)}a.getAttribute("position").needsUpdate=!0,Ni.prototype.updateMatrixWorld.call(this,n)}}(),Bh.prototype=Object.create(Tn.prototype),Bh.prototype.constructor=Bh,Bh.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},Bh.prototype.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)},Uh.prototype=Object.create(Ni.prototype),Uh.prototype.constructor=Uh,Uh.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},Uh.prototype.update=function(){var t=.5*this.light.width,e=.5*this.light.height,i=this.line.geometry.attributes.position,n=i.array;n[0]=t,n[1]=-e,n[2]=0,n[3]=t,n[4]=e,n[5]=0,n[6]=-t,n[7]=e,n[8]=0,n[9]=-t,n[10]=-e,n[11]=0,n[12]=t,n[13]=-e,n[14]=0,i.needsUpdate=!0,void 0!==this.color?this.line.material.color.set(this.color):this.line.material.color.copy(this.light.color)},Fh.prototype=Object.create(Ni.prototype),Fh.prototype.constructor=Fh,Fh.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},Fh.prototype.update=function(){var t=new $e,e=new wi,i=new wi;return function(){var n=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var r=n.geometry.getAttribute("color");e.copy(this.light.color),i.copy(this.light.groundColor);for(var a=0,o=r.count;a<o;a++){var s=a<o/2?e:i;r.setXYZ(a,s.r,s.g,s.b)}r.needsUpdate=!0}n.lookAt(t.setFromMatrixPosition(this.light.matrixWorld).negate())}}(),kh.prototype=Object.create(Ca.prototype),kh.prototype.constructor=kh,Gh.prototype=Object.create(Ca.prototype),Gh.prototype.constructor=Gh,Hh.prototype=Object.create(Ca.prototype),Hh.prototype.constructor=Hh,Hh.prototype.update=function(){var t=new $e,e=new $e,i=new ti;return function(){this.object.updateMatrixWorld(!0),i.getNormalMatrix(this.object.matrixWorld);for(var n=this.object.matrixWorld,r=this.geometry.attributes.position,a=this.object.geometry,o=a.vertices,s=a.faces,l=0,h=0,c=s.length;h<c;h++){var u=s[h],p=u.normal;t.copy(o[u.a]).add(o[u.b]).add(o[u.c]).divideScalar(3).applyMatrix4(n),e.copy(p).applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),r.setXYZ(l,t.x,t.y,t.z),l+=1,r.setXYZ(l,e.x,e.y,e.z),l+=1}r.needsUpdate=!0}}(),Vh.prototype=Object.create(Ni.prototype),Vh.prototype.constructor=Vh,Vh.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},Vh.prototype.update=function(){var t=new $e,e=new $e,i=new $e;return function(){t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),i.subVectors(e,t),this.lightPlane.lookAt(i),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(i),this.targetLine.scale.z=i.length()}}(),jh.prototype=Object.create(Ca.prototype),jh.prototype.constructor=jh,jh.prototype.update=function(){var t,e,i=new $e,n=new ra;function r(r,a,o,s){i.set(a,o,s).unproject(n);var l=e[r];if(void 0!==l)for(var h=t.getAttribute("position"),c=0,u=l.length;c<u;c++)h.setXYZ(l[c],i.x,i.y,i.z)}return function(){t=this.geometry,e=this.pointMap;n.projectionMatrix.copy(this.camera.projectionMatrix),r("c",0,0,-1),r("t",0,0,1),r("n1",-1,-1,-1),r("n2",1,-1,-1),r("n3",-1,1,-1),r("n4",1,1,-1),r("f1",-1,-1,1),r("f2",1,-1,1),r("f3",-1,1,1),r("f4",1,1,1),r("u1",.7,1.1,-1),r("u2",-.7,1.1,-1),r("u3",0,2,-1),r("cf1",-1,0,1),r("cf2",1,0,1),r("cf3",0,-1,1),r("cf4",0,1,1),r("cn1",-1,0,-1),r("cn2",1,0,-1),r("cn3",0,-1,-1),r("cn4",0,1,-1),t.getAttribute("position").needsUpdate=!0}}(),Wh.prototype=Object.create(Ca.prototype),Wh.prototype.constructor=Wh,Wh.prototype.update=function(){var t=new di;return function(e){if(void 0!==e&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&t.setFromObject(this.object),!t.isEmpty()){var i=t.min,n=t.max,r=this.geometry.attributes.position,a=r.array;a[0]=n.x,a[1]=n.y,a[2]=n.z,a[3]=i.x,a[4]=n.y,a[5]=n.z,a[6]=i.x,a[7]=i.y,a[8]=n.z,a[9]=n.x,a[10]=i.y,a[11]=n.z,a[12]=n.x,a[13]=n.y,a[14]=i.z,a[15]=i.x,a[16]=n.y,a[17]=i.z,a[18]=i.x,a[19]=i.y,a[20]=i.z,a[21]=n.x,a[22]=i.y,a[23]=i.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),Wh.prototype.setFromObject=function(t){return this.object=t,this.update(),this},Wh.prototype.copy=function(t){return Ca.prototype.copy.call(this,t),this.object=t.object,this},Wh.prototype.clone=function(){return(new this.constructor).copy(this)},Xh.prototype=Object.create(Ca.prototype),Xh.prototype.constructor=Xh,Xh.prototype.updateMatrixWorld=function(t){var e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),Ni.prototype.updateMatrixWorld.call(this,t))},Yh.prototype=Object.create(Ra.prototype),Yh.prototype.constructor=Yh,Yh.prototype.updateMatrixWorld=function(t){var e=-this.plane.constant;Math.abs(e)<1e-8&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=e<0?E:S,this.lookAt(this.plane.normal),Ni.prototype.updateMatrixWorld.call(this,t)},Zh.prototype=Object.create(Ni.prototype),Zh.prototype.constructor=Zh,Zh.prototype.setDirection=(vh=new $e,function(t){t.y>.99999?this.quaternion.set(0,0,0,1):t.y<-.99999?this.quaternion.set(1,0,0,0):(vh.set(t.z,0,-t.x).normalize(),gh=Math.acos(t.y),this.quaternion.setFromAxisAngle(vh,gh))}),Zh.prototype.setLength=function(t,e,i){void 0===e&&(e=.2*t),void 0===i&&(i=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()},Zh.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},Zh.prototype.copy=function(t){return Ni.prototype.copy.call(this,t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this},Zh.prototype.clone=function(){return(new this.constructor).copy(this)},Jh.prototype=Object.create(Ca.prototype),Jh.prototype.constructor=Jh;var Kh=0,$h=1;function tc(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function ec(t){return void 0===t&&(t=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function ic(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Da(t,e)}function nc(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Ta(t)}function rc(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Da(t,e)}function ac(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Oa(t)}function oc(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Oa(t)}function sc(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Oa(t)}function lc(t,e,i){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new $e(t,e,i)}function hc(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead."),new Gi(t,e).setDynamic(!0)}function cc(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new Hi(t,e)}function uc(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new Vi(t,e)}function pc(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new ji(t,e)}function dc(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Wi(t,e)}function fc(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Xi(t,e)}function mc(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new Yi(t,e)}function gc(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Zi(t,e)}function vc(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Ji(t,e)}function qc(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Qi(t,e)}function yc(t){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),js.call(this,t),this.type="catmullrom",this.closed=!0}function xc(t){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),js.call(this,t),this.type="catmullrom"}function _c(t){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),js.call(this,t),this.type="catmullrom"}function bc(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Jh(t)}function wc(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Wh(t,e)}function Mc(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Ca(new Wo(t.geometry),new La({color:void 0!==e?e:16777215}))}function Tc(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Ca(new Fa(t.geometry),new La({color:void 0!==e?e:16777215}))}function Sc(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Ls(t)}function Ec(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new zs(t)}Ns.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Ns.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Object.assign(nl.prototype,{createPointsGeometry:function(t){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var e=new ki,i=0,n=t.length;i<n;i++){var r=t[i];e.vertices.push(new $e(r.x,r.y,r.z||0))}return e}}),Object.assign(rl.prototype,{fromPoints:function(t){console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)}}),yc.prototype=Object.create(js.prototype),xc.prototype=Object.create(js.prototype),_c.prototype=Object.create(js.prototype),Object.assign(_c.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),kh.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},Nh.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(Tl.prototype,{extractUrlBase:function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),ql.extractUrlBase(t)}}),Object.assign(Sl.prototype,{setTexturePath:function(t){return console.warn("THREE.JSONLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}}),Object.assign(El.prototype,{setTexturePath:function(t){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}}),Object.assign(Ch.prototype,{center:function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},size:function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)}}),Object.assign(di.prototype,{center:function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionSphere:function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},size:function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)}}),zh.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Object.assign(Ze,{random16:function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},nearestPowerOfTwo:function(t){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),Ze.floorPowerOfTwo(t)},nextPowerOfTwo:function(t){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),Ze.ceilPowerOfTwo(t)}}),Object.assign(ti.prototype,{flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},multiplyVector3:function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBuffer:function(t){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(Qe.prototype,{extractPosition:function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},getPosition:function(){var t;return function(){return void 0===t&&(t=new $e),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),t.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector4:function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},crossVector:function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(t){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(t,e,i,n,r,a){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,n,i,r,a)}}),mi.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},Ke.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},Object.assign(bn.prototype,{isIntersectionBox:function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionPlane:function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},isIntersectionSphere:function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)}}),Object.assign(wn.prototype,{area:function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},barycoordFromPoint:function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},midpoint:function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},normal:function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},plane:function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)}}),Object.assign(wn,{barycoordFromPoint:function(t,e,i,n,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),wn.getBarycoord(t,e,i,n,r)},normal:function(t,e,i,n){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),wn.getNormal(t,e,i,n)}}),Object.assign(al.prototype,{extractAllPoints:function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},extrude:function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Ro(this,t)},makeGeometry:function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new Ho(this,t)}}),Object.assign(Je.prototype,{fromAttribute:function(t,e,i){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,i)},distanceToManhattan:function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},lengthManhattan:function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign($e.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},getScaleFromMatrix:function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},getColumnFromMatrix:function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},applyProjection:function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},fromAttribute:function(t,e,i){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,i)},distanceToManhattan:function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},lengthManhattan:function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(hi.prototype,{fromAttribute:function(t,e,i){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,i)},lengthManhattan:function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(ki.prototype,{computeTangents:function(){console.error("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}}),Object.assign(Ni.prototype,{getChildByName:function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")}}),Object.defineProperties(Ni.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.defineProperties(Sa.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(Ea.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Object.defineProperty(Ns.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(t){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=t}}),aa.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(ol.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(Gi.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")}}),Object.assign(en.prototype,{addIndex:function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},addDrawCall:function(t,e,i){void 0!==i&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(en.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.assign(Co.prototype,{getArrays:function(){console.error("THREE.ExtrudeBufferGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeBufferGeometry: .addShape() has been removed.")}}),Object.defineProperties(wh.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(xn.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new wi}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=t===P}}}),Object.defineProperties(rs.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(_n.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Object.assign(qa.prototype,{clearTarget:function(t,e,i,n){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,i,n)},animate:function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},getMaxAnisotropy:function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},getPrecision:function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},resetGLState:function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")}}),Object.defineProperties(qa.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties($r.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(ci.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Object.defineProperties(ga.prototype,{standing:{set:function(){console.warn("THREE.WebVRManager: .standing has been removed.")}},userHeight:{set:function(){console.warn("THREE.WebVRManager: .userHeight has been removed.")}}}),$l.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var e=this;return(new Yl).load(t,function(t){e.setBuffer(t)}),this},eh.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Jl.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)};var Ac={merge:function(t,e,i){var n;console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead."),e.isMesh&&(e.matrixAutoUpdate&&e.updateMatrix(),n=e.matrix,e=e.geometry),t.merge(e,n,i)},center:function(t){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),t.center()}};function Pc(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js."),this.projectVector=function(t,e){console.warn("THREE.Projector: .projectVector() is now vector.project()."),t.project(e)},this.unprojectVector=function(t,e){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject()."),t.unproject(e)},this.pickingRay=function(){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}}function Lc(){console.error("THREE.CanvasRenderer has been removed")}oi.crossOrigin=void 0,oi.loadTexture=function(t,e,i,n){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var r=new Is;r.setCrossOrigin(this.crossOrigin);var a=r.load(t,i,void 0,n);return e&&(a.mapping=e),a},oi.loadTextureCube=function(t,e,i,n){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var r=new Ds;r.setCrossOrigin(this.crossOrigin);var a=r.load(t,i,void 0,n);return e&&(a.mapping=e),a},oi.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},oi.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};var Rc={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")}};function Cc(){console.error("THREE.LensFlare has been moved to /examples/js/objects/Lensflare.js")}},function(t,e,i){"use strict";e.a=function(t,e){return Math.random()*(e-t)+t}},function(t,e,i){"use strict";i.d(e,"a",function(){return n});const n={SKIP:0,ADD:1,ALPHA:2,AVERAGE:3,COLOR_BURN:4,COLOR_DODGE:5,DARKEN:6,DIFFERENCE:7,EXCLUSION:8,LIGHTEN:9,MULTIPLY:10,NEGATION:11,NORMAL:12,OVERLAY:13,REFLECT:14,SCREEN:15,SOFT_LIGHT:16,SUBTRACT:17}},function(t,e,i){"use strict";var n=function(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0};i(14);function r(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.demos=document.querySelectorAll(".frame__demo"),this.isMobile=n()}var e,i,a;return e=t,(i=[{key:"onHide",value:function(t){this.demos.forEach(function(e){e.addEventListener("click",function(e){e.preventDefault(),e.target.classList.contains(".frame__demo--current")||t(function(){window.location=e.target.href})})})}}])&&r(e.prototype,i),a&&r(e,a),t}();e.a=new a},function(t,e,i){"use strict";i.d(e,"a",function(){return r});var n=i(1);class r{constructor(t="Pass",e=new n.Scene,i=new n.OrthographicCamera(-1,1,1,-1,0,1)){this.name=t,this.scene=e,this.camera=i,this.quad=null,this.needsSwap=!0,this.needsDepthTexture=!1,this.renderToScreen=!1,this.enabled=!0}getFullscreenMaterial(){return null!==this.quad?this.quad.material:null}setFullscreenMaterial(t){let e=this.quad;null!==e?e.material=t:((e=new n.Mesh(new n.PlaneBufferGeometry(2,2),t)).frustumCulled=!1,null!==this.scene&&(this.scene.add(e),this.quad=e))}getDepthTexture(){return null}setDepthTexture(t,e=0){}render(t,e,i,n,r){throw new Error("Render method not implemented!")}setSize(t,e){}initialize(t,e){}dispose(){const t=this.getFullscreenMaterial();null!==t&&t.dispose();for(const t of Object.keys(this))null!==this[t]&&"function"==typeof this[t].dispose&&(this[t].dispose(),this[t]=null)}}},function(t,e,i){"use strict";i.d(e,"a",function(){return a});var n=i(1);function r(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.backgroundColor,o=r.z,s=void 0===o?10:o;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.width=e,this.height=i,this.meshCount=0,this.meshListeners=[],this.devicePixelRatio=window.devicePixelRatio?Math.min(1.6,window.devicePixelRatio):1,this.renderer=new n.WebGLRenderer({antialias:!0,alpha:!0}),this.renderer.setPixelRatio(this.devicePixelRatio),void 0!==a&&this.renderer.setClearColor(new n.Color(a)),this.scene=new n.Scene,this.camera=new n.PerspectiveCamera(50,this.width/this.height,1,1e3),this.camera.position.set(0,0,s),this.dom=this.renderer.domElement,this.update=this.update.bind(this),this.resize=this.resize.bind(this)}var e,i,a;return e=t,(i=[{key:"add",value:function(t){this.scene.add(t),t.update&&(this.meshListeners.push(t.update),this.meshCount++)}},{key:"remove",value:function(t){if(this.scene.remove(t),t.update){var e=this.meshListeners.indexOf(t.update);e>-1&&this.meshListeners.splice(e,1),this.meshCount--}}},{key:"start",value:function(){this.update()}},{key:"update",value:function(){for(var t=this.meshCount;--t>=0;)this.meshListeners[t].apply(this,null);this.render(),requestAnimationFrame(this.update)}},{key:"render",value:function(){this.renderer.render(this.scene,this.camera)}},{key:"resize",value:function(t,e){this.width=t,this.height=e,this.camera.aspect=this.width/this.height,this.camera.updateProjectionMatrix(),this.resizeRender()}},{key:"resizeRender",value:function(){this.renderer.setSize(this.width,this.height)}}])&&r(e.prototype,i),a&&r(e,a),t}()},function(t,e,i){"use strict";var n=i(1),r=i(4);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,e,i){return(s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,i){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=l(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(i):r.value}})(t,e,i||t)}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}e.a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{x:5,y:5},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new n.Vector3;return function(u){return function(p){function d(o){var s,h,u;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,d),h=this,(s=!(u=l(d).call(this,o))||"object"!==a(u)&&"function"!=typeof u?c(h):u).cameraAmpl=t,s.cameraVelocity=e,s.lookAt=i,s.mousePosition={x:0,y:0},s.normalizedOrientation=new n.Vector3,s.update=s.update.bind(c(c(s))),s.handleMouseMove=s.handleMouseMove.bind(c(c(s))),s.handleOrientationMove=s.handleOrientationMove.bind(c(c(s))),r.a.isMobile?window.addEventListener("deviceorientation",s.handleOrientationMove):window.addEventListener("mousemove",s.handleMouseMove),s}var f,m,g;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(d,u),f=d,(m=[{key:"handleMouseMove",value:function(t){this.mousePosition.x=t.clientX||t.touches&&t.touches[0].clientX||this.mousePosition.x,this.mousePosition.y=t.clientY||t.touches&&t.touches[0].clientY||this.mousePosition.y,this.normalizedOrientation.set(-(this.mousePosition.x/this.width-.5)*this.cameraAmpl.x,(this.mousePosition.y/this.height-.5)*this.cameraAmpl.y,.5)}},{key:"handleOrientationMove",value:function(t){var e=Math.atan2(t.gamma,t.beta);Math.abs(e)>1.5||(this.normalizedOrientation.x=-e*this.cameraAmpl.y)}},{key:"update",value:function(){s(l(d.prototype),"update",this).call(this),this.camera.position.x+=(this.normalizedOrientation.x-this.camera.position.x)*this.cameraVelocity,this.camera.position.y+=(this.normalizedOrientation.y-this.camera.position.y)*this.cameraVelocity,this.camera.lookAt(this.lookAt)}}])&&o(f.prototype,m),g&&o(f,g),d}()}}},function(t,e,i){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,e,i){return(a="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,i){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=o(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(i):r.value}})(t,e,i||t)}function o(t){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}e.a=function(t){return function(e){function i(t){var e,r,a;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),r=this,(e=!(a=o(i).call(this,window.innerWidth,window.innerHeight,t))||"object"!==n(a)&&"function"!=typeof a?l(r):a).dom.style.position="absolute",e.dom.style.top="0",e.dom.style.left="0",e.dom.style.zIndex="-1",document.body.appendChild(e.dom),e.resize=e.resize.bind(l(l(e))),window.addEventListener("resize",e.resize),window.addEventListener("orientationchange",e.resize),e.resize(),e}var h,c,u;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(i,t),h=i,(c=[{key:"resize",value:function(){a(o(i.prototype),"resize",this).call(this,window.innerWidth,window.innerHeight)}}])&&r(h.prototype,c),u&&r(h,u),i}()}},function(t,e,i){"use strict";var n=i(1),r=i(17),a=i(2);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var u=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=i.width,h=void 0===s?.1:s,u=i.speed,p=void 0===u?.01:u,d=i.visibleLength,f=void 0===d?.5:d,m=i.color,g=void 0===m?new n.Color("#000000"):m,v=i.opacity,q=void 0===v?1:v,y=i.position,x=void 0===y?new n.Vector3(0,0,0):y,_=i.points,b=void 0!==_&&_,w=i.length,M=void 0===w?2:w,T=i.nbrOfPoints,S=void 0===T?3:T,E=i.orientation,A=void 0===E?new n.Vector3(1,0,0):E,P=i.turbulence,L=void 0===P?new n.Vector3(0,0,0):P,R=i.transformLineMethod,C=void 0!==R&&R;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var z=[];if(b)z=b;else{var O=new n.Vector3,D=A.normalize().multiplyScalar(M/S);z.push(O.clone());for(var I=0;I<S-1;I++)O.add(D),z.push(O.clone().set(O.x+Object(a.a)(-L.x,L.x),O.y+Object(a.a)(-L.y,L.y),O.z+Object(a.a)(-L.z,L.z)));z.push(O.add(D).clone());var N=new n.SplineCurve(z);z=(new n.Geometry).setFromPoints(N.getPoints(50))}var B=new r.MeshLine;B.setGeometry(z,C);var U,F,k=B.geometry,G=1-.5*f,H=new r.MeshLineMaterial({lineWidth:h,dashArray:2,dashOffset:0,dashRatio:G,opacity:q,transparent:!0,depthWrite:!1,color:g});return U=this,(t=!(F=l(e).call(this,k,H))||"object"!==o(F)&&"function"!=typeof F?c(U):F).position.copy(x),t.speed=p,t.voidLength=2*G,t.dashLength=2-t.voidLength,t.dyingAt=1,t.diedAt=t.dyingAt+t.dashLength,t.update=t.update.bind(c(c(t))),t}var i,u,p;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(e,n["Mesh"]),i=e,(u=[{key:"update",value:function(){this.material.uniforms.dashOffset.value-=this.speed,this.isDying()&&(this.material.uniforms.opacity.value=.9+(this.material.uniforms.dashOffset.value+1)/this.dashLength)}},{key:"isDied",value:function(){return this.material.uniforms.dashOffset.value<-this.diedAt}},{key:"isDying",value:function(){return this.material.uniforms.dashOffset.value<-this.dyingAt}}])&&s(i.prototype,u),p&&s(i,p),e}();function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){return(m=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function g(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}i.d(e,"a",function(){return v});var v=function(t){function e(){var t,i,n,r=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).frequency,a=void 0===r?.1:r,o=arguments.length>1?arguments[1]:void 0;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),i=this,(t=!(n=f(e).call(this))||"object"!==p(n)&&"function"!=typeof n?g(i):n).frequency=a,t.lineStaticProps=o,t.isStarted=!1,t.i=0,t.lines=[],t.nbrOfLines=-1,t.update=t.update.bind(g(g(t))),t.start=t.start.bind(g(g(t))),t.start=t.start.bind(g(g(t))),t.stop=t.stop.bind(g(g(t))),t}var i,r,a;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&m(t,e)}(e,n["Object3D"]),i=e,(r=[{key:"start",value:function(){this.isStarted=!0}},{key:"stop",value:function(t){this.isStarted=!1}},{key:"addLine",value:function(t){var e=new u(Object.assign({},this.lineStaticProps,t));return this.lines.push(e),this.add(e),this.nbrOfLines++,e}},{key:"removeLine",value:function(t){this.remove(t),this.nbrOfLines--}},{key:"update",value:function(){for(this.isStarted&&Math.random()<this.frequency&&this.addLine(),this.i=this.nbrOfLines;this.i>=0;this.i--)this.lines[this.i].update();var t=[];for(this.i=this.nbrOfLines;this.i>=0;this.i--)this.lines[this.i].isDied()?this.removeLine(this.lines[this.i]):t.push(this.lines[this.i]);this.lines=t}}])&&d(i.prototype,r),a&&d(i,a),e}()},function(t,e,i){"use strict";var n=i(1),r=i(13);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}i.d(e,"a",function(){return p});var u=(new n.FontLoader).parse({glyphs:{0:{ha:863,x_min:84,x_max:779,o:"m 431 -16 q 175 125 267 -16 q 84 503 84 266 q 174 874 84 742 q 433 1006 264 1006 q 689 871 599 1006 q 779 503 779 736 q 740 232 779 347 q 622 50 701 116 q 431 -16 543 -16 m 434 132 q 603 502 603 132 q 594 635 603 574 q 567 748 585 696 q 514 829 548 800 q 435 859 481 859 q 351 829 387 859 q 297 748 316 800 q 269 635 278 696 q 260 501 260 574 q 269 353 260 417 q 297 237 278 288 q 351 159 317 186 q 434 132 386 132 z "},1:{ha:863,x_min:176,x_max:723,o:"m 199 0 l 199 137 l 373 137 l 373 812 q 176 735 276 767 l 176 891 q 393 987 275 923 l 545 987 l 545 134 l 723 134 l 723 0 l 199 0 z "},2:{ha:863,x_min:85,x_max:708,o:"m 407 1004 q 626 922 543 1004 q 708 684 708 839 q 702 620 708 651 q 689 565 696 589 q 666 513 682 541 q 639 469 650 486 q 606 425 629 452 q 572 387 583 399 q 536 348 562 375 l 339 141 l 701 141 l 701 0 l 128 0 l 128 124 l 414 441 q 461 495 448 480 q 495 537 474 509 q 524 583 517 566 q 538 624 532 600 q 545 675 545 648 q 540 729 545 694 q 520 792 534 766 q 486 832 506 819 q 443 852 466 846 q 392 859 420 859 q 353 856 373 859 q 313 847 332 852 q 275 836 294 842 q 240 822 256 829 q 209 808 224 815 q 182 794 193 801 q 161 783 170 788 q 148 774 153 778 l 143 772 l 85 907 q 101 917 91 911 q 144 941 111 924 q 212 970 177 958 q 300 994 247 983 q 407 1004 354 1004 z "},3:{ha:863,x_min:101,x_max:750,o:"m 422 -16 q 313 -7 366 -16 q 226 14 260 1 q 164 38 191 26 q 125 60 138 51 l 113 68 l 165 197 q 201 178 176 191 q 284 149 227 165 q 393 132 341 132 q 533 173 484 132 q 582 288 582 215 q 516 403 582 365 q 332 441 450 441 l 311 441 l 267 440 l 266 586 l 315 586 q 500 621 446 586 q 554 744 554 655 q 503 828 554 798 q 386 859 452 859 q 325 853 354 859 q 272 838 296 848 q 233 820 248 828 q 200 801 218 812 q 178 787 182 789 l 101 911 q 242 985 180 964 q 409 1006 303 1006 q 527 989 471 1006 q 628 942 583 973 q 700 861 673 911 q 727 748 727 811 q 709 649 727 696 q 648 565 691 602 q 543 519 605 528 q 695 435 640 501 q 750 280 750 369 q 723 156 750 212 q 651 62 696 99 q 547 5 606 25 q 422 -16 488 -16 m 165 197 l 165 197 l 165 197 z "},4:{ha:863,x_min:73,x_max:818,o:"m 264 393 l 494 393 l 494 769 q 264 393 479 745 m 491 0 l 491 258 l 73 258 l 73 387 l 469 987 l 663 987 l 663 393 l 818 393 l 818 258 l 666 258 l 666 0 l 491 0 z "},5:{ha:863,x_min:109,x_max:778,o:"m 422 -16 q 254 19 336 -16 q 109 120 172 54 l 199 249 q 304 162 246 192 q 418 132 363 132 q 547 181 494 132 q 600 322 600 231 q 565 447 600 395 q 469 498 529 498 q 356 454 387 498 l 184 477 l 184 987 l 733 987 l 733 840 l 336 840 l 328 587 q 504 651 376 651 q 697 555 616 651 q 778 319 778 460 q 758 199 778 254 q 704 104 738 143 q 624 38 669 65 q 527 -3 578 10 q 422 -16 475 -16 z "},6:{ha:863,x_min:103,x_max:802,o:"m 461 132 q 580 185 534 132 q 625 321 625 239 q 585 458 625 404 q 471 511 545 511 q 342 457 390 511 q 294 318 294 404 q 309 240 294 276 q 349 180 324 203 q 402 144 373 157 q 461 132 431 132 m 466 -16 q 264 46 347 -16 q 142 217 182 108 q 103 473 103 326 q 129 680 103 584 q 204 849 155 776 q 330 964 254 922 q 502 1006 407 1006 q 753 918 658 1006 l 696 789 q 503 859 608 859 q 350 770 410 859 q 284 549 290 682 q 481 652 357 652 q 715 563 628 652 q 802 323 802 474 q 710 80 802 175 q 466 -16 618 -16 z "},7:{ha:863,x_min:98,x_max:785,o:"m 212 0 l 586 846 l 98 846 l 98 987 l 785 987 l 785 856 l 397 0 l 212 0 z "},8:{ha:864,x_min:94,x_max:767,o:"m 430 582 q 534 643 497 602 q 572 743 572 684 q 531 824 572 794 q 429 854 490 854 q 326 824 363 854 q 288 734 288 794 q 325 640 288 680 q 430 582 363 600 m 431 135 q 550 171 507 135 q 593 280 593 207 q 547 389 593 338 q 435 457 501 439 q 316 392 362 441 q 270 277 270 343 q 313 172 270 209 q 431 135 356 135 m 433 -16 q 260 17 336 -16 q 139 115 184 50 q 94 268 94 180 q 139 415 94 350 q 262 518 183 479 q 114 745 114 602 q 202 936 114 866 q 429 1006 290 1006 q 662 934 576 1006 q 747 738 747 863 q 601 516 747 587 q 720 411 673 480 q 767 262 767 341 q 720 111 767 176 q 597 16 672 47 q 433 -16 522 -16 z "},9:{ha:863,x_min:74,x_max:760,o:"m 408 494 q 536 544 487 494 q 585 689 585 594 q 540 809 585 760 q 420 859 495 859 q 295 808 342 859 q 248 675 248 758 q 289 544 248 595 q 408 494 330 494 m 378 -18 q 123 52 264 -18 l 185 192 q 364 133 274 133 q 449 150 410 133 q 520 200 488 166 q 570 292 552 234 q 589 427 589 350 l 589 444 q 391 351 527 351 q 160 439 247 351 q 74 672 74 528 q 167 911 74 817 q 413 1006 260 1006 q 670 883 579 1006 q 760 523 760 760 q 716 243 760 364 q 585 52 672 121 q 378 -18 498 -18 z "},"\r":{ha:406,x_min:0,x_max:0,o:""}," ":{ha:408,x_min:0,x_max:0,o:""},"!":{ha:467,x_min:122,x_max:335,o:"m 180 262 l 130 987 l 330 987 l 279 262 l 180 262 m 122 0 l 122 185 l 335 185 l 335 0 l 122 0 z "},'"':{ha:477,x_min:42,x_max:436,o:"m 311 649 l 275 987 l 436 987 l 401 649 l 311 649 m 78 649 l 42 987 l 204 987 l 170 649 l 78 649 z "},"#":{ha:994,x_min:60,x_max:935,o:"m 407 412 l 563 412 l 598 590 l 442 590 l 407 412 m 160 -7 l 220 304 l 60 304 l 66 412 l 242 412 l 277 590 l 96 590 l 102 697 l 299 697 l 357 991 l 522 991 l 464 697 l 620 697 l 678 991 l 843 991 l 785 697 l 935 697 l 930 590 l 763 590 l 728 412 l 899 412 l 894 304 l 707 304 l 646 -7 l 481 -7 l 542 304 l 386 304 l 325 -7 l 160 -7 z "},$:{ha:840,x_min:78,x_max:774,o:"m 392 854 l 392 606 q 287 664 311 635 q 262 745 262 692 q 297 819 262 791 q 392 854 332 846 m 460 134 l 460 409 q 530 378 504 393 q 570 345 557 363 q 587 311 583 328 q 591 269 591 295 q 460 134 591 151 m 392 -149 l 460 -149 l 460 -14 q 579 7 525 -10 q 679 57 634 25 q 749 143 724 90 q 774 265 774 196 q 726 439 774 376 q 558 549 679 501 q 460 583 539 557 l 460 857 q 675 778 595 854 l 764 892 q 637 976 703 950 q 460 1005 572 1002 l 460 1103 l 392 1103 l 392 1005 q 165 929 252 999 q 79 737 79 860 q 134 567 79 630 q 311 458 189 505 q 336 450 322 454 q 366 440 349 446 q 392 432 383 435 l 392 132 q 264 161 334 136 q 151 220 195 186 l 78 97 q 213 19 128 48 q 392 -15 298 -11 l 392 -149 z "},"%":{ha:1288,x_min:66,x_max:1222,o:"m 972 -14 q 791 59 860 -14 q 723 243 723 132 q 791 428 723 353 q 972 502 860 502 q 1153 427 1084 502 q 1222 243 1222 353 q 1154 59 1222 131 q 972 -14 1085 -14 m 972 92 q 1052 128 1025 92 q 1079 243 1079 164 q 1053 357 1079 319 q 972 395 1027 395 q 891 358 917 395 q 865 244 865 321 q 892 129 865 165 q 972 92 918 92 m 262 0 l 893 987 l 1031 987 l 399 0 l 262 0 m 315 485 q 133 553 200 485 q 66 742 66 621 q 133 930 66 861 q 315 1000 200 1000 q 497 930 430 1000 q 565 742 565 860 q 498 553 565 621 q 315 485 431 485 m 315 591 q 395 626 369 591 q 422 741 422 662 q 396 856 422 818 q 315 894 371 894 q 234 856 260 894 q 209 742 209 819 q 235 627 209 663 q 315 591 262 591 z "},"&":{ha:1076,x_min:77,x_max:1038,o:"m 415 651 q 492 713 465 682 q 519 782 519 745 q 495 840 519 821 q 436 859 470 859 q 375 839 398 859 q 352 780 352 820 q 415 651 352 715 m 427 126 q 627 213 533 126 l 385 473 q 281 393 318 435 q 244 287 244 350 q 296 172 244 217 q 427 126 348 126 m 426 -19 q 175 63 274 -19 q 77 286 77 146 q 93 383 77 338 q 141 463 109 427 q 207 526 173 499 q 290 581 241 552 q 210 684 235 641 q 186 783 186 728 q 255 941 186 885 q 429 997 324 997 q 522 984 477 997 q 603 946 567 971 q 661 881 640 922 q 683 789 683 840 q 515 549 683 658 l 717 328 q 785 640 785 456 l 940 607 q 909 395 941 503 q 825 206 878 287 q 877 159 851 179 q 936 125 903 140 q 984 104 968 110 q 1038 86 1000 98 l 928 -13 q 823 22 861 -1 q 728 105 785 45 q 426 -19 594 -19 z "},"'":{ha:328,x_min:89,x_max:264,o:"m 115 617 l 89 987 l 264 987 l 239 617 l 115 617 z "},"(":{ha:467,x_min:80,x_max:433,o:"m 275 -116 q 134 165 187 18 q 80 451 80 313 q 269 1028 80 728 l 433 1028 q 296 739 345 889 q 248 450 248 589 q 299 172 248 322 q 433 -116 349 21 l 275 -116 z "},")":{ha:467,x_min:35,x_max:388,o:"m 35 -130 q 172 159 123 9 q 220 450 220 309 q 169 728 220 577 q 35 1015 118 878 l 193 1015 q 334 733 281 881 q 388 448 388 586 q 199 -130 388 170 l 35 -130 z "},"*":{ha:715,x_min:62,x_max:625,o:"m 457 437 l 342 605 l 228 436 l 104 522 l 251 680 l 62 753 l 120 874 l 285 789 l 264 987 l 424 987 l 401 789 l 569 874 l 625 753 l 435 680 l 581 523 l 457 437 z "},"+":{ha:860,x_min:93,x_max:766,o:"m 350 52 l 350 319 l 93 319 l 93 458 l 352 458 l 352 726 l 509 726 l 509 458 l 766 458 l 766 319 l 508 319 l 508 52 l 350 52 z "},",":{ha:370,x_min:35,x_max:300,o:"m 35 -155 l 111 182 l 300 182 l 178 -155 l 35 -155 z "},"-":{ha:503,x_min:37,x_max:465,o:"m 37 310 l 37 439 l 465 439 l 465 310 l 37 310 z "},".":{ha:366,x_min:75,x_max:272,o:"m 75 0 l 75 184 l 272 184 l 272 0 l 75 0 z "},"/":{ha:464,x_min:-55,x_max:532,o:"m -55 -161 l 382 987 l 532 987 l 91 -161 l -55 -161 z "},":":{ha:401,x_min:91,x_max:302,o:"m 91 610 l 91 794 l 301 794 l 302 610 l 91 610 m 91 -10 l 91 173 l 302 173 l 302 -10 l 91 -10 z "},";":{ha:366,x_min:45,x_max:308,o:"m 121 610 l 121 794 l 292 794 l 292 610 l 121 610 m 45 -155 l 118 182 l 308 182 l 187 -155 l 45 -155 z "},"<":{ha:960,x_min:100,x_max:814,o:"m 812 24 l 100 345 l 100 423 l 814 756 l 814 602 l 323 386 l 812 176 l 812 24 z "},"=":{ha:1003,x_min:146,x_max:856,o:"m 147 452 l 147 589 l 854 589 l 854 452 l 147 452 m 146 177 l 146 313 l 856 313 l 856 177 l 146 177 z "},">":{ha:962,x_min:145,x_max:861,o:"m 145 26 l 145 184 l 633 389 l 149 608 l 149 762 l 861 423 l 861 339 l 145 26 z "},"?":{ha:690,x_min:99,x_max:616,o:"m 176 0 l 176 185 l 388 185 l 388 0 l 176 0 m 204 279 l 204 372 q 217 441 204 408 q 251 503 231 475 q 297 556 272 530 q 348 606 323 582 q 394 653 374 630 q 428 704 415 677 q 441 758 441 730 q 404 835 441 810 q 304 860 366 860 q 192 845 251 860 q 99 815 134 830 l 99 958 q 319 1007 191 1007 q 466 981 400 1007 q 574 898 532 955 q 616 762 616 842 q 601 684 616 721 q 561 618 585 646 q 507 563 536 589 q 448 510 477 536 q 394 456 418 484 q 354 395 370 429 q 339 323 339 361 l 339 279 l 204 279 z "},"@":{ha:1230,x_min:72,x_max:1158,o:"m 581 304 q 662 340 626 304 q 716 433 698 376 q 735 554 735 490 q 712 622 735 598 q 652 645 690 645 q 566 607 603 645 q 511 514 529 568 q 494 402 494 460 q 518 331 494 358 q 581 304 543 304 m 640 -68 q 415 -32 519 -68 q 235 71 311 5 q 115 236 159 138 q 72 451 72 334 q 118 683 72 578 q 243 859 164 789 q 429 967 323 928 q 655 1006 535 1006 q 853 971 761 1006 q 1013 876 946 937 q 1119 727 1080 814 q 1158 538 1158 640 q 1126 368 1158 452 q 1036 228 1094 284 q 910 172 977 172 q 798 214 840 172 q 756 315 756 256 q 687 213 737 252 q 558 174 637 174 q 476 190 517 174 q 402 235 436 205 q 347 315 368 265 q 326 426 326 365 q 356 569 326 502 q 431 679 385 635 q 530 746 477 722 q 631 770 583 770 q 770 693 739 770 l 783 758 l 931 758 l 871 437 q 857 326 857 368 l 857 316 q 867 275 857 295 q 896 256 877 256 q 942 276 916 256 q 991 332 967 297 q 1032 424 1015 368 q 1048 541 1048 479 q 1026 673 1048 613 q 967 773 1004 733 q 880 842 930 814 q 775 883 830 870 q 662 895 720 895 q 487 868 568 895 q 344 788 406 841 q 246 648 281 734 q 210 451 210 562 q 235 300 210 369 q 302 183 260 231 q 402 102 345 136 q 523 54 459 69 q 654 38 586 38 q 974 127 817 38 l 1029 47 q 640 -68 863 -68 z "},A:{ha:989,x_min:8,x_max:980,o:"m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},B:{ha:927,x_min:129,x_max:852,o:"m 301 578 l 448 578 q 512 584 483 578 q 567 606 541 591 q 608 648 593 621 q 623 713 623 675 q 572 813 623 786 q 412 840 522 840 l 301 840 l 301 578 m 303 147 l 458 147 q 667 286 667 147 q 620 406 667 373 q 454 438 574 438 l 303 438 l 303 147 m 129 0 l 129 987 l 402 987 q 479 986 445 987 q 556 978 513 984 q 633 962 600 972 q 701 932 667 951 q 756 887 734 913 q 792 822 779 861 q 806 734 806 783 q 675 524 806 588 q 808 434 764 500 q 852 279 852 369 q 829 173 852 222 q 764 85 807 124 q 649 23 720 45 q 489 0 578 0 l 129 0 z "},C:{ha:974,x_min:72,x_max:908,o:"m 566 -15 q 380 19 469 -15 q 223 115 292 52 q 113 275 154 177 q 72 493 72 373 q 99 679 72 593 q 174 823 127 764 q 282 924 220 882 q 412 986 344 966 q 553 1006 481 1006 q 882 899 747 1006 l 815 779 q 567 857 703 857 q 447 832 504 857 q 347 762 391 807 q 278 647 304 716 q 252 495 252 578 q 345 233 252 332 q 578 134 437 134 q 850 233 726 134 l 908 97 q 566 -15 764 -15 z "},D:{ha:1065,x_min:129,x_max:994,o:"m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},E:{ha:847,x_min:129,x_max:772,o:"m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},F:{ha:777,x_min:129,x_max:732,o:"m 129 0 l 129 987 l 732 987 l 732 840 l 301 840 l 301 570 l 707 570 l 707 422 l 301 422 l 301 0 l 129 0 z "},G:{ha:1043,x_min:71,x_max:929,o:"m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},H:{ha:1066,x_min:129,x_max:937,o:"m 129 0 l 129 987 l 301 987 l 301 581 l 764 581 l 764 987 l 937 987 l 937 0 l 768 0 l 768 432 l 304 432 l 304 0 l 129 0 z "},I:{ha:397,x_min:109,x_max:281,o:"m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},J:{ha:691,x_min:65,x_max:563,o:"m 283 -224 q 65 -181 186 -224 l 96 -50 q 252 -80 189 -80 q 391 75 391 -80 l 391 987 l 563 987 l 563 83 q 489 -145 563 -65 q 283 -224 415 -224 z "},K:{ha:916,x_min:129,x_max:930,o:"m 129 0 l 129 987 l 301 987 l 301 556 l 682 987 l 897 987 l 469 511 l 930 0 l 706 0 l 303 441 l 303 0 l 129 0 z "},L:{ha:795,x_min:129,x_max:758,o:"m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},M:{ha:1348,x_min:129,x_max:1219,o:"m 129 0 l 129 987 l 331 987 q 480 656 352 941 q 676 221 608 371 q 784 459 728 334 q 911 748 839 583 q 1017 987 983 913 l 1219 987 l 1219 0 l 1057 0 l 1057 705 q 739 0 1021 627 l 612 0 q 513 219 577 77 q 397 477 450 361 q 295 694 344 593 l 295 0 l 129 0 z "},N:{ha:1105,x_min:129,x_max:977,o:"m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},O:{ha:1133,x_min:72,x_max:1061,o:"m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},P:{ha:881,x_min:129,x_max:835,o:"m 301 573 l 449 573 q 533 578 498 573 q 596 598 568 584 q 640 638 625 612 q 654 705 654 665 q 650 744 654 726 q 641 775 646 762 q 624 798 635 788 q 603 815 612 808 q 574 826 593 821 q 542 832 555 830 q 504 836 530 835 q 463 837 478 837 q 417 838 448 838 l 301 838 l 301 573 m 129 0 l 129 987 l 410 987 q 496 986 460 987 q 575 980 532 985 q 648 967 617 976 q 710 944 678 958 q 763 909 741 930 q 801 860 784 888 q 827 793 819 831 q 835 706 835 754 q 809 572 835 627 q 733 485 784 517 q 613 440 682 454 q 452 426 545 426 l 301 426 l 301 0 l 129 0 z "},Q:{ha:1133,x_min:72,x_max:1061,o:"m 566 132 q 336 227 414 132 q 258 498 258 321 q 338 764 258 669 q 568 859 418 859 q 795 764 717 859 q 874 498 874 669 q 795 227 874 322 q 566 132 717 132 m 855 -303 l 949 -201 q 780 22 844 -83 q 988 199 915 75 q 1061 498 1061 323 q 929 867 1061 728 q 572 1006 796 1006 q 206 867 340 1006 q 72 498 72 728 q 205 124 72 263 q 570 -16 338 -16 q 631 -13 604 -16 q 728 -153 672 -81 q 819 -264 784 -226 l 855 -303 z "},R:{ha:941,x_min:129,x_max:896,o:"m 299 564 l 464 564 q 648 707 648 564 q 610 812 648 785 q 482 840 571 840 l 299 840 l 299 564 m 129 0 l 129 987 l 485 987 q 626 975 566 987 q 733 933 685 963 q 806 849 781 904 q 830 715 830 795 q 781 567 830 631 q 631 481 731 503 q 762 326 720 431 l 896 0 l 709 0 l 596 294 q 536 392 568 366 q 437 418 503 418 l 301 418 l 301 0 l 129 0 z "},S:{ha:852,x_min:78,x_max:774,o:"m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},T:{ha:801,x_min:7,x_max:793,o:"m 312 0 l 312 840 l 7 840 l 7 987 l 793 987 l 793 840 l 484 840 l 484 0 l 312 0 z "},U:{ha:1023,x_min:111,x_max:912,o:"m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},V:{ha:945,x_min:12,x_max:933,o:"m 387 0 l 12 987 l 205 987 q 320 660 220 945 q 477 226 421 374 q 752 987 536 388 l 933 987 l 558 0 l 387 0 z "},W:{ha:1421,x_min:8,x_max:1413,o:"m 290 0 l 8 987 l 191 987 q 256 746 210 916 q 334 451 301 576 q 395 208 366 326 q 465 453 427 328 q 557 748 503 579 q 633 987 611 916 l 797 987 l 973 435 l 1041 204 q 1100 450 1069 323 q 1174 745 1132 576 q 1236 987 1217 913 l 1413 987 l 1138 0 l 941 0 l 710 749 l 485 0 l 290 0 z "},X:{ha:954,x_min:15,x_max:937,o:"m 15 0 l 378 499 l 41 987 l 256 987 l 486 646 l 730 987 l 930 987 l 585 507 l 937 0 l 722 0 l 476 361 l 221 0 l 15 0 z "},Y:{ha:868,x_min:-9,x_max:875,o:"m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},Z:{ha:815,x_min:48,x_max:753,o:"m 48 0 l 48 92 l 515 840 l 66 840 l 66 987 l 753 987 l 753 898 l 283 148 l 753 148 l 753 0 l 48 0 z "},"[":{ha:420,x_min:95,x_max:381,o:"m 95 -107 l 95 1019 l 380 1019 l 380 890 l 266 890 l 266 22 l 381 22 l 381 -107 l 95 -107 z "},"\\":{ha:441,x_min:-118,x_max:541,o:"m 360 -76 l -118 987 l 68 987 l 541 -76 l 360 -76 z "},"]":{ha:420,x_min:62,x_max:345,o:"m 62 -107 l 62 22 l 173 22 l 173 890 l 62 890 l 62 1019 l 345 1019 l 345 -107 l 62 -107 z "},"^":{ha:1057,x_min:124,x_max:933,o:"m 124 361 l 472 987 l 581 987 l 933 361 l 763 361 l 524 795 l 297 361 l 124 361 z "},_:{ha:686,x_min:-9,x_max:695,o:"m -9 -172 l -9 -40 l 695 -40 l 695 -172 l -9 -172 z "},"`":{ha:414,x_min:-10,x_max:383,o:"m 228 791 l -10 987 l 205 987 l 383 791 l 228 791 z "},a:{ha:876,x_min:73,x_max:783,o:"m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},b:{ha:876,x_min:96,x_max:802,o:"m 446 120 q 529 139 493 120 q 585 190 564 157 q 616 262 606 222 q 627 347 627 301 q 582 512 627 447 q 452 577 537 577 q 311 512 363 577 q 258 349 258 446 q 278 237 258 288 q 342 153 298 186 q 446 120 385 120 m 477 -16 q 350 15 408 -16 q 268 86 293 45 l 268 0 l 96 0 q 98 82 97 46 q 100 133 100 118 q 101 160 101 149 q 102 175 102 171 q 102 184 102 179 l 102 988 l 269 988 l 269 598 q 286 628 272 610 q 324 666 299 646 q 392 700 349 686 q 486 713 435 713 q 718 612 633 713 q 802 351 802 511 q 776 202 802 271 q 706 85 750 133 q 603 11 662 38 q 477 -16 543 -16 z "},c:{ha:726,x_min:73,x_max:687,o:"m 437 -16 q 282 14 352 -16 q 167 95 212 44 q 98 211 122 146 q 73 349 73 277 q 116 534 73 452 q 241 665 158 616 q 435 713 324 713 q 687 620 599 713 l 627 511 q 452 578 551 578 q 300 515 353 578 q 248 348 248 453 q 304 183 248 245 q 458 120 360 120 q 485 121 471 120 q 509 125 498 123 q 532 131 520 127 q 552 137 544 134 q 570 146 560 140 q 586 154 581 151 q 601 163 592 157 q 613 172 610 170 q 624 179 616 174 q 632 186 631 185 l 683 62 q 566 3 625 22 q 437 -16 508 -16 z "},d:{ha:859,x_min:73,x_max:768,o:"m 425 120 q 506 139 471 120 q 561 190 541 157 q 590 262 581 223 q 600 347 600 302 q 556 513 600 449 q 424 577 512 577 q 325 545 365 577 q 267 464 284 513 q 250 350 250 414 q 259 263 250 303 q 289 190 269 223 q 344 139 309 157 q 425 120 379 120 m 391 -16 q 164 83 256 -16 q 73 345 73 182 q 94 484 73 418 q 155 602 115 550 q 259 683 195 653 q 404 713 323 713 q 525 684 475 713 q 595 623 575 654 l 595 988 l 762 988 l 762 186 q 768 0 762 182 l 595 0 l 594 89 q 574 57 588 73 q 536 23 559 41 q 474 -5 512 6 q 391 -16 436 -16 z "},e:{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},f:{ha:556,x_min:47,x_max:506,o:"m 177 0 l 177 583 l 47 583 l 47 696 l 177 696 l 177 723 q 179 802 177 770 q 188 866 181 833 q 207 919 195 899 q 241 957 220 939 q 294 986 262 976 q 369 1001 325 996 q 470 1007 412 1007 l 506 1007 l 500 876 q 438 875 461 876 q 396 867 416 873 q 368 852 377 861 q 353 824 359 844 q 346 784 347 805 q 345 725 345 762 l 345 696 l 501 696 l 501 583 l 345 583 l 345 0 l 177 0 z "},g:{ha:838,x_min:73,x_max:766,o:"m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 z "},h:{ha:827,x_min:98,x_max:739,o:"m 98 0 l 98 988 l 266 988 l 266 606 q 354 684 291 654 q 474 713 417 713 q 562 702 522 713 q 629 671 602 690 q 676 625 656 652 q 708 569 696 597 q 727 507 720 541 q 736 446 734 473 q 739 387 739 418 l 739 0 l 570 0 l 570 393 q 540 534 570 491 q 448 577 509 577 q 322 529 379 577 q 266 419 266 481 l 266 0 l 98 0 z "},i:{ha:355,x_min:96,x_max:259,o:"m 96 840 l 96 987 l 259 987 l 259 840 l 96 840 m 97 0 l 97 696 l 259 696 l 259 0 l 97 0 z "},j:{ha:407,x_min:-58,x_max:319,o:"m 152 833 l 152 987 l 319 987 l 319 833 l 152 833 m 68 -245 q -1 -241 31 -245 q -45 -232 -33 -236 l -58 -227 l -39 -112 q 58 -125 3 -125 q 98 -120 83 -125 q 125 -102 113 -116 q 142 -60 137 -87 q 148 14 148 -32 l 148 696 l 319 696 l 319 -6 q 308 -109 319 -67 q 270 -183 297 -151 q 192 -230 242 -215 q 68 -245 142 -245 m -39 -112 l -41 -111 l -39 -111 l -39 -112 z "},k:{ha:730,x_min:95,x_max:768,o:"m 95 0 l 95 988 l 263 988 l 263 412 l 515 696 l 747 696 l 415 359 l 768 0 l 546 0 l 263 301 l 263 0 l 95 0 z "},l:{ha:357,x_min:96,x_max:262,o:"m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 z "},m:{ha:1247,x_min:96,x_max:1157,o:"m 109 0 l 109 472 q 102 620 109 544 l 96 696 l 273 696 l 273 605 q 352 683 298 652 q 467 713 405 713 q 590 681 534 713 q 675 585 646 648 q 901 713 765 713 q 1093 637 1029 713 q 1157 427 1157 560 l 1157 0 l 989 0 l 989 416 q 984 470 989 444 q 969 521 979 496 q 938 562 958 547 q 888 577 917 577 q 766 520 814 577 q 718 394 718 463 l 718 0 l 549 0 l 549 425 q 547 464 549 446 q 538 504 545 483 q 520 541 531 526 q 489 567 509 557 q 443 577 469 577 q 324 531 372 577 q 277 422 277 484 l 277 0 l 109 0 z "},n:{ha:830,x_min:94,x_max:742,o:"m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 z "},o:{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 z "},p:{ha:863,x_min:96,x_max:792,o:"m 441 120 q 523 139 488 120 q 577 190 557 157 q 607 262 597 222 q 617 349 617 302 q 600 463 617 413 q 541 545 582 513 q 440 577 500 577 q 340 546 381 577 q 282 465 300 514 q 264 352 264 416 q 274 264 264 304 q 304 191 284 224 q 360 139 325 158 q 441 120 395 120 m 109 -268 l 109 462 q 96 696 109 522 l 274 696 l 274 596 q 342 674 282 634 q 489 713 402 713 q 651 663 581 713 q 756 532 721 612 q 792 356 792 451 q 771 219 792 285 q 711 100 750 153 q 612 16 673 47 q 479 -16 552 -16 q 340 23 397 -16 q 274 96 282 62 l 274 -268 l 109 -268 z "},q:{ha:848,x_min:71,x_max:762,o:"m 422 120 q 524 153 483 120 q 581 235 564 186 q 598 347 598 284 q 553 512 598 448 q 420 577 509 577 q 321 545 361 577 q 263 464 281 513 q 246 350 246 414 q 256 263 246 303 q 286 190 266 223 q 341 139 306 157 q 422 120 376 120 m 589 -268 l 589 56 q 398 -16 499 -16 q 279 5 333 -16 q 186 61 224 26 q 122 145 149 97 q 83 247 96 193 q 71 358 71 300 q 93 492 71 429 q 155 606 115 556 q 258 684 195 655 q 399 713 321 713 q 499 690 448 713 q 590 621 550 667 l 590 696 l 762 696 q 755 495 755 604 l 755 -268 l 589 -268 z "},r:{ha:529,x_min:96,x_max:519,o:"m 110 0 l 110 519 q 106 604 110 560 q 100 672 103 648 l 96 696 l 275 696 l 275 604 q 358 686 317 659 q 450 713 399 713 q 519 703 481 713 l 519 556 q 435 571 474 571 q 321 526 366 571 q 277 394 277 480 l 277 0 l 110 0 z "},s:{ha:670,x_min:72,x_max:615,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 z "},t:{ha:545,x_min:1,x_max:500,o:"m 500 1 l 433 1 q 362 3 392 1 q 301 12 332 5 q 247 30 269 18 q 205 60 225 41 q 172 105 184 79 q 153 170 160 132 q 146 255 146 207 l 146 583 l 1 583 l 1 696 l 153 696 l 153 859 l 313 908 l 313 696 l 495 696 l 495 583 l 313 583 l 313 245 q 318 192 313 212 q 334 159 323 172 q 368 140 344 146 q 420 132 392 134 q 500 130 449 130 l 500 1 z "},u:{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 z "},v:{ha:764,x_min:12,x_max:753,o:"m 304 0 l 12 696 l 199 696 q 388 188 379 211 q 570 696 441 334 l 753 696 l 457 0 l 304 0 z "},w:{ha:1143,x_min:9,x_max:1133,o:"m 262 0 l 9 696 l 189 696 q 347 207 294 370 q 511 696 374 289 l 658 696 q 707 542 675 642 q 765 360 739 441 q 814 205 791 278 q 977 696 834 267 l 1133 696 l 869 0 l 729 0 q 571 473 586 428 q 403 0 545 398 l 262 0 z "},x:{ha:705,x_min:7,x_max:698,o:"m 7 0 l 258 339 l 19 696 l 206 696 l 356 471 l 523 696 l 696 696 l 451 362 l 698 0 l 511 0 l 354 230 l 184 0 l 7 0 z "},y:{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 z "},z:{ha:676,x_min:66,x_max:630,o:"m 66 0 l 66 89 l 394 562 l 83 562 l 83 696 l 612 696 l 612 608 l 281 134 l 630 134 l 630 0 l 66 0 z "},"{":{ha:669,x_min:101,x_max:586,o:"m 406 798 l 406 646 q 240 463 406 468 q 406 288 406 461 l 406 134 q 407 82 406 102 q 418 48 408 63 q 435 26 427 33 q 469 16 443 20 q 516 11 496 12 q 585 10 536 10 l 586 10 l 586 -122 l 580 -122 q 448 -118 501 -122 q 354 -101 395 -113 q 291 -71 314 -88 q 255 -21 269 -53 q 236 47 241 10 q 232 140 232 83 l 232 296 q 207 388 232 365 q 110 411 182 411 l 101 411 l 101 512 l 110 512 q 208 536 184 512 q 233 633 233 560 l 233 789 q 237 883 233 846 q 257 950 242 920 q 295 998 272 981 q 359 1026 318 1015 q 454 1042 401 1038 q 586 1046 507 1046 l 586 913 l 534 913 q 487 913 503 913 q 453 908 470 912 q 429 897 436 904 q 415 877 422 890 q 407 844 409 863 q 406 798 406 826 z "},"|":{ha:268,x_min:54,x_max:214,o:"m 54 -309 l 54 1021 l 214 1021 l 214 -309 l 54 -309 z "},"}":{ha:666,x_min:73,x_max:558,o:"m 73 -122 l 73 9 l 125 9 q 173 10 156 9 q 206 15 189 11 q 230 26 223 19 q 244 46 237 33 q 252 79 250 60 q 254 125 254 97 l 254 277 q 419 460 254 455 q 254 635 254 461 l 254 789 q 252 841 254 821 q 241 875 251 860 q 224 897 232 890 q 190 907 216 903 q 143 912 163 911 q 73 913 122 913 l 73 913 l 73 1046 l 79 1046 q 211 1041 157 1046 q 304 1024 264 1037 q 367 994 345 1011 q 404 944 390 976 q 422 876 418 913 q 427 783 427 840 l 427 627 q 452 535 427 558 q 549 512 477 512 l 558 512 l 558 411 l 549 411 q 451 387 475 411 q 427 290 427 363 l 427 134 q 422 40 427 77 q 402 -27 417 3 q 364 -74 387 -58 q 300 -103 341 -91 q 205 -118 258 -115 q 73 -122 153 -122 z "},"~":{ha:1023,x_min:123,x_max:883,o:"m 227 249 l 123 299 q 163 402 142 362 q 211 462 184 443 q 261 488 237 481 q 320 494 286 494 q 519 451 396 494 q 694 411 623 411 q 732 416 720 411 q 755 443 745 422 q 776 513 765 465 l 883 465 q 837 338 862 381 q 783 281 812 294 q 707 267 755 267 q 479 315 625 267 q 333 349 380 349 q 270 331 290 349 q 227 249 250 313 z "},"":{ha:1031,x_min:127,x_max:904,o:"m 127 0 l 127 987 l 904 987 l 904 0 l 127 0 m 244 84 l 787 84 l 787 902 l 244 902 l 244 84 z "}," ":{ha:406,x_min:0,x_max:0,o:""},"¡":{ha:533,x_min:151,x_max:364,o:"m 151 784 l 364 784 l 364 599 l 151 599 l 151 784 m 209 522 l 309 522 l 359 -203 l 159 -203 l 209 522 z "},"¢":{ha:730,x_min:73,x_max:687,o:"m 411 -164 l 505 -164 l 505 -11 q 683 62 597 3 l 632 186 q 624 179 631 185 q 612 171 616 174 q 600 163 609 169 q 585 153 591 157 q 568 145 578 150 q 549 136 558 140 q 528 130 540 133 q 505 124 517 126 l 505 573 q 627 511 572 560 l 687 620 q 505 709 618 692 l 505 848 l 411 848 l 411 713 q 164 603 255 705 q 73 349 73 501 q 96 216 73 279 q 160 103 118 153 q 267 21 202 53 q 411 -15 332 -10 l 411 -164 m 411 574 l 411 124 q 291 199 334 139 q 248 348 248 259 q 289 501 248 441 q 411 574 331 562 z "},"£":{ha:851,x_min:99,x_max:799,o:"m 740 827 q 563 869 646 869 q 433 818 474 869 q 393 644 393 766 l 393 571 l 622 571 l 622 440 l 392 440 l 392 419 q 381 247 392 314 q 341 138 371 180 l 799 138 l 799 0 l 99 0 l 99 126 q 121 146 102 130 q 146 171 140 163 q 169 199 153 179 q 192 237 184 218 q 208 282 199 255 q 221 345 217 310 q 224 422 224 380 l 224 440 l 99 440 l 99 571 l 222 571 l 222 605 q 230 731 222 676 q 260 840 238 787 q 317 929 281 894 q 413 985 353 964 q 552 1006 472 1006 q 781 957 690 1006 l 740 827 z "},"¤":{ha:826,x_min:81,x_max:745,o:"m 413 481 q 559 542 501 481 q 618 692 618 603 q 559 842 618 781 q 413 903 501 903 q 267 842 325 903 q 208 692 208 781 q 267 542 208 603 q 413 481 325 481 m 116 368 l 81 403 l 208 530 q 149 694 149 602 q 213 865 149 792 l 81 998 l 115 1032 l 249 899 q 414 956 320 956 q 578 900 505 956 l 711 1032 l 745 998 l 614 867 q 680 694 680 793 q 619 528 680 600 l 745 403 l 711 368 l 585 494 q 414 433 511 433 q 243 495 317 433 l 116 368 z "},"¥":{ha:868,x_min:-8,x_max:876,o:"m 92 186 l 92 284 l 344 284 l 344 379 l 92 379 l 92 481 l 286 481 l -8 987 l 188 987 l 433 535 l 675 987 l 876 987 l 574 481 l 767 481 l 767 379 l 516 379 l 516 284 l 769 284 l 769 186 l 516 186 l 516 0 l 344 0 l 344 186 l 92 186 z "},"¦":{ha:339,x_min:62,x_max:231,o:"m 62 383 l 62 1021 l 230 1021 l 230 383 l 62 383 m 64 -309 l 64 281 l 231 281 l 231 -309 l 64 -309 z "},"§":{ha:749,x_min:116,x_max:644,o:"m 436 401 q 457 465 457 429 q 455 485 457 476 q 446 503 453 494 q 433 516 439 511 q 414 529 428 522 q 391 541 399 536 q 361 554 382 545 q 328 569 340 564 q 302 541 315 560 q 288 497 288 522 q 293 474 288 484 q 313 456 298 465 q 340 441 328 447 q 384 424 353 436 q 436 401 414 412 m 354 -41 q 127 0 239 -41 l 127 142 q 235 111 174 123 q 347 98 296 98 q 423 117 393 98 q 452 174 452 136 q 419 217 452 196 q 257 300 385 238 q 154 378 191 331 q 116 483 116 425 q 204 640 116 576 q 149 707 166 669 q 132 800 132 745 q 206 952 132 900 q 395 1004 281 1004 q 598 970 498 1004 l 598 833 q 553 846 587 836 q 484 865 519 857 q 418 873 448 873 q 347 857 376 873 q 317 809 317 840 q 353 750 317 779 q 463 686 389 721 q 533 648 508 663 q 587 608 557 632 q 630 554 616 583 q 644 490 644 525 q 556 334 644 406 q 637 178 637 287 q 598 55 637 105 q 496 -19 558 4 q 354 -41 433 -41 z "},"¨":{ha:504,x_min:12,x_max:489,o:"m 323 781 l 323 933 l 489 933 l 489 781 l 323 781 m 12 781 l 12 933 l 180 933 l 180 781 l 12 781 z "},"©":{ha:1162,x_min:72,x_max:1090,o:"m 581 -15 q 421 11 498 -15 q 280 85 343 37 q 171 195 218 132 q 98 336 123 258 q 72 496 72 414 q 112 694 72 600 q 221 857 153 788 q 384 965 289 925 q 581 1006 478 1006 q 779 965 684 1006 q 941 857 873 925 q 1049 694 1009 788 q 1090 496 1090 600 q 1049 298 1090 393 q 941 135 1009 203 q 779 26 873 66 q 581 -15 684 -15 m 580 63 q 791 122 694 63 q 943 279 888 180 q 999 494 999 378 q 943 708 999 610 q 791 865 888 807 q 580 923 694 923 q 369 865 465 923 q 216 708 272 807 q 161 494 161 610 q 216 279 161 378 q 369 122 272 180 q 580 63 465 63 m 594 192 q 464 217 522 192 q 370 284 406 241 q 315 380 334 326 q 296 493 296 433 q 377 708 296 623 q 593 793 457 793 q 800 715 727 793 l 751 627 q 608 681 688 681 q 484 630 527 681 q 441 493 441 578 q 486 356 441 408 q 612 304 530 304 q 657 309 635 304 q 691 318 679 313 q 721 333 703 322 q 740 345 739 344 q 755 357 742 347 l 797 254 q 594 192 708 192 z "},"ª":{ha:589,x_min:73,x_max:516,o:"m 245 576 q 286 583 265 576 q 327 603 307 590 q 359 641 347 616 q 372 698 372 666 l 372 707 q 221 695 256 707 q 186 635 186 684 q 204 593 186 609 q 245 576 222 576 m 236 489 q 121 527 169 489 q 73 635 73 566 q 118 743 73 705 q 253 781 163 781 l 374 781 l 374 808 q 286 892 374 892 q 216 883 254 892 q 156 865 178 873 l 133 856 l 94 954 q 120 967 103 960 q 191 988 137 975 q 301 1001 245 1001 q 380 991 345 1001 q 445 959 416 981 q 491 897 475 937 q 507 803 507 857 q 509 616 507 789 q 516 511 511 544 l 393 511 l 382 578 q 334 517 372 545 q 236 489 296 489 z "},"«":{ha:798,x_min:92,x_max:719,o:"m 579 107 l 391 367 l 583 625 l 719 625 l 557 366 l 713 107 l 579 107 m 280 107 l 92 367 l 284 625 l 420 625 l 258 366 l 414 107 l 280 107 z "},"¬":{ha:988,x_min:111,x_max:833,o:"m 675 149 l 675 413 l 111 413 l 111 552 l 833 552 l 833 149 l 675 149 z "},"­":{ha:501,x_min:37,x_max:465,o:"m 37 310 l 37 439 l 465 439 l 465 310 l 37 310 z "},"®":{ha:1162,x_min:72,x_max:1090,o:"m 581 -15 q 421 11 498 -15 q 280 85 343 37 q 171 195 218 132 q 98 336 123 258 q 72 496 72 414 q 112 694 72 600 q 221 857 153 788 q 384 965 289 925 q 581 1006 478 1006 q 779 965 684 1006 q 941 857 873 925 q 1049 694 1009 788 q 1090 496 1090 600 q 1049 298 1090 393 q 941 135 1009 203 q 779 26 873 66 q 581 -15 684 -15 m 580 63 q 791 122 694 63 q 943 279 888 180 q 999 494 999 378 q 943 708 999 610 q 791 865 888 807 q 580 923 694 923 q 369 865 465 923 q 216 708 272 807 q 161 494 161 610 q 216 279 161 378 q 369 122 272 180 q 580 63 465 63 m 498 534 l 559 534 q 659 550 626 534 q 691 607 691 565 q 669 668 691 656 q 572 680 648 680 l 498 680 l 498 534 m 352 197 l 352 794 l 568 794 q 771 749 707 794 q 836 615 836 704 q 716 451 836 484 l 844 197 l 684 197 l 581 427 l 498 427 l 498 197 l 352 197 z "},"¯":{ha:513,x_min:45,x_max:468,o:"m 45 777 l 45 884 l 468 884 l 468 777 l 45 777 z "},"°":{ha:601,x_min:87,x_max:513,o:"m 300 576 q 150 636 213 576 q 87 785 87 697 q 150 933 87 871 q 300 994 213 994 q 451 933 388 994 q 513 785 513 872 q 451 636 513 696 q 300 576 389 576 m 300 667 q 382 701 349 667 q 415 784 415 734 q 382 867 415 833 q 300 901 349 901 q 220 867 252 901 q 188 784 188 833 q 220 701 188 734 q 300 667 253 667 z "},"±":{ha:863,x_min:129,x_max:732,o:"m 129 0 l 129 125 l 732 125 l 732 0 l 129 0 m 349 197 l 349 401 l 129 401 l 129 537 l 345 537 l 345 745 l 506 745 l 506 537 l 731 537 l 731 401 l 513 401 l 513 197 l 349 197 z "},"²":{ha:727,x_min:142,x_max:564,o:"m 153 416 l 153 539 l 330 693 q 421 814 421 771 q 352 873 421 873 q 182 829 283 873 l 142 942 q 362 994 254 994 q 507 950 450 994 q 564 816 564 905 q 527 708 564 758 q 420 601 489 659 l 359 551 l 555 551 l 555 416 l 153 416 z "},"³":{ha:616,x_min:130,x_max:551,o:"m 340 410 q 138 473 229 410 l 180 564 q 330 513 267 513 q 395 536 372 513 q 419 595 419 559 q 391 647 419 627 q 315 667 363 667 l 251 667 l 251 764 l 314 764 q 379 783 353 764 q 405 828 405 802 q 382 878 405 861 q 321 895 359 895 q 172 851 254 895 l 130 935 q 346 992 235 992 q 479 956 427 992 q 530 847 530 920 q 437 728 530 760 q 525 674 498 711 q 551 593 551 637 q 521 489 551 532 q 444 428 490 446 q 340 410 397 410 z "},"´":{ha:412,x_min:26,x_max:421,o:"m 26 791 l 205 987 l 421 987 l 181 791 l 26 791 z "},"µ":{ha:834,x_min:86,x_max:751,o:"m 543 193 q 406 122 490 122 q 320 163 347 122 q 294 298 294 203 l 294 734 l 86 734 l 86 -214 l 294 -214 l 294 -10 q 341 -14 316 -14 q 562 103 488 -14 l 572 0 l 751 0 l 751 734 l 543 734 l 543 193 z "},"¶":{ha:831,x_min:62,x_max:722,o:"m 279 -121 l 279 535 q 116 604 171 545 q 62 766 62 663 q 78 857 62 818 q 121 920 94 896 q 191 960 149 945 q 280 981 233 975 q 387 987 327 987 l 722 987 l 722 857 l 672 857 l 672 -121 l 532 -121 l 532 857 l 418 857 l 418 -121 l 279 -121 z "},"·":{ha:404,x_min:127,x_max:333,o:"m 127 380 l 127 572 l 333 572 l 333 380 l 127 380 z "},"¸":{ha:359,x_min:12,x_max:326,o:"m 12 -289 l 19 -199 q 75 -217 41 -209 q 137 -225 108 -225 q 205 -176 205 -225 q 102 -95 205 -111 l 82 -92 l 103 26 l 187 26 l 176 -51 q 288 -97 249 -56 q 326 -192 326 -138 q 322 -230 326 -212 q 309 -261 317 -248 q 290 -287 301 -275 q 264 -306 278 -298 q 234 -319 250 -313 q 200 -327 217 -324 q 163 -329 182 -329 q 12 -289 82 -329 z "},"¹":{ha:577,x_min:92,x_max:515,o:"m 100 424 l 100 536 l 248 536 l 248 861 q 215 855 252 863 q 138 837 179 846 q 92 826 96 827 l 92 942 q 124 951 104 945 q 186 970 144 958 q 254 990 228 983 q 278 996 281 997 l 387 993 l 387 534 l 515 534 l 515 424 l 100 424 z "},"º":{ha:619,x_min:50,x_max:570,o:"m 312 484 q 118 553 186 484 q 50 732 50 622 q 120 909 50 839 q 310 979 190 979 q 500 908 431 979 q 570 730 570 837 q 501 554 570 625 q 312 484 432 484 m 310 592 q 404 630 368 592 q 439 730 439 668 q 404 832 439 795 q 311 870 369 870 q 217 832 254 870 q 180 731 180 794 q 215 629 180 667 q 310 592 250 592 z "},"»":{ha:798,x_min:91,x_max:718,o:"m 390 107 l 552 367 l 395 625 l 530 625 l 718 366 l 526 107 l 390 107 m 91 107 l 253 367 l 96 625 l 231 625 l 419 366 l 227 107 l 91 107 z "},"¼":{ha:1433,x_min:144,x_max:1375,o:"m 1052 223 l 1173 223 l 1173 395 l 1052 223 m 427 0 l 1027 987 l 1171 987 l 572 0 l 427 0 m 1174 1 l 1174 132 l 924 132 l 924 209 l 1174 552 l 1296 552 l 1296 223 l 1375 223 l 1375 132 l 1296 132 l 1296 1 l 1174 1 m 153 420 l 153 533 l 296 533 l 296 852 l 144 817 l 144 935 q 175 944 155 939 q 234 962 194 950 q 300 981 275 974 q 324 987 326 989 l 430 987 l 430 532 l 555 532 l 555 420 l 153 420 z "},"½":{ha:1732,x_min:123,x_max:1497,o:"m 132 420 l 132 533 l 275 533 l 275 852 l 123 817 l 123 935 q 154 944 134 939 q 213 962 173 950 q 279 981 254 974 q 303 987 305 989 l 409 987 l 409 532 l 534 532 l 534 420 l 132 420 m 433 0 l 1033 987 l 1177 987 l 578 0 l 433 0 m 1360 381 q 1287 458 1360 458 q 1121 412 1213 458 l 1079 521 q 1297 577 1186 577 q 1396 559 1353 577 q 1466 502 1438 542 q 1497 401 1494 461 l 1497 393 q 1458 284 1497 336 q 1352 180 1420 233 l 1289 131 l 1489 131 l 1489 0 l 1088 0 l 1088 115 l 1274 264 q 1342 330 1324 304 q 1360 381 1360 355 z "},"¾":{ha:1718,x_min:155,x_max:1395,o:"m 1073 223 l 1194 223 l 1194 395 l 1073 223 m 441 0 l 1041 987 l 1185 987 l 586 0 l 441 0 m 1195 1 l 1195 132 l 945 132 l 945 209 l 1194 552 l 1317 552 l 1317 223 l 1395 223 l 1395 132 l 1317 132 l 1317 1 l 1195 1 m 363 409 q 162 473 251 409 l 203 564 q 353 513 288 513 q 420 534 396 513 q 444 593 444 556 q 415 647 444 626 q 336 667 386 667 l 274 667 l 274 764 l 335 764 q 402 782 375 764 q 429 827 429 800 q 346 892 429 892 q 196 848 275 892 l 155 933 q 368 991 259 991 q 500 955 450 991 q 551 845 551 918 q 457 726 551 755 q 545 674 518 711 q 572 591 572 637 q 512 455 572 501 q 363 409 452 409 z "},"¿":{ha:700,x_min:73,x_max:589,o:"m 513 789 l 513 604 l 300 604 l 300 789 l 513 789 m 484 511 l 484 418 q 471 348 484 382 q 437 287 458 314 q 391 234 416 260 q 340 183 366 208 q 294 136 315 159 q 260 86 273 113 q 247 32 247 59 q 284 -46 247 -21 q 385 -71 322 -71 q 496 -56 437 -71 q 589 -26 555 -41 l 589 -169 q 369 -218 498 -218 q 222 -192 288 -218 q 115 -109 157 -165 q 73 27 73 -52 q 88 106 73 68 q 127 172 103 143 q 181 227 152 200 q 240 280 211 254 q 294 333 270 306 q 334 394 319 360 q 349 467 349 429 l 349 511 l 484 511 z "},"À":{ha:989,x_min:8,x_max:980,o:"m 425 1082 l 186 1278 l 402 1278 l 580 1082 l 425 1082 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"Á":{ha:989,x_min:8,x_max:980,o:"m 420 1082 l 600 1279 l 815 1279 l 575 1082 l 420 1082 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"Â":{ha:989,x_min:8,x_max:980,o:"m 231 1095 l 406 1346 l 576 1346 l 756 1095 l 589 1095 l 496 1228 l 402 1095 l 231 1095 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"Ã":{ha:989,x_min:8,x_max:980,o:"m 536 1088 l 536 1088 q 467 1106 507 1088 q 392 1142 427 1124 q 340 1160 357 1160 q 312 1143 326 1160 q 294 1091 298 1126 l 186 1091 q 227 1233 186 1178 q 334 1289 268 1289 q 408 1272 368 1289 q 480 1236 448 1255 q 527 1216 513 1218 q 532 1216 529 1216 q 537 1215 536 1215 q 569 1231 557 1215 q 579 1289 580 1246 l 689 1289 q 648 1138 689 1188 q 536 1088 608 1088 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"Ä":{ha:989,x_min:8,x_max:980,o:"m 563 1072 l 563 1225 l 729 1225 l 729 1072 l 563 1072 m 252 1072 l 252 1225 l 420 1225 l 420 1072 l 252 1072 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"Å":{ha:989,x_min:8,x_max:980,o:"m 492 1074 q 386 1115 429 1074 q 342 1218 342 1156 q 386 1321 342 1280 q 492 1362 429 1362 q 598 1321 554 1362 q 642 1218 642 1280 q 598 1115 642 1156 q 492 1074 554 1074 m 492 1144 q 544 1166 522 1144 q 565 1218 565 1187 q 544 1270 565 1249 q 492 1291 522 1291 q 441 1270 463 1291 q 420 1218 420 1249 q 441 1166 420 1187 q 492 1144 463 1144 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"Æ":{ha:1502,x_min:13,x_max:1354,o:"m 430 378 l 747 378 l 715 834 l 692 834 l 430 378 m 13 0 l 601 987 l 1336 987 l 1336 834 l 890 834 l 913 579 l 1335 579 l 1335 430 l 932 430 l 959 153 l 1354 153 l 1354 0 l 779 0 l 759 241 l 363 241 l 226 0 l 13 0 z "},"Ç":{ha:974,x_min:72,x_max:908,o:"m 431 -289 l 439 -199 q 494 -217 461 -209 q 557 -225 528 -225 q 625 -176 625 -225 q 522 -95 625 -111 l 502 -92 l 523 26 l 607 26 l 595 -51 q 707 -97 669 -56 q 746 -192 746 -138 q 742 -230 746 -212 q 729 -261 737 -248 q 709 -287 721 -275 q 684 -306 698 -298 q 653 -319 670 -313 q 620 -327 637 -324 q 583 -329 602 -329 q 431 -289 502 -329 m 566 -15 q 380 19 469 -15 q 223 115 292 52 q 113 275 154 177 q 72 493 72 373 q 99 679 72 593 q 174 823 127 764 q 282 924 220 882 q 412 986 344 966 q 553 1006 481 1006 q 882 899 747 1006 l 815 779 q 567 857 703 857 q 447 832 504 857 q 347 762 391 807 q 278 647 304 716 q 252 495 252 578 q 345 233 252 332 q 578 134 437 134 q 850 233 726 134 l 908 97 q 566 -15 764 -15 z "},"È":{ha:847,x_min:129,x_max:772,o:"m 383 1082 l 145 1278 l 361 1278 l 538 1082 l 383 1082 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"É":{ha:847,x_min:129,x_max:774,o:"m 379 1082 l 558 1279 l 774 1279 l 534 1082 l 379 1082 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"Ê":{ha:847,x_min:129,x_max:772,o:"m 189 1095 l 363 1346 l 534 1346 l 714 1095 l 547 1095 l 454 1228 l 360 1095 l 189 1095 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"Ë":{ha:847,x_min:129,x_max:772,o:"m 521 1072 l 521 1225 l 687 1225 l 687 1072 l 521 1072 m 210 1072 l 210 1225 l 378 1225 l 378 1072 l 210 1072 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"Ì":{ha:397,x_min:-115,x_max:281,o:"m 123 1082 l -115 1278 l 101 1278 l 279 1082 l 123 1082 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"Í":{ha:397,x_min:109,x_max:514,o:"m 119 1082 l 298 1279 l 514 1279 l 274 1082 l 119 1082 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"Î":{ha:397,x_min:-71,x_max:454,o:"m -71 1095 l 104 1346 l 275 1346 l 454 1095 l 287 1095 l 195 1228 l 100 1095 l -71 1095 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"Ï":{ha:397,x_min:-50,x_max:427,o:"m 261 1072 l 261 1225 l 427 1225 l 427 1072 l 261 1072 m -50 1072 l -50 1225 l 118 1225 l 118 1072 l -50 1072 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"Ð":{ha:1065,x_min:18,x_max:994,o:"m 18 451 l 18 553 l 439 553 l 439 451 l 18 451 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"Ñ":{ha:1105,x_min:129,x_max:977,o:"m 609 1088 l 608 1088 q 540 1106 580 1088 q 465 1142 500 1124 q 413 1160 429 1160 q 384 1143 398 1160 q 367 1091 370 1126 l 258 1091 q 299 1233 258 1178 q 406 1289 340 1289 q 480 1272 441 1289 q 553 1236 520 1255 q 600 1216 586 1218 q 605 1216 602 1216 q 610 1215 608 1215 q 641 1231 630 1215 q 652 1289 652 1246 l 762 1289 q 721 1138 762 1188 q 609 1088 680 1088 m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},"Ò":{ha:1133,x_min:72,x_max:1061,o:"m 497 1082 l 259 1278 l 475 1278 l 652 1082 l 497 1082 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"Ó":{ha:1133,x_min:72,x_max:1061,o:"m 493 1082 l 672 1279 l 888 1279 l 648 1082 l 493 1082 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"Ô":{ha:1133,x_min:72,x_max:1061,o:"m 304 1095 l 478 1346 l 649 1346 l 829 1095 l 661 1095 l 569 1228 l 475 1095 l 304 1095 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"Õ":{ha:1133,x_min:72,x_max:1061,o:"m 609 1088 l 608 1088 q 540 1106 580 1088 q 465 1142 500 1124 q 413 1160 429 1160 q 384 1143 398 1160 q 367 1091 370 1126 l 258 1091 q 299 1233 258 1178 q 406 1289 340 1289 q 480 1272 441 1289 q 553 1236 520 1255 q 600 1216 586 1218 q 605 1216 602 1216 q 610 1215 608 1215 q 641 1231 630 1215 q 652 1289 652 1246 l 762 1289 q 721 1138 762 1188 q 609 1088 680 1088 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"Ö":{ha:1133,x_min:72,x_max:1061,o:"m 635 1072 l 635 1225 l 802 1225 l 802 1072 l 635 1072 m 325 1072 l 325 1225 l 492 1225 l 492 1072 l 325 1072 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"×":{ha:863,x_min:136,x_max:720,o:"m 245 79 l 136 189 l 319 371 l 136 553 l 245 663 l 428 481 l 612 663 l 720 554 l 537 371 l 720 187 l 612 79 l 428 262 l 245 79 z "},"Ø":{ha:1133,x_min:72,x_max:1061,o:"m 570 -16 q 930 123 800 -16 q 1061 498 1061 262 q 1007 754 1061 643 q 851 930 952 866 l 906 1033 l 827 1068 l 774 970 q 572 1006 684 1006 q 206 867 340 1006 q 72 498 72 728 q 127 236 72 349 q 287 58 183 122 l 229 -51 l 307 -87 l 363 20 q 570 -16 456 -16 m 774 787 q 874 498 874 694 q 795 227 874 322 q 566 132 717 132 q 435 154 491 132 l 774 787 m 702 833 l 362 199 q 258 498 258 291 q 338 764 258 669 q 568 859 418 859 q 702 833 644 859 z "},"Ù":{ha:1023,x_min:111,x_max:912,o:"m 435 1082 l 197 1278 l 412 1278 l 590 1082 l 435 1082 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"Ú":{ha:1023,x_min:111,x_max:912,o:"m 431 1082 l 610 1279 l 825 1279 l 585 1082 l 431 1082 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"Û":{ha:1023,x_min:111,x_max:912,o:"m 241 1095 l 416 1346 l 587 1346 l 766 1095 l 599 1095 l 507 1228 l 412 1095 l 241 1095 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"Ü":{ha:1023,x_min:111,x_max:912,o:"m 573 1072 l 573 1225 l 739 1225 l 739 1072 l 573 1072 m 262 1072 l 262 1225 l 430 1225 l 430 1072 l 262 1072 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"Ý":{ha:869,x_min:-9,x_max:875,o:"m 370 1082 l 549 1279 l 764 1279 l 524 1082 l 370 1082 m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},"Þ":{ha:882,x_min:129,x_max:828,o:"m 298 370 l 448 370 q 643 525 643 370 q 628 603 643 572 q 581 652 612 635 q 511 676 550 669 q 415 683 471 683 l 298 683 l 298 370 m 129 0 l 129 987 l 300 987 l 300 829 l 407 829 q 541 822 482 829 q 655 795 600 815 q 747 741 711 774 q 806 653 784 708 q 828 524 828 598 q 806 412 828 463 q 747 326 785 361 q 657 267 709 291 q 546 232 605 243 q 420 221 486 221 l 298 221 l 298 0 l 129 0 z "},"ß":{ha:858,x_min:98,x_max:812,o:"m 517 119 q 625 227 625 119 q 573 359 625 304 q 387 481 520 414 l 387 608 q 483 679 441 632 q 524 777 524 725 q 491 844 524 819 q 412 868 458 868 q 303 819 345 868 q 262 677 262 770 l 262 0 l 100 0 l 98 678 q 180 921 97 840 q 412 1002 264 1002 q 625 942 542 1002 q 707 787 707 882 q 673 667 707 725 q 577 578 639 608 q 505 550 544 561 q 623 511 569 536 q 720 448 677 486 q 788 358 764 411 q 812 240 812 304 q 741 55 812 125 q 562 -15 669 -15 q 454 -5 509 -15 q 370 15 399 5 l 342 25 l 372 156 q 395 146 380 152 q 448 129 409 140 q 517 119 486 119 z "},"à":{ha:876,x_min:73,x_max:783,o:"m 399 791 l 161 987 l 376 987 l 554 791 l 399 791 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"á":{ha:876,x_min:73,x_max:789,o:"m 394 791 l 573 987 l 789 987 l 549 791 l 394 791 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"â":{ha:876,x_min:73,x_max:783,o:"m 205 804 l 379 1055 l 550 1055 l 730 804 l 562 804 l 470 937 l 376 804 l 205 804 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"ã":{ha:876,x_min:73,x_max:783,o:"m 510 796 l 509 796 q 441 814 481 796 q 366 851 401 833 q 314 869 330 869 q 285 852 299 869 q 268 800 271 835 l 159 800 q 200 942 159 886 q 307 997 241 997 q 381 980 342 997 q 454 945 421 963 q 500 924 487 926 q 506 924 503 924 q 511 924 509 924 q 542 939 531 924 q 553 997 553 954 l 663 997 q 622 847 663 897 q 510 796 581 797 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"ä":{ha:876,x_min:73,x_max:783,o:"m 536 781 l 536 933 l 703 933 l 703 781 l 536 781 m 226 781 l 226 933 l 393 933 l 393 781 l 226 781 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"å":{ha:876,x_min:73,x_max:783,o:"m 465 782 q 359 823 403 782 q 316 926 316 865 q 359 1030 316 989 q 465 1071 402 1071 q 571 1030 528 1071 q 615 926 615 989 q 571 823 615 865 q 465 782 528 782 m 466 852 q 517 874 496 852 q 538 926 538 896 q 517 978 538 957 q 466 1000 496 1000 q 415 978 436 1000 q 394 926 394 957 q 415 874 394 896 q 466 852 436 852 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"æ":{ha:1204,x_min:47,x_max:1124,o:"m 664 429 l 977 429 l 977 444 q 931 553 975 514 q 832 591 887 591 q 725 546 767 591 q 664 429 682 501 m 326 120 q 393 132 363 120 q 441 163 422 144 q 473 208 460 182 q 492 261 486 234 q 498 317 498 288 l 431 317 q 349 311 387 317 q 279 293 311 305 q 229 258 248 281 q 211 206 211 236 q 243 141 211 162 q 326 120 275 120 m 321 -15 q 121 41 195 -15 q 47 199 47 97 q 147 382 47 332 q 471 433 246 433 l 499 433 q 458 541 498 500 q 345 583 418 583 q 151 528 266 583 l 102 639 q 382 713 226 713 q 503 680 439 713 q 597 586 566 646 q 697 680 629 646 q 833 713 766 713 l 836 713 q 968 684 911 713 q 1058 606 1025 656 q 1108 492 1092 555 q 1124 352 1124 428 l 1121 317 l 662 317 l 662 304 q 850 120 680 120 l 857 120 q 959 140 906 121 q 1041 178 1013 159 l 1069 196 l 1115 73 q 1102 64 1110 70 q 1065 43 1093 58 q 1009 16 1038 28 q 937 -5 980 4 q 851 -16 893 -15 l 843 -16 q 682 14 746 -16 q 581 117 617 44 q 475 16 547 47 q 321 -15 404 -15 z "},"ç":{ha:726,x_min:73,x_max:687,o:"m 288 -289 l 296 -199 q 351 -217 318 -209 q 414 -225 385 -225 q 482 -176 482 -225 q 378 -95 482 -111 l 359 -92 l 380 26 l 464 26 l 452 -51 q 564 -97 526 -56 q 603 -192 603 -138 q 598 -230 603 -212 q 586 -261 594 -248 q 566 -287 578 -275 q 541 -306 555 -298 q 510 -319 527 -313 q 476 -327 494 -324 q 440 -329 459 -329 q 288 -289 359 -329 m 437 -16 q 282 14 352 -16 q 167 95 212 44 q 98 211 122 146 q 73 349 73 277 q 116 534 73 452 q 241 665 158 616 q 435 713 324 713 q 687 620 599 713 l 627 511 q 452 578 551 578 q 300 515 353 578 q 248 348 248 453 q 304 183 248 245 q 458 120 360 120 q 485 121 471 120 q 509 125 498 123 q 532 131 520 127 q 552 137 544 134 q 570 146 560 140 q 586 154 581 151 q 601 163 592 157 q 613 172 610 170 q 624 179 616 174 q 632 186 631 185 l 683 62 q 566 3 625 22 q 437 -16 508 -16 z "},"è":{ha:818,x_min:73,x_max:743,o:"m 389 791 l 151 987 l 367 987 l 545 791 l 389 791 m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},"é":{ha:818,x_min:73,x_max:780,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 385 791 l 564 987 l 780 987 l 540 791 l 385 791 z "},"ê":{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 165 804 l 339 1055 l 510 1055 l 690 804 l 522 804 l 430 937 l 336 804 l 165 804 z "},"ë":{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 528 781 l 528 933 l 694 933 l 694 781 l 528 781 m 217 781 l 217 933 l 385 933 l 385 781 l 217 781 z "},"ì":{ha:329,x_min:-155,x_max:239,o:"m 83 791 l -155 987 l 61 987 l 239 791 l 83 791 m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 z "},"í":{ha:329,x_min:70,x_max:474,o:"m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 m 79 791 l 258 987 l 474 987 l 234 791 l 79 791 z "},"î":{ha:329,x_min:-111,x_max:414,o:"m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 m -111 804 l 64 1055 l 235 1055 l 414 804 l 247 804 l 155 937 l 60 804 l -111 804 z "},"ï":{ha:329,x_min:-90,x_max:387,o:"m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 m 221 781 l 221 933 l 387 933 l 387 781 l 221 781 m -90 781 l -90 933 l 78 933 l 78 781 l -90 781 z "},"ð":{ha:825,x_min:67,x_max:746,o:"m 409 117 q 464 128 437 117 q 515 161 491 139 q 554 218 539 182 q 569 299 569 254 q 517 423 569 376 q 397 470 465 470 q 340 460 367 470 q 290 432 313 451 q 253 380 267 414 q 239 304 239 347 q 290 165 239 213 q 409 117 340 117 m 395 -17 q 259 11 321 -17 q 155 84 197 38 q 90 192 113 131 q 67 319 67 252 q 143 533 67 455 q 359 612 220 612 q 593 511 498 612 q 594 529 593 515 q 595 552 595 543 q 454 756 595 653 l 282 671 l 237 761 l 346 814 q 201 853 298 830 l 254 961 q 351 943 284 961 q 487 886 418 924 l 661 972 l 705 882 l 580 820 q 746 421 746 676 q 656 87 746 192 q 395 -17 566 -17 z "},"ñ":{ha:830,x_min:94,x_max:742,o:"m 494 796 l 493 796 q 425 814 465 796 q 349 851 385 833 q 298 869 314 869 q 269 852 283 869 q 252 800 255 835 l 143 800 q 184 942 143 886 q 291 997 225 997 q 365 980 326 997 q 438 945 405 963 q 484 924 471 926 q 490 924 486 924 q 494 924 493 924 q 526 939 515 924 q 536 997 537 954 l 646 997 q 606 847 646 897 q 494 796 565 797 m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 z "},"ò":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 367 791 l 129 987 l 345 987 l 522 791 l 367 791 z "},"ó":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 363 791 l 542 987 l 758 987 l 517 791 l 363 791 z "},"ô":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 173 804 l 347 1055 l 518 1055 l 698 804 l 530 804 l 438 937 l 344 804 l 173 804 z "},"õ":{ha:872,x_min:73,x_max:799,o:"m 479 796 l 478 796 q 410 814 450 796 q 334 851 370 833 q 283 869 299 869 q 254 852 268 869 q 237 800 240 835 l 128 800 q 169 942 128 886 q 276 997 210 997 q 350 980 311 997 q 423 945 390 963 q 469 924 456 926 q 475 924 471 924 q 479 924 478 924 q 511 939 500 924 q 522 997 522 954 l 631 997 q 591 847 631 897 q 479 796 550 797 m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 z "},"ö":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 505 781 l 505 933 l 671 933 l 671 781 l 505 781 m 194 781 l 194 933 l 361 933 l 361 781 l 194 781 z "},"÷":{ha:1017,x_min:113,x_max:850,o:"m 418 570 l 418 753 l 555 753 l 555 570 l 418 570 m 113 304 l 113 445 l 850 445 l 850 304 l 113 304 m 420 -13 l 420 172 l 557 172 l 558 -13 l 420 -13 z "},"ø":{ha:862,x_min:73,x_max:799,o:"m 498 568 l 311 168 q 248 350 248 230 q 268 464 248 414 q 330 546 287 514 q 437 577 374 577 q 498 568 468 577 m 562 530 q 624 350 624 469 q 613 263 624 303 q 582 190 603 223 q 523 139 560 157 q 436 120 486 120 q 374 129 401 120 l 562 530 m 439 -16 q 598 14 528 -16 q 711 95 668 44 q 777 210 754 146 q 799 347 799 274 q 756 542 799 456 q 628 672 713 627 l 683 790 l 616 821 l 559 699 q 439 713 503 713 q 279 684 350 713 q 164 605 208 655 q 96 489 119 554 q 73 348 73 423 q 117 160 73 244 q 245 29 161 75 l 185 -100 l 252 -132 l 315 1 q 439 -16 370 -16 z "},"ù":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 337 791 l 99 987 l 315 987 l 492 791 l 337 791 z "},"ú":{ha:804,x_min:88,x_max:727,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 332 791 l 511 987 l 727 987 l 487 791 l 332 791 z "},"û":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 143 804 l 317 1055 l 488 1055 l 668 804 l 500 804 l 408 937 l 314 804 l 143 804 z "},"ü":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 475 781 l 475 933 l 641 933 l 641 781 l 475 781 m 164 781 l 164 933 l 332 933 l 332 781 l 164 781 z "},"ý":{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 m 328 791 l 507 987 l 722 987 l 482 791 l 328 791 z "},"þ":{ha:833,x_min:95,x_max:765,o:"m 419 120 q 496 139 463 120 q 549 191 529 158 q 579 265 569 224 q 589 353 589 306 q 580 437 589 399 q 553 507 572 475 q 503 557 535 539 q 425 576 470 576 q 345 556 379 576 q 291 502 310 536 q 262 426 271 468 q 253 335 253 385 q 296 179 253 239 q 419 120 339 120 m 95 -268 l 95 993 l 256 993 l 254 643 q 338 693 282 673 q 438 713 395 713 q 579 684 516 713 q 682 606 642 656 q 744 493 722 557 q 765 356 765 429 q 752 243 765 297 q 712 142 739 189 q 647 59 686 94 q 555 4 609 24 q 437 -16 501 -16 q 339 1 389 -16 q 252 42 290 17 l 252 -268 l 95 -268 z "},"ÿ":{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 m 469 781 l 469 933 l 635 933 l 635 781 l 469 781 m 159 781 l 159 933 l 326 933 l 326 781 l 159 781 z "},"Ā":{ha:989,x_min:8,x_max:980,o:"m 262 1069 l 262 1175 l 686 1175 l 686 1069 l 262 1069 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ā":{ha:876,x_min:73,x_max:783,o:"m 236 777 l 236 884 l 659 884 l 659 777 l 236 777 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ă":{ha:989,x_min:8,x_max:980,o:"m 499 1078 q 281 1279 294 1078 l 399 1279 q 410 1236 401 1253 q 434 1211 418 1219 q 464 1199 449 1202 q 499 1196 479 1196 q 568 1213 542 1196 q 598 1279 593 1230 l 715 1279 q 653 1126 708 1175 q 499 1078 599 1078 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ă":{ha:876,x_min:73,x_max:783,o:"m 473 787 q 254 987 268 787 l 372 987 q 383 944 374 962 q 407 919 392 927 q 437 908 422 911 q 473 905 452 905 q 541 921 515 905 q 572 987 567 938 l 689 987 q 627 835 682 883 q 473 787 572 787 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ą":{ha:989,x_min:8,x_max:987,o:"m 814 -241 q 709 -220 747 -241 q 671 -154 671 -198 q 676 -119 671 -136 q 689 -90 682 -102 q 710 -63 696 -77 q 734 -42 724 -50 q 762 -24 745 -34 q 789 -9 779 -14 q 815 4 798 -4 q 836 14 831 12 l 928 16 q 854 -45 881 -11 q 827 -106 827 -80 q 869 -138 827 -138 q 987 -113 904 -138 l 987 -214 q 814 -241 895 -241 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ą":{ha:876,x_min:73,x_max:812,o:"m 640 -241 q 535 -220 573 -241 q 496 -154 496 -198 q 502 -119 496 -136 q 515 -90 507 -102 q 536 -63 522 -77 q 560 -42 549 -50 q 588 -24 570 -34 q 614 -9 605 -14 q 641 4 624 -4 q 662 14 657 12 l 753 16 q 680 -45 707 -11 q 652 -106 652 -80 q 695 -138 652 -138 q 812 -113 730 -138 l 812 -214 q 640 -241 721 -241 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ć":{ha:974,x_min:72,x_max:908,o:"m 486 1082 l 665 1279 l 880 1279 l 640 1082 l 486 1082 m 566 -15 q 380 19 469 -15 q 223 115 292 52 q 113 275 154 177 q 72 493 72 373 q 99 679 72 593 q 174 823 127 764 q 282 924 220 882 q 412 986 344 966 q 553 1006 481 1006 q 882 899 747 1006 l 815 779 q 567 857 703 857 q 447 832 504 857 q 347 762 391 807 q 278 647 304 716 q 252 495 252 578 q 345 233 252 332 q 578 134 437 134 q 850 233 726 134 l 908 97 q 566 -15 764 -15 z "},"ć":{ha:726,x_min:73,x_max:758,o:"m 437 -16 q 282 14 352 -16 q 167 95 212 44 q 98 211 122 146 q 73 349 73 277 q 116 534 73 452 q 241 665 158 616 q 435 713 324 713 q 687 620 599 713 l 627 511 q 452 578 551 578 q 300 515 353 578 q 248 348 248 453 q 304 183 248 245 q 458 120 360 120 q 485 121 471 120 q 509 125 498 123 q 532 131 520 127 q 552 137 544 134 q 570 146 560 140 q 586 154 581 151 q 601 163 592 157 q 613 172 610 170 q 624 179 616 174 q 632 186 631 185 l 683 62 q 566 3 625 22 q 437 -16 508 -16 m 363 791 l 542 987 l 758 987 l 517 791 l 363 791 z "},"Ĉ":{ha:974,x_min:72,x_max:908,o:"m 296 1095 l 471 1346 l 642 1346 l 821 1095 l 654 1095 l 562 1228 l 467 1095 l 296 1095 m 566 -15 q 380 19 469 -15 q 223 115 292 52 q 113 275 154 177 q 72 493 72 373 q 99 679 72 593 q 174 823 127 764 q 282 924 220 882 q 412 986 344 966 q 553 1006 481 1006 q 882 899 747 1006 l 815 779 q 567 857 703 857 q 447 832 504 857 q 347 762 391 807 q 278 647 304 716 q 252 495 252 578 q 345 233 252 332 q 578 134 437 134 q 850 233 726 134 l 908 97 q 566 -15 764 -15 z "},"ĉ":{ha:726,x_min:73,x_max:699,o:"m 174 804 l 348 1055 l 519 1055 l 699 804 l 531 804 l 439 937 l 345 804 l 174 804 m 437 -16 q 282 14 352 -16 q 167 95 212 44 q 98 211 122 146 q 73 349 73 277 q 116 534 73 452 q 241 665 158 616 q 435 713 324 713 q 687 620 599 713 l 627 511 q 452 578 551 578 q 300 515 353 578 q 248 348 248 453 q 304 183 248 245 q 458 120 360 120 q 485 121 471 120 q 509 125 498 123 q 532 131 520 127 q 552 137 544 134 q 570 146 560 140 q 586 154 581 151 q 601 163 592 157 q 613 172 610 170 q 624 179 616 174 q 632 186 631 185 l 683 62 q 566 3 625 22 q 437 -16 508 -16 z "},"Ċ":{ha:974,x_min:72,x_max:908,o:"m 483 1082 l 483 1237 l 650 1237 l 650 1082 l 483 1082 m 566 -15 q 380 19 469 -15 q 223 115 292 52 q 113 275 154 177 q 72 493 72 373 q 99 679 72 593 q 174 823 127 764 q 282 924 220 882 q 412 986 344 966 q 553 1006 481 1006 q 882 899 747 1006 l 815 779 q 567 857 703 857 q 447 832 504 857 q 347 762 391 807 q 278 647 304 716 q 252 495 252 578 q 345 233 252 332 q 578 134 437 134 q 850 233 726 134 l 908 97 q 566 -15 764 -15 z "},"ċ":{ha:726,x_min:73,x_max:687,o:"m 361 791 l 361 945 l 528 945 l 528 791 l 361 791 m 437 -16 q 282 14 352 -16 q 167 95 212 44 q 98 211 122 146 q 73 349 73 277 q 116 534 73 452 q 241 665 158 616 q 435 713 324 713 q 687 620 599 713 l 627 511 q 452 578 551 578 q 300 515 353 578 q 248 348 248 453 q 304 183 248 245 q 458 120 360 120 q 485 121 471 120 q 509 125 498 123 q 532 131 520 127 q 552 137 544 134 q 570 146 560 140 q 586 154 581 151 q 601 163 592 157 q 613 172 610 170 q 624 179 616 174 q 632 186 631 185 l 683 62 q 566 3 625 22 q 437 -16 508 -16 z "},"Č":{ha:974,x_min:72,x_max:908,o:"m 481 1095 l 290 1344 l 463 1344 l 543 1246 l 627 1344 l 807 1344 l 618 1095 l 481 1095 m 566 -15 q 380 19 469 -15 q 223 115 292 52 q 113 275 154 177 q 72 493 72 373 q 99 679 72 593 q 174 823 127 764 q 282 924 220 882 q 412 986 344 966 q 553 1006 481 1006 q 882 899 747 1006 l 815 779 q 567 857 703 857 q 447 832 504 857 q 347 762 391 807 q 278 647 304 716 q 252 495 252 578 q 345 233 252 332 q 578 134 437 134 q 850 233 726 134 l 908 97 q 566 -15 764 -15 z "},"č":{ha:726,x_min:73,x_max:687,o:"m 358 804 l 168 1053 l 340 1053 l 420 954 l 504 1053 l 684 1053 l 495 804 l 358 804 m 437 -16 q 282 14 352 -16 q 167 95 212 44 q 98 211 122 146 q 73 349 73 277 q 116 534 73 452 q 241 665 158 616 q 435 713 324 713 q 687 620 599 713 l 627 511 q 452 578 551 578 q 300 515 353 578 q 248 348 248 453 q 304 183 248 245 q 458 120 360 120 q 485 121 471 120 q 509 125 498 123 q 532 131 520 127 q 552 137 544 134 q 570 146 560 140 q 586 154 581 151 q 601 163 592 157 q 613 172 610 170 q 624 179 616 174 q 632 186 631 185 l 683 62 q 566 3 625 22 q 437 -16 508 -16 z "},"Ď":{ha:1065,x_min:129,x_max:994,o:"m 421 1095 l 231 1344 l 403 1344 l 484 1246 l 567 1344 l 747 1344 l 558 1095 l 421 1095 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"ď":{ha:859,x_min:73,x_max:1113,o:"m 425 120 q 506 139 471 120 q 561 190 541 157 q 590 262 581 223 q 600 347 600 302 q 556 513 600 449 q 424 577 512 577 q 325 545 365 577 q 267 464 284 513 q 250 350 250 414 q 259 263 250 303 q 289 190 269 223 q 344 139 309 157 q 425 120 379 120 m 391 -16 q 164 83 256 -16 q 73 345 73 182 q 94 484 73 418 q 155 602 115 550 q 259 683 195 653 q 404 713 323 713 q 525 684 475 713 q 595 623 575 654 l 595 988 l 762 988 l 762 186 q 768 0 762 182 l 595 0 l 594 89 q 574 57 588 73 q 536 23 559 41 q 474 -5 512 6 q 391 -16 436 -16 m 846 645 l 923 987 l 1113 987 l 990 645 l 846 645 z "},"Đ":{ha:1065,x_min:18,x_max:994,o:"m 18 451 l 18 553 l 439 553 l 439 451 l 18 451 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"đ":{ha:859,x_min:73,x_max:866,o:"m 443 779 l 443 886 l 866 886 l 866 779 l 443 779 m 425 120 q 506 139 471 120 q 561 190 541 157 q 590 262 581 223 q 600 347 600 302 q 556 513 600 449 q 424 577 512 577 q 325 545 365 577 q 267 464 284 513 q 250 350 250 414 q 259 263 250 303 q 289 190 269 223 q 344 139 309 157 q 425 120 379 120 m 391 -16 q 164 83 256 -16 q 73 345 73 182 q 94 484 73 418 q 155 602 115 550 q 259 683 195 653 q 404 713 323 713 q 525 684 475 713 q 595 623 575 654 l 595 988 l 762 988 l 762 186 q 768 0 762 182 l 595 0 l 594 89 q 574 57 588 73 q 536 23 559 41 q 474 -5 512 6 q 391 -16 436 -16 z "},"Ē":{ha:847,x_min:129,x_max:772,o:"m 220 1069 l 220 1175 l 644 1175 l 644 1069 l 220 1069 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ē":{ha:818,x_min:73,x_max:743,o:"m 227 777 l 227 884 l 650 884 l 650 777 l 227 777 m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},"Ĕ":{ha:847,x_min:129,x_max:772,o:"m 458 1078 q 239 1279 253 1078 l 357 1279 q 368 1236 359 1253 q 392 1211 377 1219 q 422 1199 408 1202 q 458 1196 437 1196 q 526 1213 500 1196 q 557 1279 552 1230 l 674 1279 q 612 1126 667 1175 q 458 1078 557 1078 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ĕ":{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 464 787 q 245 987 259 787 l 363 987 q 374 944 366 962 q 398 919 383 927 q 429 908 414 911 q 464 905 444 905 q 532 921 507 905 q 563 987 558 938 l 680 987 q 618 835 673 883 q 464 787 564 787 z "},"Ė":{ha:847,x_min:129,x_max:772,o:"m 376 1082 l 376 1237 l 543 1237 l 543 1082 l 376 1082 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ė":{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 382 791 l 382 945 l 549 945 l 549 791 l 382 791 z "},"Ę":{ha:847,x_min:129,x_max:772,o:"m 493 -241 q 388 -220 426 -241 q 349 -154 349 -198 q 355 -119 349 -136 q 368 -90 360 -102 q 389 -63 375 -77 q 413 -42 402 -50 q 440 -24 423 -34 q 467 -9 458 -14 q 493 4 477 -4 q 515 14 510 12 l 606 16 q 532 -45 559 -11 q 505 -106 505 -80 q 548 -138 505 -138 q 665 -113 583 -138 l 665 -214 q 493 -241 574 -241 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ę":{ha:818,x_min:73,x_max:743,o:"m 518 -241 q 413 -220 451 -241 q 374 -154 374 -198 q 380 -119 374 -136 q 393 -90 385 -102 q 414 -63 400 -77 q 438 -42 427 -50 q 466 -24 448 -34 q 492 -9 483 -14 q 518 4 502 -4 q 540 14 535 12 l 631 16 q 557 -45 585 -11 q 530 -106 530 -80 q 573 -138 530 -138 q 690 -113 608 -138 l 690 -214 q 518 -241 599 -241 m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},"Ě":{ha:847,x_min:129,x_max:772,o:"m 374 1095 l 183 1344 l 355 1344 l 436 1246 l 519 1344 l 700 1344 l 511 1095 l 374 1095 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ě":{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 380 804 l 190 1053 l 362 1053 l 443 954 l 526 1053 l 707 1053 l 517 804 l 380 804 z "},"Ĝ":{ha:1043,x_min:71,x_max:929,o:"m 303 1095 l 477 1346 l 648 1346 l 828 1095 l 661 1095 l 568 1228 l 474 1095 l 303 1095 m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},"ĝ":{ha:838,x_min:73,x_max:766,o:"m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 m 155 804 l 330 1055 l 500 1055 l 680 804 l 513 804 l 420 937 l 326 804 l 155 804 z "},"Ğ":{ha:1043,x_min:71,x_max:929,o:"m 571 1078 q 353 1279 366 1078 l 471 1279 q 481 1236 473 1253 q 506 1211 490 1219 q 536 1199 521 1202 q 571 1196 551 1196 q 640 1213 614 1196 q 670 1279 665 1230 l 787 1279 q 725 1126 780 1175 q 571 1078 671 1078 m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},"ğ":{ha:838,x_min:73,x_max:766,o:"m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 m 423 787 q 205 987 218 787 l 323 987 q 334 944 325 962 q 358 919 342 927 q 388 908 373 911 q 423 905 403 905 q 492 921 466 905 q 522 987 517 938 l 640 987 q 577 835 632 883 q 423 787 523 787 z "},"Ġ":{ha:1043,x_min:71,x_max:929,o:"m 490 1082 l 490 1237 l 656 1237 l 656 1082 l 490 1082 m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},"ġ":{ha:838,x_min:73,x_max:766,o:"m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 m 342 791 l 342 945 l 509 945 l 509 791 l 342 791 z "},"Ģ":{ha:1043,x_min:71,x_max:929,o:"m 427 -439 l 503 -96 l 692 -96 l 570 -439 l 427 -439 m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},"ģ":{ha:838,x_min:73,x_max:766,o:"m 624 1177 l 548 840 l 359 840 l 481 1177 l 624 1177 m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 z "},"Ĥ":{ha:1066,x_min:129,x_max:937,o:"m 258 1095 l 433 1346 l 604 1346 l 783 1095 l 616 1095 l 524 1228 l 429 1095 l 258 1095 m 129 0 l 129 987 l 301 987 l 301 581 l 764 581 l 764 987 l 937 987 l 937 0 l 768 0 l 768 432 l 304 432 l 304 0 l 129 0 z "},"ĥ":{ha:827,x_min:98,x_max:797,o:"m 98 0 l 98 988 l 266 988 l 266 606 q 354 684 291 654 q 474 713 417 713 q 562 702 522 713 q 629 671 602 690 q 676 625 656 652 q 708 569 696 597 q 727 507 720 541 q 736 446 734 473 q 739 387 739 418 l 739 0 l 570 0 l 570 393 q 540 534 570 491 q 448 577 509 577 q 322 529 379 577 q 266 419 266 481 l 266 0 l 98 0 m 272 804 l 446 1055 l 617 1055 l 797 804 l 629 804 l 537 937 l 443 804 l 272 804 z "},"Ħ":{ha:1066,x_min:64,x_max:990,o:"m 64 720 l 64 823 l 990 823 l 990 720 l 64 720 m 129 0 l 129 987 l 301 987 l 301 581 l 764 581 l 764 987 l 937 987 l 937 0 l 768 0 l 768 432 l 304 432 l 304 0 l 129 0 z "},"ħ":{ha:827,x_min:-16,x_max:739,o:"m -16 779 l -16 886 l 407 886 l 407 779 l -16 779 m 98 0 l 98 988 l 266 988 l 266 606 q 354 684 291 654 q 474 713 417 713 q 562 702 522 713 q 629 671 602 690 q 676 625 656 652 q 708 569 696 597 q 727 507 720 541 q 736 446 734 473 q 739 387 739 418 l 739 0 l 570 0 l 570 393 q 540 534 570 491 q 448 577 509 577 q 322 529 379 577 q 266 419 266 481 l 266 0 l 98 0 z "},"Ĩ":{ha:397,x_min:-57,x_max:446,o:"m 294 1116 l 293 1116 q 224 1135 264 1116 q 149 1171 184 1153 q 98 1189 114 1189 q 69 1172 83 1189 q 52 1120 55 1155 l -57 1120 q -16 1262 -57 1206 q 91 1317 25 1317 q 165 1300 125 1317 q 238 1265 205 1283 q 284 1244 271 1246 q 290 1244 286 1244 q 294 1244 293 1244 q 326 1259 315 1244 q 336 1317 337 1274 l 446 1317 q 406 1167 446 1217 q 294 1116 365 1117 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ĩ":{ha:329,x_min:-98,x_max:406,o:"m 253 824 l 252 824 q 184 842 224 824 q 109 879 144 861 q 57 897 73 897 q 28 880 42 897 q 11 827 14 863 l -98 827 q -57 969 -98 914 q 50 1025 -16 1025 q 124 1008 85 1025 q 197 972 164 991 q 243 952 230 954 q 249 952 245 952 q 254 951 252 951 q 285 967 274 951 q 296 1025 296 982 l 406 1025 q 365 874 406 924 q 253 824 324 825 m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 z "},"Ī":{ha:397,x_min:-17,x_max:406,o:"m -17 1116 l -17 1223 l 406 1223 l 406 1116 l -17 1116 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ī":{ha:329,x_min:-58,x_max:366,o:"m -57 824 l -57 930 l 366 930 l 366 824 l -57 824 m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 z "},"Ĭ":{ha:397,x_min:-23,x_max:412,o:"m 195 1116 q -23 1317 -9 1116 l 95 1317 q 106 1274 97 1291 q 130 1249 115 1257 q 160 1237 145 1240 q 195 1234 175 1234 q 264 1251 238 1234 q 294 1317 290 1267 l 412 1317 q 350 1164 404 1213 q 195 1116 295 1116 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ĭ":{ha:329,x_min:-63,x_max:372,o:"m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 m 155 824 q -63 1025 -50 824 l 55 1025 q 66 982 57 999 q 90 956 75 964 q 120 945 105 948 q 155 942 135 942 q 224 959 198 942 q 254 1025 250 975 l 372 1025 q 310 872 364 920 q 155 824 255 824 z "},"Į":{ha:397,x_min:14,x_max:330,o:"m 158 -241 q 53 -220 91 -241 q 14 -154 14 -198 q 20 -119 14 -136 q 33 -90 25 -102 q 54 -63 40 -77 q 78 -42 67 -50 q 105 -24 88 -34 q 132 -9 123 -14 q 158 4 142 -4 q 180 14 175 12 l 271 16 q 197 -45 224 -11 q 170 -106 170 -80 q 213 -138 170 -138 q 330 -113 248 -138 l 330 -214 q 158 -241 239 -241 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"į":{ha:329,x_min:-9,x_max:307,o:"m 135 -241 q 30 -220 68 -241 q -9 -154 -9 -198 q -3 -119 -9 -136 q 9 -90 2 -102 q 31 -63 17 -77 q 55 -42 44 -50 q 82 -24 65 -34 q 109 -9 100 -14 q 135 4 119 -4 q 157 14 152 12 l 248 16 q 174 -45 201 -11 q 147 -106 147 -80 q 190 -138 147 -138 q 307 -113 224 -138 l 307 -214 q 135 -241 216 -241 m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 m 77 791 l 77 945 l 243 945 l 243 791 l 77 791 z "},"İ":{ha:397,x_min:109,x_max:283,o:"m 117 1082 l 117 1237 l 283 1237 l 283 1082 l 117 1082 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ı":{ha:329,x_min:70,x_max:239,o:"m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 z "},"IJ":{ha:1088,x_min:109,x_max:960,o:"m 680 -224 q 463 -181 583 -224 l 494 -50 q 649 -80 587 -80 q 788 75 788 -80 l 788 987 l 960 987 l 960 83 q 886 -145 960 -65 q 680 -224 812 -224 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ij":{ha:762,x_min:96,x_max:675,o:"m 507 833 l 507 987 l 674 987 l 674 833 l 507 833 m 423 -245 q 354 -241 386 -245 q 311 -232 323 -236 l 298 -227 l 317 -112 q 414 -125 359 -125 q 453 -120 438 -125 q 480 -102 468 -116 q 498 -60 492 -87 q 503 14 503 -32 l 503 696 l 675 696 l 675 -6 q 664 -109 675 -67 q 625 -183 652 -151 q 548 -230 597 -215 q 423 -245 498 -245 m 317 -112 l 315 -111 l 317 -111 l 317 -112 m 96 840 l 96 987 l 259 987 l 259 840 l 96 840 m 97 0 l 97 696 l 259 696 l 259 0 l 97 0 z "},"Ĵ":{ha:691,x_min:65,x_max:739,o:"m 214 1095 l 388 1346 l 559 1346 l 739 1095 l 571 1095 l 479 1228 l 385 1095 l 214 1095 m 283 -224 q 65 -181 186 -224 l 96 -50 q 252 -80 189 -80 q 391 75 391 -80 l 391 987 l 563 987 l 563 83 q 489 -145 563 -65 q 283 -224 415 -224 z "},"ĵ":{ha:407,x_min:-58,x_max:490,o:"m 68 -245 q -1 -241 31 -245 q -45 -232 -33 -236 l -58 -227 l -39 -112 q 58 -125 3 -125 q 98 -120 83 -125 q 125 -102 113 -116 q 142 -60 137 -87 q 148 14 148 -32 l 148 696 l 319 696 l 319 -6 q 308 -109 319 -67 q 270 -183 297 -151 q 192 -230 242 -215 q 68 -245 142 -245 m -39 -112 l -41 -111 l -39 -111 l -39 -112 m -35 804 l 140 1055 l 311 1055 l 490 804 l 323 804 l 231 937 l 136 804 l -35 804 z "},"Ķ":{ha:917,x_min:129,x_max:930,o:"m 356 -439 l 433 -96 l 622 -96 l 500 -439 l 356 -439 m 129 0 l 129 987 l 301 987 l 301 556 l 682 987 l 897 987 l 469 511 l 930 0 l 706 0 l 303 441 l 303 0 l 129 0 z "},"ķ":{ha:730,x_min:95,x_max:768,o:"m 233 -439 l 310 -96 l 499 -96 l 377 -439 l 233 -439 m 95 0 l 95 988 l 263 988 l 263 412 l 515 696 l 747 696 l 415 359 l 768 0 l 546 0 l 263 301 l 263 0 l 95 0 z "},"ĸ":{ha:734,x_min:98,x_max:762,o:"m 98 0 l 98 696 l 266 696 l 266 429 l 507 696 l 739 696 l 389 342 q 499 241 458 278 q 549 195 540 203 q 564 180 557 186 q 585 161 571 174 q 638 112 600 148 q 762 0 677 77 l 536 0 l 266 260 l 266 0 l 98 0 z "},"Ĺ":{ha:795,x_min:129,x_max:758,o:"m 185 1082 l 364 1279 l 580 1279 l 340 1082 l 185 1082 m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},"ĺ":{ha:357,x_min:96,x_max:506,o:"m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 m 111 1082 l 290 1279 l 506 1279 l 266 1082 l 111 1082 z "},"Ļ":{ha:795,x_min:129,x_max:758,o:"m 270 -439 l 347 -96 l 536 -96 l 414 -439 l 270 -439 m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},"ļ":{ha:357,x_min:18,x_max:284,o:"m 18 -439 l 95 -96 l 284 -96 l 162 -439 l 18 -439 m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 z "},"Ľ":{ha:795,x_min:129,x_max:758,o:"m 415 645 l 492 987 l 682 987 l 559 645 l 415 645 m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},"ľ":{ha:357,x_min:96,x_max:587,o:"m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 m 321 645 l 397 987 l 587 987 l 465 645 l 321 645 z "},"Ŀ":{ha:795,x_min:129,x_max:758,o:"m 406 436 l 406 627 l 612 627 l 612 436 l 406 436 m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},"ŀ":{ha:357,x_min:96,x_max:518,o:"m 312 453 l 312 644 l 518 644 l 518 453 l 312 453 m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 z "},"Ł":{ha:791,x_min:24,x_max:758,o:"m 24 286 l 24 438 l 415 743 l 415 591 l 24 286 m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},"ł":{ha:341,x_min:5,x_max:317,o:"m 80 0 l 80 493 l 5 425 l 5 573 l 79 641 l 79 989 l 248 989 l 248 766 l 317 831 l 317 680 l 249 613 l 249 0 l 80 0 z "},"Ń":{ha:1105,x_min:129,x_max:977,o:"m 493 1082 l 672 1279 l 888 1279 l 648 1082 l 493 1082 m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},"ń":{ha:830,x_min:94,x_max:772,o:"m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 m 378 791 l 557 987 l 772 987 l 532 791 l 378 791 z "},"Ņ":{ha:1105,x_min:129,x_max:977,o:"m 414 -439 l 490 -96 l 680 -96 l 557 -439 l 414 -439 m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},"ņ":{ha:830,x_min:94,x_max:742,o:"m 261 -439 l 338 -96 l 527 -96 l 405 -439 l 261 -439 m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 z "},"Ň":{ha:1105,x_min:129,x_max:977,o:"m 488 1095 l 298 1344 l 470 1344 l 551 1246 l 634 1344 l 814 1344 l 625 1095 l 488 1095 m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},"ň":{ha:830,x_min:94,x_max:742,o:"m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 m 372 804 l 182 1053 l 354 1053 l 435 954 l 518 1053 l 699 1053 l 509 804 l 372 804 z "},"ʼn":{ha:828,x_min:43,x_max:742,o:"m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 z "},"Ŋ":{ha:1100,x_min:131,x_max:968,o:"m 968 987 l 968 1 q 598 -321 968 -321 l 598 -189 q 662 -186 635 -189 q 718 -174 689 -184 q 765 -148 747 -165 q 794 -100 783 -131 q 806 -28 806 -70 l 806 66 l 377 642 l 288 772 l 288 0 l 131 0 l 131 987 l 312 987 l 720 432 l 806 305 l 806 987 l 968 987 z "},"ŋ":{ha:808,x_min:92,x_max:722,o:"m 355 -269 l 355 -134 q 429 -126 395 -134 q 491 -100 462 -118 q 537 -48 520 -82 q 553 34 553 -14 l 553 408 q 528 540 553 502 q 438 578 503 578 q 387 567 414 578 q 333 537 359 556 q 291 486 308 517 q 274 416 274 454 l 274 0 l 106 0 l 106 431 q 102 571 106 505 q 96 666 99 637 l 92 696 l 271 696 l 271 595 q 357 682 298 651 q 473 713 416 713 q 576 698 532 713 q 654 646 621 682 q 705 548 688 610 q 722 397 722 486 l 722 75 q 695 -78 722 -12 q 619 -185 668 -144 q 504 -248 570 -227 q 355 -269 437 -269 z "},"Ō":{ha:1133,x_min:72,x_max:1061,o:"m 335 1069 l 335 1175 l 758 1175 l 758 1069 l 335 1069 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ō":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 204 777 l 204 884 l 627 884 l 627 777 l 204 777 z "},"Ŏ":{ha:1133,x_min:72,x_max:1061,o:"m 572 1078 q 353 1279 367 1078 l 471 1279 q 482 1236 473 1253 q 506 1211 491 1219 q 536 1199 522 1202 q 572 1196 551 1196 q 640 1213 614 1196 q 671 1279 666 1230 l 788 1279 q 726 1126 781 1175 q 572 1078 671 1078 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ŏ":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 441 787 q 223 987 237 787 l 341 987 q 352 944 343 962 q 376 919 361 927 q 406 908 391 911 q 441 905 421 905 q 510 921 484 905 q 541 987 536 938 l 658 987 q 596 835 650 883 q 441 787 541 787 z "},"Ő":{ha:1133,x_min:72,x_max:1061,o:"m 637 1073 l 779 1306 l 980 1306 l 764 1073 l 637 1073 m 408 1073 l 512 1306 l 691 1306 l 530 1073 l 408 1073 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ő":{ha:872,x_min:73,x_max:850,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 507 781 l 649 1015 l 850 1015 l 634 781 l 507 781 m 278 781 l 382 1015 l 561 1015 l 399 781 l 278 781 z "},"Œ":{ha:1395,x_min:72,x_max:1320,o:"m 557 118 l 559 118 q 623 123 593 118 q 671 134 652 127 q 704 149 689 140 q 725 162 719 157 q 734 170 730 167 l 734 808 q 570 860 669 860 q 529 858 551 860 q 449 839 487 853 q 376 797 412 825 q 315 729 340 769 q 273 628 289 688 q 258 492 258 567 q 339 215 258 311 q 557 118 420 119 m 734 170 q 734 170 735 171 m 734 948 l 734 987 l 1301 987 l 1301 840 l 905 840 l 905 579 l 1276 579 l 1276 431 l 907 431 l 907 147 l 1320 147 l 1320 0 l 734 0 l 734 42 q 724 35 732 40 q 700 21 717 30 q 664 4 684 12 q 615 -9 644 -3 q 555 -16 585 -16 l 536 -16 q 357 15 439 -16 q 210 107 275 46 q 109 268 146 168 q 72 496 72 368 q 107 707 72 612 q 204 866 143 803 q 345 965 265 929 q 515 1005 425 1001 q 527 1005 519 1005 q 538 1006 534 1006 q 610 1000 576 1006 q 664 988 644 995 q 702 971 685 981 q 724 957 718 962 q 734 948 730 951 z "},"œ":{ha:1358,x_min:68,x_max:1260,o:"m 1097 435 l 1097 449 q 1051 546 1097 511 q 942 581 1005 581 q 831 545 876 581 q 779 435 787 508 l 1097 435 m 435 120 q 511 138 478 120 q 565 188 545 157 q 595 260 585 220 q 605 347 605 300 q 562 514 605 451 q 431 577 519 577 q 293 512 342 577 q 244 347 244 448 q 292 183 244 247 q 435 120 340 120 m 434 -15 q 168 86 267 -15 q 68 347 68 186 q 164 610 68 507 q 429 713 260 713 q 586 680 519 713 q 692 592 652 647 q 794 685 734 654 q 945 715 853 715 q 1177 613 1093 715 q 1260 338 1260 511 l 1260 294 l 777 294 l 779 278 q 989 120 791 120 q 1056 128 1021 120 q 1115 146 1090 136 q 1161 169 1141 157 q 1193 187 1182 180 l 1204 195 l 1250 73 q 1237 63 1245 69 q 1201 42 1229 57 q 1142 16 1173 27 q 1064 -5 1112 4 q 969 -15 1017 -15 q 809 19 887 -15 q 693 108 731 54 q 586 20 660 54 q 434 -15 513 -15 z "},"Ŕ":{ha:941,x_min:129,x_max:896,o:"m 374 1082 l 553 1279 l 768 1279 l 528 1082 l 374 1082 m 299 564 l 464 564 q 648 707 648 564 q 610 812 648 785 q 482 840 571 840 l 299 840 l 299 564 m 129 0 l 129 987 l 485 987 q 626 975 566 987 q 733 933 685 963 q 806 849 781 904 q 830 715 830 795 q 781 567 830 631 q 631 481 731 503 q 762 326 720 431 l 896 0 l 709 0 l 596 294 q 536 392 568 366 q 437 418 503 418 l 301 418 l 301 0 l 129 0 z "},"ŕ":{ha:529,x_min:96,x_max:617,o:"m 110 0 l 110 519 q 106 604 110 560 q 100 672 103 648 l 96 696 l 275 696 l 275 604 q 358 686 317 659 q 450 713 399 713 q 519 703 481 713 l 519 556 q 435 571 474 571 q 321 526 366 571 q 277 394 277 480 l 277 0 l 110 0 m 222 791 l 401 987 l 617 987 l 377 791 l 222 791 z "},"Ŗ":{ha:941,x_min:129,x_max:896,o:"m 332 -439 l 408 -96 l 597 -96 l 475 -439 l 332 -439 m 299 564 l 464 564 q 648 707 648 564 q 610 812 648 785 q 482 840 571 840 l 299 840 l 299 564 m 129 0 l 129 987 l 485 987 q 626 975 566 987 q 733 933 685 963 q 806 849 781 904 q 830 715 830 795 q 781 567 830 631 q 631 481 731 503 q 762 326 720 431 l 896 0 l 709 0 l 596 294 q 536 392 568 366 q 437 418 503 418 l 301 418 l 301 0 l 129 0 z "},"ŗ":{ha:529,x_min:70,x_max:519,o:"m 70 -439 l 146 -96 l 336 -96 l 214 -439 l 70 -439 m 110 0 l 110 519 q 106 604 110 560 q 100 672 103 648 l 96 696 l 275 696 l 275 604 q 358 686 317 659 q 450 713 399 713 q 519 703 481 713 l 519 556 q 435 571 474 571 q 321 526 366 571 q 277 394 277 480 l 277 0 l 110 0 z "},"Ř":{ha:941,x_min:129,x_max:896,o:"m 368 1095 l 178 1344 l 350 1344 l 431 1246 l 514 1344 l 694 1344 l 505 1095 l 368 1095 m 299 564 l 464 564 q 648 707 648 564 q 610 812 648 785 q 482 840 571 840 l 299 840 l 299 564 m 129 0 l 129 987 l 485 987 q 626 975 566 987 q 733 933 685 963 q 806 849 781 904 q 830 715 830 795 q 781 567 830 631 q 631 481 731 503 q 762 326 720 431 l 896 0 l 709 0 l 596 294 q 536 392 568 366 q 437 418 503 418 l 301 418 l 301 0 l 129 0 z "},"ř":{ha:529,x_min:27,x_max:544,o:"m 110 0 l 110 519 q 106 604 110 560 q 100 672 103 648 l 96 696 l 275 696 l 275 604 q 358 686 317 659 q 450 713 399 713 q 519 703 481 713 l 519 556 q 435 571 474 571 q 321 526 366 571 q 277 394 277 480 l 277 0 l 110 0 m 218 804 l 27 1053 l 199 1053 l 280 954 l 363 1053 l 544 1053 l 355 804 l 218 804 z "},"Ś":{ha:852,x_min:78,x_max:774,o:"m 338 1082 l 517 1279 l 732 1279 l 492 1082 l 338 1082 m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},"ś":{ha:670,x_min:72,x_max:659,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 m 264 791 l 444 987 l 659 987 l 419 791 l 264 791 z "},"Ŝ":{ha:852,x_min:78,x_max:774,o:"m 157 1116 l 332 1367 l 503 1367 l 682 1116 l 515 1116 l 422 1249 l 328 1116 l 157 1116 m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},"ŝ":{ha:670,x_min:72,x_max:615,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 m 75 824 l 249 1075 l 420 1075 l 600 824 l 432 824 l 340 957 l 245 824 l 75 824 z "},"Ş":{ha:852,x_min:78,x_max:774,o:"m 296 -289 l 303 -199 q 359 -217 326 -209 q 421 -225 392 -225 q 490 -176 490 -225 q 386 -95 490 -111 l 366 -92 l 387 26 l 471 26 l 460 -51 q 572 -97 533 -56 q 610 -192 610 -138 q 606 -230 610 -212 q 593 -261 602 -248 q 574 -287 585 -275 q 548 -306 562 -298 q 518 -319 534 -313 q 484 -327 501 -324 q 448 -329 467 -329 q 296 -289 366 -329 m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},"ş":{ha:670,x_min:72,x_max:615,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 m 220 -289 l 227 -199 q 283 -217 250 -209 q 345 -225 316 -225 q 414 -176 414 -225 q 310 -95 414 -111 l 290 -92 l 311 26 l 395 26 l 384 -51 q 496 -97 457 -56 q 534 -192 534 -138 q 530 -230 534 -212 q 517 -261 526 -248 q 498 -287 509 -275 q 472 -306 486 -298 q 442 -319 458 -313 q 408 -327 425 -324 q 372 -329 391 -329 q 220 -289 290 -329 z "},"Š":{ha:852,x_min:78,x_max:774,o:"m 333 1095 l 142 1344 l 315 1344 l 395 1246 l 479 1344 l 659 1344 l 470 1095 l 333 1095 m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},"š":{ha:670,x_min:68,x_max:615,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 m 259 804 l 68 1053 l 241 1053 l 321 954 l 405 1053 l 585 1053 l 396 804 l 259 804 z "},"Ţ":{ha:801,x_min:7,x_max:793,o:"m 269 -289 l 277 -199 q 332 -217 299 -209 q 395 -225 366 -225 q 463 -176 463 -225 q 359 -95 463 -111 l 340 -92 l 361 26 l 445 26 l 433 -51 q 545 -97 507 -56 q 584 -192 584 -138 q 579 -230 584 -212 q 567 -261 575 -248 q 547 -287 559 -275 q 522 -306 536 -298 q 491 -319 508 -313 q 457 -327 475 -324 q 421 -329 440 -329 q 269 -289 340 -329 m 312 0 l 312 840 l 7 840 l 7 987 l 793 987 l 793 840 l 484 840 l 484 0 l 312 0 z "},"ţ":{ha:545,x_min:1,x_max:500,o:"m 500 1 l 433 1 q 362 3 392 1 q 301 12 332 5 q 247 30 269 18 q 205 60 225 41 q 172 105 184 79 q 153 170 160 132 q 146 255 146 207 l 146 583 l 1 583 l 1 696 l 153 696 l 153 859 l 313 908 l 313 696 l 495 696 l 495 583 l 313 583 l 313 245 q 318 192 313 212 q 334 159 323 172 q 368 140 344 146 q 420 132 392 134 q 500 130 449 130 l 500 1 m 165 -289 l 173 -199 q 229 -217 195 -209 q 291 -225 262 -225 q 359 -176 359 -225 q 256 -95 359 -111 l 236 -92 l 257 26 l 341 26 l 330 -51 q 441 -97 403 -56 q 480 -192 480 -138 q 476 -230 480 -212 q 463 -261 471 -248 q 444 -287 455 -275 q 418 -306 432 -298 q 388 -319 404 -313 q 354 -327 371 -324 q 317 -329 336 -329 q 165 -289 236 -329 z "},"Ť":{ha:801,x_min:7,x_max:793,o:"m 328 1095 l 137 1344 l 309 1344 l 390 1246 l 473 1344 l 654 1344 l 465 1095 l 328 1095 m 312 0 l 312 840 l 7 840 l 7 987 l 793 987 l 793 840 l 484 840 l 484 0 l 312 0 z "},"ť":{ha:545,x_min:1,x_max:642,o:"m 500 1 l 433 1 q 362 3 392 1 q 301 12 332 5 q 247 30 269 18 q 205 60 225 41 q 172 105 184 79 q 153 170 160 132 q 146 255 146 207 l 146 583 l 1 583 l 1 696 l 153 696 l 153 859 l 313 908 l 313 696 l 495 696 l 495 583 l 313 583 l 313 245 q 318 192 313 212 q 334 159 323 172 q 368 140 344 146 q 420 132 392 134 q 500 130 449 130 l 500 1 m 375 871 l 452 1214 l 642 1214 l 519 871 l 375 871 z "},"Ŧ":{ha:801,x_min:7,x_max:793,o:"m 193 446 l 193 553 l 616 553 l 616 446 l 193 446 m 312 0 l 312 840 l 7 840 l 7 987 l 793 987 l 793 840 l 484 840 l 484 0 l 312 0 z "},"ŧ":{ha:545,x_min:1,x_max:500,o:"m 500 1 l 433 1 q 362 3 392 1 q 301 12 332 5 q 247 30 269 18 q 205 60 225 41 q 172 105 184 79 q 153 170 160 132 q 146 255 146 207 l 146 583 l 1 583 l 1 696 l 153 696 l 153 859 l 313 908 l 313 696 l 495 696 l 495 583 l 313 583 l 313 245 q 318 192 313 212 q 334 159 323 172 q 368 140 344 146 q 420 132 392 134 q 500 130 449 130 l 500 1 m 16 354 l 16 460 l 439 460 l 439 354 l 16 354 z "},"Ũ":{ha:1023,x_min:111,x_max:912,o:"m 547 1088 l 546 1088 q 477 1106 517 1088 q 402 1142 437 1124 q 351 1160 367 1160 q 322 1143 336 1160 q 304 1091 308 1126 l 196 1091 q 237 1233 196 1178 q 344 1289 278 1289 q 418 1272 378 1289 q 491 1236 458 1255 q 537 1216 524 1218 q 543 1216 539 1216 q 547 1215 546 1215 q 579 1231 568 1215 q 589 1289 590 1246 l 699 1289 q 659 1138 699 1188 q 547 1088 618 1088 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ũ":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 448 796 l 448 796 q 379 814 419 796 q 304 851 339 833 q 252 869 269 869 q 223 852 237 869 q 206 800 210 835 l 98 800 q 139 942 98 886 q 245 997 180 997 q 320 980 280 997 q 392 945 359 963 q 439 924 425 926 q 444 924 441 924 q 449 924 448 924 q 480 939 469 924 q 491 997 492 954 l 601 997 q 560 847 601 897 q 448 796 519 797 z "},"Ū":{ha:1023,x_min:111,x_max:912,o:"m 273 1069 l 273 1175 l 696 1175 l 696 1069 l 273 1069 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ū":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 174 777 l 174 884 l 597 884 l 597 777 l 174 777 z "},"Ŭ":{ha:1023,x_min:111,x_max:912,o:"m 509 1078 q 291 1279 304 1078 l 409 1279 q 420 1236 411 1253 q 444 1211 429 1219 q 474 1199 459 1202 q 509 1196 489 1196 q 578 1213 552 1196 q 608 1279 604 1230 l 726 1279 q 664 1126 718 1175 q 509 1078 609 1078 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ŭ":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 411 787 q 193 987 206 787 l 311 987 q 321 944 313 962 q 346 919 330 927 q 376 908 361 911 q 411 905 391 905 q 479 921 454 905 q 510 987 505 938 l 627 987 q 565 835 620 883 q 411 787 511 787 z "},"Ů":{ha:1023,x_min:111,x_max:912,o:"m 502 1074 q 396 1115 439 1074 q 353 1218 353 1156 q 396 1321 353 1280 q 502 1362 439 1362 q 608 1321 564 1362 q 652 1218 652 1280 q 608 1115 652 1156 q 502 1074 564 1074 m 503 1144 q 554 1166 532 1144 q 575 1218 575 1187 q 554 1270 575 1249 q 503 1291 532 1291 q 452 1270 473 1291 q 431 1218 431 1249 q 452 1166 431 1187 q 503 1144 473 1144 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ů":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 404 782 q 298 823 341 782 q 254 926 254 865 q 297 1030 254 989 q 404 1071 340 1071 q 510 1030 466 1071 q 553 926 553 989 q 510 823 553 865 q 404 782 466 782 m 404 852 q 455 874 434 852 q 477 926 477 896 q 455 978 477 957 q 404 1000 434 1000 q 353 978 374 1000 q 332 926 332 957 q 353 874 332 896 q 404 852 374 852 z "},"Ű":{ha:1023,x_min:111,x_max:918,o:"m 575 1073 l 717 1306 l 918 1306 l 702 1073 l 575 1073 m 346 1073 l 450 1306 l 629 1306 l 467 1073 l 346 1073 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ű":{ha:804,x_min:88,x_max:819,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 477 781 l 618 1015 l 819 1015 l 604 781 l 477 781 m 248 781 l 351 1015 l 530 1015 l 369 781 l 248 781 z "},"Ų":{ha:1023,x_min:111,x_max:912,o:"m 564 -241 q 459 -220 497 -241 q 420 -154 420 -198 q 426 -119 420 -136 q 439 -90 431 -102 q 460 -63 446 -77 q 484 -42 473 -50 q 512 -24 494 -34 q 538 -9 529 -14 q 565 4 548 -4 q 586 14 581 12 l 677 16 q 604 -45 631 -11 q 576 -106 576 -80 q 619 -138 576 -138 q 736 -113 654 -138 l 736 -214 q 564 -241 645 -241 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ų":{ha:804,x_min:88,x_max:757,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 585 -241 q 479 -220 517 -241 q 441 -154 441 -198 q 446 -119 441 -136 q 459 -90 452 -102 q 480 -63 467 -77 q 504 -42 494 -50 q 532 -24 515 -34 q 559 -9 549 -14 q 585 4 568 -4 q 606 14 602 12 l 698 16 q 624 -45 651 -11 q 597 -106 597 -80 q 640 -138 597 -138 q 757 -113 674 -138 l 757 -214 q 585 -241 665 -241 z "},"Ŵ":{ha:1421,x_min:8,x_max:1413,o:"m 446 1095 l 620 1346 l 791 1346 l 970 1095 l 803 1095 l 711 1228 l 616 1095 l 446 1095 m 290 0 l 8 987 l 191 987 q 256 746 210 916 q 334 451 301 576 q 395 208 366 326 q 465 453 427 328 q 557 748 503 579 q 633 987 611 916 l 797 987 l 973 435 l 1041 204 q 1100 450 1069 323 q 1174 745 1132 576 q 1236 987 1217 913 l 1413 987 l 1138 0 l 941 0 l 710 749 l 485 0 l 290 0 z "},"ŵ":{ha:1143,x_min:9,x_max:1133,o:"m 262 0 l 9 696 l 189 696 q 347 207 294 370 q 511 696 374 289 l 658 696 q 707 542 675 642 q 765 360 739 441 q 814 205 791 278 q 977 696 834 267 l 1133 696 l 869 0 l 729 0 q 571 473 586 428 q 403 0 545 398 l 262 0 m 319 804 l 494 1055 l 665 1055 l 844 804 l 677 804 l 585 937 l 490 804 l 319 804 z "},"Ŷ":{ha:869,x_min:-9,x_max:875,o:"m 180 1095 l 354 1346 l 525 1346 l 705 1095 l 537 1095 l 445 1228 l 351 1095 l 180 1095 m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},"ŷ":{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 m 138 804 l 312 1055 l 483 1055 l 663 804 l 495 804 l 403 937 l 309 804 l 138 804 z "},"Ÿ":{ha:869,x_min:-9,x_max:875,o:"m 511 1072 l 511 1225 l 677 1225 l 677 1072 l 511 1072 m 201 1072 l 201 1225 l 368 1225 l 368 1072 l 201 1072 m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},"Ź":{ha:815,x_min:48,x_max:753,o:"m 353 1082 l 532 1279 l 747 1279 l 507 1082 l 353 1082 m 48 0 l 48 92 l 515 840 l 66 840 l 66 987 l 753 987 l 753 898 l 283 148 l 753 148 l 753 0 l 48 0 z "},"ź":{ha:677,x_min:66,x_max:694,o:"m 66 0 l 66 89 l 394 562 l 83 562 l 83 696 l 612 696 l 612 608 l 281 134 l 630 134 l 630 0 l 66 0 m 299 791 l 478 987 l 694 987 l 454 791 l 299 791 z "},"Ż":{ha:815,x_min:48,x_max:753,o:"m 350 1082 l 350 1237 l 517 1237 l 517 1082 l 350 1082 m 48 0 l 48 92 l 515 840 l 66 840 l 66 987 l 753 987 l 753 898 l 283 148 l 753 148 l 753 0 l 48 0 z "},"ż":{ha:677,x_min:66,x_max:630,o:"m 66 0 l 66 89 l 394 562 l 83 562 l 83 696 l 612 696 l 612 608 l 281 134 l 630 134 l 630 0 l 66 0 m 296 791 l 296 945 l 463 945 l 463 791 l 296 791 z "},"Ž":{ha:815,x_min:48,x_max:753,o:"m 348 1095 l 157 1344 l 330 1344 l 410 1246 l 494 1344 l 674 1344 l 485 1095 l 348 1095 m 48 0 l 48 92 l 515 840 l 66 840 l 66 987 l 753 987 l 753 898 l 283 148 l 753 148 l 753 0 l 48 0 z "},"ž":{ha:677,x_min:66,x_max:630,o:"m 66 0 l 66 89 l 394 562 l 83 562 l 83 696 l 612 696 l 612 608 l 281 134 l 630 134 l 630 0 l 66 0 m 294 804 l 104 1053 l 276 1053 l 357 954 l 440 1053 l 621 1053 l 431 804 l 294 804 z "},"ſ":{ha:670,x_min:72,x_max:615,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 z "},"ƒ":{ha:753,x_min:64,x_max:740,o:"m 138 -214 q 64 -201 102 -214 l 76 -61 q 143 -68 113 -68 q 170 -64 159 -68 q 196 -50 182 -61 q 222 -11 211 -38 q 242 59 234 17 l 309 429 l 214 429 l 242 540 l 330 540 l 369 751 q 378 793 374 774 q 393 837 383 812 q 414 882 402 863 q 444 921 425 901 q 485 954 463 941 q 541 975 508 967 q 611 983 573 983 q 683 976 650 983 q 727 960 715 968 l 740 953 l 728 817 q 650 831 684 831 q 630 829 639 831 q 608 823 621 828 q 587 809 596 818 q 570 783 578 800 q 557 743 562 766 l 517 540 l 619 540 l 597 429 l 492 429 l 420 31 q 325 -159 396 -104 q 138 -214 254 -214 m 730 817 q 728 817 730 817 l 730 817 z "},"DŽ":{ha:1881,x_min:129,x_max:1819,o:"m 1413 1095 l 1223 1344 l 1395 1344 l 1476 1246 l 1559 1344 l 1740 1344 l 1550 1095 l 1413 1095 m 1114 0 l 1114 92 l 1581 840 l 1131 840 l 1131 987 l 1819 987 l 1819 898 l 1349 148 l 1818 148 l 1818 0 l 1114 0 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"Dž":{ha:1742,x_min:129,x_max:1695,o:"m 1131 0 l 1131 89 l 1459 562 l 1148 562 l 1148 696 l 1678 696 l 1678 608 l 1347 134 l 1695 134 l 1695 0 l 1131 0 m 1360 804 l 1169 1053 l 1341 1053 l 1422 954 l 1506 1053 l 1686 1053 l 1497 804 l 1360 804 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"dž":{ha:1536,x_min:73,x_max:1489,o:"m 925 0 l 925 89 l 1253 562 l 942 562 l 942 696 l 1472 696 l 1472 608 l 1141 134 l 1489 134 l 1489 0 l 925 0 m 1154 804 l 963 1053 l 1135 1053 l 1216 954 l 1299 1053 l 1480 1053 l 1291 804 l 1154 804 m 425 120 q 506 139 471 120 q 561 190 541 157 q 590 262 581 223 q 600 347 600 302 q 556 513 600 449 q 424 577 512 577 q 325 545 365 577 q 267 464 284 513 q 250 350 250 414 q 259 263 250 303 q 289 190 269 223 q 344 139 309 157 q 425 120 379 120 m 391 -16 q 164 83 256 -16 q 73 345 73 182 q 94 484 73 418 q 155 602 115 550 q 259 683 195 653 q 404 713 323 713 q 525 684 475 713 q 595 623 575 654 l 595 988 l 762 988 l 762 186 q 768 0 762 182 l 595 0 l 594 89 q 574 57 588 73 q 536 23 559 41 q 474 -5 512 6 q 391 -16 436 -16 z "},"LJ":{ha:1487,x_min:129,x_max:1358,o:"m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 m 1078 -224 q 861 -181 981 -224 l 892 -50 q 1047 -80 985 -80 q 1186 75 1186 -80 l 1186 987 l 1358 987 l 1358 83 q 1284 -145 1358 -65 q 1078 -224 1211 -224 z "},"Lj":{ha:1202,x_min:129,x_max:1115,o:"m 947 833 l 947 987 l 1114 987 l 1114 833 l 947 833 m 863 -245 q 794 -241 826 -245 q 751 -232 763 -236 l 738 -227 l 757 -112 q 854 -125 799 -125 q 893 -120 878 -125 q 920 -102 908 -116 q 938 -60 932 -87 q 943 14 943 -32 l 943 696 l 1115 696 l 1115 -6 q 1104 -109 1115 -67 q 1065 -183 1093 -151 q 988 -230 1038 -215 q 863 -245 938 -245 m 757 -112 l 755 -111 l 757 -111 l 757 -112 m 129 0 l 129 987 l 301 987 l 301 148 l 758 148 l 758 0 l 129 0 z "},"lj":{ha:764,x_min:96,x_max:676,o:"m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 m 509 833 l 509 987 l 675 987 l 675 833 l 509 833 m 425 -245 q 356 -241 387 -245 q 312 -232 324 -236 l 299 -227 l 318 -112 q 415 -125 360 -125 q 454 -120 439 -125 q 481 -102 469 -116 q 499 -60 494 -87 q 505 14 505 -32 l 505 696 l 676 696 l 676 -6 q 665 -109 676 -67 q 626 -183 654 -151 q 549 -230 599 -215 q 425 -245 499 -245 m 318 -112 l 316 -111 l 318 -111 l 318 -112 z "},"NJ":{ha:1796,x_min:129,x_max:1668,o:"m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 m 1388 -224 q 1171 -181 1291 -224 l 1202 -50 q 1357 -80 1295 -80 q 1496 75 1496 -80 l 1496 987 l 1668 987 l 1668 83 q 1594 -145 1668 -65 q 1388 -224 1520 -224 z "},"Nj":{ha:1512,x_min:129,x_max:1425,o:"m 1257 833 l 1257 987 l 1424 987 l 1424 833 l 1257 833 m 1173 -245 q 1104 -241 1136 -245 q 1061 -232 1073 -236 l 1048 -227 l 1067 -112 q 1164 -125 1109 -125 q 1203 -120 1188 -125 q 1230 -102 1218 -116 q 1248 -60 1242 -87 q 1253 14 1253 -32 l 1253 696 l 1425 696 l 1425 -6 q 1414 -109 1425 -67 q 1375 -183 1402 -151 q 1298 -230 1348 -215 q 1173 -245 1248 -245 m 1067 -112 l 1065 -111 l 1067 -111 l 1067 -112 m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},"nj":{ha:1237,x_min:94,x_max:1149,o:"m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 m 982 833 l 982 987 l 1149 987 l 1149 833 l 982 833 m 898 -245 q 829 -241 861 -245 q 785 -232 798 -236 l 772 -227 l 791 -112 q 888 -125 833 -125 q 928 -120 913 -125 q 955 -102 943 -116 q 972 -60 967 -87 q 978 14 978 -32 l 978 696 l 1149 696 l 1149 -6 q 1138 -109 1149 -67 q 1100 -183 1127 -151 q 1022 -230 1072 -215 q 898 -245 972 -245 m 791 -112 l 789 -111 l 791 -111 l 791 -112 z "},"Ǎ":{ha:989,x_min:8,x_max:980,o:"m 416 1095 l 225 1344 l 397 1344 l 478 1246 l 562 1344 l 742 1344 l 553 1095 l 416 1095 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ǎ":{ha:876,x_min:73,x_max:783,o:"m 389 804 l 199 1053 l 371 1053 l 452 954 l 535 1053 l 715 1053 l 526 804 l 389 804 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ǐ":{ha:397,x_min:-77,x_max:440,o:"m 114 1095 l -77 1344 l 96 1344 l 176 1246 l 260 1344 l 440 1344 l 251 1095 l 114 1095 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ǐ":{ha:329,x_min:-117,x_max:400,o:"m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 m 74 804 l -117 1053 l 56 1053 l 136 954 l 220 1053 l 400 1053 l 211 804 l 74 804 z "},"Ǒ":{ha:1133,x_min:72,x_max:1061,o:"m 488 1095 l 297 1344 l 469 1344 l 550 1246 l 633 1344 l 814 1344 l 625 1095 l 488 1095 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ǒ":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 357 804 l 167 1053 l 339 1053 l 420 954 l 503 1053 l 684 1053 l 494 804 l 357 804 z "},"Ǔ":{ha:1023,x_min:111,x_max:912,o:"m 425 1095 l 235 1344 l 407 1344 l 488 1246 l 571 1344 l 751 1344 l 562 1095 l 425 1095 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ǔ":{ha:804,x_min:88,x_max:714,o:"m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 m 328 804 l 137 1053 l 309 1053 l 390 954 l 473 1053 l 654 1053 l 465 804 l 328 804 z "},"Ǣ":{ha:1502,x_min:13,x_max:1354,o:"m 650 1069 l 650 1175 l 1073 1175 l 1073 1069 l 650 1069 m 430 378 l 747 378 l 715 834 l 692 834 l 430 378 m 13 0 l 601 987 l 1336 987 l 1336 834 l 890 834 l 913 579 l 1335 579 l 1335 430 l 932 430 l 959 153 l 1354 153 l 1354 0 l 779 0 l 759 241 l 363 241 l 226 0 l 13 0 z "},"ǣ":{ha:1204,x_min:47,x_max:1124,o:"m 367 777 l 367 884 l 790 884 l 790 777 l 367 777 m 664 429 l 977 429 l 977 444 q 931 553 975 514 q 832 591 887 591 q 725 546 767 591 q 664 429 682 501 m 326 120 q 393 132 363 120 q 441 163 422 144 q 473 208 460 182 q 492 261 486 234 q 498 317 498 288 l 431 317 q 349 311 387 317 q 279 293 311 305 q 229 258 248 281 q 211 206 211 236 q 243 141 211 162 q 326 120 275 120 m 321 -15 q 121 41 195 -15 q 47 199 47 97 q 147 382 47 332 q 471 433 246 433 l 499 433 q 458 541 498 500 q 345 583 418 583 q 151 528 266 583 l 102 639 q 382 713 226 713 q 503 680 439 713 q 597 586 566 646 q 697 680 629 646 q 833 713 766 713 l 836 713 q 968 684 911 713 q 1058 606 1025 656 q 1108 492 1092 555 q 1124 352 1124 428 l 1121 317 l 662 317 l 662 304 q 850 120 680 120 l 857 120 q 959 140 906 121 q 1041 178 1013 159 l 1069 196 l 1115 73 q 1102 64 1110 70 q 1065 43 1093 58 q 1009 16 1038 28 q 937 -5 980 4 q 851 -16 893 -15 l 843 -16 q 682 14 746 -16 q 581 117 617 44 q 475 16 547 47 q 321 -15 404 -15 z "},"Ǧ":{ha:1043,x_min:71,x_max:929,o:"m 488 1095 l 297 1344 l 469 1344 l 550 1246 l 633 1344 l 814 1344 l 625 1095 l 488 1095 m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},"ǧ":{ha:838,x_min:73,x_max:766,o:"m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 m 340 804 l 149 1053 l 321 1053 l 402 954 l 486 1053 l 666 1053 l 477 804 l 340 804 z "},"Ǩ":{ha:917,x_min:129,x_max:930,o:"m 395 1095 l 205 1344 l 377 1344 l 458 1246 l 541 1344 l 722 1344 l 532 1095 l 395 1095 m 129 0 l 129 987 l 301 987 l 301 556 l 682 987 l 897 987 l 469 511 l 930 0 l 706 0 l 303 441 l 303 0 l 129 0 z "},"ǩ":{ha:730,x_min:95,x_max:768,o:"m 95 0 l 95 988 l 263 988 l 263 412 l 515 696 l 747 696 l 415 359 l 768 0 l 546 0 l 263 301 l 263 0 l 95 0 m 359 804 l 168 1053 l 340 1053 l 421 954 l 505 1053 l 685 1053 l 496 804 l 359 804 z "},"Ǫ":{ha:1133,x_min:72,x_max:1061,o:"m 524 -241 q 419 -220 457 -241 q 380 -154 380 -198 q 386 -119 380 -136 q 399 -90 391 -102 q 420 -63 406 -77 q 444 -42 433 -50 q 472 -24 454 -34 q 498 -9 489 -14 q 525 4 508 -4 q 546 14 541 12 l 637 16 q 564 -45 591 -11 q 536 -106 536 -80 q 579 -138 536 -138 q 696 -113 614 -138 l 696 -214 q 524 -241 605 -241 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ǫ":{ha:872,x_min:73,x_max:799,o:"m 396 -241 q 291 -220 329 -241 q 252 -154 252 -198 q 258 -119 252 -136 q 271 -90 263 -102 q 292 -63 278 -77 q 316 -42 305 -50 q 343 -24 326 -34 q 370 -9 361 -14 q 396 4 380 -4 q 418 14 413 12 l 509 16 q 435 -45 463 -11 q 408 -106 408 -80 q 451 -138 408 -138 q 568 -113 486 -138 l 568 -214 q 396 -241 477 -241 m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 z "},"ǰ":{ha:407,x_min:-58,x_max:475,o:"m 68 -245 q -1 -241 31 -245 q -45 -232 -33 -236 l -58 -227 l -39 -112 q 58 -125 3 -125 q 98 -120 83 -125 q 125 -102 113 -116 q 142 -60 137 -87 q 148 14 148 -32 l 148 696 l 319 696 l 319 -6 q 308 -109 319 -67 q 270 -183 297 -151 q 192 -230 242 -215 q 68 -245 142 -245 m -39 -112 l -41 -111 l -39 -111 l -39 -112 m 149 804 l -41 1053 l 131 1053 l 212 954 l 295 1053 l 475 1053 l 286 804 l 149 804 z "},"DZ":{ha:1881,x_min:129,x_max:1819,o:"m 1114 0 l 1114 92 l 1581 840 l 1131 840 l 1131 987 l 1819 987 l 1819 898 l 1349 148 l 1818 148 l 1818 0 l 1114 0 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"Dz":{ha:1742,x_min:129,x_max:1695,o:"m 1131 0 l 1131 89 l 1459 562 l 1148 562 l 1148 696 l 1678 696 l 1678 608 l 1347 134 l 1695 134 l 1695 0 l 1131 0 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"dz":{ha:1535,x_min:73,x_max:1489,o:"m 925 0 l 925 89 l 1253 562 l 942 562 l 942 696 l 1472 696 l 1472 608 l 1141 134 l 1489 134 l 1489 0 l 925 0 m 425 120 q 506 139 471 120 q 561 190 541 157 q 590 262 581 223 q 600 347 600 302 q 556 513 600 449 q 424 577 512 577 q 325 545 365 577 q 267 464 284 513 q 250 350 250 414 q 259 263 250 303 q 289 190 269 223 q 344 139 309 157 q 425 120 379 120 m 391 -16 q 164 83 256 -16 q 73 345 73 182 q 94 484 73 418 q 155 602 115 550 q 259 683 195 653 q 404 713 323 713 q 525 684 475 713 q 595 623 575 654 l 595 988 l 762 988 l 762 186 q 768 0 762 182 l 595 0 l 594 89 q 574 57 588 73 q 536 23 559 41 q 474 -5 512 6 q 391 -16 436 -16 z "},"Ǵ":{ha:1043,x_min:71,x_max:929,o:"m 492 1082 l 671 1279 l 887 1279 l 647 1082 l 492 1082 m 577 -16 q 202 117 334 -16 q 71 477 71 250 q 93 641 71 562 q 158 785 114 719 q 263 901 201 852 q 410 978 325 950 q 595 1006 495 1006 q 722 996 665 1006 q 820 968 779 986 q 880 938 861 949 q 924 907 900 926 l 854 787 q 595 857 758 857 q 442 825 510 857 q 334 740 374 793 q 272 621 293 686 q 251 485 251 556 q 272 342 251 407 q 334 231 293 278 q 438 158 374 184 q 585 132 503 132 q 754 157 667 132 l 754 391 l 524 391 l 524 538 l 929 538 l 929 60 q 577 -16 760 -16 z "},"ǵ":{ha:838,x_min:73,x_max:766,o:"m 425 127 q 495 140 465 127 q 545 175 526 153 q 575 226 564 196 q 592 286 587 256 q 596 350 596 316 q 554 514 596 452 q 427 577 511 577 q 327 544 368 577 q 268 461 286 511 q 250 349 250 411 q 292 186 250 245 q 425 127 335 127 m 392 -283 q 127 -236 256 -283 l 157 -91 q 380 -144 258 -144 q 532 -102 477 -144 q 587 24 587 -60 l 587 83 q 413 0 528 0 q 166 95 259 0 q 73 349 73 189 q 93 487 73 422 q 151 602 113 551 q 254 684 190 654 q 400 713 318 713 q 513 688 465 713 q 588 621 562 662 l 588 696 l 766 696 q 753 463 753 593 l 753 100 q 392 -283 753 -283 m 345 791 l 524 987 l 739 987 l 499 791 l 345 791 z "},"Ǹ":{ha:1105,x_min:129,x_max:977,o:"m 497 1082 l 259 1278 l 475 1278 l 652 1082 l 497 1082 m 129 0 l 129 987 l 311 987 q 812 260 782 305 l 812 987 l 977 987 l 977 0 l 793 0 q 288 728 338 657 l 288 0 l 129 0 z "},"ǹ":{ha:830,x_min:94,x_max:742,o:"m 107 0 l 107 431 q 104 571 107 505 q 97 666 100 637 l 94 696 l 272 696 l 272 603 q 368 685 308 657 q 484 713 428 713 q 590 697 545 713 q 670 646 635 682 q 724 548 705 610 q 742 397 742 486 l 742 0 l 574 0 l 574 408 q 545 539 574 500 q 450 577 516 577 q 396 566 425 577 q 339 536 367 555 q 294 485 312 517 q 275 416 275 454 l 275 0 l 107 0 m 382 791 l 144 987 l 359 987 l 537 791 l 382 791 z "},"Ǻ":{ha:989,x_min:8,x_max:980,o:"m 492 1074 q 386 1115 429 1074 q 342 1218 342 1156 q 386 1321 342 1280 q 492 1362 429 1362 q 598 1321 554 1362 q 642 1218 642 1280 q 598 1115 642 1156 q 492 1074 554 1074 m 492 1144 q 544 1166 522 1144 q 565 1218 565 1187 q 544 1270 565 1249 q 492 1291 522 1291 q 441 1270 463 1291 q 420 1218 420 1249 q 441 1166 420 1187 q 492 1144 463 1144 m 411 1420 l 590 1617 l 806 1617 l 566 1420 l 411 1420 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ǻ":{ha:876,x_min:73,x_max:783,o:"m 465 782 q 359 823 403 782 q 316 926 316 865 q 359 1030 316 989 q 465 1071 402 1071 q 571 1030 528 1071 q 615 926 615 989 q 571 823 615 865 q 465 782 528 782 m 466 852 q 517 874 496 852 q 538 926 538 896 q 517 978 538 957 q 466 1000 496 1000 q 415 978 436 1000 q 394 926 394 957 q 415 874 394 896 q 466 852 436 852 m 385 1128 l 564 1325 l 779 1325 l 539 1128 l 385 1128 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ǽ":{ha:1502,x_min:13,x_max:1354,o:"m 808 1082 l 987 1279 l 1203 1279 l 963 1082 l 808 1082 m 430 378 l 747 378 l 715 834 l 692 834 l 430 378 m 13 0 l 601 987 l 1336 987 l 1336 834 l 890 834 l 913 579 l 1335 579 l 1335 430 l 932 430 l 959 153 l 1354 153 l 1354 0 l 779 0 l 759 241 l 363 241 l 226 0 l 13 0 z "},"ǽ":{ha:1204,x_min:47,x_max:1124,o:"m 664 429 l 977 429 l 977 444 q 931 553 975 514 q 832 591 887 591 q 725 546 767 591 q 664 429 682 501 m 326 120 q 393 132 363 120 q 441 163 422 144 q 473 208 460 182 q 492 261 486 234 q 498 317 498 288 l 431 317 q 349 311 387 317 q 279 293 311 305 q 229 258 248 281 q 211 206 211 236 q 243 141 211 162 q 326 120 275 120 m 321 -15 q 121 41 195 -15 q 47 199 47 97 q 147 382 47 332 q 471 433 246 433 l 499 433 q 458 541 498 500 q 345 583 418 583 q 151 528 266 583 l 102 639 q 382 713 226 713 q 503 680 439 713 q 597 586 566 646 q 697 680 629 646 q 833 713 766 713 l 836 713 q 968 684 911 713 q 1058 606 1025 656 q 1108 492 1092 555 q 1124 352 1124 428 l 1121 317 l 662 317 l 662 304 q 850 120 680 120 l 857 120 q 959 140 906 121 q 1041 178 1013 159 l 1069 196 l 1115 73 q 1102 64 1110 70 q 1065 43 1093 58 q 1009 16 1038 28 q 937 -5 980 4 q 851 -16 893 -15 l 843 -16 q 682 14 746 -16 q 581 117 617 44 q 475 16 547 47 q 321 -15 404 -15 m 526 791 l 705 987 l 920 987 l 680 791 l 526 791 z "},"Ǿ":{ha:1133,x_min:72,x_max:1061,o:"m 493 1082 l 672 1279 l 888 1279 l 648 1082 l 493 1082 m 570 -16 q 930 123 800 -16 q 1061 498 1061 262 q 1007 754 1061 643 q 851 930 952 866 l 906 1033 l 827 1068 l 774 970 q 572 1006 684 1006 q 206 867 340 1006 q 72 498 72 728 q 127 236 72 349 q 287 58 183 122 l 229 -51 l 307 -87 l 363 20 q 570 -16 456 -16 m 774 787 q 874 498 874 694 q 795 227 874 322 q 566 132 717 132 q 435 154 491 132 l 774 787 m 702 833 l 362 199 q 258 498 258 291 q 338 764 258 669 q 568 859 418 859 q 702 833 644 859 z "},"ǿ":{ha:862,x_min:73,x_max:799,o:"m 498 568 l 311 168 q 248 350 248 230 q 268 464 248 414 q 330 546 287 514 q 437 577 374 577 q 498 568 468 577 m 562 530 q 624 350 624 469 q 613 263 624 303 q 582 190 603 223 q 523 139 560 157 q 436 120 486 120 q 374 129 401 120 l 562 530 m 439 -16 q 598 14 528 -16 q 711 95 668 44 q 777 210 754 146 q 799 347 799 274 q 756 542 799 456 q 628 672 713 627 l 683 790 l 616 821 l 559 699 q 439 713 503 713 q 279 684 350 713 q 164 605 208 655 q 96 489 119 554 q 73 348 73 423 q 117 160 73 244 q 245 29 161 75 l 185 -100 l 252 -132 l 315 1 q 439 -16 370 -16 m 363 791 l 542 987 l 758 987 l 517 791 l 363 791 z "},"Ȁ":{ha:989,x_min:8,x_max:980,o:"m 424 1073 l 282 1306 l 81 1306 l 297 1073 l 424 1073 m 653 1073 l 549 1306 l 370 1306 l 532 1073 l 653 1073 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ȁ":{ha:876,x_min:55,x_max:783,o:"m 397 781 l 256 1015 l 55 1015 l 271 781 l 397 781 m 627 781 l 523 1015 l 344 1015 l 505 781 l 627 781 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ȃ":{ha:989,x_min:8,x_max:980,o:"m 271 1072 q 332 1228 278 1179 q 494 1278 387 1278 q 655 1228 600 1278 q 716 1072 709 1178 l 589 1072 q 492 1151 583 1151 q 399 1072 404 1151 l 271 1072 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ȃ":{ha:876,x_min:73,x_max:783,o:"m 245 781 q 306 937 252 887 q 467 986 360 986 q 628 936 574 986 q 690 781 683 886 l 563 781 q 466 859 557 859 q 373 781 377 859 l 245 781 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ȅ":{ha:847,x_min:62,x_max:772,o:"m 404 1073 l 262 1306 l 62 1306 l 277 1073 l 404 1073 m 633 1073 l 530 1306 l 351 1306 l 512 1073 l 633 1073 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ȅ":{ha:818,x_min:37,x_max:743,o:"m 380 781 l 238 1015 l 37 1015 l 253 781 l 380 781 m 609 781 l 505 1015 l 326 1015 l 488 781 l 609 781 m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},"Ȇ":{ha:847,x_min:129,x_max:772,o:"m 229 1072 q 290 1228 236 1179 q 452 1278 345 1278 q 613 1228 558 1278 q 674 1072 667 1178 l 547 1072 q 450 1151 541 1151 q 357 1072 361 1151 l 229 1072 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ȇ":{ha:818,x_min:73,x_max:743,o:"m 205 781 q 266 937 212 887 q 427 986 320 986 q 588 936 534 986 q 650 781 643 886 l 523 781 q 426 859 517 859 q 333 781 337 859 l 205 781 m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},"Ȉ":{ha:397,x_min:-198,x_max:374,o:"m 144 1073 l 3 1306 l -198 1306 l 18 1073 l 144 1073 m 374 1073 l 270 1306 l 91 1306 l 252 1073 l 374 1073 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ȉ":{ha:329,x_min:-238,x_max:334,o:"m 104 781 l -37 1015 l -238 1015 l -22 781 l 104 781 m 334 781 l 230 1015 l 51 1015 l 212 781 l 334 781 m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 z "},"Ȋ":{ha:397,x_min:-31,x_max:414,o:"m -31 1072 q 31 1228 -24 1179 q 192 1278 85 1278 q 353 1228 298 1278 q 414 1072 408 1178 l 288 1072 q 191 1151 281 1151 q 98 1072 102 1151 l -31 1072 m 109 0 l 109 987 l 281 987 l 281 0 l 109 0 z "},"ȋ":{ha:329,x_min:-71,x_max:374,o:"m -71 781 q -9 937 -64 887 q 152 986 45 986 q 313 936 258 986 q 374 781 368 886 l 248 781 q 151 859 241 859 q 58 781 62 859 l -71 781 m 70 0 l 70 696 l 239 696 l 239 0 l 70 0 z "},"Ȍ":{ha:1133,x_min:72,x_max:1061,o:"m 518 1073 l 376 1306 l 176 1306 l 391 1073 l 518 1073 m 747 1073 l 644 1306 l 465 1306 l 626 1073 l 747 1073 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ȍ":{ha:872,x_min:45,x_max:799,o:"m 388 781 l 246 1015 l 45 1015 l 261 781 l 388 781 m 617 781 l 513 1015 l 334 1015 l 496 781 l 617 781 m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 z "},"Ȏ":{ha:1133,x_min:72,x_max:1061,o:"m 343 1072 q 404 1228 350 1179 q 566 1278 458 1278 q 727 1228 672 1278 q 788 1072 781 1178 l 661 1072 q 564 1151 655 1151 q 471 1072 475 1151 l 343 1072 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ȏ":{ha:872,x_min:73,x_max:799,o:"m 213 781 q 274 937 220 887 q 435 986 328 986 q 596 936 542 986 q 658 781 651 886 l 531 781 q 434 859 525 859 q 341 781 345 859 l 213 781 m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 z "},"Ȑ":{ha:941,x_min:56,x_max:896,o:"m 399 1073 l 257 1306 l 56 1306 l 272 1073 l 399 1073 m 628 1073 l 524 1306 l 345 1306 l 507 1073 l 628 1073 m 299 564 l 464 564 q 648 707 648 564 q 610 812 648 785 q 482 840 571 840 l 299 840 l 299 564 m 129 0 l 129 987 l 485 987 q 626 975 566 987 q 733 933 685 963 q 806 849 781 904 q 830 715 830 795 q 781 567 830 631 q 631 481 731 503 q 762 326 720 431 l 896 0 l 709 0 l 596 294 q 536 392 568 366 q 437 418 503 418 l 301 418 l 301 0 l 129 0 z "},"ȑ":{ha:529,x_min:-95,x_max:519,o:"m 248 781 l 106 1015 l -95 1015 l 121 781 l 248 781 m 477 781 l 373 1015 l 194 1015 l 355 781 l 477 781 m 110 0 l 110 519 q 106 604 110 560 q 100 672 103 648 l 96 696 l 275 696 l 275 604 q 358 686 317 659 q 450 713 399 713 q 519 703 481 713 l 519 556 q 435 571 474 571 q 321 526 366 571 q 277 394 277 480 l 277 0 l 110 0 z "},"Ȓ":{ha:941,x_min:129,x_max:896,o:"m 224 1072 q 285 1228 231 1179 q 446 1278 339 1278 q 607 1228 553 1278 q 669 1072 662 1178 l 542 1072 q 445 1151 536 1151 q 352 1072 356 1151 l 224 1072 m 299 564 l 464 564 q 648 707 648 564 q 610 812 648 785 q 482 840 571 840 l 299 840 l 299 564 m 129 0 l 129 987 l 485 987 q 626 975 566 987 q 733 933 685 963 q 806 849 781 904 q 830 715 830 795 q 781 567 830 631 q 631 481 731 503 q 762 326 720 431 l 896 0 l 709 0 l 596 294 q 536 392 568 366 q 437 418 503 418 l 301 418 l 301 0 l 129 0 z "},"ȓ":{ha:529,x_min:73,x_max:519,o:"m 73 781 q 134 937 79 887 q 295 986 188 986 q 456 936 401 986 q 517 781 511 886 l 391 781 q 294 859 385 859 q 201 781 205 859 l 73 781 m 110 0 l 110 519 q 106 604 110 560 q 100 672 103 648 l 96 696 l 275 696 l 275 604 q 358 686 317 659 q 450 713 399 713 q 519 703 481 713 l 519 556 q 435 571 474 571 q 321 526 366 571 q 277 394 277 480 l 277 0 l 110 0 z "},"Ȕ":{ha:1023,x_min:111,x_max:912,o:"m 456 1073 l 314 1306 l 113 1306 l 329 1073 l 456 1073 m 685 1073 l 581 1306 l 402 1306 l 564 1073 l 685 1073 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ȕ":{ha:804,x_min:16,x_max:714,o:"m 358 781 l 216 1015 l 16 1015 l 231 781 l 358 781 m 587 781 l 484 1015 l 304 1015 l 466 781 l 587 781 m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 z "},"Ȗ":{ha:1023,x_min:111,x_max:912,o:"m 281 1072 q 342 1228 288 1179 q 503 1278 396 1278 q 664 1228 610 1278 q 726 1072 719 1178 l 599 1072 q 502 1151 593 1151 q 409 1072 413 1151 l 281 1072 m 512 -16 q 345 7 417 -16 q 230 68 273 31 q 159 162 186 106 q 121 276 132 218 q 111 406 111 334 l 111 987 l 283 987 l 283 399 q 295 291 283 338 q 327 214 307 244 q 376 165 347 184 q 438 139 406 146 q 511 132 471 132 q 603 144 563 132 q 674 187 642 157 q 723 270 706 216 q 740 399 740 323 l 740 987 l 912 987 l 912 406 q 903 277 912 334 q 866 163 893 219 q 796 68 840 106 q 681 7 753 31 q 512 -16 608 -16 z "},"ȗ":{ha:804,x_min:88,x_max:714,o:"m 183 781 q 244 937 190 887 q 406 986 298 986 q 567 936 512 986 q 628 781 621 886 l 501 781 q 404 859 495 859 q 311 781 315 859 l 183 781 m 355 -16 q 159 57 229 -16 q 88 255 88 129 l 88 696 l 255 696 l 255 258 q 291 154 255 189 q 390 120 327 120 q 502 158 465 120 q 538 279 538 195 l 538 696 l 706 696 l 706 187 l 714 0 l 541 0 l 538 103 q 523 70 534 88 q 490 32 511 52 q 434 -2 469 12 q 355 -16 398 -16 z "},"Ș":{ha:852,x_min:78,x_max:774,o:"m 271 -439 l 348 -96 l 537 -96 l 415 -439 l 271 -439 m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},"ș":{ha:670,x_min:72,x_max:615,o:"m 195 -439 l 272 -96 l 461 -96 l 339 -439 l 195 -439 m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 z "},"Ț":{ha:801,x_min:7,x_max:793,o:"m 245 -439 l 321 -96 l 511 -96 l 389 -439 l 245 -439 m 312 0 l 312 840 l 7 840 l 7 987 l 793 987 l 793 840 l 484 840 l 484 0 l 312 0 z "},"ț":{ha:545,x_min:1,x_max:500,o:"m 141 -439 l 218 -96 l 407 -96 l 285 -439 l 141 -439 m 500 1 l 433 1 q 362 3 392 1 q 301 12 332 5 q 247 30 269 18 q 205 60 225 41 q 172 105 184 79 q 153 170 160 132 q 146 255 146 207 l 146 583 l 1 583 l 1 696 l 153 696 l 153 859 l 313 908 l 313 696 l 495 696 l 495 583 l 313 583 l 313 245 q 318 192 313 212 q 334 159 323 172 q 368 140 344 146 q 420 132 392 134 q 500 130 449 130 l 500 1 z "},"Ȟ":{ha:1066,x_min:129,x_max:937,o:"m 443 1095 l 252 1344 l 425 1344 l 505 1246 l 589 1344 l 769 1344 l 580 1095 l 443 1095 m 129 0 l 129 987 l 301 987 l 301 581 l 764 581 l 764 987 l 937 987 l 937 0 l 768 0 l 768 432 l 304 432 l 304 0 l 129 0 z "},"ȟ":{ha:827,x_min:98,x_max:782,o:"m 98 0 l 98 988 l 266 988 l 266 606 q 354 684 291 654 q 474 713 417 713 q 562 702 522 713 q 629 671 602 690 q 676 625 656 652 q 708 569 696 597 q 727 507 720 541 q 736 446 734 473 q 739 387 739 418 l 739 0 l 570 0 l 570 393 q 540 534 570 491 q 448 577 509 577 q 322 529 379 577 q 266 419 266 481 l 266 0 l 98 0 m 456 804 l 265 1053 l 437 1053 l 518 954 l 602 1053 l 782 1053 l 593 804 l 456 804 z "},"Ȧ":{ha:989,x_min:8,x_max:980,o:"m 418 1082 l 418 1237 l 585 1237 l 585 1082 l 418 1082 m 355 401 l 620 401 q 489 786 542 633 q 355 401 445 658 m 8 0 l 405 987 l 580 987 l 980 0 l 785 0 l 690 241 l 291 241 l 197 0 l 8 0 z "},"ȧ":{ha:876,x_min:73,x_max:783,o:"m 392 791 l 392 945 l 559 945 l 559 791 l 392 791 m 437 120 q 579 182 534 120 q 623 348 623 244 q 576 516 623 454 q 433 577 529 577 q 290 515 340 577 q 240 349 240 454 q 290 182 240 245 q 437 120 340 120 m 416 -16 q 264 15 331 -16 q 156 96 197 45 q 94 210 115 147 q 73 340 73 272 q 95 478 73 413 q 158 597 117 544 q 269 682 200 650 q 424 713 337 713 q 618 622 550 713 l 618 696 l 783 696 l 783 0 l 614 0 l 614 95 q 416 -16 538 -16 z "},"Ȩ":{ha:847,x_min:129,x_max:772,o:"m 309 -289 l 316 -199 q 372 -217 338 -209 q 434 -225 405 -225 q 503 -176 503 -225 q 399 -95 503 -111 l 379 -92 l 400 26 l 484 26 l 473 -51 q 585 -97 546 -56 q 623 -192 623 -138 q 619 -230 623 -212 q 606 -261 614 -248 q 587 -287 598 -275 q 561 -306 575 -298 q 531 -319 547 -313 q 497 -327 514 -324 q 460 -329 479 -329 q 309 -289 379 -329 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ȩ":{ha:818,x_min:73,x_max:743,o:"m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 m 315 -289 l 323 -199 q 378 -217 345 -209 q 441 -225 412 -225 q 509 -176 509 -225 q 406 -95 509 -111 l 386 -92 l 407 26 l 491 26 l 479 -51 q 591 -97 553 -56 q 630 -192 630 -138 q 626 -230 630 -212 q 613 -261 621 -248 q 593 -287 605 -275 q 568 -306 582 -298 q 537 -319 554 -313 q 504 -327 521 -324 q 467 -329 486 -329 q 315 -289 386 -329 z "},"Ȯ":{ha:1133,x_min:72,x_max:1061,o:"m 490 1082 l 490 1237 l 657 1237 l 657 1082 l 490 1082 m 570 -16 q 205 124 338 -16 q 72 498 72 263 q 206 867 72 728 q 572 1006 340 1006 q 929 867 796 1006 q 1061 498 1061 728 q 930 123 1061 262 q 570 -16 800 -16 m 566 132 q 795 227 717 132 q 874 498 874 322 q 795 764 874 669 q 568 859 717 859 q 338 764 418 859 q 258 498 258 669 q 336 227 258 321 q 566 132 414 132 z "},"ȯ":{ha:872,x_min:73,x_max:799,o:"m 439 -16 q 277 14 349 -16 q 162 94 206 43 q 96 209 119 144 q 73 348 73 274 q 96 489 73 423 q 164 605 119 554 q 279 684 208 655 q 439 713 350 713 q 600 685 530 713 q 713 605 671 656 q 778 489 756 555 q 799 347 799 424 q 777 210 799 274 q 711 95 754 146 q 598 14 668 44 q 439 -16 528 -16 m 436 120 q 523 139 486 120 q 582 190 560 157 q 613 263 603 223 q 624 350 624 303 q 577 513 624 450 q 437 577 530 577 q 330 546 374 577 q 268 464 287 514 q 248 350 248 414 q 266 237 248 287 q 328 153 284 186 q 436 120 372 120 m 360 791 l 360 945 l 527 945 l 527 791 l 360 791 z "},"Ȳ":{ha:868,x_min:-9,x_max:875,o:"m 211 1069 l 211 1175 l 634 1175 l 634 1069 l 211 1069 m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},"ȳ":{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 m 169 777 l 169 884 l 592 884 l 592 777 l 169 777 z "},"ȷ":{ha:407,x_min:-58,x_max:319,o:"m 68 -245 q -1 -241 31 -245 q -45 -232 -33 -236 l -58 -227 l -39 -112 q 58 -125 3 -125 q 98 -120 83 -125 q 125 -102 113 -116 q 142 -60 137 -87 q 148 14 148 -32 l 148 696 l 319 696 l 319 -6 q 308 -109 319 -67 q 270 -183 297 -151 q 192 -230 242 -215 q 68 -245 142 -245 m -39 -112 l -41 -111 l -39 -111 l -39 -112 z "},"ʼ":{ha:407,x_min:43,x_max:300,o:"m 43 832 l 110 1232 l 300 1232 l 167 832 l 43 832 z "},"ˆ":{ha:474,x_min:-25,x_max:500,o:"m -25 804 l 149 1055 l 320 1055 l 500 804 l 332 804 l 240 937 l 146 804 l -25 804 z "},"ˇ":{ha:474,x_min:-21,x_max:496,o:"m 170 804 l -21 1053 l 151 1053 l 232 954 l 315 1053 l 496 1053 l 307 804 l 170 804 z "},"ˉ":{ha:407,x_min:-34,x_max:431,o:"m -34 908 l 431 908 l 431 1021 l -34 1021 l -34 908 z "},"˘":{ha:475,x_min:20,x_max:455,o:"m 239 787 q 20 987 34 787 l 138 987 q 149 944 140 962 q 173 919 158 927 q 203 908 189 911 q 239 905 218 905 q 307 921 281 905 q 338 987 333 938 l 455 987 q 393 835 448 883 q 239 787 338 787 z "},"˙":{ha:355,x_min:87,x_max:254,o:"m 87 791 l 87 945 l 254 945 l 254 791 l 87 791 z "},"˚":{ha:475,x_min:80,x_max:379,o:"m 229 782 q 123 823 167 782 q 80 926 80 865 q 123 1030 80 989 q 229 1071 166 1071 q 335 1030 292 1071 q 379 926 379 989 q 335 823 379 865 q 229 782 292 782 m 230 852 q 281 874 260 852 q 302 926 302 896 q 281 978 302 957 q 230 1000 260 1000 q 179 978 200 1000 q 158 926 158 957 q 179 874 158 896 q 230 852 200 852 z "},"˛":{ha:345,x_min:15,x_max:331,o:"m 159 -241 q 53 -220 92 -241 q 15 -154 15 -198 q 20 -119 15 -136 q 33 -90 26 -102 q 54 -63 41 -77 q 78 -42 68 -50 q 106 -24 89 -34 q 133 -9 123 -14 q 159 4 142 -4 q 180 14 176 12 l 272 16 q 198 -45 225 -11 q 171 -106 171 -80 q 214 -138 171 -138 q 331 -113 248 -138 l 331 -214 q 159 -241 239 -241 z "},"˜":{ha:501,x_min:-1,x_max:502,o:"m 349 796 l 349 796 q 280 814 320 796 q 205 851 240 833 q 153 869 170 869 q 124 852 138 869 q 107 800 111 835 l -1 800 q 40 942 -1 886 q 146 997 81 997 q 221 980 181 997 q 293 945 260 963 q 340 924 326 926 q 345 924 342 924 q 350 924 349 924 q 381 939 370 924 q 392 997 393 954 l 502 997 q 461 847 502 897 q 349 796 420 797 z "},"˝":{ha:657,x_min:47,x_max:618,o:"m 276 781 l 418 1015 l 618 1015 l 403 781 l 276 781 m 47 781 l 151 1015 l 330 1015 l 168 781 l 47 781 z "},"̇":{ha:355,x_min:92,x_max:263,o:"m 92 782 l 92 940 l 263 940 l 263 782 l 92 782 z "},"̏":{ha:657,x_min:38,x_max:610,o:"m 380 781 l 239 1015 l 38 1015 l 254 781 l 380 781 m 610 781 l 506 1015 l 327 1015 l 488 781 l 610 781 z "},"̑":{ha:427,x_min:-9,x_max:435,o:"m -9 781 q 52 937 -3 887 q 213 986 106 986 q 374 936 319 986 q 435 781 429 886 l 309 781 q 212 859 302 859 q 119 781 123 859 l -9 781 z "},"̒":{ha:407,x_min:130,x_max:395,o:"m 395 1177 l 319 840 l 130 840 l 252 1177 l 395 1177 z "},"̦":{ha:366,x_min:50,x_max:316,o:"m 50 -439 l 127 -96 l 316 -96 l 194 -439 l 50 -439 z "},"͘":{ha:355,x_min:92,x_max:263,o:"m 92 782 l 92 940 l 263 940 l 263 782 l 92 782 z "},"Δ":{ha:1019,x_min:41,x_max:974,o:"m 218 147 l 761 147 l 481 786 l 218 147 m 41 0 l 41 149 l 414 987 l 598 987 l 974 159 l 974 0 l 41 0 z "},"Σ":{ha:856,x_min:56,x_max:822,o:"m 56 -181 l 56 -91 l 408 410 l 71 901 l 71 987 l 793 987 l 793 849 l 323 849 l 614 411 l 315 -37 l 822 -37 l 822 -181 l 56 -181 z "},"Ω":{ha:1087,x_min:33,x_max:1062,o:"m 47 0 l 33 143 l 248 141 q 104 316 146 219 q 62 550 62 412 q 124 789 62 686 q 295 948 186 893 q 540 1003 403 1003 q 730 972 642 1003 q 883 884 818 941 q 986 742 949 827 q 1023 552 1023 656 q 983 316 1023 413 q 840 141 943 219 l 1062 143 l 1045 0 l 621 0 l 621 115 q 782 283 721 178 q 843 522 843 389 q 840 574 843 547 q 829 636 838 602 q 807 702 821 671 q 770 763 793 732 q 715 815 746 793 q 640 850 685 837 q 541 864 595 864 q 440 850 486 864 q 364 814 395 836 q 311 760 334 791 q 275 699 288 729 q 255 633 262 668 q 245 572 248 597 q 243 521 243 546 q 304 284 243 389 q 467 115 366 180 l 467 0 l 47 0 z "},"μ":{ha:834,x_min:86,x_max:751,o:"m 543 193 q 406 122 490 122 q 320 163 347 122 q 294 298 294 203 l 294 734 l 86 734 l 86 -214 l 294 -214 l 294 -10 q 341 -14 316 -14 q 562 103 488 -14 l 572 0 l 751 0 l 751 734 l 543 734 l 543 193 z "},"π":{ha:1002,x_min:117,x_max:930,o:"m 778 -9 q 898 30 858 -9 l 898 117 q 831 106 869 106 q 778 118 797 106 q 758 161 758 130 q 770 584 758 405 l 930 584 l 930 734 l 328 734 q 165 673 214 734 q 117 495 117 612 l 182 495 q 271 584 196 583 l 328 584 l 284 263 q 265 188 279 221 q 234 134 251 154 q 197 99 217 113 q 159 80 176 85 q 125 75 141 75 l 125 3 q 268 15 212 3 q 355 56 323 27 q 399 122 387 85 q 414 219 412 159 l 432 584 l 660 584 q 627 349 642 486 q 613 143 613 213 q 656 25 613 58 q 778 -9 700 -9 z "},"Ḃ":{ha:927,x_min:129,x_max:852,o:"m 361 1082 l 361 1237 l 528 1237 l 528 1082 l 361 1082 m 301 578 l 448 578 q 512 584 483 578 q 567 606 541 591 q 608 648 593 621 q 623 713 623 675 q 572 813 623 786 q 412 840 522 840 l 301 840 l 301 578 m 303 147 l 458 147 q 667 286 667 147 q 620 406 667 373 q 454 438 574 438 l 303 438 l 303 147 m 129 0 l 129 987 l 402 987 q 479 986 445 987 q 556 978 513 984 q 633 962 600 972 q 701 932 667 951 q 756 887 734 913 q 792 822 779 861 q 806 734 806 783 q 675 524 806 588 q 808 434 764 500 q 852 279 852 369 q 829 173 852 222 q 764 85 807 124 q 649 23 720 45 q 489 0 578 0 l 129 0 z "},"ḃ":{ha:876,x_min:96,x_max:802,o:"m 435 791 l 435 945 l 602 945 l 602 791 l 435 791 m 446 120 q 529 139 493 120 q 585 190 564 157 q 616 262 606 222 q 627 347 627 301 q 582 512 627 447 q 452 577 537 577 q 311 512 363 577 q 258 349 258 446 q 278 237 258 288 q 342 153 298 186 q 446 120 385 120 m 477 -16 q 350 15 408 -16 q 268 86 293 45 l 268 0 l 96 0 q 98 82 97 46 q 100 133 100 118 q 101 160 101 149 q 102 175 102 171 q 102 184 102 179 l 102 988 l 269 988 l 269 598 q 286 628 272 610 q 324 666 299 646 q 392 700 349 686 q 486 713 435 713 q 718 612 633 713 q 802 351 802 511 q 776 202 802 271 q 706 85 750 133 q 603 11 662 38 q 477 -16 543 -16 z "},"Ḋ":{ha:1065,x_min:129,x_max:994,o:"m 423 1082 l 423 1237 l 590 1237 l 590 1082 l 423 1082 m 129 0 l 129 987 l 404 987 q 847 862 701 987 q 994 500 994 736 q 850 127 994 255 q 432 0 707 0 l 129 0 m 301 148 l 441 148 q 715 237 620 148 q 811 500 811 327 q 714 752 811 665 q 420 840 618 840 l 301 840 l 301 148 z "},"ḋ":{ha:859,x_min:73,x_max:768,o:"m 310 791 l 310 945 l 477 945 l 477 791 l 310 791 m 425 120 q 506 139 471 120 q 561 190 541 157 q 590 262 581 223 q 600 347 600 302 q 556 513 600 449 q 424 577 512 577 q 325 545 365 577 q 267 464 284 513 q 250 350 250 414 q 259 263 250 303 q 289 190 269 223 q 344 139 309 157 q 425 120 379 120 m 391 -16 q 164 83 256 -16 q 73 345 73 182 q 94 484 73 418 q 155 602 115 550 q 259 683 195 653 q 404 713 323 713 q 525 684 475 713 q 595 623 575 654 l 595 988 l 762 988 l 762 186 q 768 0 762 182 l 595 0 l 594 89 q 574 57 588 73 q 536 23 559 41 q 474 -5 512 6 q 391 -16 436 -16 z "},"Ḟ":{ha:777,x_min:129,x_max:732,o:"m 361 1082 l 361 1237 l 528 1237 l 528 1082 l 361 1082 m 129 0 l 129 987 l 732 987 l 732 840 l 301 840 l 301 570 l 707 570 l 707 422 l 301 422 l 301 0 l 129 0 z "},"ḟ":{ha:556,x_min:47,x_max:506,o:"m 177 0 l 177 583 l 47 583 l 47 696 l 177 696 l 177 723 q 179 802 177 770 q 188 866 181 833 q 207 919 195 899 q 241 957 220 939 q 294 986 262 976 q 369 1001 325 996 q 470 1007 412 1007 l 506 1007 l 500 876 q 438 875 461 876 q 396 867 416 873 q 368 852 377 861 q 353 824 359 844 q 346 784 347 805 q 345 725 345 762 l 345 696 l 501 696 l 501 583 l 345 583 l 345 0 l 177 0 m 175 1082 l 175 1237 l 342 1237 l 342 1082 l 175 1082 z "},"Ṁ":{ha:1348,x_min:129,x_max:1219,o:"m 593 1082 l 593 1237 l 760 1237 l 760 1082 l 593 1082 m 129 0 l 129 987 l 331 987 q 480 656 352 941 q 676 221 608 371 q 784 459 728 334 q 911 748 839 583 q 1017 987 983 913 l 1219 987 l 1219 0 l 1057 0 l 1057 705 q 739 0 1021 627 l 612 0 q 513 219 577 77 q 397 477 450 361 q 295 694 344 593 l 295 0 l 129 0 z "},"ṁ":{ha:1247,x_min:96,x_max:1157,o:"m 109 0 l 109 472 q 102 620 109 544 l 96 696 l 273 696 l 273 605 q 352 683 298 652 q 467 713 405 713 q 590 681 534 713 q 675 585 646 648 q 901 713 765 713 q 1093 637 1029 713 q 1157 427 1157 560 l 1157 0 l 989 0 l 989 416 q 984 470 989 444 q 969 521 979 496 q 938 562 958 547 q 888 577 917 577 q 766 520 814 577 q 718 394 718 463 l 718 0 l 549 0 l 549 425 q 547 464 549 446 q 538 504 545 483 q 520 541 531 526 q 489 567 509 557 q 443 577 469 577 q 324 531 372 577 q 277 422 277 484 l 277 0 l 109 0 m 576 791 l 576 945 l 743 945 l 743 791 l 576 791 z "},"Ṗ":{ha:881,x_min:129,x_max:835,o:"m 377 1082 l 377 1237 l 544 1237 l 544 1082 l 377 1082 m 301 573 l 449 573 q 533 578 498 573 q 596 598 568 584 q 640 638 625 612 q 654 705 654 665 q 650 744 654 726 q 641 775 646 762 q 624 798 635 788 q 603 815 612 808 q 574 826 593 821 q 542 832 555 830 q 504 836 530 835 q 463 837 478 837 q 417 838 448 838 l 301 838 l 301 573 m 129 0 l 129 987 l 410 987 q 496 986 460 987 q 575 980 532 985 q 648 967 617 976 q 710 944 678 958 q 763 909 741 930 q 801 860 784 888 q 827 793 819 831 q 835 706 835 754 q 809 572 835 627 q 733 485 784 517 q 613 440 682 454 q 452 426 545 426 l 301 426 l 301 0 l 129 0 z "},"ṗ":{ha:863,x_min:96,x_max:792,o:"m 441 120 q 523 139 488 120 q 577 190 557 157 q 607 262 597 222 q 617 349 617 302 q 600 463 617 413 q 541 545 582 513 q 440 577 500 577 q 340 546 381 577 q 282 465 300 514 q 264 352 264 416 q 274 264 264 304 q 304 191 284 224 q 360 139 325 158 q 441 120 395 120 m 109 -268 l 109 462 q 96 696 109 522 l 274 696 l 274 596 q 342 674 282 634 q 489 713 402 713 q 651 663 581 713 q 756 532 721 612 q 792 356 792 451 q 771 219 792 285 q 711 100 750 153 q 612 16 673 47 q 479 -16 552 -16 q 340 23 397 -16 q 274 96 282 62 l 274 -268 l 109 -268 m 390 791 l 390 945 l 557 945 l 557 791 l 390 791 z "},"Ṡ":{ha:852,x_min:78,x_max:774,o:"m 335 1082 l 335 1237 l 502 1237 l 502 1082 l 335 1082 m 422 -16 q 227 14 321 -16 q 78 97 132 44 l 151 220 q 276 157 199 183 q 412 132 353 132 q 547 165 503 132 q 591 269 591 199 q 587 312 591 296 q 568 347 583 329 q 526 380 554 365 q 450 412 498 395 q 381 435 430 419 q 311 458 333 450 q 134 567 189 505 q 79 737 79 630 q 124 886 79 824 q 246 977 170 947 q 420 1006 322 1006 q 625 980 552 1006 q 764 892 699 954 l 675 778 q 444 857 592 857 q 313 829 363 857 q 262 745 262 802 q 267 699 262 717 q 287 664 272 681 q 331 632 302 646 q 407 600 359 617 q 478 577 424 594 q 558 549 532 559 q 726 439 679 501 q 774 265 774 376 q 745 135 774 191 q 665 47 715 79 q 554 0 615 16 q 422 -16 493 -16 z "},"ṡ":{ha:670,x_min:72,x_max:615,o:"m 362 -16 q 194 10 271 -16 q 72 72 117 36 l 114 193 q 222 138 157 159 q 347 117 287 117 q 432 136 404 117 q 461 197 461 155 l 461 210 q 444 247 461 231 q 366 281 427 262 l 267 313 q 204 336 229 326 q 153 363 179 347 q 112 398 127 379 q 89 446 98 418 q 79 511 79 474 q 100 604 79 564 q 157 667 121 644 q 239 701 194 690 q 337 712 283 712 q 470 695 404 712 q 587 645 536 678 l 543 530 q 448 566 503 551 q 349 581 393 581 q 266 567 292 581 q 240 520 240 553 q 248 486 240 498 q 282 461 256 474 q 365 429 308 448 l 455 399 q 542 359 509 380 q 595 297 575 337 q 615 197 615 257 q 600 113 615 151 q 560 52 585 76 q 502 13 535 28 q 433 -9 468 -3 q 362 -16 399 -16 m 262 791 l 262 945 l 429 945 l 429 791 l 262 791 z "},"Ṫ":{ha:801,x_min:7,x_max:793,o:"m 330 1082 l 330 1237 l 496 1237 l 496 1082 l 330 1082 m 312 0 l 312 840 l 7 840 l 7 987 l 793 987 l 793 840 l 484 840 l 484 0 l 312 0 z "},"ṫ":{ha:545,x_min:1,x_max:500,o:"m 500 1 l 433 1 q 362 3 392 1 q 301 12 332 5 q 247 30 269 18 q 205 60 225 41 q 172 105 184 79 q 153 170 160 132 q 146 255 146 207 l 146 583 l 1 583 l 1 696 l 153 696 l 153 859 l 313 908 l 313 696 l 495 696 l 495 583 l 313 583 l 313 245 q 318 192 313 212 q 334 159 323 172 q 368 140 344 146 q 420 132 392 134 q 500 130 449 130 l 500 1 m 167 958 l 167 1112 l 334 1112 l 334 958 l 167 958 z "},"Ẁ":{ha:1421,x_min:8,x_max:1413,o:"m 640 1082 l 401 1278 l 617 1278 l 795 1082 l 640 1082 m 290 0 l 8 987 l 191 987 q 256 746 210 916 q 334 451 301 576 q 395 208 366 326 q 465 453 427 328 q 557 748 503 579 q 633 987 611 916 l 797 987 l 973 435 l 1041 204 q 1100 450 1069 323 q 1174 745 1132 576 q 1236 987 1217 913 l 1413 987 l 1138 0 l 941 0 l 710 749 l 485 0 l 290 0 z "},"ẁ":{ha:1143,x_min:9,x_max:1133,o:"m 262 0 l 9 696 l 189 696 q 347 207 294 370 q 511 696 374 289 l 658 696 q 707 542 675 642 q 765 360 739 441 q 814 205 791 278 q 977 696 834 267 l 1133 696 l 869 0 l 729 0 q 571 473 586 428 q 403 0 545 398 l 262 0 m 513 791 l 275 987 l 490 987 l 668 791 l 513 791 z "},"Ẃ":{ha:1421,x_min:8,x_max:1413,o:"m 635 1082 l 814 1279 l 1029 1279 l 789 1082 l 635 1082 m 290 0 l 8 987 l 191 987 q 256 746 210 916 q 334 451 301 576 q 395 208 366 326 q 465 453 427 328 q 557 748 503 579 q 633 987 611 916 l 797 987 l 973 435 l 1041 204 q 1100 450 1069 323 q 1174 745 1132 576 q 1236 987 1217 913 l 1413 987 l 1138 0 l 941 0 l 710 749 l 485 0 l 290 0 z "},"ẃ":{ha:1143,x_min:9,x_max:1133,o:"m 262 0 l 9 696 l 189 696 q 347 207 294 370 q 511 696 374 289 l 658 696 q 707 542 675 642 q 765 360 739 441 q 814 205 791 278 q 977 696 834 267 l 1133 696 l 869 0 l 729 0 q 571 473 586 428 q 403 0 545 398 l 262 0 m 509 791 l 688 987 l 903 987 l 663 791 l 509 791 z "},"Ẅ":{ha:1421,x_min:8,x_max:1413,o:"m 777 1072 l 777 1225 l 943 1225 l 943 1072 l 777 1072 m 467 1072 l 467 1225 l 634 1225 l 634 1072 l 467 1072 m 290 0 l 8 987 l 191 987 q 256 746 210 916 q 334 451 301 576 q 395 208 366 326 q 465 453 427 328 q 557 748 503 579 q 633 987 611 916 l 797 987 l 973 435 l 1041 204 q 1100 450 1069 323 q 1174 745 1132 576 q 1236 987 1217 913 l 1413 987 l 1138 0 l 941 0 l 710 749 l 485 0 l 290 0 z "},"ẅ":{ha:1143,x_min:9,x_max:1133,o:"m 262 0 l 9 696 l 189 696 q 347 207 294 370 q 511 696 374 289 l 658 696 q 707 542 675 642 q 765 360 739 441 q 814 205 791 278 q 977 696 834 267 l 1133 696 l 869 0 l 729 0 q 571 473 586 428 q 403 0 545 398 l 262 0 m 651 781 l 651 933 l 817 933 l 817 781 l 651 781 m 340 781 l 340 933 l 508 933 l 508 781 l 340 781 z "},"Ẽ":{ha:847,x_min:129,x_max:772,o:"m 495 1088 l 494 1088 q 426 1106 466 1088 q 351 1142 386 1124 q 299 1160 315 1160 q 270 1143 284 1160 q 253 1091 256 1126 l 144 1091 q 185 1233 144 1178 q 292 1289 227 1289 q 367 1272 327 1289 q 439 1236 406 1255 q 486 1216 472 1218 q 491 1216 488 1216 q 496 1215 494 1215 q 527 1231 516 1215 q 538 1289 538 1246 l 648 1289 q 607 1138 648 1188 q 495 1088 566 1088 m 129 0 l 129 987 l 752 987 l 752 840 l 301 840 l 301 576 l 728 576 l 728 427 l 303 427 l 303 148 l 772 148 l 772 0 l 129 0 z "},"ẽ":{ha:818,x_min:73,x_max:743,o:"m 501 796 l 500 796 q 432 814 472 796 q 357 851 392 833 q 305 869 321 869 q 276 852 290 869 q 259 800 262 835 l 151 800 q 192 942 151 886 q 298 997 233 997 q 373 980 333 997 q 445 945 412 963 q 492 924 478 926 q 497 924 494 924 q 502 924 500 924 q 533 939 522 924 q 544 997 545 954 l 654 997 q 613 847 654 897 q 501 796 572 797 m 253 431 l 599 431 q 544 545 587 505 q 439 584 501 584 q 318 543 367 584 q 253 431 269 503 m 452 -16 q 175 85 276 -16 q 73 347 73 185 q 98 486 73 420 q 166 603 122 552 q 279 684 211 654 q 430 713 347 713 q 574 685 513 713 q 672 605 636 656 q 725 490 708 554 q 743 349 743 427 q 739 319 743 330 l 251 319 q 313 169 255 218 q 467 120 371 120 q 687 195 580 120 l 732 73 q 600 6 667 27 q 452 -16 533 -16 z "},"Ỳ":{ha:869,x_min:-9,x_max:875,o:"m 374 1082 l 136 1278 l 351 1278 l 529 1082 l 374 1082 m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},"ỳ":{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 m 332 791 l 94 987 l 309 987 l 487 791 l 332 791 z "},"Ỹ":{ha:869,x_min:-9,x_max:875,o:"m 486 1088 l 485 1088 q 416 1106 456 1088 q 341 1142 376 1124 q 290 1160 306 1160 q 261 1143 275 1160 q 243 1091 247 1126 l 135 1091 q 176 1233 135 1178 q 283 1289 217 1289 q 357 1272 317 1289 q 430 1236 397 1255 q 476 1216 463 1218 q 481 1216 478 1216 q 486 1215 485 1215 q 518 1231 507 1215 q 528 1289 529 1246 l 638 1289 q 597 1138 638 1188 q 486 1088 557 1088 m 342 0 l 342 382 l -9 987 l 186 987 l 431 535 l 674 987 l 875 987 l 515 382 l 515 0 l 342 0 z "},"ỹ":{ha:755,x_min:20,x_max:742,o:"m 172 -302 l 102 -188 q 243 -112 196 -151 q 307 -18 290 -73 l 316 16 l 20 696 l 195 696 l 397 197 l 570 696 l 742 696 l 460 -38 q 383 -165 431 -110 q 284 -252 336 -220 q 172 -302 233 -283 m 444 796 l 443 796 q 374 814 414 796 q 299 851 334 833 q 248 869 264 869 q 219 852 233 869 q 201 800 205 835 l 93 800 q 134 942 93 886 q 241 997 175 997 q 315 980 275 997 q 388 945 355 963 q 434 924 420 926 q 439 924 436 924 q 444 924 443 924 q 476 939 465 924 q 486 997 487 954 l 596 997 q 555 847 596 897 q 444 796 515 797 z "},"–":{ha:728,x_min:-10,x_max:739,o:"m -10 304 l -10 446 l 739 446 l 739 304 l -10 304 z "},"—":{ha:1472,x_min:20,x_max:1452,o:"m 20 307 l 20 446 l 1452 446 l 1452 307 l 20 307 z "},"―":{ha:2777,x_min:37,x_max:2740,o:"m 37 307 l 37 435 l 2740 435 l 2740 307 l 37 307 z "},"‘":{ha:391,x_min:96,x_max:315,o:"m 209 587 l 96 987 l 289 987 l 315 587 l 209 587 z "},"’":{ha:429,x_min:76,x_max:332,o:"m 76 587 l 142 987 l 332 987 l 199 587 l 76 587 z "},"‚":{ha:472,x_min:108,x_max:372,o:"m 108 -220 l 186 178 l 372 178 l 257 -220 l 108 -220 z "},"“":{ha:694,x_min:88,x_max:665,o:"m 401 587 l 523 987 l 665 987 l 589 587 l 401 587 m 88 587 l 218 987 l 359 987 l 282 587 l 88 587 z "},"”":{ha:694,x_min:119,x_max:663,o:"m 401 587 l 479 987 l 663 987 l 547 587 l 401 587 m 119 587 l 194 987 l 381 987 l 267 587 l 119 587 z "},"„":{ha:694,x_min:59,x_max:591,o:"m 330 -149 l 406 178 l 591 178 l 477 -149 l 330 -149 m 59 -149 l 134 178 l 319 178 l 210 -149 l 59 -149 z "},"†":{ha:693,x_min:37,x_max:615,o:"m 258 0 l 258 611 l 37 611 l 37 732 l 258 732 l 258 958 l 392 958 l 392 732 l 615 732 l 615 611 l 394 611 l 394 0 l 258 0 z "},"‡":{ha:796,x_min:97,x_max:699,o:"m 100 734 l 329 734 l 329 987 l 478 987 l 478 734 l 699 734 l 699 607 l 478 607 l 478 361 l 692 361 l 692 239 l 478 239 l 478 -76 l 329 -76 l 329 239 l 97 239 l 97 361 l 329 361 l 329 607 l 100 607 l 100 734 z "},"•":{ha:671,x_min:101,x_max:564,o:"m 332 243 q 165 308 230 243 q 101 463 101 372 q 169 619 101 553 q 332 685 236 685 q 497 620 431 685 q 564 463 564 554 q 496 308 564 373 q 332 243 429 243 z "},"…":{ha:1099,x_min:78,x_max:987,o:"m 785 -7 l 785 176 l 987 176 l 987 -7 l 785 -7 m 431 -7 l 431 176 l 635 176 l 636 -7 l 431 -7 m 78 -7 l 78 176 l 282 176 l 283 -7 l 78 -7 z "},"‰":{ha:1868,x_min:66,x_max:1802,o:"m 1553 -14 q 1372 59 1440 -14 q 1303 243 1303 132 q 1372 428 1303 353 q 1552 502 1440 502 q 1733 427 1664 502 q 1802 243 1802 353 q 1734 59 1802 131 q 1553 -14 1666 -14 m 1553 92 q 1633 128 1607 92 q 1659 243 1659 164 q 1634 357 1659 319 q 1552 395 1608 395 q 1471 358 1497 395 q 1446 244 1446 321 q 1473 129 1446 165 q 1553 92 1499 92 m 972 -14 q 791 59 860 -14 q 723 243 723 132 q 791 428 723 353 q 972 502 860 502 q 1153 427 1084 502 q 1222 243 1222 353 q 1154 59 1222 131 q 972 -14 1085 -14 m 972 92 q 1052 128 1025 92 q 1079 243 1079 164 q 1053 357 1079 319 q 972 395 1027 395 q 891 358 917 395 q 865 244 865 321 q 892 129 865 165 q 972 92 918 92 m 262 0 l 893 987 l 1031 987 l 399 0 l 262 0 m 315 485 q 133 553 200 485 q 66 742 66 621 q 133 930 66 861 q 315 1000 200 1000 q 497 930 430 1000 q 565 742 565 860 q 498 553 565 621 q 315 485 431 485 m 315 591 q 395 626 369 591 q 422 741 422 662 q 396 856 422 818 q 315 894 371 894 q 234 856 260 894 q 209 742 209 819 q 235 627 209 663 q 315 591 262 591 z "},"‹":{ha:492,x_min:94,x_max:421,o:"m 281 107 l 94 367 l 286 625 l 421 625 l 260 366 l 416 107 l 281 107 z "},"›":{ha:492,x_min:62,x_max:390,o:"m 62 106 l 223 366 l 67 625 l 201 625 l 390 365 l 197 106 l 62 106 z "},"⁄":{ha:769,x_min:-8,x_max:761,o:"m -8 0 l 592 987 l 761 987 l 161 0 l -8 0 z "},"⁴":{ha:517,x_min:35,x_max:489,o:"m 160 660 l 282 660 l 282 833 l 160 660 m 283 435 l 283 568 l 35 568 l 35 646 l 284 987 l 410 987 l 410 660 l 489 660 l 489 568 l 410 568 l 410 435 l 283 435 z "},"€":{ha:990,x_min:93,x_max:1034,o:"m 94 342 l 97 418 l 201 418 q 197 493 197 454 q 201 559 197 524 l 93 559 l 96 639 l 214 639 q 265 771 231 711 q 345 875 300 832 q 446 947 391 918 q 559 991 500 977 q 678 1006 618 1006 q 1008 899 872 1006 l 941 779 q 692 857 828 857 q 515 799 595 857 q 401 639 436 741 l 716 639 l 711 559 l 382 559 q 378 495 378 528 q 384 418 378 454 l 692 418 l 687 342 l 404 342 q 520 189 440 244 q 703 134 600 134 q 976 233 852 134 l 1034 97 q 692 -15 890 -15 q 487 25 583 -15 q 318 147 391 65 q 216 342 245 229 l 94 342 z "},"ℓ":{ha:357,x_min:96,x_max:262,o:"m 96 0 l 96 988 l 262 988 l 262 0 l 96 0 z "},"™":{ha:1267,x_min:50,x_max:1161,o:"m 196 426 l 196 842 l 50 842 l 50 958 l 479 958 l 479 842 l 328 842 l 328 426 l 196 426 m 546 426 l 546 958 l 701 958 l 854 625 l 1006 958 l 1161 958 l 1161 426 l 1027 426 l 1027 729 l 895 426 l 812 426 l 677 722 l 677 426 l 546 426 z "},"Ω":{ha:1087,x_min:33,x_max:1062,o:"m 47 0 l 33 143 l 248 141 q 104 316 146 219 q 62 550 62 412 q 124 789 62 686 q 295 948 186 893 q 540 1003 403 1003 q 730 972 642 1003 q 883 884 818 941 q 986 742 949 827 q 1023 552 1023 656 q 983 316 1023 413 q 840 141 943 219 l 1062 143 l 1045 0 l 621 0 l 621 115 q 782 283 721 178 q 843 522 843 389 q 840 574 843 547 q 829 636 838 602 q 807 702 821 671 q 770 763 793 732 q 715 815 746 793 q 640 850 685 837 q 541 864 595 864 q 440 850 486 864 q 364 814 395 836 q 311 760 334 791 q 275 699 288 729 q 255 633 262 668 q 245 572 248 597 q 243 521 243 546 q 304 284 243 389 q 467 115 366 180 l 467 0 l 47 0 z "},"℮":{ha:808,x_min:65,x_max:728,o:"m 242 484 l 586 484 q 572 621 586 563 q 532 712 557 680 q 478 759 507 744 q 413 774 448 774 q 349 759 378 774 q 295 711 319 744 q 256 621 270 679 q 242 484 242 563 m 425 77 q 288 101 352 77 q 173 168 223 124 q 94 283 123 212 q 65 442 65 354 q 85 584 65 521 q 139 690 105 648 q 218 760 172 732 q 312 801 263 789 q 414 813 361 813 q 508 803 464 813 q 594 767 553 792 q 664 704 635 742 q 711 607 693 666 q 728 475 728 549 q 725 444 728 458 l 238 444 q 298 202 239 284 q 463 119 358 119 q 698 203 569 119 l 716 168 q 425 77 578 77 z "},"∂":{ha:788,x_min:32,x_max:720,o:"m 324 121 q 381 130 355 121 q 431 161 406 139 q 475 219 456 183 q 510 309 494 254 q 537 437 526 364 q 478 514 517 481 q 397 547 440 547 q 259 470 315 547 q 203 288 203 393 q 236 166 203 212 q 324 121 268 121 m 324 -16 q 108 69 184 -16 q 32 290 32 155 q 80 487 32 397 q 210 628 128 576 q 388 680 292 680 q 491 656 446 680 q 547 601 535 633 q 547 659 547 650 q 493 820 541 760 q 370 880 445 880 q 338 878 354 880 q 308 874 323 877 q 281 868 293 871 q 254 860 269 865 q 232 852 240 855 q 210 844 223 850 q 193 836 197 838 q 177 827 189 833 q 165 821 165 821 l 155 943 q 260 995 200 976 q 380 1014 320 1014 q 632 902 543 1014 q 720 559 720 789 q 705 390 720 472 q 658 234 690 308 q 581 104 626 159 q 469 16 535 49 q 324 -16 403 -16 z "},"∅":{ha:1138,x_min:56,x_max:1073,o:"m 56 497 q 98 703 56 605 q 211 869 140 800 q 374 979 281 938 q 564 1019 467 1019 q 679 1005 622 1019 q 787 964 736 991 q 882 901 838 938 l 1002 1035 l 1059 990 l 935 851 q 1036 689 1000 780 q 1073 497 1073 598 q 1030 292 1073 389 q 918 125 988 194 q 755 16 848 56 q 564 -25 662 -25 q 400 5 480 -25 q 252 88 319 35 l 121 -58 l 70 -11 l 201 136 q 94 301 132 208 q 56 497 56 393 m 299 140 q 564 45 420 45 q 728 81 648 45 q 869 176 808 116 q 966 320 929 235 q 1003 497 1003 404 q 972 660 1003 583 q 887 799 942 737 l 299 140 m 248 189 l 836 848 q 707 923 777 897 q 564 949 637 949 q 400 913 480 949 q 260 819 320 878 q 162 674 199 759 q 125 497 125 590 q 158 330 125 409 q 248 189 191 250 z "},"∆":{ha:1019,x_min:41,x_max:974,o:"m 218 147 l 761 147 l 481 786 l 218 147 m 41 0 l 41 149 l 414 987 l 598 987 l 974 159 l 974 0 l 41 0 z "},"∏":{ha:1063,x_min:26,x_max:987,o:"m 132 -68 l 132 851 l 26 851 l 26 987 l 985 987 l 987 851 l 902 851 l 902 -68 l 709 -68 l 709 851 l 320 851 l 320 -68 l 132 -68 z "},"∑":{ha:856,x_min:56,x_max:822,o:"m 56 -181 l 56 -91 l 408 410 l 71 901 l 71 987 l 793 987 l 793 849 l 323 849 l 614 411 l 315 -37 l 822 -37 l 822 -181 l 56 -181 z "},"−":{ha:1017,x_min:136,x_max:880,o:"m 136 193 l 136 330 l 880 330 l 880 193 l 136 193 z "},"∕":{ha:283,x_min:-55,x_max:532,o:"m -55 -161 l 382 987 l 532 987 l 91 -161 l -55 -161 z "},"∙":{ha:431,x_min:135,x_max:302,o:"m 135 353 l 135 508 l 302 508 l 302 353 l 135 353 z "},"√":{ha:891,x_min:3,x_max:795,o:"m 349 -96 l 142 431 l 34 410 l 3 532 l 254 572 l 403 178 l 640 1054 l 795 1054 l 488 -96 l 349 -96 z "},"∞":{ha:1181,x_min:65,x_max:1117,o:"m 868 261 q 971 306 939 261 q 1004 425 1004 351 q 966 518 1004 480 q 865 556 928 556 q 649 409 755 556 q 762 296 713 332 q 868 261 811 261 m 328 261 q 543 408 433 261 q 321 556 437 556 q 217 514 254 556 q 180 409 180 472 q 221 305 180 349 q 328 261 261 261 m 317 157 q 136 235 207 157 q 65 425 65 313 q 139 591 65 522 q 313 661 214 661 q 594 488 467 661 q 721 616 655 572 q 869 661 786 661 q 1049 591 981 661 q 1117 412 1117 522 q 1044 229 1117 301 q 868 157 970 157 q 726 198 791 157 q 593 330 661 239 q 317 157 463 157 z "},"∫":{ha:556,x_min:18,x_max:522,o:"m 135 -220 q 73 -215 102 -220 q 31 -205 44 -210 l 18 -201 l 18 -74 q 111 -85 68 -85 q 164 -59 151 -85 q 177 27 177 -33 l 177 785 q 234 975 177 903 q 403 1046 291 1046 q 460 1041 431 1046 q 506 1032 490 1037 l 522 1028 l 522 896 q 429 911 468 911 q 369 884 386 911 q 353 800 353 857 l 353 40 q 300 -150 353 -79 q 135 -220 247 -220 z "},"≈":{ha:916,x_min:45,x_max:810,o:"m 149 71 l 45 130 q 83 231 63 191 q 129 290 104 270 q 180 317 155 310 q 240 323 205 323 q 442 281 316 323 q 616 245 542 245 q 670 264 654 245 q 697 351 686 283 l 809 298 q 776 195 793 235 q 736 134 759 155 q 690 104 714 112 q 632 96 667 96 q 415 138 566 96 q 255 174 294 174 q 192 155 212 174 q 149 71 172 136 m 149 472 l 46 533 q 84 633 64 594 q 131 692 105 673 q 181 719 156 712 q 241 726 205 726 q 445 684 305 726 q 617 648 562 648 q 670 667 654 648 q 698 753 686 686 l 810 700 q 763 572 789 616 q 708 513 737 528 q 633 498 679 498 q 416 541 574 498 q 256 576 293 576 q 192 556 212 576 q 149 472 171 537 z "},"≠":{ha:941,x_min:105,x_max:830,o:"m 342 24 l 210 45 l 286 203 l 105 203 l 105 331 l 351 331 l 416 456 l 105 456 l 105 585 l 477 585 l 564 761 l 700 741 l 623 585 l 830 585 l 830 456 l 562 456 l 494 331 l 830 331 l 830 203 l 431 203 l 342 24 z "},"≤":{ha:916,x_min:68,x_max:795,o:"m 68 0 l 68 128 l 795 128 l 795 0 l 68 0 m 782 178 l 71 499 l 71 576 l 785 910 l 785 755 l 293 540 l 782 330 l 782 178 z "},"≥":{ha:916,x_min:65,x_max:791,o:"m 65 0 l 65 128 l 791 128 l 791 0 l 65 0 m 70 177 l 70 332 l 562 547 l 73 758 l 73 909 l 784 588 l 784 510 l 70 177 z "},"◊":{ha:846,x_min:48,x_max:761,o:"m 402 153 l 594 473 l 406 783 l 214 473 l 402 153 m 346 -27 l 48 473 l 350 974 l 460 974 l 761 473 l 456 -27 l 346 -27 z "},"ff":{ha:1147,x_min:47,x_max:1095,o:"m 934 580 l 934 0 l 762 0 l 762 580 l 349 580 l 349 0 l 178 0 l 178 580 l 47 580 l 47 696 l 178 696 l 178 720 q 180 800 178 768 q 188 864 182 831 q 208 918 195 897 q 242 957 220 938 q 295 986 263 976 q 371 1001 327 996 q 473 1007 414 1007 l 510 1007 l 503 873 q 443 871 465 873 q 401 864 420 870 q 373 849 382 858 q 358 821 365 840 q 351 781 352 802 q 349 721 349 759 l 349 696 l 762 696 l 762 720 q 764 800 762 768 q 773 864 766 831 q 792 918 779 897 q 826 957 805 938 q 880 986 848 976 q 955 1001 911 996 q 1058 1007 999 1007 l 1095 1007 l 1088 873 q 1027 871 1050 873 q 986 864 1005 870 q 958 849 966 858 q 943 821 949 840 q 935 781 937 802 q 934 721 934 759 l 934 696 l 1090 696 l 1090 580 l 934 580 z "},"fi":{ha:876,x_min:47,x_max:774,o:"m 178 0 l 178 580 l 47 580 l 47 696 l 178 696 l 178 720 q 180 800 178 768 q 188 864 182 831 q 208 918 195 897 q 242 957 220 938 q 295 986 263 976 q 371 1001 327 996 q 473 1007 414 1007 l 510 1007 l 503 873 q 443 871 465 873 q 401 864 420 870 q 373 849 382 858 q 358 821 365 840 q 351 781 352 802 q 349 721 349 759 l 349 696 l 627 696 l 627 580 l 349 580 l 349 0 l 178 0 m 612 840 l 612 987 l 774 987 l 774 840 l 612 840 m 612 0 l 612 696 l 774 696 l 774 0 l 612 0 z "},"fl":{ha:857,x_min:47,x_max:766,o:"m 174 0 l 174 580 l 47 580 l 47 696 l 174 696 l 174 703 q 185 833 174 782 q 228 921 197 884 q 314 975 258 959 q 455 991 369 991 l 766 991 l 766 0 l 595 0 l 595 859 l 493 859 q 376 833 406 859 q 346 741 346 808 l 346 696 l 502 696 l 502 580 l 346 580 l 346 0 l 174 0 z "},"ffi":{ha:1516,x_min:47,x_max:1422,o:"m 1422 836 l 1256 836 l 1256 987 l 1422 987 l 1422 836 m 1422 0 l 1256 0 l 1256 580 l 940 580 l 940 0 l 768 0 l 768 580 l 349 580 l 349 0 l 178 0 l 178 580 l 47 580 l 47 696 l 178 696 l 178 720 q 180 800 178 768 q 188 864 182 831 q 208 918 195 897 q 242 957 220 938 q 295 986 263 976 q 371 1001 327 996 q 473 1007 414 1007 l 510 1007 l 503 873 q 443 872 465 873 q 401 865 420 871 q 373 850 382 859 q 358 822 365 841 q 351 781 352 803 q 349 722 349 760 l 349 696 l 768 696 l 768 720 q 770 800 768 768 q 779 864 772 831 q 798 918 785 897 q 832 957 811 938 q 886 986 854 976 q 961 1001 918 996 q 1064 1007 1005 1007 l 1101 1007 l 1094 873 q 1034 872 1056 873 q 992 865 1011 871 q 964 850 972 859 q 949 822 956 841 q 941 781 943 803 q 940 722 940 760 l 940 696 l 1422 696 l 1422 0 z "},"ffl":{ha:1497,x_min:47,x_max:1266,o:"m 177 0 l 177 580 l 47 580 l 47 696 l 177 696 l 177 723 q 179 802 177 770 q 188 866 181 833 q 207 919 195 899 q 241 957 220 939 q 294 986 262 976 q 369 1001 325 996 q 470 1007 412 1007 l 506 1007 l 500 876 q 438 875 461 876 q 396 867 416 873 q 368 852 377 861 q 353 824 359 844 q 346 784 347 805 q 345 725 345 762 l 345 696 l 617 696 l 617 580 l 345 580 l 345 0 l 177 0 m 673 0 l 673 580 l 547 580 l 547 696 l 673 696 l 673 703 q 685 833 673 782 q 727 921 696 884 q 813 975 758 959 q 955 991 869 991 l 1266 991 l 1266 0 l 1095 0 l 1095 859 l 993 859 q 876 833 905 859 q 846 741 846 808 l 846 696 l 1002 696 l 1002 580 l 846 580 l 846 0 l 673 0 z "}},familyName:"Muli",ascender:1636,descender:-412,underlinePosition:0,underlineThickness:0,boundingBox:{yMin:-439,xMin:-238,yMax:1617,xMax:2740},resolution:1e3,original_font_information:{format:0,copyright:"Digitized data Copyright (c) 2011-2014, vernon adams.",fontFamily:"Muli",fontSubfamily:"Bold",uniqueID:"NeWT : Muli Bold : 25-2-2014",fullName:"Muli Bold",version:"Version 2; ttfautohint (v1.00rc1.6-4cba) -l 8 -r 50 -G 200 -x 0 -D latn -f none -w G",postScriptName:"Muli-Bold",trademark:"Muli is a trademark of Vernon Adams and may be registered in certain jurisdictions.",manufacturer:"newtypography",designer:"Vernon Adams",manufacturerURL:"newtypography.co.uk",designerURL:"newtypography.co.uk",licence:"Copyright (c) 2014, vernon adams.\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\nThis license is available with a FAQ at:\nhttp://scripts.sil.org/OFL\n",licenceURL:"http://scripts.sil.org/OFL",preferredFamily:"Muli",preferredSubfamily:"Bold"},cssFontWeight:"bold",cssFontStyle:"normal"}),p=function(t){function e(t){var i,s,h,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=p.size,f=void 0===d?.8:d,m=p.letterSpacing,g=void 0===m?.03:m,v=p.color,q=void 0===v?"#000000":v,y=p.duration,x=void 0===y?.6:y,_=p.opacity,b=void 0===_?1:_,w=p.wireframe,M=void 0!==w&&w;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),s=this,h=l(e).call(this),(i=!h||"object"!==a(h)&&"function"!=typeof h?c(s):h).basePosition=0,i.size=f,o(t).forEach(function(t){if(" "===t)i.basePosition+=.5*f;else{var e=new n.ShapeGeometry(u.generateShapes(t,f,1));e.computeBoundingBox();var r=new n.MeshBasicMaterial({color:q,opacity:0,transparent:!0,wireframe:M}),a=new n.Mesh(e,r);a.position.x=i.basePosition,i.basePosition+=e.boundingBox.max.x+g,i.add(a)}}),i.tm=new r.b({paused:!0}),i.tm.set({},{},"+=".concat(1.1*x)),i.children.forEach(function(t){var e={opacity:0,position:-.5};i.tm.to(e,x,{opacity:b,position:0,ease:r.a.easeOut.config(2),onUpdate:function(){t.material.opacity=e.opacity,t.position.y=e.position,t.position.z=2*e.position,t.rotation.x=2*e.position}},"-=".concat(x-.03))}),i.show=i.show.bind(c(c(i))),i.hide=i.hide.bind(c(c(i))),i}var i,p,d;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(e,n["Object3D"]),i=e,(p=[{key:"show",value:function(){this.tm.play()}},{key:"hide",value:function(){this.tm.reverse()}}])&&s(i.prototype,p),d&&s(i,d),e}()},function(t,e,i){"use strict";e.a=function(t){return t[(e=0,i=t.length-1,Math.floor(Math.random()*(i-e+1))+e)];var e,i}},function(t,e,i){"use strict";var n=i(3),r=i(1);const a=new Map([[n.a.SKIP,null],[n.a.ADD,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn min(x + y, 1.0) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.ALPHA,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn y * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, y.a), x.a);\r\n\r\n}\r\n"],[n.a.AVERAGE,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn (x + y) * 0.5 * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.COLOR_BURN,"float blend(const in float x, const in float y) {\r\n\r\n\treturn (y == 0.0) ? y : max(1.0 - (1.0 - x) / y, 0.0);\r\n\r\n}\r\n\r\nvec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\tvec3 z = vec3(blend(x.r, y.r), blend(x.g, y.g), blend(x.b, y.b));\r\n\r\n\treturn z * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.COLOR_DODGE,"float blend(const in float x, const in float y) {\r\n\r\n\treturn (y == 1.0) ? y : min(x / (1.0 - y), 1.0);\r\n\r\n}\r\n\r\nvec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\tvec3 z = vec3(blend(x.r, y.r), blend(x.g, y.g), blend(x.b, y.b));\r\n\r\n\treturn z * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.DARKEN,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn min(x, y) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.DIFFERENCE,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn abs(x - y) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.EXCLUSION,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn (x + y - 2.0 * x * y) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.LIGHTEN,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn max(x, y) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.MULTIPLY,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn x * y * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.NEGATION,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn (1.0 - abs(1.0 - x - y)) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.NORMAL,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn y * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.OVERLAY,"float blend(const in float x, const in float y) {\r\n\r\n\treturn (x < 0.5) ? (2.0 * x * y) : (1.0 - 2.0 * (1.0 - x) * (1.0 - y));\r\n\r\n}\r\n\r\nvec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\tvec3 z = vec3(blend(x.r, y.r), blend(x.g, y.g), blend(x.b, y.b));\r\n\r\n\treturn z * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.REFLECT,"float blend(const in float x, const in float y) {\r\n\r\n\treturn (y == 1.0) ? y : min(x * x / (1.0 - y), 1.0);\r\n\r\n}\r\n\r\nvec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\tvec3 z = vec3(blend(x.r, y.r), blend(x.g, y.g), blend(x.b, y.b));\r\n\r\n\treturn z * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.SCREEN,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn (1.0 - (1.0 - x) * (1.0 - y)) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.SOFT_LIGHT,"float blend(const in float x, const in float y) {\r\n\r\n\treturn (y < 0.5) ?\r\n\t\t(2.0 * x * y + x * x * (1.0 - 2.0 * y)) :\r\n\t\t(sqrt(x) * (2.0 * y - 1.0) + 2.0 * x * (1.0 - y));\r\n\r\n}\r\n\r\nvec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\tvec3 z = vec3(blend(x.r, y.r), blend(x.g, y.g), blend(x.b, y.b));\r\n\r\n\treturn z * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"],[n.a.SUBTRACT,"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\r\n\r\n\treturn max(x + y - 1.0, 0.0) * opacity + x * (1.0 - opacity);\r\n\r\n}\r\n\r\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\r\n\r\n\treturn vec4(blend(x.rgb, y.rgb, opacity), y.a);\r\n\r\n}\r\n"]]);class o{constructor(t,e=1){this.blendFunction=t,this.opacity=new r.Uniform(e)}getShaderCode(){return a.get(this.blendFunction)}}i.d(e,"a",function(){return s}),i.d(e,"b",function(){return l});class s{constructor(t,e,i={}){const r=Object.assign({attributes:l.NONE,blendFunction:n.a.SCREEN,defines:new Map,uniforms:new Map,vertexShader:null},i);this.name=t,this.attributes=r.attributes,this.fragmentShader=e,this.vertexShader=r.vertexShader,this.defines=r.defines,this.uniforms=r.uniforms,this.blendMode=new o(r.blendFunction)}setDepthTexture(t,e=0){}update(t,e,i){}setSize(t,e){}initialize(t,e){}dispose(){for(const t of Object.keys(this))null!==this[t]&&"function"==typeof this[t].dispose&&(this[t].dispose(),this[t]=null)}}const l={CONVOLUTION:2,DEPTH:1,NONE:0}},function(t,e,i){"use strict";var n=i(0); /*!

* VERSION: 2.0.2
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
*/n.e._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(){var t=function(t){n.c.call(this,t),this._labels={},this.autoRemoveChildren=!0===this.vars.autoRemoveChildren,this.smoothChildTiming=!0===this.vars.smoothChildTiming,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var e,i,r=this.vars;for(i in r)e=r[i],a(e)&&-1!==e.join("").indexOf("{self}")&&(r[i]=this._swapSelfInParams(e));a(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},e=n.f._internals,i=t._internals={},r=e.isSelector,a=e.isArray,o=e.lazyTweens,s=e.lazyRender,l=n.e._gsDefine.globals,h=function(t){var e,i={};for(e in t)i[e]=t[e];return i},c=function(t,e,i){var n,r,a=t.cycle;for(n in a)r=a[n],t[n]="function"==typeof r?r(i,e[i]):r[i%r.length];delete t.cycle},u=i.pauseCallback=function(){},p=function(t){var e,i=[],n=t.length;for(e=0;e!==n;i.push(t[e++]));return i},d=t.prototype=new n.c;return t.version="2.0.2",d.constructor=t,d.kill()._gc=d._forcingPlayhead=d._hasPause=!1,d.to=function(t,e,i,r){var a=i.repeat&&l.TweenMax||n.f;return e?this.add(new a(t,e,i),r):this.set(t,i,r)},d.from=function(t,e,i,r){return this.add((i.repeat&&l.TweenMax||n.f).from(t,e,i),r)},d.fromTo=function(t,e,i,r,a){var o=r.repeat&&l.TweenMax||n.f;return e?this.add(o.fromTo(t,e,i,r),a):this.set(t,r,a)},d.staggerTo=function(e,i,a,o,s,l,u,d){var f,m,g=new t({onComplete:l,onCompleteParams:u,callbackScope:d,smoothChildTiming:this.smoothChildTiming}),v=a.cycle;for("string"==typeof e&&(e=n.f.selector(e)||e),r(e=e||[])&&(e=p(e)),(o=o||0)<0&&((e=p(e)).reverse(),o*=-1),m=0;m<e.length;m++)(f=h(a)).startAt&&(f.startAt=h(f.startAt),f.startAt.cycle&&c(f.startAt,e,m)),v&&(c(f,e,m),null!=f.duration&&(i=f.duration,delete f.duration)),g.to(e[m],i,f,m*o);return this.add(g,s)},d.staggerFrom=function(t,e,i,n,r,a,o,s){return i.immediateRender=0!=i.immediateRender,i.runBackwards=!0,this.staggerTo(t,e,i,n,r,a,o,s)},d.staggerFromTo=function(t,e,i,n,r,a,o,s,l){return n.startAt=i,n.immediateRender=0!=n.immediateRender&&0!=i.immediateRender,this.staggerTo(t,e,n,r,a,o,s,l)},d.call=function(t,e,i,r){return this.add(n.f.delayedCall(0,t,e,i),r)},d.set=function(t,e,i){return i=this._parseTimeOrLabel(i,0,!0),null==e.immediateRender&&(e.immediateRender=i===this._time&&!this._paused),this.add(new n.f(t,0,e),i)},t.exportRoot=function(e,i){null==(e=e||{}).smoothChildTiming&&(e.smoothChildTiming=!0);var r,a,o,s,l=new t(e),h=l._timeline;for(null==i&&(i=!0),h._remove(l,!0),l._startTime=0,l._rawPrevTime=l._time=l._totalTime=h._time,o=h._first;o;)s=o._next,i&&o instanceof n.f&&o.target===o.vars.onComplete||((a=o._startTime-o._delay)<0&&(r=1),l.add(o,a)),o=s;return h.add(l,0),r&&l.totalDuration(),l},d.add=function(e,i,r,o){var s,l,h,c,u,p;if("number"!=typeof i&&(i=this._parseTimeOrLabel(i,0,!0,e)),!(e instanceof n.a)){if(e instanceof Array||e&&e.push&&a(e)){for(r=r||"normal",o=o||0,s=i,l=e.length,h=0;h<l;h++)a(c=e[h])&&(c=new t({tweens:c})),this.add(c,s),"string"!=typeof c&&"function"!=typeof c&&("sequence"===r?s=c._startTime+c.totalDuration()/c._timeScale:"start"===r&&(c._startTime-=c.delay())),s+=o;return this._uncache(!0)}if("string"==typeof e)return this.addLabel(e,i);if("function"!=typeof e)throw"Cannot add "+e+" into the timeline; it is not a tween, timeline, function, or string.";e=n.f.delayedCall(0,e)}if(n.c.prototype.add.call(this,e,i),e._time&&(s=Math.max(0,Math.min(e.totalDuration(),(this.rawTime()-e._startTime)*e._timeScale)),Math.abs(s-e._totalTime)>1e-5&&e.render(s,!1,!1)),(this._gc||this._time===this._duration)&&!this._paused&&this._duration<this.duration())for(p=(u=this).rawTime()>e._startTime;u._timeline;)p&&u._timeline.smoothChildTiming?u.totalTime(u._totalTime,!0):u._gc&&u._enabled(!0,!1),u=u._timeline;return this},d.remove=function(t){if(t instanceof n.a){this._remove(t,!1);var e=t._timeline=t.vars.useFrames?n.a._rootFramesTimeline:n.a._rootTimeline;return t._startTime=(t._paused?t._pauseTime:e._time)-(t._reversed?t.totalDuration()-t._totalTime:t._totalTime)/t._timeScale,this}if(t instanceof Array||t&&t.push&&a(t)){for(var i=t.length;--i>-1;)this.remove(t[i]);return this}return"string"==typeof t?this.removeLabel(t):this.kill(null,t)},d._remove=function(t,e){return n.c.prototype._remove.call(this,t,e),this._last?this._time>this.duration()&&(this._time=this._duration,this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},d.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},d.insert=d.insertMultiple=function(t,e,i,n){return this.add(t,e||0,i,n)},d.appendMultiple=function(t,e,i,n){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),i,n)},d.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},d.addPause=function(t,e,i,r){var a=n.f.delayedCall(0,u,i,r||this);return a.vars.onComplete=a.vars.onReverseComplete=e,a.data="isPause",this._hasPause=!0,this.add(a,t)},d.removeLabel=function(t){return delete this._labels[t],this},d.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},d._parseTimeOrLabel=function(t,e,i,r){var o,s;if(r instanceof n.a&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&a(r)))for(s=r.length;--s>-1;)r[s]instanceof n.a&&r[s].timeline===this&&this.remove(r[s]);if(o="number"!=typeof t||e?this.duration()>99999999999?this.recent().endTime(!1):this._duration:0,"string"==typeof e)return this._parseTimeOrLabel(e,i&&"number"==typeof t&&null==this._labels[e]?t-o:0,i);if(e=e||0,"string"!=typeof t||!isNaN(t)&&null==this._labels[t])null==t&&(t=o);else{if(-1===(s=t.indexOf("=")))return null==this._labels[t]?i?this._labels[t]=o+e:e:this._labels[t]+e;e=parseInt(t.charAt(s-1)+"1",10)*Number(t.substr(s+1)),t=s>1?this._parseTimeOrLabel(t.substr(0,s-1),0,i):o}return Number(t)+e},d.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),!1!==e)},d.stop=function(){return this.paused(!0)},d.gotoAndPlay=function(t,e){return this.play(t,e)},d.gotoAndStop=function(t,e){return this.pause(t,e)},d.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var n,r,a,l,h,c,u,p=this._time,d=this._dirty?this.totalDuration():this._totalDuration,f=this._startTime,m=this._timeScale,g=this._paused;if(p!==this._time&&(t+=this._time-p),t>=d-1e-7&&t>=0)this._totalTime=this._time=d,this._reversed||this._hasPausedChild()||(r=!0,l="onComplete",h=!!this._timeline.autoRemoveChildren,0===this._duration&&(t<=0&&t>=-1e-7||this._rawPrevTime<0||1e-10===this._rawPrevTime)&&this._rawPrevTime!==t&&this._first&&(h=!0,this._rawPrevTime>1e-10&&(l="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:1e-10,t=d+1e-4;else if(t<1e-7)if(this._totalTime=this._time=0,(0!==p||0===this._duration&&1e-10!==this._rawPrevTime&&(this._rawPrevTime>0||t<0&&this._rawPrevTime>=0))&&(l="onReverseComplete",r=this._reversed),t<0)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(h=r=!0,l="onReverseComplete"):this._rawPrevTime>=0&&this._first&&(h=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:1e-10,0===t&&r)for(n=this._first;n&&0===n._startTime;)n._duration||(r=!1),n=n._next;t=0,this._initted||(h=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!e){if(t>=p)for(n=this._first;n&&n._startTime<=t&&!c;)n._duration||"isPause"!==n.data||n.ratio||0===n._startTime&&0===this._rawPrevTime||(c=n),n=n._next;else for(n=this._last;n&&n._startTime>=t&&!c;)n._duration||"isPause"===n.data&&n._rawPrevTime>0&&(c=n),n=n._prev;c&&(this._time=t=c._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=t}if(this._time!==p&&this._first||i||h||c){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==p&&t>0&&(this._active=!0),0===p&&this.vars.onStart&&(0===this._time&&this._duration||e||this._callback("onStart")),(u=this._time)>=p)for(n=this._first;n&&(a=n._next,u===this._time&&(!this._paused||g));)(n._active||n._startTime<=u&&!n._paused&&!n._gc)&&(c===n&&this.pause(),n._reversed?n.render((n._dirty?n.totalDuration():n._totalDuration)-(t-n._startTime)*n._timeScale,e,i):n.render((t-n._startTime)*n._timeScale,e,i)),n=a;else for(n=this._last;n&&(a=n._prev,u===this._time&&(!this._paused||g));){if(n._active||n._startTime<=p&&!n._paused&&!n._gc){if(c===n){for(c=n._prev;c&&c.endTime()>this._time;)c.render(c._reversed?c.totalDuration()-(t-c._startTime)*c._timeScale:(t-c._startTime)*c._timeScale,e,i),c=c._prev;c=null,this.pause()}n._reversed?n.render((n._dirty?n.totalDuration():n._totalDuration)-(t-n._startTime)*n._timeScale,e,i):n.render((t-n._startTime)*n._timeScale,e,i)}n=a}this._onUpdate&&(e||(o.length&&s(),this._callback("onUpdate"))),l&&(this._gc||f!==this._startTime&&m===this._timeScale||(0===this._time||d>=this.totalDuration())&&(r&&(o.length&&s(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[l]&&this._callback(l)))}},d._hasPausedChild=function(){for(var e=this._first;e;){if(e._paused||e instanceof t&&e._hasPausedChild())return!0;e=e._next}return!1},d.getChildren=function(t,e,i,r){r=r||-9999999999;for(var a=[],o=this._first,s=0;o;)o._startTime<r||(o instanceof n.f?!1!==e&&(a[s++]=o):(!1!==i&&(a[s++]=o),!1!==t&&(s=(a=a.concat(o.getChildren(!0,e,i))).length))),o=o._next;return a},d.getTweensOf=function(t,e){var i,r,a=this._gc,o=[],s=0;for(a&&this._enabled(!0,!0),r=(i=n.f.getTweensOf(t)).length;--r>-1;)(i[r].timeline===this||e&&this._contains(i[r]))&&(o[s++]=i[r]);return a&&this._enabled(!1,!0),o},d.recent=function(){return this._recent},d._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},d.shiftChildren=function(t,e,i){i=i||0;for(var n,r=this._first,a=this._labels;r;)r._startTime>=i&&(r._startTime+=t),r=r._next;if(e)for(n in a)a[n]>=i&&(a[n]+=t);return this._uncache(!0)},d._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var i=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),n=i.length,r=!1;--n>-1;)i[n]._kill(t,e)&&(r=!0);return r},d.clear=function(t){var e=this.getChildren(!1,!0,!0),i=e.length;for(this._time=this._totalTime=0;--i>-1;)e[i]._enabled(!1,!1);return!1!==t&&(this._labels={}),this._uncache(!0)},d.invalidate=function(){for(var t=this._first;t;)t.invalidate(),t=t._next;return n.a.prototype.invalidate.call(this)},d._enabled=function(t,e){if(t===this._gc)for(var i=this._first;i;)i._enabled(t,!0),i=i._next;return n.c.prototype._enabled.call(this,t,e)},d.totalTime=function(t,e,i){this._forcingPlayhead=!0;var r=n.a.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,r},d.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},d.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,i,n=0,r=this._last,a=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>a&&this._sortChildren&&!r._paused&&!this._calculatingDuration?(this._calculatingDuration=1,this.add(r,r._startTime-r._delay),this._calculatingDuration=0):a=r._startTime,r._startTime<0&&!r._paused&&(n-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale,this._time-=r._startTime,this._totalTime-=r._startTime,this._rawPrevTime-=r._startTime),this.shiftChildren(-r._startTime,!1,-9999999999),a=0),(i=r._startTime+r._totalDuration/r._timeScale)>n&&(n=i),r=e;this._duration=this._totalDuration=n,this._dirty=!1}return this._totalDuration}return t&&this.totalDuration()?this.timeScale(this._totalDuration/t):this},d.paused=function(t){if(!t)for(var e=this._first,i=this._time;e;)e._startTime===i&&"isPause"===e.data&&(e._rawPrevTime=0),e=e._next;return n.a.prototype.paused.apply(this,arguments)},d.usesFrames=function(){for(var t=this._timeline;t._timeline;)t=t._timeline;return t===n.a._rootFramesTimeline},d.rawTime=function(t){return t&&(this._paused||this._repeat&&this.time()>0&&this.totalProgress()<1)?this._totalTime%(this._duration+this._repeatDelay):this._paused?this._totalTime:(this._timeline.rawTime(t)-this._startTime)*this._timeScale},t},!0);var r=n.g.TimelineLite;

/*!

* VERSION: 2.0.2
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
**/n.e._gsDefine("TweenMax",["core.Animation","core.SimpleTimeline","TweenLite"],function(){var t=function(t){var e,i=[],n=t.length;for(e=0;e!==n;i.push(t[e++]));return i},e=function(t,e,i){var n,r,a=t.cycle;for(n in a)r=a[n],t[n]="function"==typeof r?r(i,e[i]):r[i%r.length];delete t.cycle},i=function(t,e,r){n.f.call(this,t,e,r),this._cycle=0,this._yoyo=!0===this.vars.yoyo||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._repeat&&this._uncache(!0),this.render=i.prototype.render},r=n.f._internals,a=r.isSelector,o=r.isArray,s=i.prototype=n.f.to({},.1,{}),l=[];i.version="2.0.2",s.constructor=i,s.kill()._gc=!1,i.killTweensOf=i.killDelayedCallsTo=n.f.killTweensOf,i.getTweensOf=n.f.getTweensOf,i.lagSmoothing=n.f.lagSmoothing,i.ticker=n.f.ticker,i.render=n.f.render,s.invalidate=function(){return this._yoyo=!0===this.vars.yoyo||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._yoyoEase=null,this._uncache(!0),n.f.prototype.invalidate.call(this)},s.updateTo=function(t,e){var i,r=this.ratio,a=this.vars.immediateRender||t.immediateRender;for(i in e&&this._startTime<this._timeline._time&&(this._startTime=this._timeline._time,this._uncache(!1),this._gc?this._enabled(!0,!1):this._timeline.insert(this,this._startTime-this._delay)),t)this.vars[i]=t[i];if(this._initted||a)if(e)this._initted=!1,a&&this.render(0,!0,!0);else if(this._gc&&this._enabled(!0,!1),this._notifyPluginsOfEnabled&&this._firstPT&&n.f._onPluginEvent("_onDisable",this),this._time/this._duration>.998){var o=this._totalTime;this.render(0,!0,!1),this._initted=!1,this.render(o,!0,!1)}else if(this._initted=!1,this._init(),this._time>0||a)for(var s,l=1/(1-r),h=this._firstPT;h;)s=h.s+h.c,h.c*=l,h.s=s-h.c,h=h._next;return this},s.render=function(t,e,i){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var a,o,s,l,h,c,u,p,d,f=this._dirty?this.totalDuration():this._totalDuration,m=this._time,g=this._totalTime,v=this._cycle,q=this._duration,y=this._rawPrevTime;if(t>=f-1e-7&&t>=0?(this._totalTime=f,this._cycle=this._repeat,this._yoyo&&0!=(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=q,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(a=!0,o="onComplete",i=i||this._timeline.autoRemoveChildren),0===q&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(y<0||t<=0&&t>=-1e-7||1e-10===y&&"isPause"!==this.data)&&y!==t&&(i=!0,y>1e-10&&(o="onReverseComplete")),this._rawPrevTime=p=!e||t||y===t?t:1e-10)):t<1e-7?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==g||0===q&&y>0)&&(o="onReverseComplete",a=this._reversed),t<0&&(this._active=!1,0===q&&(this._initted||!this.vars.lazy||i)&&(y>=0&&(i=!0),this._rawPrevTime=p=!e||t||y===t?t:1e-10)),this._initted||(i=!0)):(this._totalTime=this._time=t,0!==this._repeat&&(l=q+this._repeatDelay,this._cycle=this._totalTime/l>>0,0!==this._cycle&&this._cycle===this._totalTime/l&&g<=t&&this._cycle--,this._time=this._totalTime-this._cycle*l,this._yoyo&&0!=(1&this._cycle)&&(this._time=q-this._time,(d=this._yoyoEase||this.vars.yoyoEase)&&(this._yoyoEase||(!0!==d||this._initted?this._yoyoEase=d=!0===d?this._ease:d instanceof n.b?d:n.b.map[d]:(d=this.vars.ease,this._yoyoEase=d=d?d instanceof n.b?d:"function"==typeof d?new n.b(d,this.vars.easeParams):n.b.map[d]||n.f.defaultEase:n.f.defaultEase)),this.ratio=d?1-d.getRatio((q-this._time)/q):0)),this._time>q?this._time=q:this._time<0&&(this._time=0)),this._easeType&&!d?(h=this._time/q,(1===(c=this._easeType)||3===c&&h>=.5)&&(h=1-h),3===c&&(h*=2),1===(u=this._easePower)?h*=h:2===u?h*=h*h:3===u?h*=h*h*h:4===u&&(h*=h*h*h*h),1===c?this.ratio=1-h:2===c?this.ratio=h:this._time/q<.5?this.ratio=h/2:this.ratio=1-h/2):d||(this.ratio=this._ease.getRatio(this._time/q))),m!==this._time||i||v!==this._cycle){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(!1!==this.vars.lazy&&this._duration||this.vars.lazy&&!this._duration))return this._time=m,this._totalTime=g,this._rawPrevTime=y,this._cycle=v,r.lazyTweens.push(this),void(this._lazy=[t,e]);!this._time||a||d?a&&this._ease._calcEnd&&!d&&(this.ratio=this._ease.getRatio(0===this._time?0:1)):this.ratio=this._ease.getRatio(this._time/q)}for(!1!==this._lazy&&(this._lazy=!1),this._active||!this._paused&&this._time!==m&&t>=0&&(this._active=!0),0===g&&(2===this._initted&&t>0&&this._init(),this._startAt&&(t>=0?this._startAt.render(t,!0,i):o||(o="_dummyGS")),this.vars.onStart&&(0===this._totalTime&&0!==q||e||this._callback("onStart"))),s=this._firstPT;s;)s.f?s.t[s.p](s.c*this.ratio+s.s):s.t[s.p]=s.c*this.ratio+s.s,s=s._next;this._onUpdate&&(t<0&&this._startAt&&this._startTime&&this._startAt.render(t,!0,i),e||(this._totalTime!==g||o)&&this._callback("onUpdate")),this._cycle!==v&&(e||this._gc||this.vars.onRepeat&&this._callback("onRepeat")),o&&(this._gc&&!i||(t<0&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,!0,i),a&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[o]&&this._callback(o),0===q&&1e-10===this._rawPrevTime&&1e-10!==p&&(this._rawPrevTime=0)))}else g!==this._totalTime&&this._onUpdate&&(e||this._callback("onUpdate"))},i.to=function(t,e,n){return new i(t,e,n)},i.from=function(t,e,n){return n.runBackwards=!0,n.immediateRender=0!=n.immediateRender,new i(t,e,n)},i.fromTo=function(t,e,n,r){return r.startAt=n,r.immediateRender=0!=r.immediateRender&&0!=n.immediateRender,new i(t,e,r)},i.staggerTo=i.allTo=function(r,s,h,c,u,p,d){c=c||0;var f,m,g,v,q=0,y=[],x=function(){h.onComplete&&h.onComplete.apply(h.onCompleteScope||this,arguments),u.apply(d||h.callbackScope||this,p||l)},_=h.cycle,b=h.startAt&&h.startAt.cycle;for(o(r)||("string"==typeof r&&(r=n.f.selector(r)||r),a(r)&&(r=t(r))),r=r||[],c<0&&((r=t(r)).reverse(),c*=-1),f=r.length-1,g=0;g<=f;g++){for(v in m={},h)m[v]=h[v];if(_&&(e(m,r,g),null!=m.duration&&(s=m.duration,delete m.duration)),b){for(v in b=m.startAt={},h.startAt)b[v]=h.startAt[v];e(m.startAt,r,g)}m.delay=q+(m.delay||0),g===f&&u&&(m.onComplete=x),y[g]=new i(r[g],s,m),q+=c}return y},i.staggerFrom=i.allFrom=function(t,e,n,r,a,o,s){return n.runBackwards=!0,n.immediateRender=0!=n.immediateRender,i.staggerTo(t,e,n,r,a,o,s)},i.staggerFromTo=i.allFromTo=function(t,e,n,r,a,o,s,l){return r.startAt=n,r.immediateRender=0!=r.immediateRender&&0!=n.immediateRender,i.staggerTo(t,e,r,a,o,s,l)},i.delayedCall=function(t,e,n,r,a){return new i(e,0,{delay:t,onComplete:e,onCompleteParams:n,callbackScope:r,onReverseComplete:e,onReverseCompleteParams:n,immediateRender:!1,useFrames:a,overwrite:0})},i.set=function(t,e){return new i(t,0,e)},i.isTweening=function(t){return n.f.getTweensOf(t,!0).length>0};var h=function(t,e){for(var i=[],r=0,a=t._first;a;)a instanceof n.f?i[r++]=a:(e&&(i[r++]=a),r=(i=i.concat(h(a,e))).length),a=a._next;return i},c=i.getAllTweens=function(t){return h(n.a._rootTimeline,t).concat(h(n.a._rootFramesTimeline,t))};i.killAll=function(t,e,i,r){null==e&&(e=!0),null==i&&(i=!0);var a,o,s,l=c(0!=r),h=l.length,u=e&&i&&r;for(s=0;s<h;s++)o=l[s],(u||o instanceof n.c||(a=o.target===o.vars.onComplete)&&i||e&&!a)&&(t?o.totalTime(o._reversed?0:o.totalDuration()):o._enabled(!1,!1))},i.killChildTweensOf=function(e,s){if(null!=e){var l,h,c,u,p,d=r.tweenLookup;if("string"==typeof e&&(e=n.f.selector(e)||e),a(e)&&(e=t(e)),o(e))for(u=e.length;--u>-1;)i.killChildTweensOf(e[u],s);else{for(c in l=[],d)for(h=d[c].target.parentNode;h;)h===e&&(l=l.concat(d[c].tweens)),h=h.parentNode;for(p=l.length,u=0;u<p;u++)s&&l[u].totalTime(l[u].totalDuration()),l[u]._enabled(!1,!1)}}};var u=function(t,e,i,r){e=!1!==e,i=!1!==i;for(var a,o,s=c(r=!1!==r),l=e&&i&&r,h=s.length;--h>-1;)o=s[h],(l||o instanceof n.c||(a=o.target===o.vars.onComplete)&&i||e&&!a)&&o.paused(t)};return i.pauseAll=function(t,e,i){u(!0,t,e,i)},i.resumeAll=function(t,e,i){u(!1,t,e,i)},i.globalTimeScale=function(t){var e=n.a._rootTimeline,i=n.f.ticker.time;return arguments.length?(t=t||1e-10,e._startTime=i-(i-e._startTime)*e._timeScale/t,e=n.a._rootFramesTimeline,i=n.f.ticker.frame,e._startTime=i-(i-e._startTime)*e._timeScale/t,e._timeScale=n.a._rootTimeline._timeScale=t,t):e._timeScale},s.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!=(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()},s.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()},s.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!=(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},s.duration=function(t){return arguments.length?n.a.prototype.duration.call(this,t):this._duration},s.totalDuration=function(t){return arguments.length?-1===this._repeat?this:this.duration((t-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},s.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},s.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},s.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},i},!0);var a=n.g.TweenMax;

/*!

* VERSION: 2.0.2
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
*/

n.e._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(){var t,e,i,r,a=function(){n.d.call(this,"css"),this._overwriteProps.length=0,this.setRatio=a.prototype.setRatio},o=n.e._gsDefine.globals,s={},l=a.prototype=new n.d("css");l.constructor=a,a.version="2.0.2",a.API=2,a.defaultTransformPerspective=0,a.defaultSkewType="compensated",a.defaultSmoothOrigin=!0,l="px",a.suffixMap={top:l,right:l,bottom:l,left:l,width:l,height:l,fontSize:l,padding:l,margin:l,perspective:l,lineHeight:""};var h,c,u,p,d,f,m,g,v=/(?:\-|\.|\b)(\d|\.|e\-)+/g,q=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,y=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,x=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,_=/(?:\d|\-|\+|=|#|\.)*/g,b=/opacity *= *([^)]*)/i,w=/opacity:([^;]*)/i,M=/alpha\(opacity *=.+?\)/i,T=/^(rgb|hsl)/,S=/([A-Z])/g,E=/-([a-z])/gi,A=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,P=function(t,e){return e.toUpperCase()},L=/(?:Left|Right|Width)/i,R=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,C=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,z=/,(?=[^\)]*(?:\(|$))/gi,O=/[\s,\(]/i,D=Math.PI/180,I=180/Math.PI,N={},B={style:{}},U=n.e.document||{createElement:function(){return B}},F=function(t,e){return U.createElementNS?U.createElementNS(e||"http://www.w3.org/1999/xhtml",t):U.createElement(t)},k=F("div"),G=F("img"),H=a._internals={_specialProps:s},V=(n.e.navigator||{}).userAgent||"",j=function(){var t=V.indexOf("Android"),e=F("a");return u=-1!==V.indexOf("Safari")&&-1===V.indexOf("Chrome")&&(-1===t||parseFloat(V.substr(t+8,2))>3),d=u&&parseFloat(V.substr(V.indexOf("Version/")+8,2))<6,p=-1!==V.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(V)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(V))&&(f=parseFloat(RegExp.$1)),!!e&&(e.style.cssText="top:1px;opacity:.55;",/^0.55/.test(e.style.opacity))}(),W=function(t){return b.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},X=function(t){n.e.console&&console.log(t)},Y="",Z="",J=function(t,e){var i,n,r=(e=e||k).style;if(void 0!==r[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),i=["O","Moz","ms","Ms","Webkit"],n=5;--n>-1&&void 0===r[i[n]+t];);return n>=0?(Y="-"+(Z=3===n?"ms":i[n]).toLowerCase()+"-",Z+t):null},Q=("undefined"!=typeof window?window:U.defaultView||{getComputedStyle:function(){}}).getComputedStyle,K=a.getStyle=function(t,e,i,n,r){var a;return j||"opacity"!==e?(!n&&t.style[e]?a=t.style[e]:(i=i||Q(t))?a=i[e]||i.getPropertyValue(e)||i.getPropertyValue(e.replace(S,"-$1").toLowerCase()):t.currentStyle&&(a=t.currentStyle[e]),null==r||a&&"none"!==a&&"auto"!==a&&"auto auto"!==a?a:r):W(t)},$=H.convertToPixels=function(t,e,i,r,o){if("px"===r||!r&&"lineHeight"!==e)return i;if("auto"===r||!i)return 0;var s,l,h,c=L.test(e),u=t,p=k.style,d=i<0,f=1===i;if(d&&(i=-i),f&&(i*=100),"lineHeight"!==e||r)if("%"===r&&-1!==e.indexOf("border"))s=i/100*(c?t.clientWidth:t.clientHeight);else{if(p.cssText="border:0 solid red;position:"+K(t,"position")+";line-height:0;","%"!==r&&u.appendChild&&"v"!==r.charAt(0)&&"rem"!==r)p[c?"borderLeftWidth":"borderTopWidth"]=i+r;else{if(u=t.parentNode||U.body,-1!==K(u,"display").indexOf("flex")&&(p.position="absolute"),l=u._gsCache,h=n.f.ticker.frame,l&&c&&l.time===h)return l.width*i/100;p[c?"width":"height"]=i+r}u.appendChild(k),s=parseFloat(k[c?"offsetWidth":"offsetHeight"]),u.removeChild(k),c&&"%"===r&&!1!==a.cacheWidths&&((l=u._gsCache=u._gsCache||{}).time=h,l.width=s/i*100),0!==s||o||(s=$(t,e,i,r,!0))}else l=Q(t).lineHeight,t.style.lineHeight=i,s=parseFloat(Q(t).lineHeight),t.style.lineHeight=l;return f&&(s/=100),d?-s:s},tt=H.calculateOffset=function(t,e,i){if("absolute"!==K(t,"position",i))return 0;var n="left"===e?"Left":"Top",r=K(t,"margin"+n,i);return t["offset"+n]-($(t,e,parseFloat(r),r.replace(_,""))||0)},et=function(t,e){var i,n,r,a={};if(e=e||Q(t,null))if(i=e.length)for(;--i>-1;)-1!==(r=e[i]).indexOf("-transform")&&Ct!==r||(a[r.replace(E,P)]=e.getPropertyValue(r));else for(i in e)-1!==i.indexOf("Transform")&&Rt!==i||(a[i]=e[i]);else if(e=t.currentStyle||t.style)for(i in e)"string"==typeof i&&void 0===a[i]&&(a[i.replace(E,P)]=e[i]);return j||(a.opacity=W(t)),n=jt(t,e,!1),a.rotation=n.rotation,a.skewX=n.skewX,a.scaleX=n.scaleX,a.scaleY=n.scaleY,a.x=n.x,a.y=n.y,Ot&&(a.z=n.z,a.rotationX=n.rotationX,a.rotationY=n.rotationY,a.scaleZ=n.scaleZ),a.filters&&delete a.filters,a},it=function(t,e,i,n,r){var a,o,s,l={},h=t.style;for(o in i)"cssText"!==o&&"length"!==o&&isNaN(o)&&(e[o]!==(a=i[o])||r&&r[o])&&-1===o.indexOf("Origin")&&("number"!=typeof a&&"string"!=typeof a||(l[o]="auto"!==a||"left"!==o&&"top"!==o?""!==a&&"auto"!==a&&"none"!==a||"string"!=typeof e[o]||""===e[o].replace(x,"")?a:0:tt(t,o),void 0!==h[o]&&(s=new vt(h,o,h[o],s))));if(n)for(o in n)"className"!==o&&(l[o]=n[o]);return{difs:l,firstMPT:s}},nt={width:["Left","Right"],height:["Top","Bottom"]},rt=["marginLeft","marginRight","marginTop","marginBottom"],at=function(t,e,i){if("svg"===(t.nodeName+"").toLowerCase())return(i||Q(t))[e]||0;if(t.getCTM&&Gt(t))return t.getBBox()[e]||0;var n=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),r=nt[e],a=r.length;for(i=i||Q(t,null);--a>-1;)n-=parseFloat(K(t,"padding"+r[a],i,!0))||0,n-=parseFloat(K(t,"border"+r[a]+"Width",i,!0))||0;return n},ot=function(t,e){if("contain"===t||"auto"===t||"auto auto"===t)return t+" ";null!=t&&""!==t||(t="0 0");var i,n=t.split(" "),r=-1!==t.indexOf("left")?"0%":-1!==t.indexOf("right")?"100%":n[0],a=-1!==t.indexOf("top")?"0%":-1!==t.indexOf("bottom")?"100%":n[1];if(n.length>3&&!e){for(n=t.split(", ").join(",").split(","),t=[],i=0;i<n.length;i++)t.push(ot(n[i]));return t.join(",")}return null==a?a="center"===r?"50%":"0":"center"===a&&(a="50%"),("center"===r||isNaN(parseFloat(r))&&-1===(r+"").indexOf("="))&&(r="50%"),t=r+" "+a+(n.length>2?" "+n[2]:""),e&&(e.oxp=-1!==r.indexOf("%"),e.oyp=-1!==a.indexOf("%"),e.oxr="="===r.charAt(1),e.oyr="="===a.charAt(1),e.ox=parseFloat(r.replace(x,"")),e.oy=parseFloat(a.replace(x,"")),e.v=t),e||t},st=function(t,e){return"function"==typeof t&&(t=t(g,m)),"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)||0},lt=function(t,e){"function"==typeof t&&(t=t(g,m));var i="string"==typeof t&&"="===t.charAt(1);return"string"==typeof t&&"v"===t.charAt(t.length-2)&&(t=(i?t.substr(0,2):0)+window["inner"+("vh"===t.substr(-2)?"Height":"Width")]*(parseFloat(i?t.substr(2):t)/100)),null==t?e:i?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2))+e:parseFloat(t)||0},ht=function(t,e,i,n){var r,a,o,s;return"function"==typeof t&&(t=t(g,m)),null==t?o=e:"number"==typeof t?o=t:(360,r=t.split("_"),a=((s="="===t.charAt(1))?parseInt(t.charAt(0)+"1",10)*parseFloat(r[0].substr(2)):parseFloat(r[0]))*(-1===t.indexOf("rad")?1:I)-(s?0:e),r.length&&(n&&(n[i]=e+a),-1!==t.indexOf("short")&&(a%=360)!==a%180&&(a=a<0?a+360:a-360),-1!==t.indexOf("_cw")&&a<0?a=(a+3599999999640)%360-360*(a/360|0):-1!==t.indexOf("ccw")&&a>0&&(a=(a-3599999999640)%360-360*(a/360|0))),o=e+a),o<1e-6&&o>-1e-6&&(o=0),o},ct={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ut=function(t,e,i){return 255*(6*(t=t<0?t+1:t>1?t-1:t)<1?e+(i-e)*t*6:t<.5?i:3*t<2?e+(i-e)*(2/3-t)*6:e)+.5|0},pt=a.parseColor=function(t,e){var i,n,r,a,o,s,l,h,c,u,p;if(t)if("number"==typeof t)i=[t>>16,t>>8&255,255&t];else{if(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),ct[t])i=ct[t];else if("#"===t.charAt(0))4===t.length&&(n=t.charAt(1),r=t.charAt(2),a=t.charAt(3),t="#"+n+n+r+r+a+a),i=[(t=parseInt(t.substr(1),16))>>16,t>>8&255,255&t];else if("hsl"===t.substr(0,3))if(i=p=t.match(v),e){if(-1!==t.indexOf("="))return t.match(q)}else o=Number(i[0])%360/360,s=Number(i[1])/100,n=2*(l=Number(i[2])/100)-(r=l<=.5?l*(s+1):l+s-l*s),i.length>3&&(i[3]=Number(i[3])),i[0]=ut(o+1/3,n,r),i[1]=ut(o,n,r),i[2]=ut(o-1/3,n,r);else i=t.match(v)||ct.transparent;i[0]=Number(i[0]),i[1]=Number(i[1]),i[2]=Number(i[2]),i.length>3&&(i[3]=Number(i[3]))}else i=ct.black;return e&&!p&&(n=i[0]/255,r=i[1]/255,a=i[2]/255,l=((h=Math.max(n,r,a))+(c=Math.min(n,r,a)))/2,h===c?o=s=0:(u=h-c,s=l>.5?u/(2-h-c):u/(h+c),o=h===n?(r-a)/u+(r<a?6:0):h===r?(a-n)/u+2:(n-r)/u+4,o*=60),i[0]=o+.5|0,i[1]=100*s+.5|0,i[2]=100*l+.5|0),i},dt=function(t,e){var i,n,r,a=t.match(ft)||[],o=0,s="";if(!a.length)return t;for(i=0;i<a.length;i++)n=a[i],o+=(r=t.substr(o,t.indexOf(n,o)-o)).length+n.length,3===(n=pt(n,e)).length&&n.push(1),s+=r+(e?"hsla("+n[0]+","+n[1]+"%,"+n[2]+"%,"+n[3]:"rgba("+n.join(","))+")";return s+t.substr(o)},ft="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";for(l in ct)ft+="|"+l+"\\b";ft=new RegExp(ft+")","gi"),a.colorStringFilter=function(t){var e,i=t[0]+" "+t[1];ft.test(i)&&(e=-1!==i.indexOf("hsl(")||-1!==i.indexOf("hsla("),t[0]=dt(t[0],e),t[1]=dt(t[1],e)),ft.lastIndex=0},n.f.defaultStringFilter||(n.f.defaultStringFilter=a.colorStringFilter);var mt=function(t,e,i,n){if(null==t)return function(t){return t};var r,a=e?(t.match(ft)||[""])[0]:"",o=t.split(a).join("").match(y)||[],s=t.substr(0,t.indexOf(o[0])),l=")"===t.charAt(t.length-1)?")":"",h=-1!==t.indexOf(" ")?" ":",",c=o.length,u=c>0?o[0].replace(v,""):"";return c?r=e?function(t){var e,p,d,f;if("number"==typeof t)t+=u;else if(n&&z.test(t)){for(f=t.replace(z,"|").split("|"),d=0;d<f.length;d++)f[d]=r(f[d]);return f.join(",")}if(e=(t.match(ft)||[a])[0],d=(p=t.split(e).join("").match(y)||[]).length,c>d--)for(;++d<c;)p[d]=i?p[(d-1)/2|0]:o[d];return s+p.join(h)+h+e+l+(-1!==t.indexOf("inset")?" inset":"")}:function(t){var e,a,p;if("number"==typeof t)t+=u;else if(n&&z.test(t)){for(a=t.replace(z,"|").split("|"),p=0;p<a.length;p++)a[p]=r(a[p]);return a.join(",")}if(p=(e=t.match(y)||[]).length,c>p--)for(;++p<c;)e[p]=i?e[(p-1)/2|0]:o[p];return s+e.join(h)+l}:function(t){return t}},gt=function(t){return t=t.split(","),function(e,i,n,r,a,o,s){var l,h=(i+"").split(" ");for(s={},l=0;l<4;l++)s[t[l]]=h[l]=h[l]||h[(l-1)/2>>0];return r.parse(e,s,a,o)}},vt=(H._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,i,n,r,a,o=this.data,s=o.proxy,l=o.firstMPT;l;)e=s[l.v],l.r?e=l.r(e):e<1e-6&&e>-1e-6&&(e=0),l.t[l.p]=e,l=l._next;if(o.autoRotate&&(o.autoRotate.rotation=o.mod?o.mod.call(this._tween,s.rotation,this.t,this._tween):s.rotation),1===t||0===t)for(l=o.firstMPT,a=1===t?"e":"b";l;){if((i=l.t).type){if(1===i.type){for(r=i.xs0+i.s+i.xs1,n=1;n<i.l;n++)r+=i["xn"+n]+i["xs"+(n+1)];i[a]=r}}else i[a]=i.s+i.xs0;l=l._next}},function(t,e,i,n,r){this.t=t,this.p=e,this.v=i,this.r=r,n&&(n._prev=this,this._next=n)}),qt=(H._parseToProxy=function(t,e,i,n,r,a){var o,s,l,h,c,u=n,p={},d={},f=i._transform,m=N;for(i._transform=null,N=e,n=c=i.parse(t,e,n,r),N=m,a&&(i._transform=f,u&&(u._prev=null,u._prev&&(u._prev._next=null)));n&&n!==u;){if(n.type<=1&&(d[s=n.p]=n.s+n.c,p[s]=n.s,a||(h=new vt(n,"s",s,h,n.r),n.c=0),1===n.type))for(o=n.l;--o>0;)l="xn"+o,d[s=n.p+"_"+l]=n.data[l],p[s]=n[l],a||(h=new vt(n,l,s,h,n.rxp[l]));n=n._next}return{proxy:p,end:d,firstMPT:h,pt:c}},H.CSSPropTween=function(e,i,n,a,o,s,l,h,c,u,p){this.t=e,this.p=i,this.s=n,this.c=a,this.n=l||i,e instanceof qt||r.push(this.n),this.r=h?"function"==typeof h?h:Math.round:h,this.type=s||0,c&&(this.pr=c,t=!0),this.b=void 0===u?n:u,this.e=void 0===p?n+a:p,o&&(this._next=o,o._prev=this)}),yt=function(t,e,i,n,r,a){var o=new qt(t,e,i,n-i,r,-1,a);return o.b=i,o.e=o.xs0=n,o},xt=a.parseComplex=function(t,e,i,n,r,o,s,l,c,u){i=i||o||"","function"==typeof n&&(n=n(g,m)),s=new qt(t,e,0,0,s,u?2:1,null,!1,l,i,n),n+="",r&&ft.test(n+i)&&(n=[i,n],a.colorStringFilter(n),i=n[0],n=n[1]);var p,d,f,y,x,_,b,w,M,T,S,E,A,P=i.split(", ").join(",").split(" "),L=n.split(", ").join(",").split(" "),R=P.length,C=!1!==h;for(-1===n.indexOf(",")&&-1===i.indexOf(",")||(-1!==(n+i).indexOf("rgb")||-1!==(n+i).indexOf("hsl")?(P=P.join(" ").replace(z,", ").split(" "),L=L.join(" ").replace(z,", ").split(" ")):(P=P.join(" ").split(",").join(", ").split(" "),L=L.join(" ").split(",").join(", ").split(" ")),R=P.length),R!==L.length&&(R=(P=(o||"").split(" ")).length),s.plugin=c,s.setRatio=u,ft.lastIndex=0,p=0;p<R;p++)if(y=P[p],x=L[p]+"",(w=parseFloat(y))||0===w)s.appendXtra("",w,st(x,w),x.replace(q,""),!(!C||-1===x.indexOf("px"))&&Math.round,!0);else if(r&&ft.test(y))E=")"+((E=x.indexOf(")")+1)?x.substr(E):""),A=-1!==x.indexOf("hsl")&&j,T=x,y=pt(y,A),x=pt(x,A),(M=y.length+x.length>6)&&!j&&0===x[3]?(s["xs"+s.l]+=s.l?" transparent":"transparent",s.e=s.e.split(L[p]).join("transparent")):(j||(M=!1),A?s.appendXtra(T.substr(0,T.indexOf("hsl"))+(M?"hsla(":"hsl("),y[0],st(x[0],y[0]),",",!1,!0).appendXtra("",y[1],st(x[1],y[1]),"%,",!1).appendXtra("",y[2],st(x[2],y[2]),M?"%,":"%"+E,!1):s.appendXtra(T.substr(0,T.indexOf("rgb"))+(M?"rgba(":"rgb("),y[0],x[0]-y[0],",",Math.round,!0).appendXtra("",y[1],x[1]-y[1],",",Math.round).appendXtra("",y[2],x[2]-y[2],M?",":E,Math.round),M&&(y=y.length<4?1:y[3],s.appendXtra("",y,(x.length<4?1:x[3])-y,E,!1))),ft.lastIndex=0;else if(_=y.match(v)){if(!(b=x.match(q))||b.length!==_.length)return s;for(f=0,d=0;d<_.length;d++)S=_[d],T=y.indexOf(S,f),s.appendXtra(y.substr(f,T-f),Number(S),st(b[d],S),"",!(!C||"px"!==y.substr(T+S.length,2))&&Math.round,0===d),f=T+S.length;s["xs"+s.l]+=y.substr(f)}else s["xs"+s.l]+=s.l||s["xs"+s.l]?" "+x:x;if(-1!==n.indexOf("=")&&s.data){for(E=s.xs0+s.data.s,p=1;p<s.l;p++)E+=s["xs"+p]+s.data["xn"+p];s.e=E+s["xs"+p]}return s.l||(s.type=-1,s.xs0=s.e),s.xfirst||s},_t=9;for((l=qt.prototype).l=l.pr=0;--_t>0;)l["xn"+_t]=0,l["xs"+_t]="";l.xs0="",l._next=l._prev=l.xfirst=l.data=l.plugin=l.setRatio=l.rxp=null,l.appendXtra=function(t,e,i,n,r,a){var o=this,s=o.l;return o["xs"+s]+=a&&(s||o["xs"+s])?" "+t:t||"",i||0===s||o.plugin?(o.l++,o.type=o.setRatio?2:1,o["xs"+o.l]=n||"",s>0?(o.data["xn"+s]=e+i,o.rxp["xn"+s]=r,o["xn"+s]=e,o.plugin||(o.xfirst=new qt(o,"xn"+s,e,i,o.xfirst||o,0,o.n,r,o.pr),o.xfirst.xs0=0),o):(o.data={s:e+i},o.rxp={},o.s=e,o.c=i,o.r=r,o)):(o["xs"+s]+=e+(n||""),o)};var bt=function(t,e){e=e||{},this.p=e.prefix&&J(t)||t,s[t]=s[this.p]=this,this.format=e.formatter||mt(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},wt=H._registerComplexSpecialProp=function(t,e,i){"object"!=typeof e&&(e={parser:i});var n,r=t.split(","),a=e.defaultValue;for(i=i||[a],n=0;n<r.length;n++)e.prefix=0===n&&e.prefix,e.defaultValue=i[n]||a,new bt(r[n],e)},Mt=H._registerPluginProp=function(t){if(!s[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";wt(t,{parser:function(t,i,n,r,a,l,h){var c=o.com.greensock.plugins[e];return c?(c._cssRegister(),s[n].parse(t,i,n,r,a,l,h)):(X("Error: "+e+" js file not loaded."),a)}})}};(l=bt.prototype).parseComplex=function(t,e,i,n,r,a){var o,s,l,h,c,u,p=this.keyword;if(this.multi&&(z.test(i)||z.test(e)?(s=e.replace(z,"|").split("|"),l=i.replace(z,"|").split("|")):p&&(s=[e],l=[i])),l){for(h=l.length>s.length?l.length:s.length,o=0;o<h;o++)e=s[o]=s[o]||this.dflt,i=l[o]=l[o]||this.dflt,p&&(c=e.indexOf(p))!==(u=i.indexOf(p))&&(-1===u?s[o]=s[o].split(p).join(""):-1===c&&(s[o]+=" "+p));e=s.join(", "),i=l.join(", ")}return xt(t,this.p,e,i,this.clrs,this.dflt,n,this.pr,r,a)},l.parse=function(t,e,n,r,a,o,s){return this.parseComplex(t.style,this.format(K(t,this.p,i,!1,this.dflt)),this.format(e),a,o)},a.registerSpecialProp=function(t,e,i){wt(t,{parser:function(t,n,r,a,o,s,l){var h=new qt(t,r,0,0,o,2,r,!1,i);return h.plugin=s,h.setRatio=e(t,n,a._tween,r),h},priority:i})},a.useSVGTransformAttr=!0;var Tt,St,Et,At,Pt,Lt="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Rt=J("transform"),Ct=Y+"transform",zt=J("transformOrigin"),Ot=null!==J("perspective"),Dt=H.Transform=function(){this.perspective=parseFloat(a.defaultTransformPerspective)||0,this.force3D=!(!1===a.defaultForce3D||!Ot)&&(a.defaultForce3D||"auto")},It=n.e.SVGElement,Nt=function(t,e,i){var n,r=U.createElementNS("http://www.w3.org/2000/svg",t),a=/([a-z])([A-Z])/g;for(n in i)r.setAttributeNS(null,n.replace(a,"$1-$2").toLowerCase(),i[n]);return e.appendChild(r),r},Bt=U.documentElement||{},Ut=(Pt=f||/Android/i.test(V)&&!n.e.chrome,U.createElementNS&&!Pt&&(St=Nt("svg",Bt),At=(Et=Nt("rect",St,{width:100,height:50,x:100})).getBoundingClientRect().width,Et.style[zt]="50% 50%",Et.style[Rt]="scaleX(0.5)",Pt=At===Et.getBoundingClientRect().width&&!(p&&Ot),Bt.removeChild(St)),Pt),Ft=function(t,e,i,n,r,o){var s,l,h,c,u,p,d,f,m,g,v,q,y,x,_=t._gsTransform,b=Vt(t,!0);_&&(y=_.xOrigin,x=_.yOrigin),(!n||(s=n.split(" ")).length<2)&&(0===(d=t.getBBox()).x&&0===d.y&&d.width+d.height===0&&(d={x:parseFloat(t.hasAttribute("x")?t.getAttribute("x"):t.hasAttribute("cx")?t.getAttribute("cx"):0)||0,y:parseFloat(t.hasAttribute("y")?t.getAttribute("y"):t.hasAttribute("cy")?t.getAttribute("cy"):0)||0,width:0,height:0}),s=[(-1!==(e=ot(e).split(" "))[0].indexOf("%")?parseFloat(e[0])/100*d.width:parseFloat(e[0]))+d.x,(-1!==e[1].indexOf("%")?parseFloat(e[1])/100*d.height:parseFloat(e[1]))+d.y]),i.xOrigin=c=parseFloat(s[0]),i.yOrigin=u=parseFloat(s[1]),n&&b!==Ht&&(p=b[0],d=b[1],f=b[2],m=b[3],g=b[4],v=b[5],(q=p*m-d*f)&&(l=c*(m/q)+u*(-f/q)+(f*v-m*g)/q,h=c*(-d/q)+u*(p/q)-(p*v-d*g)/q,c=i.xOrigin=s[0]=l,u=i.yOrigin=s[1]=h)),_&&(o&&(i.xOffset=_.xOffset,i.yOffset=_.yOffset,_=i),r||!1!==r&&!1!==a.defaultSmoothOrigin?(l=c-y,h=u-x,_.xOffset+=l*b[0]+h*b[2]-l,_.yOffset+=l*b[1]+h*b[3]-h):_.xOffset=_.yOffset=0),o||t.setAttribute("data-svg-origin",s.join(" "))},kt=function(t){var e,i=F("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),n=this.parentNode,r=this.nextSibling,a=this.style.cssText;if(Bt.appendChild(i),i.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=kt}catch(t){}else this._originalGetBBox&&(e=this._originalGetBBox());return r?n.insertBefore(this,r):n.appendChild(this),Bt.removeChild(i),this.style.cssText=a,e},Gt=function(t){return!(!It||!t.getCTM||t.parentNode&&!t.ownerSVGElement||!function(t){try{return t.getBBox()}catch(e){return kt.call(t,!0)}}(t))},Ht=[1,0,0,1,0,0],Vt=function(t,e){var i,n,r,a,o,s,l=t._gsTransform||new Dt,h=t.style;if(Rt?n=K(t,Ct,null,!0):t.currentStyle&&(n=(n=t.currentStyle.filter.match(R))&&4===n.length?[n[0].substr(4),Number(n[2].substr(4)),Number(n[1].substr(4)),n[3].substr(4),l.x||0,l.y||0].join(","):""),i=!n||"none"===n||"matrix(1, 0, 0, 1, 0, 0)"===n,!Rt||!(s=!Q(t)||"none"===Q(t).display)&&t.parentNode||(s&&(a=h.display,h.display="block"),t.parentNode||(o=1,Bt.appendChild(t)),i=!(n=K(t,Ct,null,!0))||"none"===n||"matrix(1, 0, 0, 1, 0, 0)"===n,a?h.display=a:s&&Zt(h,"display"),o&&Bt.removeChild(t)),(l.svg||t.getCTM&&Gt(t))&&(i&&-1!==(h[Rt]+"").indexOf("matrix")&&(n=h[Rt],i=0),r=t.getAttribute("transform"),i&&r&&(n="matrix("+(r=t.transform.baseVal.consolidate().matrix).a+","+r.b+","+r.c+","+r.d+","+r.e+","+r.f+")",i=0)),i)return Ht;for(r=(n||"").match(v)||[],_t=r.length;--_t>-1;)a=Number(r[_t]),r[_t]=(o=a-(a|=0))?(1e5*o+(o<0?-.5:.5)|0)/1e5+a:a;return e&&r.length>6?[r[0],r[1],r[4],r[5],r[12],r[13]]:r},jt=H.getTransform=function(t,e,i,r){if(t._gsTransform&&i&&!r)return t._gsTransform;var o,s,l,h,c,u,p=i&&t._gsTransform||new Dt,d=p.scaleX<0,f=Ot&&(parseFloat(K(t,zt,e,!1,"0 0 0").split(" ")[2])||p.zOrigin)||0,m=parseFloat(a.defaultTransformPerspective)||0;if(p.svg=!(!t.getCTM||!Gt(t)),p.svg&&(Ft(t,K(t,zt,e,!1,"50% 50%")+"",p,t.getAttribute("data-svg-origin")),Tt=a.useSVGTransformAttr||Ut),(o=Vt(t))!==Ht){if(16===o.length){var g,v,q,y,x,_=o[0],b=o[1],w=o[2],M=o[3],T=o[4],S=o[5],E=o[6],A=o[7],P=o[8],L=o[9],R=o[10],C=o[12],z=o[13],O=o[14],D=o[11],N=Math.atan2(E,R);p.zOrigin&&(C=P*(O=-p.zOrigin)-o[12],z=L*O-o[13],O=R*O+p.zOrigin-o[14]),p.rotationX=N*I,N&&(g=T*(y=Math.cos(-N))+P*(x=Math.sin(-N)),v=S*y+L*x,q=E*y+R*x,P=T*-x+P*y,L=S*-x+L*y,R=E*-x+R*y,D=A*-x+D*y,T=g,S=v,E=q),N=Math.atan2(-w,R),p.rotationY=N*I,N&&(v=b*(y=Math.cos(-N))-L*(x=Math.sin(-N)),q=w*y-R*x,L=b*x+L*y,R=w*x+R*y,D=M*x+D*y,_=g=_*y-P*x,b=v,w=q),N=Math.atan2(b,_),p.rotation=N*I,N&&(g=_*(y=Math.cos(N))+b*(x=Math.sin(N)),v=T*y+S*x,q=P*y+L*x,b=b*y-_*x,S=S*y-T*x,L=L*y-P*x,_=g,T=v,P=q),p.rotationX&&Math.abs(p.rotationX)+Math.abs(p.rotation)>359.9&&(p.rotationX=p.rotation=0,p.rotationY=180-p.rotationY),N=Math.atan2(T,S),p.scaleX=(1e5*Math.sqrt(_*_+b*b+w*w)+.5|0)/1e5,p.scaleY=(1e5*Math.sqrt(S*S+E*E)+.5|0)/1e5,p.scaleZ=(1e5*Math.sqrt(P*P+L*L+R*R)+.5|0)/1e5,_/=p.scaleX,T/=p.scaleY,b/=p.scaleX,S/=p.scaleY,Math.abs(N)>2e-5?(p.skewX=N*I,T=0,"simple"!==p.skewType&&(p.scaleY*=1/Math.cos(N))):p.skewX=0,p.perspective=D?1/(D<0?-D:D):0,p.x=C,p.y=z,p.z=O,p.svg&&(p.x-=p.xOrigin-(p.xOrigin*_-p.yOrigin*T),p.y-=p.yOrigin-(p.yOrigin*b-p.xOrigin*S))}else if(!Ot||r||!o.length||p.x!==o[4]||p.y!==o[5]||!p.rotationX&&!p.rotationY){var B=o.length>=6,U=B?o[0]:1,F=o[1]||0,k=o[2]||0,G=B?o[3]:1;p.x=o[4]||0,p.y=o[5]||0,l=Math.sqrt(U*U+F*F),h=Math.sqrt(G*G+k*k),c=U||F?Math.atan2(F,U)*I:p.rotation||0,u=k||G?Math.atan2(k,G)*I+c:p.skewX||0,p.scaleX=l,p.scaleY=h,p.rotation=c,p.skewX=u,Ot&&(p.rotationX=p.rotationY=p.z=0,p.perspective=m,p.scaleZ=1),p.svg&&(p.x-=p.xOrigin-(p.xOrigin*U+p.yOrigin*k),p.y-=p.yOrigin-(p.xOrigin*F+p.yOrigin*G))}for(s in Math.abs(p.skewX)>90&&Math.abs(p.skewX)<270&&(d?(p.scaleX*=-1,p.skewX+=p.rotation<=0?180:-180,p.rotation+=p.rotation<=0?180:-180):(p.scaleY*=-1,p.skewX+=p.skewX<=0?180:-180)),p.zOrigin=f,p)p[s]<2e-5&&p[s]>-2e-5&&(p[s]=0)}return i&&(t._gsTransform=p,p.svg&&(Tt&&t.style[Rt]?n.f.delayedCall(.001,function(){Zt(t.style,Rt)}):!Tt&&t.getAttribute("transform")&&n.f.delayedCall(.001,function(){t.removeAttribute("transform")}))),p},Wt=function(t){var e,i,n=this.data,r=-n.rotation*D,a=r+n.skewX*D,o=(Math.cos(r)*n.scaleX*1e5|0)/1e5,s=(Math.sin(r)*n.scaleX*1e5|0)/1e5,l=(Math.sin(a)*-n.scaleY*1e5|0)/1e5,h=(Math.cos(a)*n.scaleY*1e5|0)/1e5,c=this.t.style,u=this.t.currentStyle;if(u){i=s,s=-l,l=-i,e=u.filter,c.filter="";var p,d,m=this.t.offsetWidth,g=this.t.offsetHeight,v="absolute"!==u.position,q="progid:DXImageTransform.Microsoft.Matrix(M11="+o+", M12="+s+", M21="+l+", M22="+h,y=n.x+m*n.xPercent/100,x=n.y+g*n.yPercent/100;if(null!=n.ox&&(y+=(p=(n.oxp?m*n.ox*.01:n.ox)-m/2)-(p*o+(d=(n.oyp?g*n.oy*.01:n.oy)-g/2)*s),x+=d-(p*l+d*h)),q+=v?", Dx="+((p=m/2)-(p*o+(d=g/2)*s)+y)+", Dy="+(d-(p*l+d*h)+x)+")":", sizingMethod='auto expand')",-1!==e.indexOf("DXImageTransform.Microsoft.Matrix(")?c.filter=e.replace(C,q):c.filter=q+" "+e,0!==t&&1!==t||1===o&&0===s&&0===l&&1===h&&(v&&-1===q.indexOf("Dx=0, Dy=0")||b.test(e)&&100!==parseFloat(RegExp.$1)||-1===e.indexOf(e.indexOf("Alpha"))&&c.removeAttribute("filter")),!v){var w,M,T,S=f<8?1:-1;for(p=n.ieOffsetX||0,d=n.ieOffsetY||0,n.ieOffsetX=Math.round((m-((o<0?-o:o)*m+(s<0?-s:s)*g))/2+y),n.ieOffsetY=Math.round((g-((h<0?-h:h)*g+(l<0?-l:l)*m))/2+x),_t=0;_t<4;_t++)T=(i=-1!==(w=u[M=rt[_t]]).indexOf("px")?parseFloat(w):$(this.t,M,parseFloat(w),w.replace(_,""))||0)!==n[M]?_t<2?-n.ieOffsetX:-n.ieOffsetY:_t<2?p-n.ieOffsetX:d-n.ieOffsetY,c[M]=(n[M]=Math.round(i-T*(0===_t||2===_t?1:S)))+"px"}}},Xt=H.set3DTransformRatio=H.setTransformRatio=function(t){var e,i,n,r,a,o,s,l,h,c,u,d,f,m,g,v,q,y,x,_,b=this.data,w=this.t.style,M=b.rotation,T=b.rotationX,S=b.rotationY,E=b.scaleX,A=b.scaleY,P=b.scaleZ,L=b.x,R=b.y,C=b.z,z=b.svg,O=b.perspective,I=b.force3D,N=b.skewY,B=b.skewX;if(N&&(B+=N,M+=N),!((1!==t&&0!==t||"auto"!==I||this.tween._totalTime!==this.tween._totalDuration&&this.tween._totalTime)&&I||C||O||S||T||1!==P)||Tt&&z||!Ot)M||B||z?(M*=D,_=B*D,1e5,i=Math.cos(M)*E,a=Math.sin(M)*E,n=Math.sin(M-_)*-A,o=Math.cos(M-_)*A,_&&"simple"===b.skewType&&(e=Math.tan(_-N*D),n*=e=Math.sqrt(1+e*e),o*=e,N&&(e=Math.tan(N*D),i*=e=Math.sqrt(1+e*e),a*=e)),z&&(L+=b.xOrigin-(b.xOrigin*i+b.yOrigin*n)+b.xOffset,R+=b.yOrigin-(b.xOrigin*a+b.yOrigin*o)+b.yOffset,Tt&&(b.xPercent||b.yPercent)&&(g=this.t.getBBox(),L+=.01*b.xPercent*g.width,R+=.01*b.yPercent*g.height),L<(g=1e-6)&&L>-g&&(L=0),R<g&&R>-g&&(R=0)),x=(1e5*i|0)/1e5+","+(1e5*a|0)/1e5+","+(1e5*n|0)/1e5+","+(1e5*o|0)/1e5+","+L+","+R+")",z&&Tt?this.t.setAttribute("transform","matrix("+x):w[Rt]=(b.xPercent||b.yPercent?"translate("+b.xPercent+"%,"+b.yPercent+"%) matrix(":"matrix(")+x):w[Rt]=(b.xPercent||b.yPercent?"translate("+b.xPercent+"%,"+b.yPercent+"%) matrix(":"matrix(")+E+",0,0,"+A+","+L+","+R+")";else{if(p&&(E<(g=1e-4)&&E>-g&&(E=P=2e-5),A<g&&A>-g&&(A=P=2e-5),!O||b.z||b.rotationX||b.rotationY||(O=0)),M||B)M*=D,v=i=Math.cos(M),q=a=Math.sin(M),B&&(M-=B*D,v=Math.cos(M),q=Math.sin(M),"simple"===b.skewType&&(e=Math.tan((B-N)*D),v*=e=Math.sqrt(1+e*e),q*=e,b.skewY&&(e=Math.tan(N*D),i*=e=Math.sqrt(1+e*e),a*=e))),n=-q,o=v;else{if(!(S||T||1!==P||O||z))return void(w[Rt]=(b.xPercent||b.yPercent?"translate("+b.xPercent+"%,"+b.yPercent+"%) translate3d(":"translate3d(")+L+"px,"+R+"px,"+C+"px)"+(1!==E||1!==A?" scale("+E+","+A+")":""));i=o=1,n=a=0}c=1,r=s=l=h=u=d=0,f=O?-1/O:0,m=b.zOrigin,g=1e-6,",","0",(M=S*D)&&(v=Math.cos(M),l=-(q=Math.sin(M)),u=f*-q,r=i*q,s=a*q,c=v,f*=v,i*=v,a*=v),(M=T*D)&&(e=n*(v=Math.cos(M))+r*(q=Math.sin(M)),y=o*v+s*q,h=c*q,d=f*q,r=n*-q+r*v,s=o*-q+s*v,c*=v,f*=v,n=e,o=y),1!==P&&(r*=P,s*=P,c*=P,f*=P),1!==A&&(n*=A,o*=A,h*=A,d*=A),1!==E&&(i*=E,a*=E,l*=E,u*=E),(m||z)&&(m&&(L+=r*-m,R+=s*-m,C+=c*-m+m),z&&(L+=b.xOrigin-(b.xOrigin*i+b.yOrigin*n)+b.xOffset,R+=b.yOrigin-(b.xOrigin*a+b.yOrigin*o)+b.yOffset),L<g&&L>-g&&(L="0"),R<g&&R>-g&&(R="0"),C<g&&C>-g&&(C=0)),x=b.xPercent||b.yPercent?"translate("+b.xPercent+"%,"+b.yPercent+"%) matrix3d(":"matrix3d(",x+=(i<g&&i>-g?"0":i)+","+(a<g&&a>-g?"0":a)+","+(l<g&&l>-g?"0":l),x+=","+(u<g&&u>-g?"0":u)+","+(n<g&&n>-g?"0":n)+","+(o<g&&o>-g?"0":o),T||S||1!==P?(x+=","+(h<g&&h>-g?"0":h)+","+(d<g&&d>-g?"0":d)+","+(r<g&&r>-g?"0":r),x+=","+(s<g&&s>-g?"0":s)+","+(c<g&&c>-g?"0":c)+","+(f<g&&f>-g?"0":f)+","):x+=",0,0,0,0,1,0,",x+=L+","+R+","+C+","+(O?1+-C/O:1)+")",w[Rt]=x}};(l=Dt.prototype).x=l.y=l.z=l.skewX=l.skewY=l.rotation=l.rotationX=l.rotationY=l.zOrigin=l.xPercent=l.yPercent=l.xOffset=l.yOffset=0,l.scaleX=l.scaleY=l.scaleZ=1,wt("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{parser:function(t,e,n,r,o,s,l){if(r._lastParsedTransform===l)return o;r._lastParsedTransform=l;var h,c=l.scale&&"function"==typeof l.scale?l.scale:0;"function"==typeof l[n]&&(h=l[n],l[n]=e),c&&(l.scale=c(g,t));var u,p,d,f,v,q,y,x,_,b=t._gsTransform,w=t.style,M=Lt.length,T=l,S={},E=jt(t,i,!0,T.parseTransform),A=T.transform&&("function"==typeof T.transform?T.transform(g,m):T.transform);if(E.skewType=T.skewType||E.skewType||a.defaultSkewType,r._transform=E,"rotationZ"in T&&(T.rotation=T.rotationZ),A&&"string"==typeof A&&Rt)(p=k.style)[Rt]=A,p.display="block",p.position="absolute",-1!==A.indexOf("%")&&(p.width=K(t,"width"),p.height=K(t,"height")),U.body.appendChild(k),u=jt(k,null,!1),"simple"===E.skewType&&(u.scaleY*=Math.cos(u.skewX*D)),E.svg&&(q=E.xOrigin,y=E.yOrigin,u.x-=E.xOffset,u.y-=E.yOffset,(T.transformOrigin||T.svgOrigin)&&(A={},Ft(t,ot(T.transformOrigin),A,T.svgOrigin,T.smoothOrigin,!0),q=A.xOrigin,y=A.yOrigin,u.x-=A.xOffset-E.xOffset,u.y-=A.yOffset-E.yOffset),(q||y)&&(x=Vt(k,!0),u.x-=q-(q*x[0]+y*x[2]),u.y-=y-(q*x[1]+y*x[3]))),U.body.removeChild(k),u.perspective||(u.perspective=E.perspective),null!=T.xPercent&&(u.xPercent=lt(T.xPercent,E.xPercent)),null!=T.yPercent&&(u.yPercent=lt(T.yPercent,E.yPercent));else if("object"==typeof T){if(u={scaleX:lt(null!=T.scaleX?T.scaleX:T.scale,E.scaleX),scaleY:lt(null!=T.scaleY?T.scaleY:T.scale,E.scaleY),scaleZ:lt(T.scaleZ,E.scaleZ),x:lt(T.x,E.x),y:lt(T.y,E.y),z:lt(T.z,E.z),xPercent:lt(T.xPercent,E.xPercent),yPercent:lt(T.yPercent,E.yPercent),perspective:lt(T.transformPerspective,E.perspective)},null!=(v=T.directionalRotation))if("object"==typeof v)for(p in v)T[p]=v[p];else T.rotation=v;"string"==typeof T.x&&-1!==T.x.indexOf("%")&&(u.x=0,u.xPercent=lt(T.x,E.xPercent)),"string"==typeof T.y&&-1!==T.y.indexOf("%")&&(u.y=0,u.yPercent=lt(T.y,E.yPercent)),u.rotation=ht("rotation"in T?T.rotation:"shortRotation"in T?T.shortRotation+"_short":E.rotation,E.rotation,"rotation",S),Ot&&(u.rotationX=ht("rotationX"in T?T.rotationX:"shortRotationX"in T?T.shortRotationX+"_short":E.rotationX||0,E.rotationX,"rotationX",S),u.rotationY=ht("rotationY"in T?T.rotationY:"shortRotationY"in T?T.shortRotationY+"_short":E.rotationY||0,E.rotationY,"rotationY",S)),u.skewX=ht(T.skewX,E.skewX),u.skewY=ht(T.skewY,E.skewY)}for(Ot&&null!=T.force3D&&(E.force3D=T.force3D,f=!0),(d=E.force3D||E.z||E.rotationX||E.rotationY||u.z||u.rotationX||u.rotationY||u.perspective)||null==T.scale||(u.scaleZ=1);--M>-1;)((A=u[_=Lt[M]]-E[_])>1e-6||A<-1e-6||null!=T[_]||null!=N[_])&&(f=!0,o=new qt(E,_,E[_],A,o),_ in S&&(o.e=S[_]),o.xs0=0,o.plugin=s,r._overwriteProps.push(o.n));return A=T.transformOrigin,E.svg&&(A||T.svgOrigin)&&(q=E.xOffset,y=E.yOffset,Ft(t,ot(A),u,T.svgOrigin,T.smoothOrigin),o=yt(E,"xOrigin",(b?E:u).xOrigin,u.xOrigin,o,"transformOrigin"),o=yt(E,"yOrigin",(b?E:u).yOrigin,u.yOrigin,o,"transformOrigin"),q===E.xOffset&&y===E.yOffset||(o=yt(E,"xOffset",b?q:E.xOffset,E.xOffset,o,"transformOrigin"),o=yt(E,"yOffset",b?y:E.yOffset,E.yOffset,o,"transformOrigin")),A="0px 0px"),(A||Ot&&d&&E.zOrigin)&&(Rt?(f=!0,_=zt,A=(A||K(t,_,i,!1,"50% 50%"))+"",(o=new qt(w,_,0,0,o,-1,"transformOrigin")).b=w[_],o.plugin=s,Ot?(p=E.zOrigin,A=A.split(" "),E.zOrigin=(A.length>2&&(0===p||"0px"!==A[2])?parseFloat(A[2]):p)||0,o.xs0=o.e=A[0]+" "+(A[1]||"50%")+" 0px",(o=new qt(E,"zOrigin",0,0,o,-1,o.n)).b=p,o.xs0=o.e=E.zOrigin):o.xs0=o.e=A):ot(A+"",E)),f&&(r._transformType=E.svg&&Tt||!d&&3!==this._transformType?2:3),h&&(l[n]=h),c&&(l.scale=c),o},prefix:!0}),wt("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),wt("borderRadius",{defaultValue:"0px",parser:function(t,n,r,a,o,s){n=this.format(n);var l,h,c,u,p,d,f,m,g,v,q,y,x,_,b,w,M=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],T=t.style;for(g=parseFloat(t.offsetWidth),v=parseFloat(t.offsetHeight),l=n.split(" "),h=0;h<M.length;h++)this.p.indexOf("border")&&(M[h]=J(M[h])),-1!==(p=u=K(t,M[h],i,!1,"0px")).indexOf(" ")&&(u=p.split(" "),p=u[0],u=u[1]),d=c=l[h],f=parseFloat(p),y=p.substr((f+"").length),(x="="===d.charAt(1))?(m=parseInt(d.charAt(0)+"1",10),d=d.substr(2),m*=parseFloat(d),q=d.substr((m+"").length-(m<0?1:0))||""):(m=parseFloat(d),q=d.substr((m+"").length)),""===q&&(q=e[r]||y),q!==y&&(_=$(t,"borderLeft",f,y),b=$(t,"borderTop",f,y),"%"===q?(p=_/g*100+"%",u=b/v*100+"%"):"em"===q?(p=_/(w=$(t,"borderLeft",1,"em"))+"em",u=b/w+"em"):(p=_+"px",u=b+"px"),x&&(d=parseFloat(p)+m+q,c=parseFloat(u)+m+q)),o=xt(T,M[h],p+" "+u,d+" "+c,!1,"0px",o);return o},prefix:!0,formatter:mt("0px 0px 0px 0px",!1,!0)}),wt("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius",{defaultValue:"0px",parser:function(t,e,n,r,a,o){return xt(t.style,n,this.format(K(t,n,i,!1,"0px 0px")),this.format(e),!1,"0px",a)},prefix:!0,formatter:mt("0px 0px",!1,!0)}),wt("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,n,r,a,o){var s,l,h,c,u,p,d="background-position",m=i||Q(t,null),g=this.format((m?f?m.getPropertyValue(d+"-x")+" "+m.getPropertyValue(d+"-y"):m.getPropertyValue(d):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),v=this.format(e);if(-1!==g.indexOf("%")!=(-1!==v.indexOf("%"))&&v.split(",").length<2&&(p=K(t,"backgroundImage").replace(A,""))&&"none"!==p){for(s=g.split(" "),l=v.split(" "),G.setAttribute("src",p),h=2;--h>-1;)(c=-1!==(g=s[h]).indexOf("%"))!==(-1!==l[h].indexOf("%"))&&(u=0===h?t.offsetWidth-G.width:t.offsetHeight-G.height,s[h]=c?parseFloat(g)/100*u+"px":parseFloat(g)/u*100+"%");g=s.join(" ")}return this.parseComplex(t.style,g,v,a,o)},formatter:ot}),wt("backgroundSize",{defaultValue:"0 0",formatter:function(t){return"co"===(t+="").substr(0,2)?t:ot(-1===t.indexOf(" ")?t+" "+t:t)}}),wt("perspective",{defaultValue:"0px",prefix:!0}),wt("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),wt("transformStyle",{prefix:!0}),wt("backfaceVisibility",{prefix:!0}),wt("userSelect",{prefix:!0}),wt("margin",{parser:gt("marginTop,marginRight,marginBottom,marginLeft")}),wt("padding",{parser:gt("paddingTop,paddingRight,paddingBottom,paddingLeft")}),wt("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,n,r,a,o){var s,l,h;return f<9?(l=t.currentStyle,h=f<8?" ":",",s="rect("+l.clipTop+h+l.clipRight+h+l.clipBottom+h+l.clipLeft+")",e=this.format(e).split(",").join(h)):(s=this.format(K(t,this.p,i,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,s,e,a,o)}}),wt("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),wt("autoRound,strictUnits",{parser:function(t,e,i,n,r){return r}}),wt("border",{defaultValue:"0px solid #000",parser:function(t,e,n,r,a,o){var s=K(t,"borderTopWidth",i,!1,"0px"),l=this.format(e).split(" "),h=l[0].replace(_,"");return"px"!==h&&(s=parseFloat(s)/$(t,"borderTopWidth",1,h)+h),this.parseComplex(t.style,this.format(s+" "+K(t,"borderTopStyle",i,!1,"solid")+" "+K(t,"borderTopColor",i,!1,"#000")),l.join(" "),a,o)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(ft)||["#000"])[0]}}),wt("borderWidth",{parser:gt("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),wt("float,cssFloat,styleFloat",{parser:function(t,e,i,n,r,a){var o=t.style,s="cssFloat"in o?"cssFloat":"styleFloat";return new qt(o,s,0,0,r,-1,i,!1,0,o[s],e)}});var Yt=function(t){var e,i=this.t,n=i.filter||K(this.data,"filter")||"",r=this.s+this.c*t|0;100===r&&(-1===n.indexOf("atrix(")&&-1===n.indexOf("radient(")&&-1===n.indexOf("oader(")?(i.removeAttribute("filter"),e=!K(this.data,"filter")):(i.filter=n.replace(M,""),e=!0)),e||(this.xn1&&(i.filter=n=n||"alpha(opacity="+r+")"),-1===n.indexOf("pacity")?0===r&&this.xn1||(i.filter=n+" alpha(opacity="+r+")"):i.filter=n.replace(b,"opacity="+r))};wt("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,n,r,a,o){var s=parseFloat(K(t,"opacity",i,!1,"1")),l=t.style,h="autoAlpha"===n;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+s),h&&1===s&&"hidden"===K(t,"visibility",i)&&0!==e&&(s=0),j?a=new qt(l,"opacity",s,e-s,a):((a=new qt(l,"opacity",100*s,100*(e-s),a)).xn1=h?1:0,l.zoom=1,a.type=2,a.b="alpha(opacity="+a.s+")",a.e="alpha(opacity="+(a.s+a.c)+")",a.data=t,a.plugin=o,a.setRatio=Yt),h&&((a=new qt(l,"visibility",0,0,a,-1,null,!1,0,0!==s?"inherit":"hidden",0===e?"hidden":"inherit")).xs0="inherit",r._overwriteProps.push(a.n),r._overwriteProps.push(n)),a}});var Zt=function(t,e){e&&(t.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),t.removeProperty(e.replace(S,"-$1").toLowerCase())):t.removeAttribute(e))},Jt=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,i=this.t.style;e;)e.v?i[e.p]=e.v:Zt(i,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};wt("className",{parser:function(e,n,r,a,o,s,l){var h,c,u,p,d,f=e.getAttribute("class")||"",m=e.style.cssText;if((o=a._classNamePT=new qt(e,r,0,0,o,2)).setRatio=Jt,o.pr=-11,t=!0,o.b=f,c=et(e,i),u=e._gsClassPT){for(p={},d=u.data;d;)p[d.p]=1,d=d._next;u.setRatio(1)}return e._gsClassPT=o,o.e="="!==n.charAt(1)?n:f.replace(new RegExp("(?:\\s|^)"+n.substr(2)+"(?![\\w-])"),"")+("+"===n.charAt(0)?" "+n.substr(2):""),e.setAttribute("class",o.e),h=it(e,c,et(e),l,p),e.setAttribute("class",f),o.data=h.firstMPT,e.style.cssText=m,o=o.xfirst=a.parse(e,h.difs,o,s)}});var Qt=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,i,n,r,a,o=this.t.style,l=s.transform.parse;if("all"===this.e)o.cssText="",r=!0;else for(n=(e=this.e.split(" ").join("").split(",")).length;--n>-1;)i=e[n],s[i]&&(s[i].parse===l?r=!0:i="transformOrigin"===i?zt:s[i].p),Zt(o,i);r&&(Zt(o,Rt),(a=this.t._gsTransform)&&(a.svg&&(this.t.removeAttribute("data-svg-origin"),this.t.removeAttribute("transform")),delete this.t._gsTransform))}};for(wt("clearProps",{parser:function(e,i,n,r,a){return(a=new qt(e,n,0,0,a,2)).setRatio=Qt,a.e=i,a.pr=-10,a.data=r._tween,t=!0,a}}),l="bezier,throwProps,physicsProps,physics2D".split(","),_t=l.length;_t--;)Mt(l[_t]);(l=a.prototype)._firstPT=l._lastParsedTransform=l._transform=null,l._onInitTween=function(n,o,l,p){if(!n.nodeType)return!1;this._target=m=n,this._tween=l,this._vars=o,g=p,h=o.autoRound,t=!1,e=o.suffixMap||a.suffixMap,i=Q(n,""),r=this._overwriteProps;var f,v,q,y,x,_,b,M,T,S=n.style;if(c&&""===S.zIndex&&("auto"!==(f=K(n,"zIndex",i))&&""!==f||this._addLazySet(S,"zIndex",0)),"string"==typeof o&&(y=S.cssText,f=et(n,i),S.cssText=y+";"+o,f=it(n,f,et(n)).difs,!j&&w.test(o)&&(f.opacity=parseFloat(RegExp.$1)),o=f,S.cssText=y),o.className?this._firstPT=v=s.className.parse(n,o.className,"className",this,null,null,o):this._firstPT=v=this.parse(n,o,null),this._transformType){for(T=3===this._transformType,Rt?u&&(c=!0,""===S.zIndex&&("auto"!==(b=K(n,"zIndex",i))&&""!==b||this._addLazySet(S,"zIndex",0)),d&&this._addLazySet(S,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(T?"visible":"hidden"))):S.zoom=1,q=v;q&&q._next;)q=q._next;M=new qt(n,"transform",0,0,null,2),this._linkCSSP(M,null,q),M.setRatio=Rt?Xt:Wt,M.data=this._transform||jt(n,i,!0),M.tween=l,M.pr=-1,r.pop()}if(t){for(;v;){for(_=v._next,q=y;q&&q.pr>v.pr;)q=q._next;(v._prev=q?q._prev:x)?v._prev._next=v:y=v,(v._next=q)?q._prev=v:x=v,v=_}this._firstPT=y}return!0},l.parse=function(t,n,r,a){var o,l,c,u,p,d,f,v,q,y,x=t.style;for(o in n){if("function"==typeof(d=n[o])&&(d=d(g,m)),l=s[o])r=l.parse(t,d,o,this,r,a,n);else{if("--"===o.substr(0,2)){this._tween._propLookup[o]=this._addTween.call(this._tween,t.style,"setProperty",Q(t).getPropertyValue(o)+"",d+"",o,!1,o);continue}p=K(t,o,i)+"",q="string"==typeof d,"color"===o||"fill"===o||"stroke"===o||-1!==o.indexOf("Color")||q&&T.test(d)?(q||(d=((d=pt(d)).length>3?"rgba(":"rgb(")+d.join(",")+")"),r=xt(x,o,p,d,!0,"transparent",r,0,a)):q&&O.test(d)?r=xt(x,o,p,d,!0,null,r,0,a):(f=(c=parseFloat(p))||0===c?p.substr((c+"").length):"",""!==p&&"auto"!==p||("width"===o||"height"===o?(c=at(t,o,i),f="px"):"left"===o||"top"===o?(c=tt(t,o,i),f="px"):(c="opacity"!==o?0:1,f="")),(y=q&&"="===d.charAt(1))?(u=parseInt(d.charAt(0)+"1",10),d=d.substr(2),u*=parseFloat(d),v=d.replace(_,"")):(u=parseFloat(d),v=q?d.replace(_,""):""),""===v&&(v=o in e?e[o]:f),d=u||0===u?(y?u+c:u)+v:n[o],f!==v&&(""===v&&"lineHeight"!==o||(u||0===u)&&c&&(c=$(t,o,c,f),"%"===v?(c/=$(t,o,100,"%")/100,!0!==n.strictUnits&&(p=c+"%")):"em"===v||"rem"===v||"vw"===v||"vh"===v?c/=$(t,o,1,v):"px"!==v&&(u=$(t,o,u,v),v="px"),y&&(u||0===u)&&(d=u+c+v))),y&&(u+=c),!c&&0!==c||!u&&0!==u?void 0!==x[o]&&(d||d+""!="NaN"&&null!=d)?(r=new qt(x,o,u||c||0,0,r,-1,o,!1,0,p,d)).xs0="none"!==d||"display"!==o&&-1===o.indexOf("Style")?d:p:X("invalid "+o+" tween value: "+n[o]):(r=new qt(x,o,c,u-c,r,0,o,!1!==h&&("px"===v||"zIndex"===o),0,p,d)).xs0=v)}a&&r&&!r.plugin&&(r.plugin=a)}return r},l.setRatio=function(t){var e,i,n,r=this._firstPT;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||-1e-6===this._tween._rawPrevTime)for(;r;){if(e=r.c*t+r.s,r.r?e=r.r(e):e<1e-6&&e>-1e-6&&(e=0),r.type)if(1===r.type)if(2===(n=r.l))r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2;else if(3===n)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3;else if(4===n)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4;else if(5===n)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4+r.xn4+r.xs5;else{for(i=r.xs0+e+r.xs1,n=1;n<r.l;n++)i+=r["xn"+n]+r["xs"+(n+1)];r.t[r.p]=i}else-1===r.type?r.t[r.p]=r.xs0:r.setRatio&&r.setRatio(t);else r.t[r.p]=e+r.xs0;r=r._next}else for(;r;)2!==r.type?r.t[r.p]=r.b:r.setRatio(t),r=r._next;else for(;r;){if(2!==r.type)if(r.r&&-1!==r.type)if(e=r.r(r.s+r.c),r.type){if(1===r.type){for(n=r.l,i=r.xs0+e+r.xs1,n=1;n<r.l;n++)i+=r["xn"+n]+r["xs"+(n+1)];r.t[r.p]=i}}else r.t[r.p]=e+r.xs0;else r.t[r.p]=r.e;else r.setRatio(t);r=r._next}},l._enableTransforms=function(t){this._transform=this._transform||jt(this._target,i,!0),this._transformType=this._transform.svg&&Tt||!t&&3!==this._transformType?2:3};var Kt=function(t){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};l._addLazySet=function(t,e,i){var n=this._firstPT=new qt(t,e,0,0,this._firstPT,2);n.e=i,n.setRatio=Kt,n.data=this},l._linkCSSP=function(t,e,i,n){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,n=!0),i?i._next=t:n||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=i),t},l._mod=function(t){for(var e=this._firstPT;e;)"function"==typeof t[e.p]&&(e.r=t[e.p]),e=e._next},l._kill=function(t){var e,i,r,a=t;if(t.autoAlpha||t.alpha){for(i in a={},t)a[i]=t[i];a.opacity=1,a.autoAlpha&&(a.visibility=1)}for(t.className&&(e=this._classNamePT)&&((r=e.xfirst)&&r._prev?this._linkCSSP(r._prev,e._next,r._prev._prev):r===this._firstPT&&(this._firstPT=e._next),e._next&&this._linkCSSP(e._next,e._next._next,r._prev),this._classNamePT=null),e=this._firstPT;e;)e.plugin&&e.plugin!==i&&e.plugin._kill&&(e.plugin._kill(t),i=e.plugin),e=e._next;return n.d.prototype._kill.call(this,a)};var $t=function(t,e,i){var n,r,a,o;if(t.slice)for(r=t.length;--r>-1;)$t(t[r],e,i);else for(r=(n=t.childNodes).length;--r>-1;)o=(a=n[r]).type,a.style&&(e.push(et(a)),i&&i.push(a)),1!==o&&9!==o&&11!==o||!a.childNodes.length||$t(a,e,i)};return a.cascadeTo=function(t,e,i){var r,a,o,s,l=n.f.to(t,e,i),h=[l],c=[],u=[],p=[],d=n.f._internals.reservedProps;for(t=l._targets||l.target,$t(t,c,p),l.render(e,!0,!0),$t(t,u),l.render(0,!0,!0),l._enabled(!0),r=p.length;--r>-1;)if((a=it(p[r],c[r],u[r])).firstMPT){for(o in a=a.difs,i)d[o]&&(a[o]=i[o]);for(o in s={},a)s[o]=c[r][o];h.push(n.f.fromTo(p[r],e,s,a))}return h},n.d.activate([a]),a},!0);var o=n.g.CSSPlugin,s=n.e._gsDefine.plugin({propName:"attr",API:2,version:"0.6.1",init:function(t,e,i,n){var r,a;if("function"!=typeof t.setAttribute)return!1;for(r in e)"function"==typeof(a=e[r])&&(a=a(n,t)),this._addTween(t,"setAttribute",t.getAttribute(r)+"",a+"",r,!1,r),this._overwriteProps.push(r);return!0}}),l=n.e._gsDefine.plugin({propName:"roundProps",version:"1.7.0",priority:-1,API:2,init:function(t,e,i){return this._tween=i,!0}}),h=function(t){var e=t<1?Math.pow(10,(t+"").length-2):1;return function(i){return(Math.round(i/t)*t*e|0)/e}},c=function(t,e){for(;t;)t.f||t.blob||(t.m=e||Math.round),t=t._next},u=l.prototype; /*!

* VERSION: 0.6.1
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
*/u._onInitAllProps=function(){var t,e,i,n,r=this._tween,a=r.vars.roundProps,o={},s=r._propLookup.roundProps;if("object"!=typeof a||a.push)for("string"==typeof a&&(a=a.split(",")),i=a.length;--i>-1;)o[a[i]]=Math.round;else for(n in a)o[n]=h(a[n]);for(n in o)for(t=r._firstPT;t;)e=t._next,t.pg?t.t._mod(o):t.n===n&&(2===t.f&&t.t?c(t.t._firstPT,o[n]):(this._add(t.t,n,t.s,t.c,o[n]),e&&(e._prev=t._prev),t._prev?t._prev._next=e:r._firstPT===t&&(r._firstPT=e),t._next=t._prev=null,r._propLookup[n]=s)),t=e;return!1},u._add=function(t,e,i,n,r){this._addTween(t,e,i,i+n,e,r||Math.round),this._overwriteProps.push(e)};

/*!

* VERSION: 0.3.1
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
**/

var p=n.e._gsDefine.plugin({propName:"directionalRotation",version:"0.3.1",API:2,init:function(t,e,i,n){"object"!=typeof e&&(e={rotation:e}),this.finals={};var r,a,o,s,l,h,c=!0===e.useRadians?2*Math.PI:360;for(r in e)"useRadians"!==r&&("function"==typeof(s=e[r])&&(s=s(n,t)),a=(h=(s+"").split("_"))[0],o=parseFloat("function"!=typeof t[r]?t[r]:t[r.indexOf("set")||"function"!=typeof t["get"+r.substr(3)]?r:"get"+r.substr(3)]()),l=(s=this.finals[r]="string"==typeof a&&"="===a.charAt(1)?o+parseInt(a.charAt(0)+"1",10)*Number(a.substr(2)):Number(a)||0)-o,h.length&&(-1!==(a=h.join("_")).indexOf("short")&&(l%=c)!==l%(c/2)&&(l=l<0?l+c:l-c),-1!==a.indexOf("_cw")&&l<0?l=(l+9999999999*c)%c-(l/c|0)*c:-1!==a.indexOf("ccw")&&l>0&&(l=(l-9999999999*c)%c-(l/c|0)*c)),(l>1e-6||l<-1e-6)&&(this._addTween(t,r,o,o+l,r),this._overwriteProps.push(r)));return!0},set:function(t){var e;if(1!==t)this._super.setRatio.call(this,t);else for(e=this._firstPT;e;)e.f?e.t[e.p](this.finals[e.p]):e.t[e.p]=this.finals[e.p],e=e._next}});p._autoCSS=!0, /*!

* VERSION: 2.0.2
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
*/

n.e._gsDefine("TimelineMax",["TimelineLite","TweenLite","easing.Ease"],function(){var t=function(t){r.call(this,t),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=!0===this.vars.yoyo,this._dirty=!0},e=n.f._internals,i=e.lazyTweens,a=e.lazyRender,o=n.e._gsDefine.globals,s=new n.b(null,null,1,0),l=t.prototype=new r;return l.constructor=t,l.kill()._gc=!1,t.version="2.0.2",l.invalidate=function(){return this._yoyo=!0===this.vars.yoyo,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),r.prototype.invalidate.call(this)},l.addCallback=function(t,e,i,r){return this.add(n.f.delayedCall(0,t,i,r),e)},l.removeCallback=function(t,e){if(t)if(null==e)this._kill(null,t);else for(var i=this.getTweensOf(t,!1),n=i.length,r=this._parseTimeOrLabel(e);--n>-1;)i[n]._startTime===r&&i[n]._enabled(!1,!1);return this},l.removePause=function(t){return this.removeCallback(r._internals.pauseCallback,t)},l.tweenTo=function(t,e){e=e||{};var i,r,a,l={ease:s,useFrames:this.usesFrames(),immediateRender:!1,lazy:!1},h=e.repeat&&o.TweenMax||n.f;for(r in e)l[r]=e[r];return l.time=this._parseTimeOrLabel(t),i=Math.abs(Number(l.time)-this._time)/this._timeScale||.001,a=new h(this,i,l),l.onStart=function(){a.target.paused(!0),a.vars.time===a.target.time()||i!==a.duration()||a.isFromTo||a.duration(Math.abs(a.vars.time-a.target.time())/a.target._timeScale).render(a.time(),!0,!0),e.onStart&&e.onStart.apply(e.onStartScope||e.callbackScope||a,e.onStartParams||[])},a},l.tweenFromTo=function(t,e,i){i=i||{},t=this._parseTimeOrLabel(t),i.startAt={onComplete:this.seek,onCompleteParams:[t],callbackScope:this},i.immediateRender=!1!==i.immediateRender;var n=this.tweenTo(e,i);return n.isFromTo=1,n.duration(Math.abs(n.vars.time-t)/this._timeScale||.001)},l.render=function(t,e,n){this._gc&&this._enabled(!0,!1);var r,o,s,l,h,c,u,p,d=this._time,f=this._dirty?this.totalDuration():this._totalDuration,m=this._duration,g=this._totalTime,v=this._startTime,q=this._timeScale,y=this._rawPrevTime,x=this._paused,_=this._cycle;if(d!==this._time&&(t+=this._time-d),t>=f-1e-7&&t>=0)this._locked||(this._totalTime=f,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(o=!0,l="onComplete",h=!!this._timeline.autoRemoveChildren,0===this._duration&&(t<=0&&t>=-1e-7||y<0||1e-10===y)&&y!==t&&this._first&&(h=!0,y>1e-10&&(l="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:1e-10,this._yoyo&&0!=(1&this._cycle)?this._time=t=0:(this._time=m,t=m+1e-4);else if(t<1e-7)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==d||0===m&&1e-10!==y&&(y>0||t<0&&y>=0)&&!this._locked)&&(l="onReverseComplete",o=this._reversed),t<0)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(h=o=!0,l="onReverseComplete"):y>=0&&this._first&&(h=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=m||!e||t||this._rawPrevTime===t?t:1e-10,0===t&&o)for(r=this._first;r&&0===r._startTime;)r._duration||(o=!1),r=r._next;t=0,this._initted||(h=!0)}else if(0===m&&y<0&&(h=!0),this._time=this._rawPrevTime=t,this._locked||(this._totalTime=t,0!==this._repeat&&(c=m+this._repeatDelay,this._cycle=this._totalTime/c>>0,0!==this._cycle&&this._cycle===this._totalTime/c&&g<=t&&this._cycle--,this._time=this._totalTime-this._cycle*c,this._yoyo&&0!=(1&this._cycle)&&(this._time=m-this._time),this._time>m?(this._time=m,t=m+1e-4):this._time<0?this._time=t=0:t=this._time)),this._hasPause&&!this._forcingPlayhead&&!e){if((t=this._time)>=d||this._repeat&&_!==this._cycle)for(r=this._first;r&&r._startTime<=t&&!u;)r._duration||"isPause"!==r.data||r.ratio||0===r._startTime&&0===this._rawPrevTime||(u=r),r=r._next;else for(r=this._last;r&&r._startTime>=t&&!u;)r._duration||"isPause"===r.data&&r._rawPrevTime>0&&(u=r),r=r._prev;u&&u._startTime<m&&(this._time=t=u._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}if(this._cycle!==_&&!this._locked){var b=this._yoyo&&0!=(1&_),w=b===(this._yoyo&&0!=(1&this._cycle)),M=this._totalTime,T=this._cycle,S=this._rawPrevTime,E=this._time;if(this._totalTime=_*m,this._cycle<_?b=!b:this._totalTime+=m,this._time=d,this._rawPrevTime=0===m?y-1e-4:y,this._cycle=_,this._locked=!0,d=b?0:m,this.render(d,e,0===m),e||this._gc||this.vars.onRepeat&&(this._cycle=T,this._locked=!1,this._callback("onRepeat")),d!==this._time)return;if(w&&(this._cycle=_,this._locked=!0,d=b?m+1e-4:-1e-4,this.render(d,!0,!1)),this._locked=!1,this._paused&&!x)return;this._time=E,this._totalTime=M,this._cycle=T,this._rawPrevTime=S}if(this._time!==d&&this._first||n||h||u){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._totalTime!==g&&t>0&&(this._active=!0),0===g&&this.vars.onStart&&(0===this._totalTime&&this._totalDuration||e||this._callback("onStart")),(p=this._time)>=d)for(r=this._first;r&&(s=r._next,p===this._time&&(!this._paused||x));)(r._active||r._startTime<=this._time&&!r._paused&&!r._gc)&&(u===r&&this.pause(),r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,n):r.render((t-r._startTime)*r._timeScale,e,n)),r=s;else for(r=this._last;r&&(s=r._prev,p===this._time&&(!this._paused||x));){if(r._active||r._startTime<=d&&!r._paused&&!r._gc){if(u===r){for(u=r._prev;u&&u.endTime()>this._time;)u.render(u._reversed?u.totalDuration()-(t-u._startTime)*u._timeScale:(t-u._startTime)*u._timeScale,e,n),u=u._prev;u=null,this.pause()}r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,n):r.render((t-r._startTime)*r._timeScale,e,n)}r=s}this._onUpdate&&(e||(i.length&&a(),this._callback("onUpdate"))),l&&(this._locked||this._gc||v!==this._startTime&&q===this._timeScale||(0===this._time||f>=this.totalDuration())&&(o&&(i.length&&a(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[l]&&this._callback(l)))}else g!==this._totalTime&&this._onUpdate&&(e||this._callback("onUpdate"))},l.getActive=function(t,e,i){null==t&&(t=!0),null==e&&(e=!0),null==i&&(i=!1);var n,r,a=[],o=this.getChildren(t,e,i),s=0,l=o.length;for(n=0;n<l;n++)(r=o[n]).isActive()&&(a[s++]=r);return a},l.getLabelAfter=function(t){t||0!==t&&(t=this._time);var e,i=this.getLabelsArray(),n=i.length;for(e=0;e<n;e++)if(i[e].time>t)return i[e].name;return null},l.getLabelBefore=function(t){null==t&&(t=this._time);for(var e=this.getLabelsArray(),i=e.length;--i>-1;)if(e[i].time<t)return e[i].name;return null},l.getLabelsArray=function(){var t,e=[],i=0;for(t in this._labels)e[i++]={time:this._labels[t],name:t};return e.sort(function(t,e){return t.time-e.time}),e},l.invalidate=function(){return this._locked=!1,r.prototype.invalidate.call(this)},l.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!=(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()||0},l.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()||0},l.totalDuration=function(t){return arguments.length?-1!==this._repeat&&t?this.timeScale(this.totalDuration()/t):this:(this._dirty&&(r.prototype.totalDuration.call(this),this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat),this._totalDuration)},l.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!=(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},l.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},l.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},l.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},l.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.getLabelBefore(this._time+1e-8)},t},!0);var d=n.g.TimelineMax,f=180/Math.PI,m=[],g=[],v=[],q={},y=n.e._gsDefine.globals,x=function(t,e,i,n){i===n&&(i=n-(n-e)/1e6),t===e&&(e=t+(i-t)/1e6),this.a=t,this.b=e,this.c=i,this.d=n,this.da=n-t,this.ca=i-t,this.ba=e-t},_=function(t,e,i,n){var r={a:t},a={},o={},s={c:n},l=(t+e)/2,h=(e+i)/2,c=(i+n)/2,u=(l+h)/2,p=(h+c)/2,d=(p-u)/8;return r.b=l+(t-l)/4,a.b=u+d,r.c=a.a=(r.b+a.b)/2,a.c=o.a=(u+p)/2,o.b=p-d,s.b=c+(n-c)/4,o.c=s.a=(o.b+s.b)/2,[r,a,o,s]},b=function(t,e,i,n,r){var a,o,s,l,h,c,u,p,d,f,q,y,x,b=t.length-1,w=0,M=t[0].a;for(a=0;a<b;a++)o=(h=t[w]).a,s=h.d,l=t[w+1].d,r?(q=m[a],x=((y=g[a])+q)*e*.25/(n?.5:v[a]||.5),p=s-((c=s-(s-o)*(n?.5*e:0!==q?x/q:0))+(((u=s+(l-s)*(n?.5*e:0!==y?x/y:0))-c)*(3*q/(q+y)+.5)/4||0))):p=s-((c=s-(s-o)*e*.5)+(u=s+(l-s)*e*.5))/2,c+=p,u+=p,h.c=d=c,h.b=0!==a?M:M=h.a+.6*(h.c-h.a),h.da=s-o,h.ca=d-o,h.ba=M-o,i?(f=_(o,M,d,s),t.splice(w,1,f[0],f[1],f[2],f[3]),w+=4):w++,M=u;(h=t[w]).b=M,h.c=M+.4*(h.d-M),h.da=h.d-h.a,h.ca=h.c-h.a,h.ba=M-h.a,i&&(f=_(h.a,M,h.c,h.d),t.splice(w,1,f[0],f[1],f[2],f[3]))},w=function(t,e,i,n){var r,a,o,s,l,h,c=[];if(n)for(a=(t=[n].concat(t)).length;--a>-1;)"string"==typeof(h=t[a][e])&&"="===h.charAt(1)&&(t[a][e]=n[e]+Number(h.charAt(0)+h.substr(2)));if((r=t.length-2)<0)return c[0]=new x(t[0][e],0,0,t[0][e]),c;for(a=0;a<r;a++)o=t[a][e],s=t[a+1][e],c[a]=new x(o,0,0,s),i&&(l=t[a+2][e],m[a]=(m[a]||0)+(s-o)*(s-o),g[a]=(g[a]||0)+(l-s)*(l-s));return c[a]=new x(t[a][e],0,0,t[a+1][e]),c},M=function(t,e,i,n,r,a){var o,s,l,h,c,u,p,d,f={},y=[],x=a||t[0];for(s in r="string"==typeof r?","+r+",":",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",null==e&&(e=1),t[0])y.push(s);if(t.length>1){for(d=t[t.length-1],p=!0,o=y.length;--o>-1;)if(s=y[o],Math.abs(x[s]-d[s])>.05){p=!1;break}p&&(t=t.concat(),a&&t.unshift(a),t.push(t[1]),a=t[t.length-3])}for(m.length=g.length=v.length=0,o=y.length;--o>-1;)s=y[o],q[s]=-1!==r.indexOf(","+s+","),f[s]=w(t,s,q[s],a);for(o=m.length;--o>-1;)m[o]=Math.sqrt(m[o]),g[o]=Math.sqrt(g[o]);if(!n){for(o=y.length;--o>-1;)if(q[s])for(u=(l=f[y[o]]).length-1,h=0;h<u;h++)c=l[h+1].da/g[h]+l[h].da/m[h]||0,v[h]=(v[h]||0)+c*c;for(o=v.length;--o>-1;)v[o]=Math.sqrt(v[o])}for(o=y.length,h=i?4:1;--o>-1;)l=f[s=y[o]],b(l,e,i,n,q[s]),p&&(l.splice(0,h),l.splice(l.length-h,h));return f},T=function(t,e,i){for(var n,r,a,o,s,l,h,c,u,p,d,f=1/i,m=t.length;--m>-1;)for(a=(p=t[m]).a,o=p.d-a,s=p.c-a,l=p.b-a,n=r=0,c=1;c<=i;c++)n=r-(r=((h=f*c)*h*o+3*(u=1-h)*(h*s+u*l))*h),e[d=m*i+c-1]=(e[d]||0)+n*n},S=n.e._gsDefine.plugin({propName:"bezier",priority:-1,version:"1.3.8",API:2,global:!0,init:function(t,e,i){this._target=t,e instanceof Array&&(e={values:e}),this._func={},this._mod={},this._props=[],this._timeRes=null==e.timeResolution?6:parseInt(e.timeResolution,10);var n,r,a,o,s,l=e.values||[],h={},c=l[0],u=e.autoRotate||i.vars.orientToBezier;for(n in this._autoRotate=u?u instanceof Array?u:|0:null,c)this._props.push(n);for(a=this._props.length;--a>-1;)n=this._props[a],this._overwriteProps.push(n),r=this._func[n]="function"==typeof t[n],h[n]=r?t[n.indexOf("set")||"function"!=typeof t["get"+n.substr(3)]?n:"get"+n.substr(3)]():parseFloat(t[n]),s||h[n]!==l[0][n]&&(s=h);if(this._beziers="cubic"!==e.type&&"quadratic"!==e.type&&"soft"!==e.type?M(l,isNaN(e.curviness)?1:e.curviness,!1,"thruBasic"===e.type,e.correlate,s):function(t,e,i){var n,r,a,o,s,l,h,c,u,p,d,f={},m="cubic"===(e=e||"soft")?3:2,g="soft"===e,v=[];if(g&&i&&(t=[i].concat(t)),null==t||t.length<m+1)throw"invalid Bezier data";for(u in t[0])v.push(u);for(l=v.length;--l>-1;){for(f[u=v[l]]=s=[],p=0,c=t.length,h=0;h<c;h++)n=null==i?t[h][u]:"string"==typeof(d=t[h][u])&&"="===d.charAt(1)?i[u]+Number(d.charAt(0)+d.substr(2)):Number(d),g&&h>1&&h<c-1&&(s[p++]=(n+s[p-2])/2),s[p++]=n;for(c=p-m+1,p=0,h=0;h<c;h+=m)n=s[h],r=s[h+1],a=s[h+2],o=2===m?0:s[h+3],s[p++]=d=3===m?new x(n,r,a,o):new x(n,(2*r+n)/3,(2*r+a)/3,a);s.length=p}return f}(l,e.type,h),this._segCount=this._beziers[n].length,this._timeRes){var p=function(t,e){var i,n,r,a,o=[],s=[],l=0,h=0,c=(e=e>>0||6)-1,u=[],p=[];for(i in t)T(t[i],o,e);for(r=o.length,n=0;n<r;n++)l+=Math.sqrt(o[n]),p[a=n%e]=l,a===c&&(h+=l,u[a=n/e>>0]=p,s[a]=h,l=0,p=[]);return{length:h,lengths:s,segments:u}}(this._beziers,this._timeRes);this._length=p.length,this._lengths=p.lengths,this._segments=p.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(u=this._autoRotate)for(this._initialRotations=[],u[0]instanceof Array||(this._autoRotate=u=[u]),a=u.length;--a>-1;){for(o=0;o<3;o++)n=u[a][o],this._func[n]="function"==typeof t[n]&&t[n.indexOf("set")||"function"!=typeof t["get"+n.substr(3)]?n:"get"+n.substr(3)];n=u[a][2],this._initialRotations[a]=(this._func[n]?this._func[n].call(this._target):this._target[n])||0,this._overwriteProps.push(n)}return this._startRatio=i.vars.runBackwards?1:0,!0},set:function(t){var e,i,n,r,a,o,s,l,h,c,u=this._segCount,p=this._func,d=this._target,m=t!==this._startRatio;if(this._timeRes){if(h=this._lengths,c=this._curSeg,t*=this._length,n=this._li,t>this._l2&&n<u-1){for(l=u-1;n<l&&(this._l2=h[++n])<=t;);this._l1=h[n-1],this._li=n,this._curSeg=c=this._segments[n],this._s2=c[this._s1=this._si=0]}else if(t<this._l1&&n>0){for(;n>0&&(this._l1=h[--n])>=t;);0===n&&t<this._l1?this._l1=0:n++,this._l2=h[n],this._li=n,this._curSeg=c=this._segments[n],this._s1=c[(this._si=c.length-1)-1]||0,this._s2=c[this._si]}if(e=n,t-=this._l1,n=this._si,t>this._s2&&n<c.length-1){for(l=c.length-1;n<l&&(this._s2=c[++n])<=t;);this._s1=c[n-1],this._si=n}else if(t<this._s1&&n>0){for(;n>0&&(this._s1=c[--n])>=t;);0===n&&t<this._s1?this._s1=0:n++,this._s2=c[n],this._si=n}o=(n+(t-this._s1)/(this._s2-this._s1))*this._prec||0}else o=(t-(e=t<0?0:t>=1?u-1:u*t>>0)*(1/u))*u;for(i=1-o,n=this._props.length;--n>-1;)r=this._props[n],s=(o*o*(a=this._beziers[r][e]).da+3*i*(o*a.ca+i*a.ba))*o+a.a,this._mod[r]&&(s=this._mod[r](s,d)),p[r]?d[r](s):d[r]=s;if(this._autoRotate){var g,v,q,y,x,_,b,w=this._autoRotate;for(n=w.length;--n>-1;)r=w[n][2],_=w[n][3]||0,b=!0===w[n][4]?1:f,a=this._beziers[w[n][0]],g=this._beziers[w[n][1]],a&&g&&(a=a[e],g=g[e],v=a.a+(a.b-a.a)*o,v+=((y=a.b+(a.c-a.b)*o)-v)*o,y+=(a.c+(a.d-a.c)*o-y)*o,q=g.a+(g.b-g.a)*o,q+=((x=g.b+(g.c-g.b)*o)-q)*o,x+=(g.c+(g.d-g.c)*o-x)*o,s=m?Math.atan2(x-q,y-v)*b+_:this._initialRotations[n],this._mod[r]&&(s=this._mod[r](s,d)),p[r]?d[r](s):d[r]=s)}}}),E=S.prototype; /*!

* VERSION: 1.3.8
* DATE: 2018-05-30
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
**/S.bezierThrough=M,S.cubicToQuadratic=_,S._autoCSS=!0,S.quadraticToCubic=function(t,e,i){return new x(t,(2*e+t)/3,(2*e+i)/3,i)},S._cssRegister=function(){var t=y.CSSPlugin;if(t){var e=t._internals,i=e._parseToProxy,n=e._setPluginRatio,r=e.CSSPropTween;e._registerComplexSpecialProp("bezier",{parser:function(t,e,a,o,s,l){e instanceof Array&&(e={values:e}),l=new S;var h,c,u,p=e.values,d=p.length-1,f=[],m={};if(d<0)return s;for(h=0;h<=d;h++)u=i(t,p[h],o,s,l,d!==h),f[h]=u.end;for(c in e)m[c]=e[c];return m.values=f,(s=new r(t,"bezier",0,0,u.pt,2)).data=u,s.plugin=l,s.setRatio=n,0===m.autoRotate&&(m.autoRotate=!0),!m.autoRotate||m.autoRotate instanceof Array||(h=!0===m.autoRotate?0:Number(m.autoRotate),m.autoRotate=null!=u.end.left?"left","top","rotation",h,!1:null!=u.end.x&&"x","y","rotation",h,!1),m.autoRotate&&(o._transform||o._enableTransforms(!1),u.autoRotate=o._target._gsTransform,u.proxy.rotation=u.autoRotate.rotation||0,o._overwriteProps.push("rotation")),l._onInitTween(u.proxy,m,o._tween),s}})}},E._mod=function(t){for(var e,i=this._overwriteProps,n=i.length;--n>-1;)(e=t[i[n]])&&"function"==typeof e&&(this._mod[i[n]]=e)},E._kill=function(t){var e,i,n=this._props;for(e in this._beziers)if(e in t)for(delete this._beziers[e],delete this._func[e],i=n.length;--i>-1;)n[i]===e&&n.splice(i,1);if(n=this._autoRotate)for(i=n.length;--i>-1;)t[n[i][2]]&&n.splice(i,1);return this._super._kill.call(this,t)},

/*!

* VERSION: 1.16.1
* DATE: 2018-08-27
* UPDATES AND DOCS AT: http://greensock.com
*
* @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
* This work is subject to the terms at http://greensock.com/standard-license or for
* Club GreenSock members, the software agreement that was issued with your membership.
* 
* @author: Jack Doyle, jack@greensock.com
**/

n.e._gsDefine("easing.Back",["easing.Ease"],function(){var t,e,i,r,a=n.e.GreenSockGlobals||n.e,o=a.com.greensock,s=2*Math.PI,l=Math.PI/2,h=o._class,c=function(t,e){var i=h("easing."+t,function(){},!0),r=i.prototype=new n.b;return r.constructor=i,r.getRatio=e,i},u=n.b.register||function(){},p=function(t,e,i,n,r){var a=h("easing."+t,{easeOut:new e,easeIn:new i,easeInOut:new n},!0);return u(a,t),a},d=function(t,e,i){this.t=t,this.v=e,i&&(this.next=i,i.prev=this,this.c=i.v-e,this.gap=i.t-t)},f=function(t,e){var i=h("easing."+t,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=i.prototype=new n.b;return r.constructor=i,r.getRatio=e,r.config=function(t){return new i(t)},i},m=p("Back",f("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),f("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),f("BackInOut",function(t){return(t*=2)<1?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),g=h("easing.SlowMo",function(t,e,i){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=!0===i},!0),v=g.prototype=new n.b;return v.constructor=g,v.getRatio=function(t){var e=t+(.5-t)*this._p;return t<this._p1?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1===t?0:1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},g.ease=new g(.7,.7),v.config=g.config=function(t,e,i){return new g(t,e,i)},(v=(t=h("easing.SteppedEase",function(t,e){t=t||1,this._p1=1/t,this._p2=t+(e?0:1),this._p3=e?1:0},!0)).prototype=new n.b).constructor=t,v.getRatio=function(t){return t<0?t=0:t>=1&&(t=.999999999),((this._p2*t|0)+this._p3)*this._p1},v.config=t.config=function(e,i){return new t(e,i)},(v=(e=h("easing.ExpoScaleEase",function(t,e,i){this._p1=Math.log(e/t),this._p2=e-t,this._p3=t,this._ease=i},!0)).prototype=new n.b).constructor=e,v.getRatio=function(t){return this._ease&&(t=this._ease.getRatio(t)),(this._p3*Math.exp(this._p1*t)-this._p3)/this._p2},v.config=e.config=function(t,i,n){return new e(t,i,n)},(v=(i=h("easing.RoughEase",function(t){for(var e,i,r,a,o,s,l=(t=t||{}).taper||"none",h=[],c=0,u=0|(t.points||20),p=u,f=!1!==t.randomize,m=!0===t.clamp,g=t.template instanceof n.b?t.template:null,v="number"==typeof t.strength?.4*t.strength:.4;--p>-1;)e=f?Math.random():1/u*p,i=g?g.getRatio(e):e,r="none"===l?v:"out"===l?(a=1-e)*a*v:"in"===l?e*e*v:e<.5?(a=2*e)*a*.5*v:(a=2*(1-e))*a*.5*v,f?i+=Math.random()*r-.5*r:p%2?i+=.5*r:i-=.5*r,m&&(i>1?i=1:i<0&&(i=0)),h[c++]={x:e,y:i};for(h.sort(function(t,e){return t.x-e.x}),s=new d(1,1,null),p=u;--p>-1;)o=h[p],s=new d(o.x,o.y,s);this._prev=new d(0,0,0!==s.t?s:s.next)},!0)).prototype=new n.b).constructor=i,v.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&t<=e.t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},v.config=function(t){return new i(t)},i.ease=new i,p("Bounce",c("BounceOut",function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),c("BounceIn",function(t){return(t=1-t)<1/2.75?1-7.5625*t*t:t<2/2.75?1-(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),c("BounceInOut",function(t){var e=t<.5;return(t=e?1-2*t:2*t-1)<1/2.75?t*=7.5625*t:t=t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),p("Circ",c("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),c("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),c("CircInOut",function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),p("Elastic",(r=function(t,e,i){var r=h("easing."+t,function(t,e){this._p1=t>=1?t:1,this._p2=(e||i)/(t<1?t:1),this._p3=this._p2/s*(Math.asin(1/this._p1)||0),this._p2=s/this._p2},!0),a=r.prototype=new n.b;return a.constructor=r,a.getRatio=e,a.config=function(t,e){return new r(t,e)},r})("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*this._p2)+1},.3),r("ElasticIn",function(t){return-this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2)},.3),r("ElasticInOut",function(t){return(t*=2)<1?this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2)*-.5:this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*this._p2)*.5+1},.45)),p("Expo",c("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),c("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),c("ExpoInOut",function(t){return(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),p("Sine",c("SineOut",function(t){return Math.sin(t*l)}),c("SineIn",function(t){return 1-Math.cos(t*l)}),c("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),h("easing.EaseLookup",{find:function(t){return n.b.map[t]}},!0),u(a.SlowMo,"SlowMo","ease,"),u(i,"RoughEase","ease,"),u(t,"SteppedEase","ease,"),m},!0);var A=n.g.Back,P=n.g.Elastic,L=n.g.Bounce,R=n.g.RoughEase,C=n.g.SlowMo,z=n.g.SteppedEase,O=n.g.Circ,D=n.g.Expo,I=n.g.Sine,N=n.g.ExpoScaleEase;a._autoActivated=[r,d,o,s,S,l,p,A,P,L,R,C,z,O,D,I,N],i.d(e,"b",function(){return r}),i.d(e,"a",function(){return A})},function(t,e,i){},function(t,e,i){"use strict";i.d(e,"a",function(){return g});var n=i(1),r=i(2);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?p(t):e}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function p(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var d=new n.SphereBufferGeometry(.5,2,2),f=new n.MeshBasicMaterial({color:15528177,transparent:!0,opacity:.3}),m=function(t){function e(){var t;return o(this,e),(t=l(this,h(e).call(this,d,f))).t=10*Math.random(),t.position.set(Math.random()-.5,Math.random()-.5,.5*-Math.random()).normalize().multiplyScalar(Object(r.a)(100,300)),t.update=t.update.bind(p(p(t))),t}var i,a,u;return c(e,n["Mesh"]),i=e,(a=[{key:"update",value:function(){this.t+=.01,this.scale.x=this.scale.y=this.scale.z=Math.sin(this.t)+1}}])&&s(i.prototype,a),u&&s(i,u),e}(),g=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:300;o(this,e),t=l(this,h(e).call(this));for(var n=0;n<i;n++){var r=new m;t.add(r)}return t}return c(e,n["Object3D"]),e}()},,function(t,e,i){(function(){"use strict";var n=this.THREE||i(1);if(!n)throw new Error("MeshLine requires three.js");function r(){this.positions=[],this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[],this.counters=[],this.geometry=new n.BufferGeometry,this.widthCallback=null}function a(t,e,i,n,r){var a;if(t=t.subarray||t.slice?t:t.buffer,i=i.subarray||i.slice?i:i.buffer,t=e?t.subarray?t.subarray(e,r&&e+r):t.slice(e,r&&e+r):t,i.set)i.set(t,n);else for(a=0;a<t.length;a++)i[a+n]=t[a];return i}function o(t){function e(t,e){return void 0===t?e:t}n.Material.call(this),t=t||{},this.lineWidth=e(t.lineWidth,1),this.map=e(t.map,null),this.useMap=e(t.useMap,0),this.alphaMap=e(t.alphaMap,null),this.useAlphaMap=e(t.useAlphaMap,0),this.color=e(t.color,new n.Color(16777215)),this.opacity=e(t.opacity,1),this.resolution=e(t.resolution,new n.Vector2(1,1)),this.sizeAttenuation=e(t.sizeAttenuation,1),this.near=e(t.near,1),this.far=e(t.far,1),this.dashArray=e(t.dashArray,0),this.dashOffset=e(t.dashOffset,0),this.dashRatio=e(t.dashRatio,.5),this.useDash=0!==this.dashArray?1:0,this.visibility=e(t.visibility,1),this.alphaTest=e(t.alphaTest,0),this.repeat=e(t.repeat,new n.Vector2(1,1));var i=new n.RawShaderMaterial({uniforms:{lineWidth:{type:"f",value:this.lineWidth},map:{type:"t",value:this.map},useMap:{type:"f",value:this.useMap},alphaMap:{type:"t",value:this.alphaMap},useAlphaMap:{type:"f",value:this.useAlphaMap},color:{type:"c",value:this.color},opacity:{type:"f",value:this.opacity},resolution:{type:"v2",value:this.resolution},sizeAttenuation:{type:"f",value:this.sizeAttenuation},near:{type:"f",value:this.near},far:{type:"f",value:this.far},dashArray:{type:"f",value:this.dashArray},dashOffset:{type:"f",value:this.dashOffset},dashRatio:{type:"f",value:this.dashRatio},useDash:{type:"f",value:this.useDash},visibility:{type:"f",value:this.visibility},alphaTest:{type:"f",value:this.alphaTest},repeat:{type:"v2",value:this.repeat}},vertexShader:["precision highp float;","","attribute vec3 position;","attribute vec3 previous;","attribute vec3 next;","attribute float side;","attribute float width;","attribute vec2 uv;","attribute float counters;","","uniform mat4 projectionMatrix;","uniform mat4 modelViewMatrix;","uniform vec2 resolution;","uniform float lineWidth;","uniform vec3 color;","uniform float opacity;","uniform float near;","uniform float far;","uniform float sizeAttenuation;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","vec2 fix( vec4 i, float aspect ) {",""," vec2 res = i.xy / i.w;"," res.x *= aspect;","\t vCounters = counters;"," return res;","","}","","void main() {",""," float aspect = resolution.x / resolution.y;","\t float pixelWidthRatio = 1. / (resolution.x * projectionMatrix[0][0]);",""," vColor = vec4( color, opacity );"," vUV = uv;",""," mat4 m = projectionMatrix * modelViewMatrix;"," vec4 finalPosition = m * vec4( position, 1.0 );"," vec4 prevPos = m * vec4( previous, 1.0 );"," vec4 nextPos = m * vec4( next, 1.0 );",""," vec2 currentP = fix( finalPosition, aspect );"," vec2 prevP = fix( prevPos, aspect );"," vec2 nextP = fix( nextPos, aspect );","","\t float pixelWidth = finalPosition.w * pixelWidthRatio;"," float w = 1.8 * pixelWidth * lineWidth * width;",""," if( sizeAttenuation == 1. ) {"," w = 1.8 * lineWidth * width;"," }",""," vec2 dir;"," if( nextP == currentP ) dir = normalize( currentP - prevP );"," else if( prevP == currentP ) dir = normalize( nextP - currentP );"," else {"," vec2 dir1 = normalize( currentP - prevP );"," vec2 dir2 = normalize( nextP - currentP );"," dir = normalize( dir1 + dir2 );",""," vec2 perp = vec2( -dir1.y, dir1.x );"," vec2 miter = vec2( -dir.y, dir.x );"," //w = clamp( w / dot( miter, perp ), 0., 4. * lineWidth * width );",""," }",""," //vec2 normal = ( cross( vec3( dir, 0. ), vec3( 0., 0., 1. ) ) ).xy;"," vec2 normal = vec2( -dir.y, dir.x );"," normal.x /= aspect;"," normal *= .5 * w;",""," vec4 offset = vec4( normal * side, 0.0, 1.0 );"," finalPosition.xy += offset.xy;",""," gl_Position = finalPosition;","","}"].join("\r\n"),fragmentShader:["#extension GL_OES_standard_derivatives : enable","precision mediump float;","","uniform sampler2D map;","uniform sampler2D alphaMap;","uniform float useMap;","uniform float useAlphaMap;","uniform float useDash;","uniform float dashArray;","uniform float dashOffset;","uniform float dashRatio;","uniform float visibility;","uniform float alphaTest;","uniform vec2 repeat;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","void main() {",""," vec4 c = vColor;"," if( useMap == 1. ) c *= texture2D( map, vUV * repeat );"," if( useAlphaMap == 1. ) c.a *= texture2D( alphaMap, vUV * repeat ).a;"," if( c.a < alphaTest ) discard;"," if( useDash == 1. ){"," c.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio));"," }"," gl_FragColor = c;"," gl_FragColor.a *= step(vCounters, visibility);","}"].join("\r\n")});return delete t.lineWidth,delete t.map,delete t.useMap,delete t.alphaMap,delete t.useAlphaMap,delete t.color,delete t.opacity,delete t.resolution,delete t.sizeAttenuation,delete t.near,delete t.far,delete t.dashArray,delete t.dashOffset,delete t.dashRatio,delete t.visibility,delete t.alphaTest,delete t.repeat,i.type="MeshLineMaterial",i.setValues(t),i}r.prototype.setGeometry=function(t,e){if(this.widthCallback=e,this.positions=[],this.counters=[],t instanceof n.Geometry)for(var i=0;i<t.vertices.length;i++){var r=t.vertices[i];e=i/t.vertices.length;this.positions.push(r.x,r.y,r.z),this.positions.push(r.x,r.y,r.z),this.counters.push(e),this.counters.push(e)}if(n.BufferGeometry,t instanceof Float32Array||t instanceof Array)for(i=0;i<t.length;i+=3){e=i/t.length;this.positions.push(t[i],t[i+1],t[i+2]),this.positions.push(t[i],t[i+1],t[i+2]),this.counters.push(e),this.counters.push(e)}this.process()},r.prototype.compareV3=function(t,e){var i=6*t,n=6*e;return this.positions[i]===this.positions[n]&&this.positions[i+1]===this.positions[n+1]&&this.positions[i+2]===this.positions[n+2]},r.prototype.copyV3=function(t){var e=6*t;return[this.positions[e],this.positions[e+1],this.positions[e+2]]},r.prototype.process=function(){var t,e,i=this.positions.length/6;this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[];for(var r=0;r<i;r++)this.side.push(1),this.side.push(-1);for(r=0;r<i;r++)t=this.widthCallback?this.widthCallback(r/(i-1)):1,this.width.push(t),this.width.push(t);for(r=0;r<i;r++)this.uvs.push(r/(i-1),0),this.uvs.push(r/(i-1),1);e=this.compareV3(0,i-1)?this.copyV3(i-2):this.copyV3(0),this.previous.push(e[0],e[1],e[2]),this.previous.push(e[0],e[1],e[2]);for(r=0;r<i-1;r++)e=this.copyV3(r),this.previous.push(e[0],e[1],e[2]),this.previous.push(e[0],e[1],e[2]);for(r=1;r<i;r++)e=this.copyV3(r),this.next.push(e[0],e[1],e[2]),this.next.push(e[0],e[1],e[2]);e=this.compareV3(i-1,0)?this.copyV3(1):this.copyV3(i-1),this.next.push(e[0],e[1],e[2]),this.next.push(e[0],e[1],e[2]);for(r=0;r<i-1;r++){var a=2*r;this.indices_array.push(a,a+1,a+2),this.indices_array.push(a+2,a+1,a+3)}this.attributes?(this.attributes.position.copyArray(new Float32Array(this.positions)),this.attributes.position.needsUpdate=!0,this.attributes.previous.copyArray(new Float32Array(this.previous)),this.attributes.previous.needsUpdate=!0,this.attributes.next.copyArray(new Float32Array(this.next)),this.attributes.next.needsUpdate=!0,this.attributes.side.copyArray(new Float32Array(this.side)),this.attributes.side.needsUpdate=!0,this.attributes.width.copyArray(new Float32Array(this.width)),this.attributes.width.needsUpdate=!0,this.attributes.uv.copyArray(new Float32Array(this.uvs)),this.attributes.uv.needsUpdate=!0,this.attributes.index.copyArray(new Uint16Array(this.indices_array)),this.attributes.index.needsUpdate=!0):this.attributes={position:new n.BufferAttribute(new Float32Array(this.positions),3),previous:new n.BufferAttribute(new Float32Array(this.previous),3),next:new n.BufferAttribute(new Float32Array(this.next),3),side:new n.BufferAttribute(new Float32Array(this.side),1),width:new n.BufferAttribute(new Float32Array(this.width),1),uv:new n.BufferAttribute(new Float32Array(this.uvs),2),index:new n.BufferAttribute(new Uint16Array(this.indices_array),1),counters:new n.BufferAttribute(new Float32Array(this.counters),1)},this.geometry.addAttribute("position",this.attributes.position),this.geometry.addAttribute("previous",this.attributes.previous),this.geometry.addAttribute("next",this.attributes.next),this.geometry.addAttribute("side",this.attributes.side),this.geometry.addAttribute("width",this.attributes.width),this.geometry.addAttribute("uv",this.attributes.uv),this.geometry.addAttribute("counters",this.attributes.counters),this.geometry.setIndex(this.attributes.index)},r.prototype.advance=function(t){var e=this.attributes.position.array,i=this.attributes.previous.array,n=this.attributes.next.array,r=e.length;a(e,0,i,0,r),a(e,6,e,0,r-6),e[r-6]=t.x,e[r-5]=t.y,e[r-4]=t.z,e[r-3]=t.x,e[r-2]=t.y,e[r-1]=t.z,a(e,6,n,0,r-6),n[r-6]=t.x,n[r-5]=t.y,n[r-4]=t.z,n[r-3]=t.x,n[r-2]=t.y,n[r-1]=t.z,this.attributes.position.needsUpdate=!0,this.attributes.previous.needsUpdate=!0,this.attributes.next.needsUpdate=!0},o.prototype=Object.create(n.Material.prototype),o.prototype.constructor=o,o.prototype.copy=function(t){return n.Material.prototype.copy.call(this,t),this.lineWidth=t.lineWidth,this.map=t.map,this.useMap=t.useMap,this.alphaMap=t.alphaMap,this.useAlphaMap=t.useAlphaMap,this.color.copy(t.color),this.opacity=t.opacity,this.resolution.copy(t.resolution),this.sizeAttenuation=t.sizeAttenuation,this.near=t.near,this.far=t.far,this.dashArray.copy(t.dashArray),this.dashOffset.copy(t.dashOffset),this.dashRatio.copy(t.dashRatio),this.useDash=t.useDash,this.visibility=t.visibility,this.alphaTest=t.alphaTest,this.repeat.copy(t.repeat),this},t.exports&&(e=t.exports={MeshLine:r,MeshLineMaterial:o}),e.MeshLine=r,e.MeshLineMaterial=o}).call(this)},,,,function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(t,e){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(t){"object"==typeof window&&(i=window)}t.exports=i},,,,,,,,,,,function(t,e,i){"use strict";i.d(e,"a",function(){return r});var n=i(5);class r extends n.a{constructor(t,e="inputBuffer"){super("ShaderPass"),this.setFullscreenMaterial(t),this.uniform=null,this.setInput(e)}setInput(t){const e=this.getFullscreenMaterial();if(this.uniform=null,null!==e){const i=e.uniforms;void 0!==i[t]&&(this.uniform=i[t])}}render(t,e,i,n,r){null!==this.uniform&&(this.uniform.value=e.texture),t.render(this.scene,this.camera,this.renderToScreen?null:i)}}},function(t,e,i){"use strict";var n=i(1),r=i(33),a=i(37),o=i(5);class s extends o.a{constructor(t,e){super("MaskPass",t,e),this.needsSwap=!1,this.inverse=!1,this.clearStencil=!0}render(t,e,i,n,r){const a=t.context,o=t.state,s=this.scene,l=this.camera,h=this.inverse?0:1,c=1-h;o.buffers.color.setMask(!1),o.buffers.depth.setMask(!1),o.buffers.color.setLocked(!0),o.buffers.depth.setLocked(!0),o.buffers.stencil.setTest(!0),o.buffers.stencil.setOp(a.REPLACE,a.REPLACE,a.REPLACE),o.buffers.stencil.setFunc(a.ALWAYS,h,4294967295),o.buffers.stencil.setClear(c),this.clearStencil&&(this.renderToScreen?(t.setRenderTarget(null),t.clearStencil()):(t.setRenderTarget(e),t.clearStencil(),t.setRenderTarget(i),t.clearStencil())),this.renderToScreen?t.render(s,l,null):(t.render(s,l,e),t.render(s,l,i)),o.buffers.color.setLocked(!1),o.buffers.depth.setLocked(!1),o.buffers.stencil.setFunc(a.EQUAL,1,4294967295),o.buffers.stencil.setOp(a.KEEP,a.KEEP,a.KEEP)}}class l extends o.a{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(t,e,i,n,r){t.state.buffers.stencil.setTest(!1)}}const h="uniform sampler2D inputBuffer;\r\nuniform float opacity;\r\n\r\nvarying vec2 vUv;\r\n\r\nvoid main() {\r\n\r\n\tvec4 texel = texture2D(inputBuffer, vUv);\r\n\tgl_FragColor = opacity * texel;\r\n\r\n}\r\n",c="varying vec2 vUv;\r\n\r\nvoid main() {\r\n\r\n\tvUv = uv;\r\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\r\n\r\n}\r\n";class u extends n.ShaderMaterial{constructor(){super({type:"CopyMaterial",uniforms:{inputBuffer:new n.Uniform(null),opacity:new n.Uniform(1)},fragmentShader:h,vertexShader:c,depthWrite:!1,depthTest:!1})}}i.d(e,"a",function(){return p});class p{constructor(t=null,e={}){const i=Object.assign({depthBuffer:!0,stencilBuffer:!1},e);this.renderer=t,this.inputBuffer=null,this.outputBuffer=null,null!==this.renderer&&(this.renderer.autoClear=!1,this.inputBuffer=this.createBuffer(i.depthBuffer,i.stencilBuffer),this.outputBuffer=this.inputBuffer.clone()),this.copyPass=new r.a(new u),this.passes=[]}replaceRenderer(t){const e=this.renderer;let i,n,r;return null!==e&&e!==t&&(this.renderer=t,this.renderer.autoClear=!1,i=e.domElement.parentNode,n=e.getSize(),r=t.getSize(),null!==i&&(i.removeChild(e.domElement),i.appendChild(t.domElement)),n.width===r.width&&n.height===r.height||this.setSize()),e}getDepthTexture(t){const e=this.passes;let i,n,r=null,o=!0;for(i=0;i<t;++i)(n=e[i]).needsSwap?o=!o:n instanceof a.a&&(r=(o?this.inputBuffer:this.outputBuffer).depthTexture);return r}createDepthTexture(){const t=new n.DepthTexture;this.inputBuffer.stencilBuffer&&(t.format=n.DepthStencilFormat,t.type=n.UnsignedInt248Type),this.inputBuffer.depthTexture=t,this.outputBuffer.depthTexture=t.clone()}createBuffer(t,e){const i=this.renderer.getDrawingBufferSize(),r=this.renderer.context.getContextAttributes().alpha,a=new n.WebGLRenderTarget(i.width,i.height,{minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:r?n.RGBAFormat:n.RGBFormat,depthBuffer:t,stencilBuffer:e});return a.texture.name="EffectComposer.Buffer",a.texture.generateMipmaps=!1,a}addPass(t,e){const i=this.renderer,n=i.getDrawingBufferSize();t.setSize(n.width,n.height),t.initialize(i,i.context.getContextAttributes().alpha),void 0!==e?this.passes.splice(e,0,t):e=this.passes.push(t)-1,t.needsDepthTexture&&(null===this.inputBuffer.depthTexture&&this.createDepthTexture(),t.setDepthTexture(this.getDepthTexture(e)))}removePass(t){this.passes.splice(this.passes.indexOf(t),1)}render(t){const e=this.renderer,i=this.copyPass;let n,r,a,o=this.inputBuffer,h=this.outputBuffer,c=!1;for(const u of this.passes)u.enabled&&(u.render(e,o,h,t,c),u.needsSwap&&(c&&(i.renderToScreen=u.renderToScreen,n=e.context,(r=e.state).buffers.stencil.setFunc(n.NOTEQUAL,1,4294967295),i.render(e,o,h,t,c),r.buffers.stencil.setFunc(n.EQUAL,1,4294967295)),a=o,o=h,h=a),u instanceof s?c=!0:u instanceof l&&(c=!1))}setSize(t,e){const i=this.renderer;let n,r;void 0!==t&&void 0!==e||(t=(n=i.getSize()).width,e=n.height),i.setSize(t,e),r=i.getDrawingBufferSize(),this.inputBuffer.setSize(r.width,r.height),this.outputBuffer.setSize(r.width,r.height);for(const t of this.passes)t.setSize(r.width,r.height)}reset(){const t=this.createBuffer(this.inputBuffer.depthBuffer,this.inputBuffer.stencilBuffer);this.dispose(),this.inputBuffer=t,this.outputBuffer=t.clone(),this.copyPass=new r.a(new u)}dispose(){for(const t of this.passes)t.dispose();this.passes=[],null!==this.inputBuffer&&(this.inputBuffer.dispose(),this.inputBuffer=null),null!==this.outputBuffer&&(this.outputBuffer.dispose(),this.outputBuffer=null),this.copyPass.dispose()}}},function(t,e,i){"use strict";var n=i(1);const r="#include <common>\r\n#include <dithering_pars_fragment>\r\n\r\nuniform sampler2D inputBuffer;\r\n\r\nvarying vec2 vUv0;\r\nvarying vec2 vUv1;\r\nvarying vec2 vUv2;\r\nvarying vec2 vUv3;\r\n\r\nvoid main() {\r\n\r\n\t// Sample top left texel.\r\n\tvec4 sum = texture2D(inputBuffer, vUv0);\r\n\r\n\t// Sample top right texel.\r\n\tsum += texture2D(inputBuffer, vUv1);\r\n\r\n\t// Sample bottom right texel.\r\n\tsum += texture2D(inputBuffer, vUv2);\r\n\r\n\t// Sample bottom left texel.\r\n\tsum += texture2D(inputBuffer, vUv3);\r\n\r\n\t// Compute the average.\r\n\tgl_FragColor = sum * 0.25;\r\n\r\n\t#include <dithering_fragment>\r\n\r\n}\r\n",a="uniform vec2 texelSize;\r\nuniform vec2 halfTexelSize;\r\nuniform float kernel;\r\n\r\n/* Packing multiple texture coordinates into one varying and using a swizzle to\r\nextract them in the fragment shader still causes a dependent texture read. */\r\nvarying vec2 vUv0;\r\nvarying vec2 vUv1;\r\nvarying vec2 vUv2;\r\nvarying vec2 vUv3;\r\n\r\nvoid main() {\r\n\r\n\tvec2 dUv = (texelSize * vec2(kernel)) + halfTexelSize;\r\n\r\n\tvUv0 = vec2(uv.x - dUv.x, uv.y + dUv.y);\r\n\tvUv1 = vec2(uv.x + dUv.x, uv.y + dUv.y);\r\n\tvUv2 = vec2(uv.x + dUv.x, uv.y - dUv.y);\r\n\tvUv3 = vec2(uv.x - dUv.x, uv.y - dUv.y);\r\n\r\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\r\n\r\n}\r\n";class o extends n.ShaderMaterial{constructor(t=new n.Vector2){super({type:"ConvolutionMaterial",uniforms:{inputBuffer:new n.Uniform(null),texelSize:new n.Uniform(new n.Vector2),halfTexelSize:new n.Uniform(new n.Vector2),kernel:new n.Uniform(0)},fragmentShader:r,vertexShader:a,depthWrite:!1,depthTest:!1}),this.setTexelSize(t.x,t.y),this.kernelSize=l.LARGE}getKernel(){return s[this.kernelSize]}setTexelSize(t,e){this.uniforms.texelSize.value.set(t,e),this.uniforms.halfTexelSize.value.set(t,e).multiplyScalar(.5)}}const s=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],l={VERY_SMALL:0,SMALL:1,MEDIUM:2,LARGE:3,VERY_LARGE:4,HUGE:5},h="#include <common>\r\n\r\nuniform sampler2D inputBuffer;\r\nuniform float distinction;\r\nuniform vec2 range;\r\n\r\nvarying vec2 vUv;\r\n\r\nvoid main() {\r\n\r\n\tvec4 texel = texture2D(inputBuffer, vUv);\r\n\tfloat l = linearToRelativeLuminance(texel.rgb);\r\n\r\n\t#ifdef RANGE\r\n\r\n\t\tfloat low = step(range.x, l);\r\n\t\tfloat high = step(l, range.y);\r\n\r\n\t\t// Apply the mask.\r\n\t\tl *= low * high;\r\n\r\n\t#endif\r\n\r\n\tl = pow(abs(l), distinction);\r\n\r\n\t#ifdef COLOR\r\n\r\n\t\tgl_FragColor = vec4(texel.rgb * l, texel.a);\r\n\r\n\t#else\r\n\r\n\t\tgl_FragColor = vec4(l, l, l, texel.a);\r\n\r\n\t#endif\r\n\r\n}\r\n",c="varying vec2 vUv;\r\n\r\nvoid main() {\r\n\r\n\tvUv = uv;\r\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\r\n\r\n}\r\n";class u extends n.ShaderMaterial{constructor(t=!1,e=null){const i=null!==e;super({type:"LuminanceMaterial",uniforms:{inputBuffer:new n.Uniform(null),distinction:new n.Uniform(1),range:new n.Uniform(i?e:new n.Vector2)},fragmentShader:h,vertexShader:c}),this.setColorOutputEnabled(t),this.setLuminanceRangeEnabled(i)}setColorOutputEnabled(t){t?this.defines.COLOR="1":delete this.defines.COLOR,this.needsUpdate=!0}setLuminanceRangeEnabled(t){t?this.defines.RANGE="1":delete this.defines.RANGE,this.needsUpdate=!0}}var p=i(5);class d extends p.a{constructor(t={}){super("BlurPass"),this.renderTargetX=new n.WebGLRenderTarget(1,1,{minFilter:n.LinearFilter,magFilter:n.LinearFilter,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetX.texture.name="Blur.TargetX",this.renderTargetX.texture.generateMipmaps=!1,this.renderTargetY=this.renderTargetX.clone(),this.renderTargetY.texture.name="Blur.TargetY",this.resolution=new n.Vector2,this.resolutionScale=void 0!==t.resolutionScale?t.resolutionScale:.5,this.convolutionMaterial=new o,this.ditheredConvolutionMaterial=new o,this.ditheredConvolutionMaterial.dithering=!0,this.dithering=!1,this.kernelSize=t.kernelSize}get width(){return this.renderTargetX.width}get height(){return this.renderTargetX.height}get kernelSize(){return this.convolutionMaterial.kernelSize}set kernelSize(t=l.LARGE){this.convolutionMaterial.kernelSize=t,this.ditheredConvolutionMaterial.kernelSize=t}getResolutionScale(){return this.resolutionScale}setResolutionScale(t){this.resolutionScale=t,this.setSize(this.resolution.x,this.resolution.y)}render(t,e,i,n,r){const a=this.scene,o=this.camera,s=this.renderTargetX,l=this.renderTargetY;let h=this.convolutionMaterial,c=h.uniforms;const u=h.getKernel();let p,d,f,m=e;for(this.setFullscreenMaterial(h),d=0,f=u.length-1;d<f;++d)p=d%2==0?s:l,c.kernel.value=u[d],c.inputBuffer.value=m.texture,t.render(a,o,p),m=p;this.dithering&&(c=(h=this.ditheredConvolutionMaterial).uniforms,this.setFullscreenMaterial(h)),c.kernel.value=u[d],c.inputBuffer.value=m.texture,t.render(a,o,this.renderToScreen?null:i)}setSize(t,e){this.resolution.set(t,e),t=Math.max(1,Math.floor(t*this.resolutionScale)),e=Math.max(1,Math.floor(e*this.resolutionScale)),this.renderTargetX.setSize(t,e),this.renderTargetY.setSize(t,e),this.convolutionMaterial.setTexelSize(1/t,1/e),this.ditheredConvolutionMaterial.setTexelSize(1/t,1/e)}initialize(t,e){e||(this.renderTargetX.texture.format=n.RGBFormat,this.renderTargetY.texture.format=n.RGBFormat)}}var f=i(33),m=i(3),g=i(12);i.d(e,"a",function(){return q});const v="uniform sampler2D texture;\r\n\r\n#ifdef ASPECT_CORRECTION\r\n\r\n\tvarying vec2 vUv2;\r\n\r\n#endif\r\n\r\nvoid mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {\r\n\r\n\t#ifdef ASPECT_CORRECTION\r\n\r\n\t\toutputColor = texture2D(texture, vUv2);\r\n\r\n\t#else\r\n\r\n\t\toutputColor = texture2D(texture, uv);\r\n\r\n\t#endif\r\n\r\n}\r\n";class q extends g.a{constructor(t={}){const e=Object.assign({blendFunction:m.a.SCREEN,resolutionScale:.5,kernelSize:l.LARGE,distinction:1},t);super("BloomEffect",v,{blendFunction:e.blendFunction,uniforms:new Map("texture",new n.Uniform(null))}),this.renderTarget=new n.WebGLRenderTarget(1,1,{minFilter:n.LinearFilter,magFilter:n.LinearFilter,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="Bloom.Target",this.renderTarget.texture.generateMipmaps=!1,this.uniforms.get("texture").value=this.renderTarget.texture,this.resolution=new n.Vector2,this.blurPass=new d(e),this.luminancePass=new f.a(new u(!0)),this.distinction=e.distinction,this.kernelSize=e.kernelSize}get texture(){return this.renderTarget.texture}get dithering(){return this.blurPass.dithering}set dithering(t){this.blurPass.dithering=t}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(t){this.blurPass.kernelSize=t}get distinction(){return this.luminancePass.getFullscreenMaterial().uniforms.distinction.value}set distinction(t=1){this.luminancePass.getFullscreenMaterial().uniforms.distinction.value=t}getResolutionScale(){return this.blurPass.getResolutionScale()}setResolutionScale(t){this.blurPass.setResolutionScale(t),this.setSize(this.resolution.x,this.resolution.y)}update(t,e,i){const n=this.renderTarget;this.luminancePass.render(t,e,n),this.blurPass.render(t,n,n)}setSize(t,e){this.resolution.set(t,e),this.blurPass.setSize(t,e),t=this.blurPass.width,e=this.blurPass.height,this.renderTarget.setSize(t,e)}initialize(t,e){this.blurPass.initialize(t,e),e||(this.renderTarget.texture.format=n.RGBFormat)}}},function(t,e,i){"use strict";var n=i(3),r=i(12),a=i(1);const o="#include <common>\r\n#include <packing>\r\n#include <dithering_pars_fragment>\r\n\r\nuniform sampler2D inputBuffer;\r\nuniform sampler2D depthBuffer;\r\n\r\nuniform vec2 resolution;\r\nuniform vec2 texelSize;\r\n\r\nuniform float cameraNear;\r\nuniform float cameraFar;\r\nuniform float aspect;\r\nuniform float time;\r\n\r\nvarying vec2 vUv;\r\n\r\nfloat readDepth(const in vec2 uv) {\r\n\r\n\t#if DEPTH_PACKING == 3201\r\n\r\n\t\treturn unpackRGBAToDepth(texture2D(depthBuffer, uv));\r\n\r\n\t#else\r\n\r\n\t\treturn texture2D(depthBuffer, uv).r;\r\n\r\n\t#endif\r\n\r\n}\r\n\r\nFRAGMENT_HEAD\r\n\r\nvoid main() {\r\n\r\n\tFRAGMENT_MAIN_UV\r\n\r\n\tvec4 color0 = texture2D(inputBuffer, UV);\r\n\tvec4 color1 = vec4(0.0);\r\n\r\n\tFRAGMENT_MAIN_IMAGE\r\n\r\n\tgl_FragColor = color0;\r\n\r\n\t#include <dithering_fragment>\r\n\r\n}\r\n",s="uniform vec2 resolution;\r\nuniform vec2 texelSize;\r\n\r\nuniform float cameraNear;\r\nuniform float cameraFar;\r\nuniform float aspect;\r\nuniform float time;\r\n\r\nvarying vec2 vUv;\r\n\r\nVERTEX_HEAD\r\n\r\nvoid main() {\r\n\r\n\tvUv = uv;\r\n\r\n\tVERTEX_MAIN_SUPPORT\r\n\r\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\r\n\r\n}\r\n";class l extends a.ShaderMaterial{constructor(t,e,i,n=null,r=!1){if(super({type:"EffectMaterial",defines:{DEPTH_PACKING:"0"},uniforms:{inputBuffer:new a.Uniform(null),depthBuffer:new a.Uniform(null),resolution:new a.Uniform(new a.Vector2),texelSize:new a.Uniform(new a.Vector2),cameraNear:new a.Uniform(.3),cameraFar:new a.Uniform(1e3),aspect:new a.Uniform(1),time:new a.Uniform(0)},fragmentShader:o.replace(h.FRAGMENT_HEAD,t.get(h.FRAGMENT_HEAD)).replace(h.FRAGMENT_MAIN_UV,t.get(h.FRAGMENT_MAIN_UV)).replace(h.FRAGMENT_MAIN_IMAGE,t.get(h.FRAGMENT_MAIN_IMAGE)),vertexShader:s.replace(h.VERTEX_HEAD,t.get(h.VERTEX_HEAD)).replace(h.VERTEX_MAIN_SUPPORT,t.get(h.VERTEX_MAIN_SUPPORT)),dithering:r,depthWrite:!1,depthTest:!1}),null!==e)for(const t of e.entries())this.defines[t[0]]=t[1];if(null!==i)for(const t of i.entries())this.uniforms[t[0]]=t[1];this.adoptCameraSettings(n)}get depthPacking(){return Number.parseInt(this.defines.DEPTH_PACKING)}set depthPacking(t){this.defines.DEPTH_PACKING=t.toFixed(0)}setSize(t,e){t=Math.max(t,1),e=Math.max(e,1),this.uniforms.resolution.value.set(t,e),this.uniforms.texelSize.value.set(1/t,1/e),this.uniforms.aspect.value=t/e}adoptCameraSettings(t=null){null!==t&&(this.uniforms.cameraNear.value=t.near,this.uniforms.cameraFar.value=t.far,t instanceof a.PerspectiveCamera?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA)}}const h={FRAGMENT_HEAD:"FRAGMENT_HEAD",FRAGMENT_MAIN_UV:"FRAGMENT_MAIN_UV",FRAGMENT_MAIN_IMAGE:"FRAGMENT_MAIN_IMAGE",VERTEX_HEAD:"VERTEX_HEAD",VERTEX_MAIN_SUPPORT:"VERTEX_MAIN_SUPPORT"};var c=i(5);function u(t,e){const i=[];let n;for(;null!==(n=t.exec(e));)i.push(n[1]);return i}function p(t,e,i){let n,r;for(const a of e){n="$1"+t+a.charAt(0).toUpperCase()+a.slice(1),r=new RegExp("([^\\.])(\\b"+a+"\\b)","g");for(const t of i.entries())null!==t[1]&&i.set(t[0],t[1].replace(r,n))}}function d(t,e,i,n,a,o,s){const l=/(?:\w+\s+(\w+)\([\w\s,]*\)\s*{[^}]+})/g,c=/(?:varying\s+\w+\s+(\w*))/g,d=e.blendMode,f=new Map([["fragment",e.fragmentShader],["vertex",e.vertexShader]]),m=void 0!==f.get("fragment")&&f.get("fragment").indexOf("mainImage")>=0,g=void 0!==f.get("fragment")&&f.get("fragment").indexOf("mainUv")>=0;let v=[],q=[],y=!1,x=!1;if(void 0===f.get("fragment"))console.error("Missing fragment shader",e);else if(g&&0!=(s&r.b.CONVOLUTION))console.error("Effects that transform UV coordinates are incompatible with convolution effects",e);else if(m||g){if(g&&(i.set(h.FRAGMENT_MAIN_UV,i.get(h.FRAGMENT_MAIN_UV)+"\t"+t+"MainUv(UV);\n"),y=!0),null!==f.get("vertex")&&f.get("vertex").indexOf("mainSupport")>=0&&(i.set(h.VERTEX_MAIN_SUPPORT,i.get(h.VERTEX_MAIN_SUPPORT)+"\t"+t+"MainSupport();\n"),v=v.concat(u(c,f.get("vertex"))),q=q.concat(v).concat(u(l,f.get("vertex")))),q=q.concat(u(l,f.get("fragment"))).concat(Array.from(e.uniforms.keys())).concat(Array.from(e.defines.keys())),e.uniforms.forEach((e,i)=>o.set(t+i.charAt(0).toUpperCase()+i.slice(1),e)),e.defines.forEach((e,i)=>a.set(t+i.charAt(0).toUpperCase()+i.slice(1),e)),p(t,q,a),p(t,q,f),n.set(d.blendFunction,d),m){let e=t+"MainImage(color0, UV, ";0!=(s&r.b.DEPTH)&&f.get("fragment").indexOf("depth")>=0&&(e+="depth, ",x=!0),e+="color1);\n\t";const n=t+"BlendOpacity";o.set(n,d.opacity),e+="color0 = blend"+d.blendFunction+"(color0, color1, "+n+");\n\n\t",i.set(h.FRAGMENT_MAIN_IMAGE,i.get(h.FRAGMENT_MAIN_IMAGE)+e),i.set(h.FRAGMENT_HEAD,i.get(h.FRAGMENT_HEAD)+"uniform float "+n+";\n\n")}i.set(h.FRAGMENT_HEAD,i.get(h.FRAGMENT_HEAD)+f.get("fragment")+"\n"),null!==f.get("vertex")&&i.set(h.VERTEX_HEAD,i.get(h.VERTEX_HEAD)+f.get("vertex")+"\n")}else console.error("The fragment shader contains neither a mainImage nor a mainUv function",e);return{varyings:v,transformedUv:y,readDepth:x}}i.d(e,"a",function(){return f});class f extends c.a{constructor(t,...e){super("EffectPass"),this.mainCamera=t,this.effects=e.sort((t,e)=>e.attributes-t.attributes),this.quantize=!1,this.uniforms=0,this.varyings=0,this.minTime=1,this.maxTime=1e3,this.setFullscreenMaterial(this.createMaterial())}get dithering(){return this.quantize}set dithering(t){if(this.quantize!==t){const e=this.getFullscreenMaterial();null!==e&&(e.dithering=t,e.needsUpdate=!0),this.quantize=t}}createMaterial(){const t=/\bblend\b/g,e=new Map([[h.FRAGMENT_HEAD,""],[h.FRAGMENT_MAIN_UV,""],[h.FRAGMENT_MAIN_IMAGE,""],[h.VERTEX_HEAD,""],[h.VERTEX_MAIN_SUPPORT,""]]),i=new Map,a=new Map,o=new Map;let s,c=0,u=0,p=0,f=!1,m=!1;for(const t of this.effects)t.blendMode.blendFunction!==n.a.SKIP&&(0!=(p&r.b.CONVOLUTION)&&0!=(t.attributes&r.b.CONVOLUTION)?console.error("Convolution effects cannot be merged",t):(u+=(s=d("e"+c++,t,e,i,a,o,p|=t.attributes)).varyings.length,f=f||s.transformedUv,m=m||s.readDepth));for(const n of i.values())e.set(h.FRAGMENT_HEAD,e.get(h.FRAGMENT_HEAD)+n.getShaderCode().replace(t,"blend"+n.blendFunction)+"\n");return 0!=(p&r.b.DEPTH)&&(m&&e.set(h.FRAGMENT_MAIN_IMAGE,"float depth = readDepth(UV);\n\n\t"+e.get(h.FRAGMENT_MAIN_IMAGE)),this.needsDepthTexture=!0),f?(e.set(h.FRAGMENT_MAIN_UV,"vec2 transformedUv = vUv;\n"+e.get(h.FRAGMENT_MAIN_UV)),a.set("UV","transformedUv")):a.set("UV","vUv"),e.forEach((t,e,i)=>i.set(e,t.trim())),this.uniforms=o.size,this.varyings=u,new l(e,a,o,this.mainCamera,this.dithering)}recompile(){let t=this.getFullscreenMaterial(),e=0,i=0,n=null,r=0;if(null!==t){const a=t.uniforms.resolution.value;e=a.x,i=a.y,n=t.uniforms.depthBuffer.value,r=t.depthPacking,t.dispose(),this.uniforms=0,this.varyings=0}(t=this.createMaterial()).setSize(e,i),this.setFullscreenMaterial(t),this.setDepthTexture(n,r)}getDepthTexture(){const t=this.getFullscreenMaterial();return null!==t?t.uniforms.depthBuffer.value:null}setDepthTexture(t,e=0){const i=this.getFullscreenMaterial();i.uniforms.depthBuffer.value=t,i.depthPacking=e,i.needsUpdate=!0;for(const i of this.effects)i.setDepthTexture(t,e);this.needsDepthTexture=null===t}render(t,e,i,n,r){const a=this.getFullscreenMaterial(),o=a.uniforms.time.value+n;for(const i of this.effects)i.update(t,e,n);a.uniforms.inputBuffer.value=e.texture,a.uniforms.time.value=o<=this.maxTime?o:this.minTime,t.render(this.scene,this.camera,this.renderToScreen?null:i)}setSize(t,e){this.getFullscreenMaterial().setSize(t,e);for(const i of this.effects)i.setSize(t,e)}initialize(t,e){const i=t.capabilities;let n=Math.min(i.maxFragmentUniforms,i.maxVertexUniforms);this.uniforms>n&&console.warn("The current rendering context doesn't support more than "+n+" uniforms, but "+this.uniforms+" were defined"),n=i.maxVaryings,this.varyings>n&&console.warn("The current rendering context doesn't support more than "+n+" varyings, but "+this.varyings+" were defined");for(const i of this.effects)i.initialize(t,e)}dispose(){super.dispose();for(const t of this.effects)t.dispose()}}},function(t,e,i){"use strict";var n=i(1),r=i(5);const a=new n.Color;class o extends r.a{constructor(t={}){super("ClearPass",null,null),this.needsSwap=!1,this.clearColor=void 0!==t.clearColor?t.clearColor:null,this.clearAlpha=void 0!==t.clearAlpha?t.clearAlpha:0}render(t,e,i,n,r){const o=this.clearColor;let s;null!==o&&(a.copy(t.getClearColor()),s=t.getClearAlpha(),t.setClearColor(o,this.clearAlpha)),t.setRenderTarget(this.renderToScreen?null:e),t.clear(),null!==o&&t.setClearColor(a,s)}}i.d(e,"a",function(){return s});class s extends r.a{constructor(t,e,i={}){super("RenderPass",t,e),this.needsSwap=!1,this.clearPass=new o(i),this.overrideMaterial=void 0!==i.overrideMaterial?i.overrideMaterial:null,this.clearDepth=void 0!==i.clearDepth&&i.clearDepth,this.clear=void 0===i.clear||i.clear}render(t,e,i,n,r){const a=this.scene,o=this.renderToScreen?null:e,s=a.overrideMaterial;this.clear?(this.clearPass.renderToScreen=this.renderToScreen,this.clearPass.render(t,e)):this.clearDepth&&(t.setRenderTarget(o),t.clearDepth()),a.overrideMaterial=this.overrideMaterial,t.render(a,this.camera,o),a.overrideMaterial=s}}}]]);