From 46aacd665823eaf70b7855ff23ad2b7fad093d50 Mon Sep 17 00:00:00 2001 From: camblackburn <camron.blackburn@cba.mit.edu> Date: Thu, 10 Sep 2020 15:06:52 -0400 Subject: [PATCH] fancier webpage --- .gitignore | 1 + fancier/assets/brain_space_back.png | Bin 0 -> 297998 bytes fancier/assets/brain_space_down.png | Bin 0 -> 304734 bytes fancier/assets/brain_space_front.png | Bin 0 -> 263791 bytes fancier/assets/brain_space_left.png | Bin 0 -> 222518 bytes fancier/assets/brain_space_right.png | Bin 0 -> 204891 bytes fancier/assets/brain_space_up.png | Bin 0 -> 255520 bytes fancier/index.html | 181 + fancier/lib/OrbitControls.js | 1016 + fancier/lib/dat.gui.min.js | 2 + fancier/lib/three.js | 43684 +++++++++++++++++++++++++ fancier/main.js | 93 + fancier/style.css | 89 + fancy/index.html | 5 +- media/favicon.ico | Bin 0 -> 822 bytes 15 files changed, 45069 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 fancier/assets/brain_space_back.png create mode 100644 fancier/assets/brain_space_down.png create mode 100644 fancier/assets/brain_space_front.png create mode 100644 fancier/assets/brain_space_left.png create mode 100644 fancier/assets/brain_space_right.png create mode 100644 fancier/assets/brain_space_up.png create mode 100644 fancier/index.html create mode 100755 fancier/lib/OrbitControls.js create mode 100755 fancier/lib/dat.gui.min.js create mode 100755 fancier/lib/three.js create mode 100644 fancier/main.js create mode 100644 fancier/style.css create mode 100644 media/favicon.ico diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/fancier/assets/brain_space_back.png b/fancier/assets/brain_space_back.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4bac89657a7ba7df3046950add4943749e2b0a GIT binary patch literal 297998 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	=Jk_S+O3#=<@rG#!M!t2 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%0DXF9m(*@phEv@Z@GD?zsv#K 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�Bez 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	A~TNm1|JbL!V^7Cn*WB%;^u$tMvHdRa8rKJ9= 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 Lu6{1-oD!M<IoM;z literal 0 HcmV?d00001 diff --git a/fancier/assets/brain_space_down.png b/fancier/assets/brain_space_down.png new file mode 100644 index 0000000000000000000000000000000000000000..9cb97df93856d8dfc9c1b18cf4eea77ed928e213 GIT binary patch literal 304734 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Ä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%0A_1t1vwy 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 M)78&qol`;+0D;4b=Kufz literal 0 HcmV?d00001 diff --git a/fancier/assets/brain_space_front.png b/fancier/assets/brain_space_front.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d45edab14fe0a9d379a7846f28c6745760fe25 GIT binary patch literal 263791 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↰V_`uzGo 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 literal 0 HcmV?d00001 diff --git a/fancier/assets/brain_space_left.png b/fancier/assets/brain_space_left.png new file mode 100644 index 0000000000000000000000000000000000000000..441d601c2775fa57d9f35011fc97d28314269037 GIT binary patch literal 222518 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 literal 0 HcmV?d00001 diff --git a/fancier/assets/brain_space_right.png b/fancier/assets/brain_space_right.png new file mode 100644 index 0000000000000000000000000000000000000000..09e5eede4cd9c14e8f83c83fe86614d5e45adafe GIT binary patch literal 204891 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�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€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ðcrKKS0xXphQg2GUb<D(furUVfM> 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 S{}>n;7(8A5T-G@yGywpFT9~*1 literal 0 HcmV?d00001 diff --git a/fancier/assets/brain_space_up.png b/fancier/assets/brain_space_up.png new file mode 100644 index 0000000000000000000000000000000000000000..2e198740d4904dcf898f9c5f16d4337fef0985c8 GIT binary patch literal 255520 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%0Aw-z&XJTvPLU%;?F`_$a%&QFIoo{96f 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	p87V*K5U(p8eP6UC3lzRo*mPe2;$9 zje`Yxueq&Nil<dQtNUlw@OjC6YXx!L1&L>yc4uBVelOE|@+#L#y`qT+-#zRP`o+r2 zK0(AR_}t3g|EYm1J)S<hae0&63?qh}2h9D7uIY4g=EZ$w&6hjcEn3j!nlLru{-f~T z-k=v>c3#+?GnY@C_2<Wne+pJQ>`Q&)QBly)`%hxN)*tcP?Y0HV^Gh`+&fXLt6RM}; z(!StE&*rx^ecqaTN=wh*VHCQbxx{W`i;%ou++o+W>#i@N7l;QgRDIp?;qdw^%I7`8 z4pfF76>^XdJ83!VvAEJ)A&GO*A2$EXEAmO_dw%lW;Rf-DSN=7Z+59VC8#df~Wt113 zF|*xd%T}JxCcjzsJ=^{&BVfhk$xGW$1}~}qVgJAU{-3S;|II%wJ#nqu(qD4L3&hH6 z9>=u&dK>?9`~S(CCM&X?KYmS*iKE28it*+R&P4C1!hQWai=UpTuKu!<!Q-RL>5~sw z8tt~k#)O?)9X!`jK|e>~Oyj=rt8br0?Ah>c{tVZSZf^OH-(B3#M;v*?-0<*o`LREp z^Di9y$fTg|ktNm<=a5jeOsh%r-p9)v*Wzw6Z~C`8p#3b9WaB=!dlEcqpFRZL^KS_{ z{n4Umi{|W)i_=*y)cYK~c>bx__B$sn=a#+@wvFWfzs^6K?TXf{`dd8*FU*@aW!mCL z*Kee6di~h_@7IL6`+nYK&A9abLdgD2?w2e4@(=a*>|bd7f61fATQ~1p^X%LG*S*WR zA0O%TeaE3b{nx3>n`#&@oUeO-{*FHTso&S{|9$h_X1m4yeP^dLe0=0R>xUo1SEif3 zy!RtkWi{`3SpB?H^MiR<))7g`W9pk;7%sQ;uRB@kbesQt+w@!d9~!64-#dHx-r2h{ zB0ubiaPYdYrS52SVRx&4#MNa%FWZ}#CkFN&KCxkD-EnbM!S;|@M|%CUof8cYK6K}} z^=j$*qH7DT>|Joc?Q>%Gr;TPd%a=a17K&b#o^N2yrp&yre(Oe$$)6K8+P&C)-S~s{ z<6VUe+WT*1f8DUS*?!`xUo-X^PCoT@yU~fVJByq6KRf@+S}u}vVfw7LeDNGxAJx4I z(eGDBFS&8`%dO{oI%PiBcuF!{T2=Nc%e!F)(|-NbSG^?%Z#fyfxu_hsp(pnb|81K& zF%I$SSMu)18hlACowqHyx?t9QQK$cl?$(ssiED3qJ^$ka|F}4T3m?MW1#WZinc&`g zV^@D(-rqAEHK~)7^-Ny+C{91`<iF>Lhpp}BkfTAxWe2?-aysUGsES&qbK@r?+dbZj zgo*dH=eh*ne6c~ICAF{9=wH((-TpHNpR_D***ZI!QzLYGPR;54|67l!`5tWh`=}u3 zs=nBStB1Qqaz1brm{;f(DL5~mdwu2Qn%W#A&Z7}soZD<mWa{;mfBS{)Hb~5UTzkSU z>#y0AuUUKdecR_0UB4}k<;nE0yKmP%pZt`0&)<`qetBCvIkWyYz8Czi{dPsm{_DmD zAK%OFo}~S|=i^ncr{6rzu4cV*EBe&?fcG&E?<|N|?mK<DI7js)b*bkCN{>0EcI~<v z@$<Qks>5`{iV}7CGhYwPZ926$XS?_l7prZX1Sb05dtBDZ++S?)ygb%zvYp%!w|7>r zovVHs6-lJebx@Hy`dq`)|B#lj*8bVjJ8ct~=RU1`$6UqLb^V;8{O+iAJw6w-_HT@r zttiO8+;Dx$*D@{93mmgqzq<JGupjN7^Hz}gw2g$<GmpEGZm}oV9-dVbq#K(3^7`>C znfk~-t$qJjUcY^9B2)T{4nx-yvGzBP?=XHQTc2pL<o)G)UyuIyV0p@L*_>$|Ivl29 zk8k${*mG}WDd=3us#V9yeDb49X2weE?Or#|7A7B^{wdIpbHTr@>WtrahOE^SyLi%& zz5dorvo52zmvdI~?K$WE>+lk@oeLkTo#QwA)TO%a+R6E!l+`N=l>%cw$@N&j^F996 zb?JA#X|H}gG)aGEqGkWQ`u@j5|DPS@nb04!eA%;)v40M16ga4@c!gzt;I`SW-P3ZJ zPqDg|++AY%f3kpDYjbpcvvWfKrXAMIbthMeo~d!wal3fkJ@mk1Ck3w`?>NoAExh!- zx%Ol7yDWjXck7Y@*!NcQ8YnG!csc38k%l9$mYO=o?!7If8>`t6{3d4RZLQZ`ww6(A z_SJ3qX|qm#`nF%)6_#7>txRXq{&tS{+AY}|<zK@8rt9<<8s>j}9CUmC@vX7kw|D=! z7+*haV_ol|i?`j5W!A=tZhEli(}_8=9y%)g__p}_lKqSK9N$=zRVj6rQJ}WXpu?x| z-I}6MeeIO5qW<nm{u`R6a^K4T9JhDIbEU@fS2$!A{EEweTa~pzKwH@7{i#p+Rpr8_ zigVf=4ye1&NNt=ngYVrp2W5#l7c!5md%oj}(}gE@ZtY~y5jWBMwNAF-x#&!r{1ume zwZ7f6Bg*n$;^7}jMtkgz<+WTgH27C2cs`;k+>}x9^r!1H${*hd)UQd=xa5?QdqdAj zIsA@++rMwh0#R#Mukv%da;`((_QQm^=HE@b6CNLl*s=0lw0_chX`5EbrWa==E0UU4 zpTCk@t+PPtX>xzzO5IP-cJOoEwy$j3@x0xywXbr|9g8y`BcvDEUXLjFyHa1{a#kky zKHcMX*FH?0v}#YmU*3lc`==x~6vfG!S&6(^QSxf(v=}*)HLF?6;{HA5?wL|$R2|n+ z!?f&S!~^}am(2Vp-mTQ?t>aa^5Vt|sx8(bR4;_h*?^Ll|jh-8OUv_ijsymM*f@Rmw zs68bhE&gK4%DOxwOU=E9JGRs<OZ&X!K@8jCmz=sqTdX%|%UQKWED(#lJ87r(gTwW4 ziS2m;DlYCDTR(~2N}R*myj<wwbL&US*IgIx%96SIgXP?wb1n-ePFI_7b~U$PX{pDL z%{leie*+nIE`PJQmyuoaAbagC@z+zkz0ZHTQgiA5m)q~>J!IT+t~K38zP9?6P~ayU zr`)^u-0$9RE&5x1w#aZ}Z2m3vwoB7~t(jl9X8(u!-J7=cnHB5H?iXm!e|Wm>*PRbG z|G)9xHho<=>vLmv+}52L63Z%t<2^R-J2S!enq`0b!j)@py;&rh?{;!)c*LG($)zP` z<qg;EB4*FL<aFM0!IrJ^C!H;pO5{G@(Is(M{W|j>#zTj%8U`-r<km?MD(*{<UAS1| zd6Jds##1j8c+M5MIbJ#yYp1(bu}!b4BUJX#;=d}>mfC;(Z1-&cqwBk`zK(Gzj$RY& z)7bOr@RGhB#@54k3U{0{G_yI@e)xQkmq^6*gAYP~KE2c)bl<8>a^i%=wP)7tznXSR zq<fdm^_MR?OdtJdo@3B08uVQ5hoYNX?8G!bpWQ`*of3zmZyZ?^m9tR#=JXg1_Pt!u zi{FYk#_5{8UjOS!aomrkaeZ+mrOAP3xf#ECKIqin6f$-F;#_8X%Oh7j=1kk7F6!6) z>&OfLj0f2)s*+2$hA;j8_#l5WGr#Vw`ybe(I|^-<MI;DBC^k%3wBe()PKI^o1xGuT z3YF7Vf42nYF=XzZQ5y8M_T+^Ljy+6lN9(LkJQgn7Yw^-ZW&XiqeM`H3_tyRrw0*Sk zfpE8WKC6r5ZM6xmBGJcOs$~OLZL*vvWM}_=X_mA6<P!#kb8O}cu39O7(RHQ!`VRh% z@MGe(pRHensK48|DKXbdk0&lBJNNFtslOMQHn=DA_Wqc+LI2<(>DJfZm2$$kHe6Y3 zu;WZ;`c8|0_Z*J(N{dv>ug-M75VN9e<4O?^`BN9QpI?1<`P1rW!S7}k{++$M&fenL z+%T0-r|+Dze|V<)Z)M@~+=&xEH&v%4ou1R@uXo{zUFFG%!8d358(+R(d}dzp#!Yo; z->oM!CFo6&D?BIo<kM;11i!7Z-wT4Pj@~{fbmN*q)6e2B!Ov$K+17{NQgNHK<599* z(h9k{)pioL^-i-Js*(k5^eYZLduLL2h@a2WTlDmbf_D!u>D*cvY0#=8JKbRYl1q*^ z?tfU>8P8aFD)9A*dD5~ys~klq=w=>zDaONn??>yI#?|NM>38UIS6X%Ee0gbA%q37( z>+2h{@74CIBLP1&lz46k3GMb=?@@X({duqWl83_Swds3auq&5lKD07STPHZ(PMEPQ z;=QKjqRI0AV}vGsUK&*0BIB4EcwPOMb6)aab?u*?HWjUVlAb8^9xDISc~Cv*X~+e$ ztk5r>MqQPr;w87*ICR_NST>|P1Sjx)Fs`^DbND0kyUigyYXVI7esu7b-fOY{v+Lc& zt-g8}&sHd;Z?`O%$H4Vp%Aw-d!beqHuR4CR99ZVH@PT4#mj8y1U4o1Ea)>&8I8l}- zcwos?ABDuJ%zyv<%8YRH*rik~G4sp5)S1bj=kGszpS#;GD^cM?YK`dh6SF#GbsTU0 z$?Tc!7kYKUyX@G&O`nQgzIraL_qNopJ;e31C?j#}l(pWM*RK92y|pXadvg1IkN=uI z|N4(Q<f;7<R{G_-K<}RQqf7Bu>e|mm?Gad-^G^1)LH>TZz3F*rXC)VRe~;wuasAWt z-+9aSH5TnNcb|FwM6`@gCu-h>pNnL}jnzf-1y!_Kv)WHTitSlgvCg%Xwg2-(-i^Ya zN)}}J>DB)de<Lfs`1LDIu^S0tN_Xa+Ioc6cJU#EljvH4laCA1;E&u-^GK#m={<&M| z1%bmeuJJo|syH2VzOs?^^B2qW>243yt_jN5zgBk(^h^6F&il9PfsJROvg?v%m#lbA z7|$fuY-1Jlis<UIx%wbDe7)JrGMV{b7R5YqludXf$ZnnKukz^8rI-BXCzj2T;$^!t z$MF1{%ff$N7(K5lUuo7Q_U*^}vN<M46zyi*-tyAz=tGN)x8e&waa`q2f4W2P=$oY8 zb!8LNdgd^f9hlYjZ~6W*r}cZhwk_0{$9$sXj<?dK8Sd<&KFc)L>+JotP%f6M`eKso z&PN=K4C_lybXVr6o1`;EC6;~3xxBq4EUhY*-J<aL*2@8GmUmxgtdcwSC|7sx;ifAG zZg9@coG?k9K}V4x<g0a_^`$5Ev&>&Azl^mg=Sfa#cs(VPFJ{La55-?EtC*I*kM)tc zw_C>dxq<Ya*e4dvRlM<XHE)+4%lWa_s9*NQgl9i$q8%^E&Db0GE%^V(^VvbpCmjDz z%5;73@bJ-?j$1$0Y`=DR^UoLkKZ-ZTwOo6@$!e=ZO3+5HQ07y5OgDlTb*}u`b#~*g zO$%q-zS7QMzy6<6;>xgD+TTkYI60npU486-^m;aHwZQ)c*PdJ2Es;BWDsRqw1+Cp* z)^ZE1wJ2I!8u2FokD$w<@_)Xkza9M{@cv27i=*>)8qK@nWm{oy))zj1+jH04c|L{T zN~)QsS09roo}ART{CWJ1BV6K}|Cl<wo1MP@l)>N5=QoVwf83a{oloxH?$t}b*?9R* z7T>v&S?h(o*5(Mst2-1|EtA<-mfU^poH)ys+$l%-6vLIfFMdrscYh7%i4Q@_&$DaS zD^|z6>6h`zm=(NXg^lLKbF&J6JX8%-i2XjHe{IOGIcyJ|6GSA0A3OET5m0)wN8{c9 zb;+04&wf?P+r_hGkHeQ4udMBg53<i<UAu0EmD_8Em8thutu0)n5m)+M<5)?L^h&1w zZ5J)R^a?K7m|82i;MV4e(@Ob%KK1**JLk$*X2%&li9a(V<|Lhy-nIUQXu~ec^fOx5 zxcM&}SR40vp?uft+8uSP3W^1HW<Po%x%~0UEEfSMv*)uuJ$d08D7Wu-%c0`+pI-Mp zUsW(??(4@_lD(}>1x|kW5xPWf%gi~9y)4E1l75xfBuy&(+UL~u?OMF!1#P}NshX<~ zCY_$WBh*>ou;rIWx$_v-JoK}2xmh6Swt*|{TpvqEMCRPbo)<PqZkTsvq9cD~<(xnt znJG!__4kskYd&)5G|f5jc~N{s%B@@64O-?CUo}s>ev@NM^qzvCRrRx%h)b2KJ~{hP zId!M@Uehn_UkpDlSo<nJvbiLo-*iuX(0-=<MpNtM?w39Y{U>>Mx5(eA+WEP6er<Kl z*Sxypc=wf_TGet>yKNULpZ&g>FRgv#%C37R$F~0Okyvx|_OHcPr7wR!S##yF%;Tlz z#{Tt3+gzh}M{f8O=J5Y!$cq?;l*Yuo>h#&!rMbW7?E6uz_ucTv8Qu?fPFy<w@~gJl zwhIrk(%(APFY~D?tkyex$7tiR>C?VVWS(w(=eO<eg%Qd(ZHkQ-uo?1(?A+nDM&NVN z!{sx};*^f7#2Q`Sx^&T+W!GolaMW08xl^XoL(g-eOhmMV@SgO^?ffTA+dI6pvaFi* zmG@mJebaY9qvLsk<}DuEUh#*2D^v@VZg5oGXxt@rR!d4WC1Qi~{L_8kE~)Q35`6Df z`16bfJzYzcJq!M9<(w}3b-y?>M^hO0)x&b1gTvXEKbDW&@NmaL%chr)!s|YE%Nj0~ zj?sVRb-?fA#ru_UuBsPSY3RP)!awofIoXMKR;;gK`I5YU<@uExz6l8D>&&nZoGx>c zBazuMRk&SPsc2>ADg&8xxoX21Wgq-(vfG72|6V;JxAd>~T`|+t4{M7SY@5^e?&CK3 zh@VOeu2fcTdQoE@XP)5V)?YYN(RVTPy5{5yTz^%>M3=2lt(8k#^!IfP<M;R8?)6Wm zUY@vxL+0kjhprA4^CEmwZ}bO!FWNGZ+0$F|uV%z4_Fo*cvyYlj<iG2_IcBn;mgLPf zHT&;127Em=uaW=UW}R0{uYR7IHSKWh9^o6AE2^Hvot(Q^ezS-y%lZ$$uK!_<yyvxM z{_%4U<GG@K?6vxGpZoCtD;3+n>;1oX+`slFOYeb$GLK)g|Cn%2c-Bnwub&u`K3}}A zAh+aocgObG*EZT;>COIp%Hc=jtv`SNu77^{?>}A3@?SS^?A-9J_MFYk&)Qo*@B6!b z|EaW3#bT#x<Qe{JKiJqg$vx){o0q+lz*mRpmqlkEFjjq;D^Ps>pwb!k>o)m;kB_#U zS=6^b;oF2R4)*$-gl>6vmE8ALKfM*jV`EOLZ4$T2+mgT~Wfk%Bs5<wthk?Z@xf%T% z9u(}bbM!bkUEud$R>1@68H;xty$lQcb*6J8>uG7}w;7y4xmhMNc6Ej;bT0FebrRbx z=#=+H`NHyrM{@Oxj_Uh;DQlMUDA=RM)c<vgO2D!0z56S9^!F$6{YwkBGjW-4vb*RF zn}?9ihPT4ZSDvV6SIpNu6KM4><>mQ>(iWRyzcLD*=bRq)<S2{Hr!&Sy2kQ?XX}5bg zRkTdJ`pMVmO+hb@&yrBgQZQwW&??Dece0%|<A7UQXnK}Z`ty@TZ2EU+83&YR>+q;2 z)qXj)rRmqxR{oD4?Txo=+i~S<0AJ-1^SWdDi8~_O#CiT&eRPerYEj_H5o{G(U!3-9 zWx>Kt8U>6S!f$NccJBSMZX3VIS7&pZm2!VXx0>xcVSiA?vnO5lO{dxq;m0@UbzG?5 z_<2g??Ea{qU;6p^<$PaA2eB`?a>`mnz%5Nx)wMiu{-yO>uGV}_DAaQjtbg_R)=$Md z=bu`c+5Qta^lAR3<#P?K-g4CC@wOD*Te^SR{;=CoC%c*dzSdDbUa>ZA>GkWfSD)U$ z*>LCkbk~1%E4TjrVsI_+o6VBB=gxn+H1o@5qsm9c%qO39<aCL@Q9kVUF7i6VqS;U9 zu`=(xdj98=xonfx{F>AKAaKLX`&F$mXOpLMm+dPPsi}MSvtxb30*hZOBVt!*?0Q@& z6S?KP6LZY1l}B9;|5(g8PiLFXj*Sz8d~(e6HheYyr1SQh=&F>`yxDfH^N-9u_vEC6 zz>JCwIpsRu?YdLll)5_Rt1A4PIDKuvSH;;(yPSiby~trpko&^CSYofqi6cF)JSM$< zF{Am_yN%0E)z4bndn@U(b<x4+?f;hYM+x!HeZ2pBc-{Zm_P-X}d!4oyn!=`*X?=sI zCwA}Q!ye-ID+QQLK1c;yy-GiG+QB-vb7jzNK0V($qxfIT*NeUlESbI4$9U}vy|#{; z`@Ub6T3ZMjzxZhMul_h|R^2Sc-ma<5TPu>(n-Vho<uiM0v>w{#tE;mL><sYg*F9`) z=;yyN>cH<u9oA`WK|3tJ9b?ly70eX!Yw1~gW~R*eL{&+xwr%r2$t($J^<m4+RccWd z49z)YYS(^Y;>WHz*F3|1ma69}d&e%=wbSH==>FsE{*QLFD{Sh2cXehM`;SR)vmeY2 zp6R_-e0%-fy006G{JFRLYCC^?R{!~@R_Mt~_XN%TR~H^j=gj~5$?&zy44eFU%cSEp zr62#=`Yrq)=YFd+Tc+FlH*H_)Gex}ocQ<=&u6}QoVSmk&c`LL(&wR(-_hX^N1-H=L z&W3YJyx(tFELy7b_mmFnn*OKE=FAUI=02*<GFqk=pyT!D?ELb>CtN3aSN%A#Idjtl z!x_JMOSUCXk6P|F&3BS(uKB&l51c){cj{*(?^$t8>|S}@vi_J~>)1_}J!nrpdP~+S zZQ_ytSxch!7zt+hT>jpqB5slG{OQy)e-+I`%gpqzl-{`(!>PeC&8GB{So>$47Tsg> z{5me&TwnD(s=xENNui>WT$k_`i}Nf87?-o1xTBf*Z9dCVLD9cimm>;ylxHm7x=n3) z)KPcF<kY0qdlzW3>wR{}JmVrKH=XOttlp|S+n80;RIYUQ?R?R;=kWroie&aD_J894 zZ$Gvwc<X}pnDt9twtTuR`To1+hwX2q)nv{unrS9J<8ScELbiRso(IGfwKs~qPWW2y z<<WHO*pINwPm-QyUhd?dIlpGYoy#Y+{T4m8S&?gB!*`(PbyP=#uil!!kM<-MoaH?v zyY{2&{1S(MEp-L&T}$4YU4QXu)!$#|ubV7CKc~k(uEMR&>UiJDiV0r1eJ`xcTlfEa zd*J_{eeCvrS=G0cJR^=U?`4ra7W3C#Io0}w9oM}VQCYY7@A=<};g8B+@0R!e_s%1Q zsTcR|EkEb}ef^u@_n~>I_db2m`m*r*Y|r>owNul!ZS&vzcIpkOU%x7simk4^5ofrq z{mb(e@=veb+WgO}dT&F0>b2wH_46z2x9zp-{;~UTZD!f?3u%uzoMxOq_J-+UlH{kz z1qFJ~C+yO>S973ecVw8-Hy^QeZ<2H>x;AZ7Di2?9$&#P(WYUSrEZ!-<<P@#8o>bes zJZJ5*6K+}-uQpD$mNk=mdf<rMub&U|dgV{)d8{}j+&nEp>xNv%ujOjrl+>rORIXaN zU+hr#rf%CaA8KyitE*kOowf4wQ&w??yAK$mQ<5&HPwfi)z3{mClLx_TK3+edGS#Y1 z<gbNj+(#R|7pvy(dYma9BO|r<+UtW=F$(Kcb+0{KdT(dT@~5H87k!kT`NyE_y6lT1 zB2pV&k5!r%w{QG-uBPP9#%mi6bhCV#QJQ!0wfC8;8`r5kXQ~rUH-B)=oZUjW?8sd8 z(Co5BEBL~_JdgboomqL3mE#`AUWQqnIpt-Bt=$64CyB?NYFTjj&6%ydl|9oME;oF( zm~XlDvDv@SJ)e(RMjv|M=23Gjt*3gP_@@)iGvm)@C|9i1{UlfOapD>4&b`Xv;ZFSJ z2e=zA7c5#bZ(T@9&Xl-G?k_D%j;#8fkpFp(%-8gjd?(84{(rCkKimG#VS69*GR|j# zx2iA5ofR!!RqJ$rg?*~!EY}@>Za38~|G-=Pc;}?;TmRLBng5v=^1=VsJ)zy1x2iVY z`#t^NDNErr)_Wg5-oGfjHEg|vyJ@eru-hczx2&IyTQ2<3U0-oKZ(p3@JhA0#=X$&E zn>GLW@1Cn0{Qo=c*(PVu<GTFr6StG15&KvFtKIQcaPJnDo_8z6bBp;m7Cq}cYdZhi z_uD!<FaM7eI~4zIZ@pQic#@s*gw{rN7Ml}aj2Uhy_^;e!AmLM6GUqs#QH|L2Ziauy z9e(K)P5J*<{@?fef1dt-V1GFIcU5S_bNiBd525-%i*@-dr`(goOKXqv&povFVCur& z3I3W}w(MJKe5&i&g<gd!p-J5nw?C3<E1edRqf@-3%yBwT*vo5MUKW*m=-BKs^<Qbs z_D99~^)IIA$-(U*of9~gx0t*rYtDFgIDYrz+TF?WW-DG@%#fG*xy5Cn{mX@EeNLQr z)%>fqED}CkGSUCaTl>h7VV?XaY36fEJW&tY9pwwOO1wBUlQ#&n@%h)E5MS`wOt_d! z`J>*cGm*xU`#(<B4m)`CU5C<o#muil8*TQnr^gv7uh9MI&e?AEe?@Q2d<lii;&PS? zI{6F#2sbjTTHN@SRP}t}7r}xE+s8`Pe;HQpkKi!-cf{>2V?*`A&m2ij#%&kY2uir$ zI1!&YbN&l0<GKfXT2>_9a?YF=Tys;x>OpdK%l^OR|L@dm9GbbNA&6l?(44BOOVguf z9q0d)@g($U2s`6P=lJE}dB0yLw7xGaoc3vI%+J$%PtKHCTlGpkbx!RCz3<xs>ds$p zsecjvYnz;#y-ECIul(4`^S3kPeop@0YSSgucjsH&joX!zxzaRG$G>^M{_3v2{sKe2 zOJDX+cwMpQSF!r(t@T&+jqdbuKmK>-_hR+R-%~e>SG``k(IZzn?e^=Ln>K#G7ys+) zm#tertu3D85anFk`+TXq{GAUwol_tG|8UA_7B}O+#&hNSkJ}4&#VmTX=)no0|1SiE z|G!xNlXds|+C%NnXW7Rud~45g>d?M^zs-kU|E^Ryzi9rUq-MFaZD~f|*EYYH;66hp z=fX2_t6fLzjWQ?l84K|gU0JX5{&BSVX3y)V61?Yssouo?@5EKT9nJ^Dy>pzE`+jWv zX(aw|z3y|Cx;{Qj?cC$cUoSmToPPEk|8CO@GRN09OjvyE1e@Xt_Sv(3`oPWtF!u`4 z*PI)0Fs?--eCbZX<2xq2zL7tN_xmYbz7G$!_AnoeowfCe%$kW$*LD{qJwE^cr~Uu4 z_P>|^U(+Y$bK_3f@dcLtbvhOsemz@U%%fLd_3v)nfo1F49`)-uh?spgjhL|@?TnRK zllzjbhZYN;RNkJSnXSBO?~NTFSBd}ZjdvFOwsvzs^}MDTM#Wpj<6U)<Kdm|JXmrJL z`2x$fi6!qG*4JN^<$qQ)Y1@S(v*c?&&smq`(&TyL!GZ&cQssGRxifZN-njnH`Ik9@ zJ7#(BD($(y>E%l6<hPqLdo6_KPc_|r=k@U*yUR+)UcXNlYF{6b%AYH;VBOTI7009Y zMcSTG2z?kZ?Z0a5$>LM;d%wQ4wf~y?w#B+{&CRc`za0PYdE<+|Q-;%y&E3%*@NT1h z+o`jKYPW?SAK%XZ$~pDTz8T9ed+1e0uQmV2ej&Qpc%#Sk+`iQCXI@Io=2O@M^RL;c zn{!9iP5&n}RsDbWFVjDs-9O*%*pbovSIwmEP4e#S)jWN_9#$-$x}D<&&(HG>enMvH z-|EAp-|hQxUvlT>BIU<_AFQx&Uu3_mB%%1hE!l;6O&so80m>q0o~<s=*;$aVf7U_4 zepZ`9$2x*4mKl`W>20>~XQ|mJzViTo&WG7n(Z4dkt8|~g7@(FFo6_AKYhIb9m+(aV z-i^JtFDWn>ePFcodY`sk*>#uh+`gzkf2Qr9{v^rM{-Ec<X%0W)C(ZPX-dM5s)6#00 z%Udm{EiQ;^m9xneU|zZ)H%apMk+pdnC%TJDiKOtkW%QPBw=$D)_%YZ0{+Er1RUCHi zUTwB;@%{IKp0a|uhQ}9u_y2#=KJfbT+x)S5d=0OkpFD6}Z-2(}7b#hKX2Cm*#igr* ziaL1u-)inT9B}v7{rX^*#a}$M)HzbVY+z(Fea>Dg`e=5bg?!+X+ex~oSc~=E9C$1H zqo;j_#uM=lPWQWP26{)LQzj+<>snrK8<<$@DpvPQ|H?f62W#bQ{`h)^el+>u&-;nn z;i=606V~5D1Wni8cxEj2>B7q$6=kkV{__TGl&L!{B)=@DyXyAo>h*;aJ~<an{dKng zsJ(C=Ltg#cb@CiGx8IA|KdyEAZCLf*=)9fWyqAAcYW%B{9rJIWKNELLI3;y^T<@Zq zb-{mEe>~%0s`vg@)zMW)wBMe(^h@ex=)0);ZSN%FU!HDnW0`VZW&OEdg_`R%rq@Lu z`6l_QI?UnMjK=dTyY=2_Y-HS|^+R---m!;iuAj2kZ!WA%_V3Zr__^}0PSLukWSQbU zHfNmN%WY3Dax|IMbLZprR?WT66$f_sEn>GnEnlbQe^jX_=T+sY1(}a02&&noSAOy? zzUH{$L-q!yO+WM|eR$H|#d!M!^L4u?`^<Sm)icj1^`6l<E4$j_nOcdt{vR*3rG*!o zcj!Cnygha5poLdm7mw@T+yB<I+Vj6*l-FOq!EXPFy@@L~e7v-9?c}qQ)vo#d=wO+C z>Wb#A!qa}w+Rom)6?s%x<<`vnnc?3J>oZ=lvNLkk-)y@3ac1U^NxKW?%Ck!{ZMnF7 zEg$cTi`(b<9f^K%SbkSApZzl@!DY#lt&T2dKfeBg#dMYvdyXd*toZd*Qo~0twEdtq zYgNI{2lqr9cz3;<-sHbxrD4`AAq9bBar*_Fmi)SML0o@ZL2~1v*Ok)>54HbkxGJ>Q zr1L2Ek<Z)0I)2Vw&%`Fx$`xMt%lY{!rtj75mmH=<A72&HbNSzm3i&VJ|G9h({Mfsx z>h;NQ+S_cC7&ewx+U~n#c1?TZtQB!@oo$<pWB6wt-c<M}`BI=;;!9P#{_Y)LKV9oy zdfC5v*ZT_XQojYFGCQWeUt)79`;GJ7PtybEUTw*%PJ44{{dMn^Pu||0cEer1+y9=c z)4IpkgWdL?eDCGx{Qt3qwroTBx!~dyyO8Vi=jr=5esZY&TAi{ki{s@Q%kb&!mo2L1 zImQ|WD!gH0W!w4as8>f^-2O-V(>FC<T3%_8Vf#su`R~H>O^4#tJ)32uG)+_&Cmnq9 z@RG+By>ASGC!D$dol{z~e!_uAes1#x4{<f<1ijp`$(-$d(F3M7-qhj+4Z^JNHYF$o zcWyfPvf{|In2rVO3vzZY+xW2gHMfmQ0aMYtIXh-NI?Nk+Blgboa~p&focF)7<3@n3 z)cvFSHMgxdeO*(vAYS?xv!-k9BaMJgOQp5%`@WVqy%4`{5HGN|kjGIb;>GOMCg1*M zth8q1=rnvh-R$tn=|7nCO{Fyjt#?jXIN!I`{fB9gj9tod|DMg4r2M2~`<{sIH?9&q zv&EZ}|EI>6x7rymGxiJB&A9UKl4Cw&zyJH!>e59|z9c@eKGvZ8e&MzZtMZN0=AZZ+ zZ~pS5cb8FOv4^InVR(IlQ@fz;Gs)u9ll6_1+1_1r@7rlu{K}|fuliccvOcl!@0VKm zCKWDYJFFC_yW^azpV|o#{SqFQxc@D}_U^l#_TQX1;aBip)337^{`qog^2d{ZmOaU~ z*8Z;-_{+BG%KSd9IqOUAZ>+1iUsxmf|CXEaztVe>bEi$cBe?kgt!4Y4zKT7yZQrWZ z#cxI4XC|9!e=ZIAnzPjYn*EgTO8@un|NdQW)qBCUU)Rbn%8XmT{$B3doZ=s6qAh11 zf4ct9wbRT0UwyMC-v52Z?emWgF50GV9w8<h#*y{^C!hQjui4kdz6!Z!r4}Z~JxVh? zQFSr$z#&2Aj$IN}yBiC-`kp*U3Yrx4VDVbNuUul1A+a}(*Zp~={O51=o4O6$%{OEY zZ|#jsdhP1+Rcpz0!Ff?fJHv$>bT4jmyt`*fzwTqMv>kUNo-wDL_<8xflmvs_Z2u+Q z<_ng`-(MK_Psuj(_2*9)J}=E$Y0`hruruN0)s>I(a@MZiUeU4miBIy4W!HU<PP0x) zog<x{RGe`~Kz%#oy1BFYe_Q+YOnp4{ja&MEr3F@Buir6ms0fSdTc7(QI&EDk-;<=C z-9Pt~>8#xNbWWFi&4#=7k8l51HZDFd@nL?k>+d61DxPSHOBr=fch8KmDcfh3rpNJD z*g<Y{>+?HuG8@(FHk_Zg@mtgHppM?@W-HC)Q__kYzMfe9Q+EC}yBS{H!oG(aCSAW| zruLY}_Urcgm*@YQer3qW{4TWJ-jpxu)dIfd`_JXs-s^euRQ^!(<62D{3+3<U>VxMO zXDywxw@c?~^B?v@R~xTdmS;Y=GfznUnfjGqe;t4MJbJeN&(yYKpJqmt@hQi@DNuXw ze)!)@+gJ;W0&T{3?vcJ%ADm!acI3AG3ICVQHQ7hnlCr0-n6-6lUGWdE_yxx-{d5e! z2Ce#PaVtmu<JRv1x}~2Y>-t{CubtXvcH`4_`C0ovoLYbEYu3u@<KHI+pSpBC>G;!U z*+LaJFGt-uTyeU?+t=>P_q*pm$Jxj;{4w4?ouBF7%s=7#YN8j&Z%}GDa(FIx`Nj(s zF`8>v>}BX^zbUfAJO5hbmrFe{QL%3#9G)3-^n_2l^X%-L(j~Di){;!d-9=vx*jRS( z=2WSR#6Gu?F!{M~q1%(Dr`<>8St>X7>i?FqKk(khtC?4C|F6ZhyY9?wsx2%Kt@3`~ z{X@EL|Avk^FT?HD9Fq;d_3!R3|EO=7-l-0bX`i|0txMvYD0N_y-M5o0HX0eq4`1c( zFP~)go-zKUyGAwp@_9ewxI2_1Op7~}zbu`4UB-F2zH+JI9_#bwA+KgFxpXnT=1hP2 zzrL`-lZFNxQ%xg&*K#xqnE8h+60faLun~T0qk8P_8sA6j_y64f?@;`YXZ`<w{MXvM zu=0-m>(`6_^{DtWeMv~p+IQmnN!D{YXC`jlS^T8M>Q}`I{u#|-Rs9do?or@-GUxgU zXZG6`LQ00}_hhboJlsF=hw5i3_G5VuC9j@nJJ()t_s8zd;bv98|H`j&JttvdkRCke zd8Slt*5AiFK1Zz7=a){&PKes}FQ`zW^ilhgI;nrRZv9&BSnFDORBficujaW&e*?;7 zeU3AoJil~e<j&m92kw4*weHS$*C6TZm#(h;`)&P|seAsM|7iZ~{LcA-=HaJ*Z%qD> zTvK)S=(DWiKey_SHoM=f+WXtk)bhvMPanjpV+tM@izZB5>Ar?5ee#!gD`!88G<m3O zHG6_xwfNy<v9b2G=Ve=NoM5x*?%|H*`FnT&?{a4zt}lh%UDI!@%-5cAFS7LF>pdY4 zo?h_fyRUaBIAP_CBNt+CyzP<Caq;-py7t%1x+7Z>|9oIvq|h8v*Dz~-dffy$&S-f) zr>oDb{qJn>Sz4;`V?l-ag{O(hG1K?YKCsuhcV6<*Sj|l@xT`|e|BZ_?In!I3`ugz2 z-k{oq&o6hpm)(AVS?cYSClQxt>fdxYe{|vOTRnv=?_x`C{aMiS{+Iv$424<zOPh}G zGL?QH|No=>boP7Q@e>c0#Z_;79?bC3Irv+jwqeXq`;-6goS6G>{*u1)b6@}1q;Dg| zQ!CYH7;FD%g4H?0zuxs3Srv7<&#oPnI&#d+(1h=wrhK7q-4Rv!J$XF0`32Ln%Tv|$ zInUH2uP#>o{80bz?9VI-UwNWh9{K#|^J8TW{3l`acVW4sw6oVYgET94`7f8h<n&$P zl4IjNe=KO4{pX71pXVJZcdQkzIrw{5@%nFFcU&37Z{4q1bLZQA!R!5J&$s`xs5|zS zC2qg>eF>Re9yxIf`|n8kZQnNKm4m%TdefReFY@o*`zUpNcJJb12fxQ2c@D?S9pzS< znTdaSRs3rE&o4XGq^2wT?egD~F8#90dF{Pxm*;M9mYvg={nXNI-Quq%_8;<hWG{bG z`rt@q@D9nv_jE4k)IOJXdv*MRVovAfSr1p${bTu%{{PqhXLtAWJlARbcuK!K*1rEu zO|`=PV7`87VJ_|)`soK#5>EyNA6t1lb<H=WL$1a(?{$>w#MkPD-I@5aGkxKr<BN_o zow%=F9R5VsbJsn^qw=SJxLW_4C}eQMB<8|nNj=d`Wo7?z*1g!R`Qg5ABm*PkJ?qUT zADC~6iNCCNKP4OW{@d&B|GHCMT-z-l{m<nH%YVhtcCF%DW}_v$eU46I-=7N!iOVNE zO=tAfkv<Y<xy$75XI~GYprz|NxW29SpP%CsXz=#MyXUe8+Sc<r6kS~`F}p8c^P^m? z%8%B>{&VF&R|o(5rTq5A&V}b#A14{FyZ2Vvd0|)FXD)u3H(P7p^(jxAsF_yubnY6) zHn%&!W`2v=;&nP=Q|Iqm$tPETibftinV(x2cwFWcE5m0_??xA<`VTYTze^8bUDm}@ zmzMMOy2B#FnhoY+KSWZC`?m7$3JSh_(C?FYVbS>*g?#IH*~M4e*R@ZSy}$A9M}Zs7 z{!y2#k}Yp6<NW_~9{)4DjjiSXxD>2bY>jfx|9e_~qkQPZo}+&Qxdeatu;1dJDzE(6 zSwjBjf`6+Wk6lx$pSsxly~u+7`d{+P&a+6?{SJSvS@~73ZrO45il_GdT(w0JzptO; zTHD*Zwd6^5@z3{PU;Tgf^=REIJ-fOKbzj+UdA(8U__lEFwcYo;3KxFpd8zq*rtOz` zseh|3-MY8&=ZVUt85c!W>oz+)S#B44E+WF`Q&MNDq4^pOr^cQ=<^Fe;ZvODIdEc$I zk$V&(ujF{g%-T4I-*06h|Iw-gJ3N-3Z#(wb&wfSQw;zjrc{Wxs&Q_L}dd<dFx6)}* zi))?gbB8sXJ$o`XPKn()fq~<!Yh3ijrE-=!`$b-S3J9?@-IBB{t55N$<X=afO?uzd zcJ1<=d8YZwjuSPHm#GHFBr;6iR-v6KW4L2oer)ZV7k5{bC*SdT)E)mOS>fwTk7mx= zPcPNZFXNtSvw7mCk51n5d+Q8@0;*<aUzkx|*?*G1ndy0&h@|=Myl)k$F$aryb|x&^ z@N?#dm5o<}o_c!hjk9ENI%w|_9CChcoqpagx&1sfDWBaZ>|gn{xqgm)3cLL$>E$zp z|5(bhUOCzIcY1SL`}tPp)Qq<(VF}HtK0i+UJl1Wab?5UMLw*OxL-Qnf1@|A4H}+y$ zcz<HIte(d=eQB@yoeTk1Tx<O&9o)cE`@_3-{rbPBUWe?7`f|Gd<JSXgVisFI5x)MZ zoBO}gy=zyafA+o(O`G)Xz>ZG6W4r$-8NWDRB-Ukk;>eFRI)7jEOVm~@b)I84nRiX= zZ7ZSf*12DIZ;_e%l%MnW>fj0NQ!d&px&LMTlVG;p?^FL;@b$mye7$6CZ})by1v$SL z$QY~VJ6l%z|6jTNXN>E6g%=rOo>G>(jN<QJP8U7U+i^8`ig%USwCC!#Tx(^IdsaJS z`N#6P7izx$BdSrK9G&%fjz%cAIqxjF!nyAm720b28_JaqEQ!|?llXP<#CEPC^9M>Y zmtq?>b!=Wxd^}gl;@dgf7CkkyStkW6C$`pd`?=o#o@Oc;R&<o9U!K?H_oa^}PoDMb zU-G<Nx97mmKa-mE&SjXqpSs^p@gh@PN>igrilwE)q<L-S9ur^N1nhWK-J-tJ=6IvT zjXR$*D{>Y@TT2||+N5mHy<0lXrXiQ-F}tnFg1|rh69U(o{hrUIymSHkd#<Z75ASS! z?ETI_GxMtYSL1c6$L!{aB+L~t+iZCC+^gOY-JF_(j|{i&$~$vLyfI6EL(Ru?<ul8z z`SvaMJzuCFTK6pBzmsnLjAQ-<HTLq?4;=A+rYyaE+X7Slv!;P6=`Hhjy#IeDLoW4& z)UO9;x@T;3UDuSr*P!MWa`C0&@l$PGf^Q4n{ZKl4VaM)m4KvyHN!M%bwtDy?X<~l- znUh&LzZ%~ic^$*`Ohc-?(&9!_{+wrX9-p|~$jaL<dAuy-!EfCY^EWNrW6Kz@j7#IM zwvNi<<vJ>xpPGNI{(5cpce|2|`4_{V$Jf49De=kp`aJ6H4C@==Vx3PfM*Yi*15I<C z+WTqs{$28~PuE{{7P=?9I4I9gyZ_A5A07WKS?_-RUEHbub@7*Uk(%1HbsX3K_gnc( z*IT{qt;`bRy>n{S)A=|48kLBvi0O)H*6p^~x$lLFRbs$Sfn{llXPU0GPBS}wZ%s>2 zA2-)0Mv2Q;zQk5cS4%TKxGN-a%C?phr=IGw|9Z&kQFvrkgys85kIt`p%>Afq<CVa7 z92ZxA$q=xrl<-VVUM-&Y!nLm^b8bzqc>gZ$qNiH_)S3e)2wnfE^5~oJe7VPbW#8NF z68=v0YOjg<q`&C962r`=ou*#9Umkku^zI3N{DPIN<=z@OULQ|df0>Z3A!4^};rcGq zs!SG<%4brW&T&3#wSIPFXVt=wmye&j(Jis-SKeWDtGyfz(|5M@NSo9YXkYJcy20b$ za$&CSliP((hI6JTXmM*8-#o9r<DpP}#Q}HS{hHVNHXgWq?7{N;=h;6jXyCtK<iDvh z+1_9OfTMprmxfxI%;5*upWU)_I`%|Z^zRXaZ7YxcPneNjyz$q8$;^NF<1L<5aFsAV zc$WHz{XJWaJ_B3OUE3+!_O4xj`9S5R<Odx3^_=hj9=%!h^KJh6#8xwd<@Q+{bF$B$ zS6m*|;{9_^>z&|l+I!63@@AiW|F_YG`+#`S`;Q@SJas?#9cZmwFPqY-9@u|xcd`21 zxiS-NBsYAV`De1&|7E+Y{PkYE-5*rgQFG$&iA(oi)twB9KPVxVE%R|=*o55-HjgCz zrv;t2(u#O_sUuWrXW7JR$=w^4q%Nv`(EB{(?C~VsUzZF6rC&c^6?fYE=fA3_*6*`J zc_kuM{>}dXYyaP8`+uzecY008&3AvD6vS5i+2tVnmLvT7o;gRw%r`%Iay031($ipu ze|&PG1qRccr_C0=+}BusFfK=gdFeX-9It~91nc)bVBb~Ns3hQUH}HY)yA$DcKbJY1 z_3NdXc525St|(IU$PT!=`<pP6!NbiF%ME9<bIEe=NVeN*`>1_c{*UXDi8`^Vhke;D zJu_zf-Lh2Y8UJi&m!L1_XEeRgpSk#;q5YG{lU7;zZyx8HXMT!5aQAkZa$)d=fSivr zj(oK*J$m-IU0=RT^XD&t>=r!dvuftlTswYXvOAaEB<~|DDmOK+>Hl~-oULwGov`db zOFqfu(!(=l-pg8lK5Mhw?O1q$b=VAs+^m{}<|Ax3L_SAKN}S~{6DhVcX0Mslv?tlx z;>&ZTjrHmMwI!cFd3rrN=n!qV^9eiu9D&+N6C{5B?7#IzV)hj~#_qVnnf8;<&t><U z!O-YkQ?pP#^^o!L4Lnx7uXFy#e0YAxs_d$|O-k5IwZ9n;{Yv&%Fm2!xb^G%Fcay*U zRQrV7o_P0bm;Yt|^FLjA%&d7zh3t#Y-FuhcS<ODZ|IF0gU#7;(m44nZ#Vh1-XW{Ls zZwiZd+=^a5H@f+U;rtWL8^5jl^L^`teW`|ePq$s$@0}^*|Lgg$rR(M{|0A4z`@?*r z_}8_0xrHkZM*da*yLa!mbvE6P@Bg%}Kkj?Eb%Lup_bhJV36&dXzH__C%WGA1XZg}u ztlPK)o<z2o{<Y9D{#$t1{Z`Jq37<FFclXO}a!40`?0z=k!Xv#d)Abq5ZpYL3oDZ>z z8DDqbcq1h}*+Grx{T7zfYEA|b9{b-gM%`z1N_r9Ut7YE0Z41*AmFyR#x(M4x>~9Y* zn`1sdv1Nm}`>|O+vh50&AAIJz|MSgb7d#Kl(eM2DFFSt4h6%3S^Pkn+KQvMH)xN1m zAE!>ZP%LaJe{!zKh6^{GSOgBqN@u@LWxi%pmad%K_k@Wd_wugUE0P14_mrP=De2kq zL!##MqWUwJPc(^6_*MS*#hxo0^u9X$J8(WCLt9TUKcnyU4Fk1jkwu|TUOdQI^FW_t z`H|yK6Bp+<Dzc<?wY%><b?fS6_Iq(U3pvC>i=W+=e)+%ZU;J^qRnK#!kNn|!dN!Y9 z?};Nn&UV`M+T5rq{kq<QUAt|?b>sBD!wv2iwthN$K9SAHz2i`Hal}1Ep0}D;87sVM z?#2Bn&s+O#$DZZ(kFRZ-b>vG=;)?jh!~f=puTry|@GiRV&#o<R-o{^?e(l-A7yWV@ z|G2e!E<dzd?#J}cr=0&NKQ&%GQR+|IXO34l_GTQN^LRO%USVzZ_Nq^hT=sra_m8jI zx9Mx)$MQt$zsFfBk8PQ#%Vm5}DRHaw%*lzR;qPtx-iCj!`fnttyyaWh=MBc+7Op>& zv`w${uf;4$@$`*7MfR74=k4yy@w%t;OFiPxeAALoTzzr7Gta6|7Vq1b{_v{Uq8mLm zuk?I$v^JOQ+UY7MYo1`X>sHF!FNc~rCLY!?`cv?Hdi?vEV|`4!rZeyFV}0i~k6X0h zIUl!_lU|E2r`{{}d4b<N8|O#P=P&q}nfE2?gZ0}E?}L3i9zGI&d-=XB>&Hinx4wz< zIC}iZmQ?d(B{lxLQ;wT|TFU!s<Mdt9JZ2v_yp`>hHb(rC*p|L1kngp{k{ORP?p^6G z>1k}#h+YscYMZ>t>~PhTU(aO?3{UKIH`faimMcESz4ywmzKK73*fWo<d#?TJS0}@d zT6w#<Ta*v)>78Hm;L3Tq0~em0INv%+oc&z(52*ltpJkk1&#kX@Qo0bg;$uAfXGdn2 zoe~c^_J}<A5_tI2fz{F%AM7nIaI!2`vpsK~<#3XH{wDvr*L}xZ-0XK<TUeMkVRNVC zO1naj<`|b-pZgYYE$n*x;=)Tysr(83_iJBW>E`yixLsoYgtzA_TY2>7Gc1UkzA)%m zmi2s@iN6(R`d_hAU3>QQ5&2U~J{m2tf2;H}@c+UOp2bh^zYf26^zVzqtMB+<&i1)+ zOKiv6sa2Nee{A>tTT}b)s#i$a<MlZczul19x&Mdw|3~KkU&#M|%oy|Q*E5+aiRSvk z>-8*gmUHuGKW0CWe=}zPy0@>7f2!m8vU+-aw$8K5_pV=hDl&V{pAFX@{TFy9egCN9 zt}78Um;F8}ICqVETd9ZliJdn#Xn0xjh*vZ+I4E}W*xyi?P*>z#`JyQ-=~0hBk=~6h z$@_O7j&Yds{MPJcMOS`2Kcu!w+PCs#{ENSbP5$@>N-BRn877u}ul%WYWj8}g$=&P@ z=9Md|mRSE?S^d1v;l<~yw6Z@AtwPq56M~Z7o#o~J{EL0>o;<df3G$ZpscsEIS1xQk z6d$N^Fz9>2y@^t>g^7HATio{F*ulp2Wgn+7ljjW!=Xjo!qosOFHXnU<WOncAorjJY z6}R1bqj<dg`_aed;`KKLle;1&bnwYbEqUt7oM*BxzJB_7t2v3CZ+@sR*l|%+zqs+B zo2L&ex9s63Ec@4VO8uVrP*dWI#0RCb4ubNwXV;$X?)>Gw&_3tIu`dGolar4-{JwZm zzUI<#nX`$1l<PnG>-TWqpUhwKXM=Lsr0DbF1+2R(j)@tS_PRIim|Xjr%goc2f9Icn zTJu9c_{+Sk`CY-Cz#t;>=<f!m_g}u9Pq?AF<i3mC(o@2xy$=?0&-i8YxBTGS^@p<e z3m1gQhb|5Kb}&L)UPdeV@!IeorV`ozl&^?S(bDmA?|OV8{zKkzPt`|DYttT_+FK-E z|9HjSrOV`Q)PL#!ck%Ek_vrOgW*@&5yXVRA$!~u-?9=;xY5Uf1=4;#SDsTSVd~Et_ zM@#AZtLOW#-FCn9exY4f%&A)qo2ufEnq{94t;?3(yPf6A|L2igr*SRd7re!Kt)5** z@b}7}CKeN_kC(kUWAQ+I<=4Oeb3UC*KgMIFJk_;Z{%g#Q<cSAwiZ>;lIpp2Gd-Bgd z#>zL=IVbLTcAl2e*!QnFw0S4<t3yYtXWjXlJX5H1%cU}APrD6@g%jN3qdsi7o;snm zMBs)%8gpEsg@~9>W{m7ZesQ5IV!GXr7w3FvN;Pdi_xnXb;*_Rkay%~k`4xY*PQLHu z>+>?ierBKWjlb^_<>Sm_S&v>nzU5q-mmNb|ai`7Vg?}TM^3QuuElgZ6N1P?^R`6>% zzGG@T7aX|1XQQL-K7IQa92ut<_?XS_=eY7r-=L<0FMi^-AKNaTPcjopnJH~{`QV)+ z3lC`sI;Zos%yc%6f8~6fv*!Nm^y0JPe+6<B7M9gr?9N{><y^t`<@1lsX82N{vsl|w z-0Vh}<cSWkWSegLDCPN&XV(-<@R>}#X2l@6{zvA%i~SrKX{E&-cCB_=JQ4wM_gW3a zL*}gJdLwA+qsl%{xbFXfoeUBeK15GgQsQ8qyVSNn{GI38rR8VBJLNCm?%cg8;_%}6 z+iH%yp7JAe&7R{QBwwXvef|@5**WR8Y}kZVl~23(RlHprV;GiRxjOpK)Yx~M|8@N8 zyIL5(q<hblMR$8@=05*g`nFzX@zX2qyJZr-X5U%;H8NXy&$YbQ#y{6*bbp?Be@@NQ z`^L%grS&SQViM*a|E5_U-KxyK=;b3P-P5d%g~bccbZzDqF3&%kI&B6=xp2YKz>8;C zgeA=Qk1K|n&nQV(bYI}Hs?_l5y9>UlUrq@%Et8Hlc>kQg%aNga`Ms-xOcEcPt=2!% zd$6=yA)Z<J_6Nre8!|5jt_%5J=w}>0bHdL9)8#k0nCP2d)7kO=f&3r;`+tttKhBrR ze{XU3@2chf4(`qILLEk~LDo;ae*HRSVUv28h4~WehTtxP$?ZAwj9*zq+8*bzGGgxW z{GxP!ccoR%fu7oJX+JNV2!E?QTf5;^ujr58)BIIFU%unuE|8<=VSRkbtmE;|lQ^Yq z?7n~In`teZUSjmTpl?p_?D<y`elA(4^81IBo!xqguw9;MdF)Mp1E(A`;;)i&^ht1+ z)js>JA&hIPQiJ1)Jz0yh*L*zKEnYmUtZ3;vw@1H!SiJf)M>_A%$N9H*Y;;W2TPkJ# zMf2O91#agmCUob$*y!;5(!`_odOo$M8qSp8|MRCg;i}Z<kMEdde^2<tBz(SP+OsKq z|G({9cmC=__KE3R3`|XqKmO{RZCgDdC+vOuisSb?=9f*mc4;!(HTUe~=Uc1Ht3{RB zzuo^Y|L>o9{p<YyZ;k7+*Z*8{U7qDf<<{E0H~#1^{hU}m->Rl2I%Z>N<qKKOoyX5l zk}vXW`QpBRj%!@imNWbZ!xw#K-{Kk5c)sv)#LmFkmF+uUmA>`MXJua)#&^eX^W&Xz zVM-D6cYkE~v8S@&*n^k#dUbzlrr$1%*_yZRw)Y<4`|jooC-nZA@J>hJ#V_Av`~Q3I zbe?BAbZAkEQ*YOM(^*#{EuOk7`H1=aEq=-(&-6e??&Zb@&zjw(?(8}IeBD*+&nGqp zy71=qal6KA+}zlEXR(fq)4umT>H?KY6Uy`>x_W)Y|DIr|;@b5k*qJ#y?zjBMS^fgr z=|L}4`7L;3<L7O-=~{6lO8yz2;fMOq>;He1k=A@vo98I6@QN|;h_gqJd(Mo@c`<@L zZl7i)S#&nOUU~IB`=J+)%DL_Gq?a1+uTENVn_D#JsM4++r`Z{^q@-ux^!R1><yVMH z?h5}tHty_`$1CT^pQ)1HJh9N{il*4YH^<IhR@h&mQS(eloU!K7zW3XW^*<R_ykV(7 zuGbsm(IS_AWL}6<x?Dr89?SFfLbGPSczH9$t1@VUUH#dK@{Yw@GWR|>y;$wuHT9QA zCd$9b+fz7CSZCikVfLhw1t(%FG}QID4WC}E>6QEY^nLuJp5zA>^L_<(G#rz$RGWA7 zs2^9+9BaFs9`=^Lhvf4aHNO5lcp$~~W#Ftya?N7rwErvq5;m_7kA4xnEpPpl{w=5f zzKuG2|M||u&-wRe%+YqfTbDV#Jayhao39JP>s8~by>tI|ec$=y>qFzYXCM6vI3NBg zs`^uWI`_|&=i{IM%Zfj8J1Xz1`LaiGE7P-0=WRK^MtS?~!{HU#>kZ!sJ~^%VZFjx@ zYyX#D*Kz+zuiKlo?`y=3^uvXJ3nq5x>lkhRaHmz^myVQ9oKD1nqbme-`T~N4?d@x= z7<T4Pubz9Ru~pNaA>o><t}SDD8t;{$zlU0C4V3Ku?av9iv-gO-ZA!A`FP)k@iJWUp z`Hpe-?of3Jp1JgDaAfvw>$PPck`={wDzd!4<LN3bTO4!!>;Hv4dC7+_iPfy=&s7L+ z&gS;~b9R&L#ie2EJG_MzFD;grHUB9UkyiD=QI)?Tyfvo%vaMs0#FOd0(=8|J3B7VT zX?dkD`C>MYyJ}`fN(E26zR4n=`&>4=EG_sAXW1Rw>&$nzX|0Xs1erT0>W=^ZF0|s} z{O)~M8ooVRyl-x|V{JyxQC|6GH*N{m`yV8&pIFxX**NEz(4lUf<h?p`xo%rDapq*i zaR?~;+w5U@kuERceaiBA$b=U4W1)Y)@+Ur7?%(_K$C;z6cM2Pq9A8s*U_(J(a0G|K zL+jQ?kKf()%pp#ebFJ=b=zm~gx+5H}n(@9U`TN{`Not`_3u_wpt(brKmzGgm+m4TF zQJT+Z9J4-_E$^uu{Qk*9R`xJK(M^AM{_lRvo~%^!IpC~qoVEAQHGNlR?7Y@4aO~)g zwdGUF&+WFC|EUo3YMb9QE8+el2c_A~wa-|8esy5UVV86MpLYbE$dSC2C|dCN`;&Uf z=A%_ryCYT}_pfcR5q|Qd@U2Hid+TOytw+iBc9*l}tloR7``^9$H-##XbFxQ;ZQ6O` z-q};<=4;2#^v;j}JLk>U;x})8Z{2wETPBAd!(;w0l_u3<aV<)Zl@4>H{=Fb(F7_df zVad|_u7+Qx*s<mDRi)4Pc4xwl(+r08zh)cW^iRG2{R<<PIroekcP<)~-H^4~b+_k+ z$S%hn^~y%}5lKCNbX>$zHnmLO`}w?mS!$zAcgmj+oo=NLFJBirx0Zck5_<pnv!e4+ zr}}3M8|RucZuDLI-|W@;ZnN5iwbtuJDi8YbT%WtcfV+CDQr?ASCyY<YEOb!x{~?}p zOoZ!w_wq)aoBYaGDjUxpv-+7-tnHTZ$w+Od4&(BKbE_=fE3BIGHuUu$c+b+Y_rgWn z$5OYyFIr?)p)aHOBBq1E{r*|m-BZrIj{mgq(1VY*;-L<j`;RQ<zF1zjO3-ZvSHSW$ z@yYGomVb=2Z}rHSE_$#u?ZiZe)1T#i3NNbqeL8z={(8xO^`G{02JyG#%TIj2PC6p- zuwOmPv~&NxHZbt&TPm#Wi8KGd@w~;+GX1I+tE#K~_D742itZOJd^)+|hvc2(tPEjV zYmVg??3lGh<3Y@-CHG%_IP!ZfgI%E3vdRAr*1n(qb@q`B`~Im}ZFSnV@6?{jPk;Q} zc_nE3z7?xEo=@F9=lm-@!ReR(P5veLdTMm_`k?dkmY+W(;Ma8a=Cco)(e~4dOz;1# z?t3tGU(oigF&goYr$(>MiqU`l{8-K2I;F)o{{^l8H&1bOr1sKvUtaA$z2?pLD|&Uk zJ;$%y-z1URX#I~v@_q2-FSh?a{JkVE=Jevt_RJkuH-1uhnd~ao_vP=}^$7tlc1Cns zv8?onS(!I~wYM0nbj*tr)6PFiJAG99?Uf4;s>NIH=a_hFr~g_RvsKwz+~O7MeeT{9 zn>u?~#oxz2cg}2!UM$$5|1<UO6<s++|356=I-Wjt(b7-fi9GC()p_~lsH@n8tv>vm zGtO6iQF=bj(ynu2>-~2hRaY(i@Qq>4Z1oqK$*(WmY++qxQ*Rh}db0O(pHRak=`S`s z?E4+?{m^Qrg9V%YOiuDv>~LRK9VijKIWcs*(W^)D#aFo7Go=-BWjt&PcL--&Px%qa z#w;>(;^&ni8)o$H6J=(39Q4pq{?hj@!;ojT|CHvQJn!ZwzkmPdSJyL~8Y3!elVm>d z-w&=*6teR-m{ELg_g6v2PrPER3o><A-hF+)BXRZfPfrpJX4StDuJ4*%eLyMy=B$cO zGdXwFZDZTX@xzvZYtdvj=54IOvWvD&n4##M&3ga!)n$EOSgxIP`{P{EwRcPWPtpBb zj#dW#T=F^ZnNmna;l6L_kEK4moyVe^^!oAh6Kj9;eRx~{=uNXrU4Gv5kA8n=TyK^y z|FA;-gX8}KxwS`YpW0U+Zx75bU2$v0pQH8ep;m9sUI~tq=V$K;>iTGz_Emf1aX$Bw z^q87C?8QCnj;Bo6^mpqEF2}TcYCNBl6|TJQ?4Icw@u??VA<lAZS^w1c9~bZK`w;wW zYwVlerVnv@tPfewpL>7K+dD6pE;!$x_~>=ctjuYLy*g{EMC^K0J6kW_X_HS~+gEpg zyW6az#(O3o{#v%7vLiO)?W1VbzO4xf^1DBV2j2`?F2T*MSzEj1;<qD=mnS9|#(mki zxbD%7<2NlHFY0CcC9<wU<JA%&_1Y7rbEJ-2>EBu7)b3(go~pAZr{Z;gjP<r_^;b_k z&vB4=xj5sZ*6hc#rX{FbJywo*A{u?HquS=619xQHaeFJxoCm=&z9(gNOfa%B7dAg4 zFhz1gUWs7Q<})+0?SDGY{XXrl@$M`S?nsuR`EwrdNIafo_Io<Z!W5YqcKiPcA6(@( zS?r@w%B^+TJ@N`S((k-b-lbadKU(QtJMa1J9YOEyKfY`?IsC9se!q}?#QszBPku~k z->3TW)4~9?L%$dlgq|ta&DK7@Ii~DMeYU{yed6ym6B8z?vpw!`mF#ZZzjeF#vaPPi zctXNM{Pi~e59-<etLAai{E7wQ_GNYbvFbiK-LrmuWLa=*QQd~wGj6*-TKrY{-~Y$Q zjM?K`Z?^0&y8rdoeVP2;bH<y`f0LccC$-7n_Lux=ZKkmMwm(-er>fpxI(?tfmH9`x z_x`i3b@}~!srBWMe}V1tPC6XRzg~YTy7-@2{_K~%iRYWozUpP=o_|y0?cDO;;*9^r z{%6Ne-@MJPYLn3NvWtm@r<6~`?pg4*?eL+eU7H@arhSOj2vYVg(NUOi`7UpWendvf zhC|Dyw(c#DSRA!Q&&^@E#(q<UBxbvq%$$H9oV*i1Zgx^Vl&;)oBOkI`I_bubjnkU$ zx6U|P_(mZ9%5FiINqN66=)8P9UAm^DcFF8QHv@@04bL{^^Rj7TbrH|w*)E?vZGD1a zaqB!rUjMFdJ1#E?f1GqFv`$87-HcxihaSxN=pAp}kt(d`bo{Izr=`->Ba0mGEmFA2 ztH1MebMK!@`F@+04jHQ(th0DEiVl}F3#wP7|2Y}0Qp4q-yf^+c<NlAbM}nqiS^Juo zKWlkAaYJl;Z_xZgN%;+p&wq4p_U2`_eB;#oR(Z}9AE~ZQ21yM2Kh5s@@=2=sQqH^I z4=oQ`sqdX3IR9r;iu;C-iRLEeZ!#}$U$RV7Y|mBsTgg48KKCtb434hsH{;)C`!F<n z`?i(?1yVm|zlvdakrPq>fxZ62S^c_?+%sP({m;>PwXl1a(@O0P@qHV6_FC_#6H9n` zmgCZ5`>x|>n0Wu6l5gWJy8cPxfPmh)8=)^a?0+oYHzm;L)!`d0>+fCjXU<+(`c-fL z-=)jq3NOyDyLKya{YrrkNrH>M1$C8giL1DOUvh3pu5JJQ#g$i<Eqt+UJKJW)95%t| zQ^J33*DbFpH52q-yKQ6HPKCAKj@RfuU*Pid=r@MI&e^SxrpBL(^yd@kb-!bM;QB_d zK90}-U%uq-@esB7cdNHe`0uSqTd}*rNx!fEssD2D<GVxq*-qT$;TE3L>Y<>w^!56$ zda25%lurMzzR#+)Y>&f?qb`?kDmFg3eC&r$&Aq2Z>1Uk8<=VG?{qk66#;FJXOKS8j z>Ixn<#U8qB*K5+;`t#n&+Z?8!5_iw+t@}E`Is3^X8;wg39zOp0#d_aleVb0fx*uQH zUF21qlEY{Bt?u9d9}GXQ%-9_#<I;X7uwWX~Y1wHynTqWXTNlN@T(z{W#`cfXD)l^; zv^(!_D<065V{4vS@k>JDfx_}vzog}o4<D1as@f$RKX>lKmE3VZihCE@ZF=_X`v2`_ zRf<y{blBQ`yeYKk;l&-M8<WiKOD%Q(I_(wuFfk)jSF^p(@y{iH-zO6cPsg*qC^tAT zv&6#gNT%MQPm7rzes(!<gE4F#V<*E;mzipNZWPMZUfyptfg?H2dd}J8BQyCe_|zi) z#MT>_>A$Z3->t;9%p@cA>U1BO8%%udPCRMPt%3x!e4lB270oKC-KDtmXN0tGM^7<h zz{dPtKl7ivUpI|wuiJ9zJJ-Dn`@-LNKdbt(w1H<$z=VGr#l$PK8SAbbJlH=sD)#mY zJ5B#z)^BdPq}A3<|9Rv7$&J(Oy{0hzZ%+yPp1t#H{p+hYs%r25^N(DAcDDMo4QJn{ zPqXWOTs32|hL=pV`1E^QKS;j%emU%a)o!tU@$Zip9KCn+<W)@(v0jbM3QzRwg#*MZ zKlr)m@qIn<;=<jt-LoFe6TIuWa&`>g{-okEXJtM!Zn63&RoC17zwEAfdhU`dPgK0# zxy;Q0-<lZ2mF3sO|M!gh`LpkP+ueYb#)~&Hy7yd-_OV#OZ);S$MJrUTPU%Xkb<GE1 z^@5h}(8JgJkF@^R{PD<j+L<qb9*UcvC^vjt7~p6A_LtVp7^NnW8Gp7+aPE-#{Ajva z`GyH{4SlOCT@_t7D7gMR65i)?MbhSHP6NNq`vl`>e^<qSVQ#ybFtdNl)Z_PZ+)52= zzdT#Z`iv?0u=%;t%U)_1uQq?k5mpv+;uRC0^1grH)rP+FGV;a8Y7&H{m{yiM^X@78 zo!;^_p1pz7@A1osw&*D4t?Ift^W7FalIfcBO>v3r?U)`(dzCwnnWj%pFqpY`ws_93 zyMmna=3J@&G|8@r;o&KfS+o1ImsG~g^p-#RAgV7o;n?xBieIMQv~t@lrE{QBZo&0` ze5}mwFFTuiUrv8Dk@>K<<n~MQ*2|~Wem%ajdHTOBk>!7XrzB1kU;g#A;QH>OxAn`~ zw_lJKi$ChON4!2&yW(Sb(g(MkpR2EK$>l$tyZ>^04c8Xo4y&e&E%N^@H-5fsa&JZa zOGoL+()q_<{@Qpie{bdw1;InV_H4Q`b@!#?^H#G9bw~W28(uK)=~TO&JqKLZeOY}+ z>4<SS+o#}LbHl%^=l?RVaL%3{#V_yQWNf=&Z}py!amJ?S?71oN@6L!mm>~4GIkfBe z*WY)qD{tzIJ*36bfBfD#{u=jl60Z*HU%tNmLdVs!(mY}ob0X(le0h|4!Q9{+otL7* zMRh;+)tWoJpSHL{DM?lK;g2WVSAUGN>t2;K`Ml1G{ZIJxN<<IbHDma=bN=GKxi>yE zhppMFd8$$T|M3~0ZZ)XMmdmzYQ5LnzeYCZYf7|8nPMrHs-mSSkH}j?9r-?UzPVL>Y zu|=w~SYq>5<}{hD%nD2Aw28jd_<gd*Awkqp=l!!s>a&aAzuC#=#P|CJoA7?kohytd zefVLRlk&x~hNC0PPAGH#i)O=$uBLYXgd=SA<?l7mxILfBx9xD+V|Dh4!oQ|JbT^pZ z`s<~e8{YxH#BUwWcdSGV=kYD@dDCaT>Z0cw1<&J}e=h7yT50%MQ+T1x-UI7TFr3QI zn*Zv8`n(5O{L)P=b0l)K=8Kgr`;^ob;e0vWfT?~jhupWVvAh4M`?1*6e~5m0qEK*l zlm8ws`JER&n~U&#n)o|(-UG?me2XRa{k*d9oGrulBlSGLr?HD~{Z=$1qOtK*Ww*Ed zJcb1yHZCYS{P#qAQ1bNe&Y!|ReHQz*eun+A?xeN%-oHBheBRz5`(Hm#E&rbU_eWvT zOe>{4yL+#**Uwr0=WE*Ex?3(nZ`FBw`=1^^QFEm#C`*1$RPCpExi-HHpGuxT-m~ZV zlh+*L?6Z46iN3X+9se`z?)&qXAN{`}kuMTado{~NZnITs{0t4jGpGNbn3ndQE9o|? zMmO)4pPrldMn1W#67gYER`au_XI%5n{rA4R`}M7DIoA`b=U1~zFmbf8@OCsX8+~HG zFin_gk#V$12J0WDM{LW2tTvoD<0Tov@`IU2<3v%4lR?7Y7U4qzIaWf>&ORRZitotn z4SgS)+_UxBt@Qcc#cNF6L%-gudfmV3<BWdO=@lQ(Ot-Pozv^kL?mquT>Qdp||4h2X zx!Kg0KX3^b&z{#X{f?1lXL1h1s?`#kl>5&2RBloetlxQfp19DY>t?$i7*5NG+fw>j zNu$gn@Yj|%dv{jqKI)8~W^(wM@QT;YqR9@;3Z-{-^5&f{J*>Jo#er+$0_WYITxW7v z)StU4ZkA;E%&t(>U3FWS>f;ohqE^|Tn?$GWo631?UnC2I!Sf*TpkJG!WAA(k+IMWj z)pCUePg{HE8wS1#QR3PYbWqWK&CT>0>7^g4-p-wKL2UgTCA)N%eY+kutPIIw43qhy z8olknp+0fLZ(G-S9ZwM9)0|<QujHXH|3G$~;gi;gBMgV!vM23}V7J`Xn`5chv-3sb zm8n&0`L|8`{h@G8(iHt;StlN`#w}ExX0>g`>KO{^VSgVzV+b<ooAPe&&2qO>{d=}d z?y4xe)wiCV>%DCVXUfJU!p_^<DwUc%RzHY1xpk|vJkJ;5rPks5Kc?Sl3g2VQsT4H( z$>ksKIMc17*4%qzP?mdDB~C9mFEQHUr1IYMt=E31h~ArOe#PkoZ&|Fu&))ju4|WNk z|GG#_wtuhACJT+%ygGi1U+mpr#`C4+iKO52n>u&1a~~Po?rp!Sds*<=qx~CH`Okm3 zSo`fzG~4YRduOpfKG2<VRXW*F#^m;<x$mB^uQ{+fi@osp-JjFEO*?fgjtklusR=~4 z-dkUhYPP*W&9<qlR+We8U&`E*LIUUa>l^6s>1T_n<;_|6Luc|go+kCUc^QnCeHr{) zq#O^VYyG%lyl+>ptKhe2Tj8aBGC$nR<2r7x<+isxsUG(+xP9Xt<`ZlEnoJikC~`H- z$XU&;JoDAk=QXq9jx$$8`d6Jgy=m8l#<=;uE1DakiY7;vPU?^9f3jjmjPvnjw#f_5 zDR#Qn=QeI!<|yuARV=e6e_rS5d0J5i+2`Nf%%ikW=*pdtYK@vgW{0*v0`_x1Om}-X zdH#7F<Lz7g?Oa&J`kscDK0kV1;*_m;59hQ=o1Zc>A7z()xARVGk5$ep<F}LffA7$E zbzZCR<Nr2))5?h~HsaBJlIq!Eq4A|beiORpZCvr}$#(m-%15^7{p)i2vWn-i^0Uox z2Ll`2YL1`hIw1Yyhq&;f)s^W%9~5H#1h`E&wyHTlVXvBmd2{-guQQqam_DcNO?ee& zBl5vw!yzR(^;>Q6cX^E6ex=^MsD5Uhgx?|`cS9}*y$9uCSttDcuJEkAe*E-$h6z)p zGkvejTY96cWWG~WVcX_|`yVOPz0=&S^ZnQLrSo(ipRX$6S#vP1{jPIF&&iDAcY1^F z?>+nG$CBi2)_&0w%de;9t(;lgx7T#uUOCtQsk)WB(&CR5MyYPwUQwO4?zPglXLsGh zOBR>a?~V;94ZL8`aiw~@dJBjA9-|v&xw6%(_r6*rt7cW~aBi~5?>iNf3j3R-qLt+4 zZD={zsr>L^i|6O_zji0t9DdB8z9+x*;A78uf0jHty{fi&!Q>qx-%fA-ZFO;-srzA3 z0Z$VHza?_wcIFaa7HbK-e~@)XG2745r?7dE&4qNyiiw}q4-1+fJL74Ql-sbEP3lt1 z>_>|FEGg!Z6E87}{wg-w_T-szF@NN?PlqRnn%^pTowAmjbLzH_tWn0vY(E~J?SK2Q z`LpZHB(ciMMZU2;7aq4x{_JQMJAreml=V68r)T<)?D_D~{8<m1(XS6jWvrg5@$D;B zusEY}z*p_jMb>cTBW)qq=1iDjqqMxqZ$f+1O8vu%O>-`28gE$@_*6mF;E~{bwp(ZU zk6zsPhR1b&wlwpOtE_>|K}PA*V{BNo!q2h)?s5@z*rzlheYOGn7qR)867y41{jcu{ z-;;CY@-%*-O;^+E<&4{kH@kd3pmbh0Cb+Gxo}YouYc)^!!f6NJo!emXa7%@E#KbQ% zet9+QHHz4Iv*zt%`|_xscXh@W?^p{jvh~fKt`R*c?$H^GkLi29h`Jp+<~XB9=(+O_ zLG}GTnf8m5pIrYD%=-MO#0&e4D%Wmqs=K7`euXbRnd!~NYa1Uwn)ioU??KPZrZVH3 z7Waj3YNYe>3#^>R>ixHQ&b8h0t&G*mkJFFk964+k-n`<m!Q-r_@w?|*7N+jIb;hN8 zoz+V1!jl(6m4zMCdZy3u>D+%iDKt&o<JF<C_x9^7Dkhz+IVkP_>rbNW#|skYY84M~ zimRvCc3(ZZ=8nK=?$!<o&Ursy_`1e*Jm_EF{OJCkT}Ph8@m-xh_ww4WjGT2p*F+?} z5ou3qns4=UlUwOI*YzAi?EZId?6`Af@!4G;7Ov**NxnEK#O}$1vt7B@CM}quzuftN z#gmouHWuFDROG5LYpj2@Y_)vHPdT%{uhlv}KK41k^LhKhqJs(x?OEFTic<CpvhOJU z_`EgmC*zT$jeQp9*x&q&zZ;NV`>$bVP@DW&(O+6DQfGr}PRP~$Q17V;$qRYiq%X7M zg>&sKW0!N9@-H^?^$4HepnARjD|26k+krn5SKIyN<J`E%@kzQwNc=Gmm7SBgf7iIO zZ?pgP<@>e$YgP56vk%DcH}BipD*s!D<<D<*u^u)7KGEotH{EM471T*~n0@}q#u+8A zwoP<<p!WI`M||xh0+wyuc&B|XNB*>es+}v}WlZH~-Ppe{C2q0P(RDMJ)4f7Y+FzGq zo#faRzjnLfJv-(Ft-&o{zJFtz_CG$i{Nt9MorSA+?UlAvS2BCwB+rm-r2ot1pxIyU z7qJI_e?B_rY<+v~+G{6HSri^WrhEA3r-=K$Zf~mBeEI#??2~O_iQb&deBH-8{#Kj* zSioXckRW7OE$sh$Zm+V`vQ+(R%@f+%m%2F3ubA)BY#*7jJR$LT{5;hUA3Phkotsk> zU!Y-lOuXjH&X<zY_4TBR*wd{l84uYjUY;qmHc#Ruv;FHxMa_)Ex*t6@ExDF>UZ6B^ zflJn#7xwbslp3^tOc$T~z+}Q4>uZkU4tx^azE7rGeA@W1l`Xl&ui2sIp$fA+Q<A@~ z`-xL`uNju-HB9!iT)de3xPK&bT*A*V&V0Tf33oZ4<x3vCQ|zoGKa*WEDtzN>=EgPb zvPI2v5?@SZ*c7A}{$X`E`vUcO-wqYOvq+z?SysGCsm3_4UbSK4b@oNiTxHDGHD)hN ze`-)9sWq?Ykk8x8bt_u6uXf&aUL}9kapM(<ls^YF-W%?FY|nP7|FNj4=Ys3J4+}i+ z+!cG-w9d+f**l<0JMyUUd)dhKmsu~KX{mn6+|h69UKkLV^XX_nYs|zjpNu2VZ|vEB zP-lx^_KChX57o;}BtAbs9;MT|MB)4ojq5WyH$J~@*2|Umb5pKn^_Hj847R>d<(A(% zVVeA^Tk@s%t}W_aAQ8O(gZ|c<E%#5XSKatTYdfp>(_EXQ_xBwA;4sCC<-E?`rE4d) z?e3Yix^@lsY^E4r)-zU56f9>dR?F6f8dNZ!Z?pc<zcAwL6NVMx>%}7WsJy+CIsJNv zc+cD`wa?ytHBS8Yd~b4I?xHupTsOT6WHL{<n1ACy`0G#c|6l)qdO82kvHT3v9Ukif zf8VN(oSuExZ9-VVFHe_k{ps_$G&ZYz61|_7_PFi3#mR-C*RSTSf2Zj_@25q$&B{xh z=XbsN_<nljvh&6%C85@T_nI0Ud6|FzVUxI|B;(@mF=ro_rtDkt{+Bab{hz5@85kTG zJY5_^8ud&}megx4xs!f3%kJ@E*4c)S4lVP2D8wxn8{zF&UKCcR`D{kz6#dvECEuI6 zb<ck|<62gF@X3UopT*Bl$Xvg_L}2}24fCWU%#ul$HG^!HBscs?v%K{<X;uCV?+<6D zOE{G*O*@~g@utm`wQ0TJW%jzg%|4|}`cJC(=X`8*KYwZ}cX6w2e5nJ^nzjFZ&h5M~ z`I0byGGpc6y}PcrRL)#%_JTFFuZCgX_w$_z8J~AKO5csRz-L%<IGnR?%JW$c+C0yW z<@1NEaAoS>^MHBLo&#^L2cAjy`^7FV`#ErS(F(hxJ)PCtd-VS%y0FaURS8_fXg;6$ zO6<=gE1#7nh`oNaId<O7Y7-@`m?zq4Kd+r}UwZ9BigVzjdkL%VPCAfrSH<nb*9ht2 zqia-3te!5~z3rIK^Mw(K?jIVr{e1MD`Ix@L<m<9qYL`!lZ5Q@`6CI;o*SCDWrv2|D zd%J9NZTHRZ{BDsRcO<PQ|NAcfb&KX6e%-b4So`C;Tj{df>YiustUhSnt$l4$@Vl@3 zif11D{83W;e?8CE<UZ52dsM~ym6z)MlopJc8G5+%{QTnX+*|5@GbR7)zQ6bAfoG#b z3}X%BF@^U_Up;v|>&2lAg@ZrVE*24&jk5_7t`v|@eR09fT=c<2+mGASog~Uvb@d!K zvy@~{tNi%#QS)pDo~<u!((>vUy481m{iOE$Oe=rbjNDk4(#6f)yZjz>1TTDP&EU}6 zy~1wmxo&mejW1OzE;=mZUM0HofMI;=5#iNb%(nW6W`!R)D$S91MA!1zo{Gzx@)$}s zCf=FibxfN1i=_F^nf8xU*JhlSxu8C;^3_b)`%McZ|9-gqJ)m&5xZgw7$!*p-4=&G{ z81MY^s?>o1n}8i@3>?n)Q;KU31|(ar^-1Wqc)IA`wZ>UBdorC@{COR8BXMyLZ}}Yk zAIa-ZO-#;XTF@GE_mJoJPv<^fluv%PetU^ZsgJj7%oo9Vx?k6{zb?qSFL(Rej1Lxf zw{5O>caOcggz@`c<Gh~3j?KS#8V-k<hU8dmwzr&QHd(;DsX|F9DLS~AWyXWv89#3B z_x57fuMAfbjSy8>%u-Xd#OGk?r->>}J>}f{KMBTe_>vZRVXbBL##(vL(+kq`jgI9v zWZO6{exJEHKdJJ=MRwKAvT9dNAKA`%{57uag__#dKuebSJ}+#Ox7sv{UY_+_@R;e2 z?8+{G&$|y5y<>vZ^>~u9jQh2uURZ=Zz2Gdp`)<ZVKeNZj3xkedOw^PAB42eaxqG@- z9%Dtx&DTy$6COSDjQx0c&96F6bIU```!oeA;!1vKuv@*;3fpyMbIz**!7oRrg-eCB zh^zm)aJ1LxU()d-ODAvDt6Q{KhX49hi(M@0se3kLHdf{Eed18r_jP5x-RtQq_4Et6 z(kJhnbwN<>RHOdh->aG;{%$hdzm_*VV8=6mr-mMJ)!Oq6ImcRON^Y$CvuVNmFVAx} z2(jzU=wgx)RgQgXTe)(E{<i#&Iy20j)+v9O!~bfAdCrU3vNw}gOpuhHKl5>@_+5q# zc01<0(q-Bgeoin~P&>PQZXQns^8)+5zYX<Y><|>tZ(Q&&TK<bBd*?jI!{%RRvA+<N zf7TxsXMAm9bMf@AM`~uYHKY_gkdk(f-@|#}JBNY0gU0_g=fgfQFFG@SXY@G>i)&RW z-tBiR<oN^~u5n5o^PC&?)#8>pbI)zl?Te4-ggY7>>w5Bt)he%US#FGL>dtTP-%s<k zOt>c=-<<Za{ms>PTh?AreU!ItNim03*NyKJ<~>PQ*fPt{|1ZCFn%|voH*|kTzPtTD z_I<X?rS2`ZKKIUu^Oq_a-9B>T(LKFe&t{qC&Yt)9%O$_~zDZI?7dy;aTw8JWM(`hB z-QOEG@7pW+J<c}gz3~0X?ca7N>8+1Fd#q-U__a(=$@;3<wO-cupWKM}o}m~rcY#W* zy7r5bpl8Nws?yjFJTo?Dwo#nSx&PAVs@2O|lHN!+oVS?z;K}>f+a08|c{xfKZs`1W zT0HqtFO%Mi*UQ+AzB$H;+ig+3%*+03Pg=p}Rt`l?yW=YvS$pP|z4^>^(k_qb$5P!r zD;yU{X^Qn#GCr+dQu^`#k@}OX>~a~G2On|>XDZte=*jc*WZU|>sj({+9)^GTl=W9O zKP1Dy-X!^;h;~uR>RrxHogOuvlV-Tp<ZQ0Hg>{-a(~a!*nrpnwCBLrk|MA(U_O<ez zpSpZjrLr$)pMUmJNo5nei#hix#;uBc412%xuZTP6*7GU4TG+v9A$K$1MwMW3tygbn zXP*o`K3iq#rrgxj|8t`My;OK3EPnD!S=%+C9|7vSp4giU+5eWmk>q^sw(pZ$cURpP zKlZKhzc16ReOcwt)i+rfh8Ois$-Ort(#T(6`3mM8-0AAd+vXG{W|y!jeoPH7@ck3= zip60bgV)O4zc_1NtpB0iJ9T<kh`ao+xZRz*KhM{@b?MRq>EfvY;`RscE^gs@GWQx! zXVFL1_@_J5mhNbXVtb>r`k}Vb_RimDcJrPoJ{ntT!fy5YLg`O;;lScD{XM!f_x@<` ziLGF`IYIA(X6)<57q(?;F8(aG?NqSS1BGR3^~>WQ{GJqav!!X)RQ1St0*?>t6yK>$ zmRV>cJ*W1gbbUKh!~R_-o~XqA3rLBT_}QoJx5n;R#lo)dpTaHnYAvg;=a!3`Gl6-& z<!Q$CzAecwl26sGe9SMoRa{&@tmeV#<O-$h(Slpp89#U0zgY90J3{Y|<%WutkDhV! z*Ir{~iVsOPGTF6o1=m5=!#-^@&)-S-!1QHiy>Xw)r&k>Mr*>5ynEG<I{O7}&7etp| zO4F;^#`h@y>%VQ24$PQ$VS~c_h3U?XTrEzG{Tx3P`IuMU2=tvWcizs++`1nh*f_5L zU&J2qk5i!6vVKp&=Q}I&pFI9<XyBMP;pJ7XBWt-g6a;DT-F<Q(?tYGYc*RpEbML2N zrY-e+M^F5*)MAv*+t=vm-nl^Y`ytK)r<B8vo|9!<!7O#E;_wgM`$dAKpD(8sUXYYO z(>W)3@r>DbCzrchFeh&k_f9D4yn9sd#qYA8o(!TlrR37y=DEihTk&+8f8)5qV5%D% z<~sk!qqjxO4$NZ583m4|%KdsL_`N*$_UEK8=B>L_TzyWJ2G%)zn701I@$1nyzQ>-k zF`m5pYWC+BrWd>mzm?hbtur*g_oBF_=#K1^w0%X#uT8anEw=LQyo$pcw?DkKG`>E? zKL6^H(sRv*b1n)NpVj}dM%(><(3gry;lb+eaeF4I%&&TRrZX)4$<hsTw%EM<6uEVe z@N*5Nhn>f2lO8rlSWKD16>sQxSehZuqL|r1_3i~upOufNb`^e@nEOq0cJiSaGJ7?{ ztXA_{bQ**lk<eD_dm{J%{+=7>V|uji{7eI_&9dGo<d)12khR0+Eo><YI|PLwb_ z){tzs;pMTW^%@_R7VIrOD7BD(N1U9y`}`~IXT&RC&EU`9@`Ta(#HNd3|5mil`*-7o zEmNttzv2!-_4v>SYr<D1_({JOex7yo)dNAzl}nSV_it6xRu*da)U24mJpZP#)4vy@ z(meZJ|J;ADP^55k<cp##wx6lfvt5OY<xg(DB3Ssor(;f_U36V7?_Z;t?{};IJ6Wv0 zIc`2<z{As(;)fdCFL#-~SJjPq^3YmM?Xb)P&f>c>uQdK&Vt&uN>+g@)rOwN@-nIVR z6~Fz0Sl}PKhi4^pd#9xbwl4oEoM^LiYbc-Uy2Ni6yAqx+akaTM%ON>v`w2<;jpve& zu*bP>Y8T#|9lhhg?zi)LjqYg%wcF;ogctspX?5JTJ;~!$b6JUWkj4CSmfUW0=il_O z{q|zlyqWn%UzTxATd%2}CGWp`<?LEP)y^Yp4a*jKf4^}1Om$^@-Sp5atdVtxZ+jjT zs7y^Nab%7XSF}HUd9&TCpGFq*FP;wH>)P=3SXAw?`{|FhwpZ+n)SrA=(C^kRgGHw+ zJXrb8TFyI}r8}kmn`!uwkIx#;U#a}KgmFE4hxf*=_9`18>nqQv?cv;>{N>4Sm#Q_7 zduvX0UfFi#=!J==<|nbWRo#BzbejLRVE>&;#?<@zmy=zjZ1z1huKl*R`?8#o*@suE z_1kteD0j<$+*|Zpc)f(jiEi7ddj<)Y&oWxC_<n0a*xtnT-!Dcw|2uI_<GM)Ur};Xb z=Xf5-N9VD;;bywW5yXCP|9|<vfBox!%KvMgAYtXU#q&hz=K9Xe7TqF=h@QP~Zf=T* z5|2n;nx+%eUbWQq{yKMsSAmtYL@hran^?|nvZT-4L~Gw&iRb_B&MPfcxhcP*AT%LT zo_$sO!Rb%VSbt2JE5)`_q{FSws4VKpk#!mObEWRvN){&W2wr=<inYOUr^3?T(V0RI zvd_)DceQDz%dBlbt&T^|xtV@&E6Z(<y$NY^mAtLhSEsTIwq1;U{MqJ$(u~zxH`jUl zyF6OLFMn@aLFq0&>-vb5=lcb(xZE~-Xc?Wn{>MqjwTp}Qr11Jz?|9#8d2@#54TJPQ zhqw0}-ni%e>$NhIub(UOTK{w6<<%>-vqG}3&H3PRl)L8Qht%|i6^*gdzbq7A&T-t) zZsqw>_}QN_`+X+8+πs#@4I3ZC{laNvDwvdcfI$sX!?zb+nSWwW^X*=b6<(}U`# zqTL@leATPj4juQF-pFu`bB}L~X5a5Q(vdr6djDF(XLfJS1~nPS=lWj`vSvJOx6@zI zx$(_mC;ojuZru~t`_;&s-d}O`!rCl1<=hWmd3mDE`W~k5w<PyU%znisll)}0#1B0t z-M(2q*M(#LT(&7RN;A}Ec~|lAQ@l`w-_7`cPvfs8n5Ak=%sxCp_Ue_J$98eCEA_tQ zw|99iap|?t*K6#Dul-L{=&RJKw={ey{w7qtVvpMo)|C6VQ`|1reveqVbL+iJ-@jZg zd$0cc_I3u2)U_}5%8kOWm&i#)y_qfkLhrH1WQ~vKJnAoaJ-)lHpXoKjY;oq@ktP?H z&-Ixk8tcC2vwPk5d21}^u7B*pBI^EUsp;!;va+|0*GbwZzxZ`StMpCtk|(p~UJ;%) z-P-2yo5CZL8QMHfNW~vruJUhnsp2&+5820a*M8Ds<S+Nq`ZH-!W!GwfK>g-L1%Dqr zWLUGyt#1A?F69j;&)40v=9SNEIhwcm;tti*cLV1?HRu!Dz;fK8t~{MVw6AwhR$|#w zO<|XRyyxy@_&z+e`2Q+)>$z`!1{EG%)$O6DlC(V4(&x^e51(s`{?(e>Tk2Z|><IXD zQ&Zoh$9789GIdJ>hWcl|Ec5JN|KIVtwu(ovThGg+YoXq%Jst=3j2wjhUrqjKsNI$I z?%GG|))&#|DkeW)wV+n`yu^pa`$NNRBaDxSv7A^wuX9tKiYl+!-hRK|yF5Q^uF2v$ zE|=vM_4lyUjmuLmUT_o7yTQ#Y`Pb|Cd6|r!iFY2hd9R<Rz<19>FvM_!cB9@OsggZa zt*ik@d8}t#Zp?f3BK+8vk7ln`eti<$+w?f$geX^8mZODc?Y*V-HxA5y6|ufdA@gpA zrr9+OY0ePoNq*ZHUc7eHE6jGEVH6iO=l<-sm3NO8rQ3YmJ?-J~by0IKD0wqH-*Gzo zY^c0<*rPi${yyeqI5?~OY?gZG<=9=4S02>5EH6smfBM{`x3^w*bbbqo|2nN^&ewS_ z&zL^`{&S~?%=1oD_N9rpYwfc;7N5PU7y8odgvTwdYny%R`;REUo^yJx-HK9cg@b3T z-b^f<)7<f(BBB12W#6~0rm1PSk3?I%J9g%jap@=fr@vLgSLnYN^41b|K7RN|Y<uwg zm}y)5K1}*_<Q%sp+rNgW!fUPGk*|7UK5cGXxF?+RX1utzZL*r7{|%OFn``C;9DMm% zmZz9${+*CV3nwRSt!<if;EKwoVws;g%_|oyJQZjj_>O-K^S3F>?Rh1Pj&<G?_X%5K zR#x%wENiRGzgDKH*G_+3=X+1>vFU+IeKD>QX3?F_8|BaL|Ir;$x=gpD!ugQib4Isa zGqQN1k1Vx6xFp70@#OA5!tQ;i%T8H*)7s+JwwlelO5W5ocR{k;t53;2eg5)iQh0X; z9)A+cFheB%7}H#9shcLhg+IQUAzHrd@}WOdw#+kHzri^9{H>lPZ<m);-T0kWAal9Q z{ci80-^bT%-PUa@%2&rG?7Wi8@prdn>kYAgO&cCxuI;~U+%2|7V)GG;88d>y9y34D z<;bm7(C}6*nC@B=QNC{dx%}_<m2bDJ8dmT9<Wli`^V+#eYq-CaY*MP9acNTObN4MD zzNek(N;e3p$u%x<pK)o*u8;H9_w42~>#Je4x40R5FT|kFk1ffdzmoGo$o(V6v0n~8 z=F+QYJ!LE}_wLJ+QVx+nnzKG_zg}5YQ2$i&Ue@FDCYDQQR3}%)sB<oO6`+3T$m5E} zg|;P9i?_zRyS7!<e4Wg{&&wftDYuCAla(iaY%<=zuz&uwW80a6^!C@po1gcoY+l$M zee>1QtPf4>La`!|$+a4O;_{xQfs^zdo~-+%b^fY_z<bSC_hgo?nlksZ!_9WHv(3pR zwtvOA;)26-w;6Ok<?WMEFnboWEX#mnp8oaMhYPavWJDjUE<5wZt0~TPK~%~Gh687s zGu6*cE1q4semDEVuZnJwhi>iX5HDt4Yv<fhc7MgkV>5!@N8S%|-`b|VW7&kfo73)C zuJM^5qW>e{(|Rq3O-0Xp8G@hl=l*;?_2Tjq6H<Pk^soE$GX78Zf6c>O%l|GowKV%C zQ-7a!*8Z2#xw}tDO#fACFfrEdlyBep2g$ZEd#}XSamntR-ose+S+rrhx1+e@lG>|p z-3#^P*Us3meT(UzMaN`JLlZLWeZM<D{Z{*^T=d*YyT$$cqGgpldWD`$74CR;(J1Y8 z&-+jNCYLVFu{3<Mf70^Yp1Nbv|FzT~8@-o1JU8c=!S6Mm>vyayj1P@@q<v}Mqe8}m zRi`Yz{h6qG>v@#P^?SufR3FcrD3bHKbF#^#z%zW?vR<01FVhrnXE|tPmzt=otE#IW z`{!p)JlAs;^L_T(l2UU|ByO1Y;KN&qjFg&~^5{b2Il4Q99dnacmX@Bh-k#w1^GJxj zX>!h<nUVil+Qn5)h!}6Uy6T~8kACubU5k?$?!raCm~u3Zg|?mXzQ?se@{5TITcM_T z?JN1FB}Xc5hTnPdqRGpe({*x$t-#{E3r2aHrn#8Cww6#Y__{UDK<QlcccsdlK<PUE zCLMu&uMSpezF)k}Rj5Aa`O*7X*B+#A+<EO=*{?Z|Z`wcZdbcj_imTk6%=*6G$8zQj zCi|q;v6jEEd8nz|d9%G%Lx?*xKTqCx2KQRwwDWwzfsf+Ux9?aP(KLUd;G)OPGi56H z`5&6py*aMN>RB!2l2`M{+pc$?TT;%GC!Oct%~G$7{d##xZ7b&wTbr<qLt+2pq#k>2 zR`x$~a(>mC&Vw$0KiB`WulsfP{@?f0^Gn4pzKWQ?@XogUUy*kl((bOQ>7Mdz3s>)v zNs+74*FSNJNq@76WzF7grB#`d-4c!#A2-XtiQQfBQX}Ebk2O)<x5YI!AC^w3*?C=@ z&!e`L&GgsO&xS5eA3XZGcUSz(nZD(T!=0M_Qe5*E{C%Ff=Rsh+`m@r2Ko7}RtTX3H zPuDYN*|XwVsQ9P))6$&3lpfx4n?GfCUZY!k#j}UKKlYxwxPZ6xa59VR{KeJt{`fWo zylmnY-7jfy{@X<1@adnHn8q`%w22MQm{h)X75CdO56ufQ?{z5iKAmH4Co|*Ql*_^~ zh3D=xvelmDwD@Dm&*m6><GQ%s&&@1HoE8S0eZ8IGz$wMD>I-avn#1zp1}Ms&M!A z_ixYbTj*&k!L@yb?E#HSWB)u!W4GRkvu|xn$@N(xw`Hwy#k>2LeCPa5+>=$d_jOX< zTXXZ<4s9zBpQ}C^`%1*|X~ff;nb%I#+_B%oB+#BY{pq!Z-{cDQ@AmAk*kJTGsqOLx ze~yRqKA!)V`E$GJz2s9Gy6H!`r%dv={C;V6=f?0qXVy;KZE`30*V5XerT@+z+;ML5 z>G%KMy%%e!xPAAbn)mng^O5ua^m^1?-_bMkm*oDZ7ujZil%4(9-^|hHTwm7v*vN2Q zkLGs2N2QNq#LMdn^6$!A>68`ch*N$g<nFxN>9w@%zB&B$zqFaQ?3wZS(fa@2&vBcc zKUnkO4Ri3kGiMq)R3352+Eh4h=DYV|ium~xEbC^oFG%&7X%>BzLFTu`Cu^Nl;qz8| zxADraVU?>=>pO3`!e1zM!NoSCkE_}Q_dVye*tbeRdaIB8)`#ufJ6o?abA4$3p%A`$ zw|dX#^_|?$V>Uit{`-NO$(F!7f&w;0qSmV0-rd@`{qd8uHyMsR#`Y7Z6z=|XtAFdw z+g0n9P7Zvn{$cIb<<{4DzcKT@t2JI8l4#Z6^Hx^v*XDH-XRmg@J3H=1|Fef|2~JF= zN2@u%%J#gi`m}rd=JxvQx1~>i*!IUxE<*h6%J`hu4_;Z^+$_O*k8g|1<+sB5kIt@K zuY2dTZ0Tk7|H3~_`0nNQ->_b6<Zf`*V@`e4w(l{^vt{qCKAp0#J@oxbiNBNcud;8u zQzP{8WXt0Rz1{3De)3HDad_cJ!DXuXp{%@-*TU`|+4v;CEW;(wKv%2$TEX|CMDKZZ zUA)?@v#ypL(a1lknrl<JW>2N#Q`dRnsa+rKUiE)jGeJDB##%;d;m*g*;<L{GxzFI! zw11Dqhnu#cOA-rz-u?8)`R|U!ec~FN2K+4n?$NKZoIYh16$*LpEZMTexasZ={%V1r zR~gQUG2XdTma1cWd|H~nblSzUi#BihUby+sjm2xbn@y&!$YxdkXB7A6#BAp2Jx@CQ zD{cmRZGQB`cfv6xr@uP>_fG5m=sNHA<wcPe)3IZfafXMi<0B&!emsgc-IMuPn`zGK zCC8*$+)f)@c^&rcxL)N^yN^L~zYnMIE_FY9B}-T5>WhHazI)}|_H2K6QK`gN;`Fb3 zEepEUk5@j5OI=&F=1<b}Z9j~^M17Nr*z~GH>ucyjtIjj8^PD#rYOfQCIIu0g%v|Z! ztvbc+eEiutB|DU+JehiTdgR_if3`ROtYF=zb8g=1cN04&Po3ZM_TY|rXL=Sty)iA$ zV(t65?4CY$<ugzIMz$X_&pLK9XnlvZjbXTd?#nnGb)&zr<!f8NPCUM<(m!6(|K69C zw<W7;PMw|nDt(KwOZLAb89k-D&*+?;y5n7~|Cgobg|FH~zI=4R{{HIe?XR5<O0(L2 zNU!~4Y`&L8S2k{68uv^?3)M$6>wj6!f2nkco3rNQl4b12ro88`bC@75pK$q8Wd6-x zGfk47S#0tS68m#d{?EbYXS#*!^XA==_y5p*NbKhJz2{~w-uJLbI_8$+4=?jQnbXh4 zFh9}zw`ynGoMhXI_Ur#F)ukMlarf`AO`o&<?Z!W)?eiYjuDkAbChmgEul8Ga?LH~& zn(MRWRR7b&n}KVy?@zh-El&K}i{5t{r*k6x@2uP1Cv;d?T30RpL#F?+6T9EOm|s2l zDc{$h_P>w*@9ODTdX>kAyX6s=(c7*_?U!A`)8E{EUAr^0u_|)jwRKN<Vol6m1b$W0 zI4pYq;C*MN!i-bv_!zuY669RkmVRDzX0|L_pwmsC+9#HhEb|M$r15UgY~o$^cwx(p z#)1RdR@oc$D>u|t=484ao~UYJsXuSh+KshA^W_Wm>RweF%L}mY6MT2{zUKLoxF?TU zu30VKz07ufRT)>pyEoFtS-gKQYgBB1vUI(Nq~lM!M_h;YoPAgH@JO}ig{CXbbw?I% z`@120^0Pca)7Yxz>F#U0O>?iY%87rH|E+Ysd&m9D=XuQCtGf7~{n{kIu4Pxo?;s|T z=hF4Z|6kt!GyC<Ao}l;dqNn@+?)Hy}DVP#ixgvevlZVRn`s;TEFXOelq}zFV!m8zL za>lcFvZ~JHIhoG0@lf)b`Ij&HJ(;b%L)quJSYFVH(92CxBJyvJXjgxEvaWRUv=cd< zTL0H*XccdKb*^-~g1rh)lX=#j#?!oVDV@G{67umIPo|6gxYm@nMaHpj_SSR#U-SMy zNjY!7>5K?Vypz%vp{2(?4n}14Uy^cu^GGvSNcU%+WLx%Zt4($5WDVIPXLf%6QoVGF z%4@aKQ$HB_KJGn#%ss!;eRt0+)&5sK=AYE|ec8pgc2zh-)Q637i!GED56^v*d?sFg z?u<0+-^O{T7XSV=u|lcpm_?rC)4G_{YMn%mbGn9WPio94FmJQ{|K^SDtE`gsTjgJ> zu3LR}^Rq5rzUwt}xpfzLS05LeSAF;Rl64B3U--Pay(wG9+U(xC)$4vXRc;OSvAOv> z>uTDPBb^cR*&lF5p8rxPb>ueF{Rg5A`321n*8e!#nqqtV`2JI^aq<70ZEhZL&igyR z;-176XZZ=2TiFEX>`P^Ljw?wzY-b)Da_8)g#o3|1e%vWd-#SlUA~&7q`#(uRnb;c_ z4i-7}Jw7P&<0ePuBjr7J%l<UgosUgo;C;0>>)b8n8(BKnm+;=%J#Vhg^`QKt-tT<x zaeQASpPM9A_RQee-;>Gl!Jnf3_x#@NzyFK({*YzH;-N20Pw_8aHvi^+buU@Jx0C-I zsZ6|d{+~yx^!=(Dwg-O?WSm%fTK9fWnd#}I`bV4XR$R_Mz1zM1<LQ0dR-E<~J9EfY z{?Ag=hUa_l)uj9CeOjSgTW@vi#f;d^Jx4l@h{~_;J)F4utee&wtpep{hv;R~d~!9l zCPb*LyQ=rw!>d4Lj`jW4uE!jGVd{&0%Z??h-rd5sSz-U2?pu8J(=AvY|CyP-x1Dp* z%;HOl2g@om#T5G9-}a8%7|m$h$8%xX?u$n=gs&Z7bH8<}zhT+yd$Ok|r5>C-!JKu6 z!{_>AujilM;8w9=Sxu<J#Mk?82{x-9KhNmVSGV(b-+%sw^WPdDx6U_btXnx>-bi`< z^i^ps@*+<*2c7tNChYtiNw!~)k|m3T4@D@bPvfs`Yp^)+-b}&lW8W=zrb*>FCwO?A z*@REYnICiE`=h0DjpxG}_S$@=-j548pH=>><GL$zK;o<TnwsNw8!ejp)*d%n++1>H zl^w&zee*5V|J0Z(b~x9sJjhu0m%r`Cao_7ZEcZO~NuG7V_<Ntjq2%Q={sswU8NQA1 zjyhad>(>6YxL0+3Wo+1?N|U=bmDBSXgyWB0z9v}n>r4IrpY!e04=&gdY9sf>?(=4q zgZhqE)o(hFe@uO{>%yXo?_&ROTwYNj+2(C>v+cr#MIKcjH}7RSpdhPpdhVp<bEl;L z7d?~t*||6U&E@0sVoltv>z>a$`sIx9?eDkl|K5AQnm?%O+_^a^dQ&Xbbdoc+{AlWY zo72g+FQ#UFT3Dycy6aOf8QO%t>sqc-=>Jx-y1%)sZlz<zA;Fpp6L)V7HPB7gFYW%8 zV|}k6{`OpZo@adZdp7-z*qih7RNco<E6y{w#o6s)sMt`D99JoKUGQ)?!z)SMt99@1 z8{O*EIsYJg&G*lx&J8&)d-(gF&QOS0G=FyI5l3E`2a0KrRccC)x7cmE$^ZT1k9DPw zmTBAEvx<LKBjk5ASS<W3yAsD;-{?K7>v}Glr>*&3b=pau;mDujdlkwHbhmm(Kf0O{ z>Tmm7a(S=gvAn(S&N@o>-`#w)kKcRy#qBBY1NSFCDn9;q!s5ICzdY#?PIi;~uJJ9n z?`QRo!hPZAgzXD2s&4zo)1VSiyf8%ZYSJ9tqQ3C>3h#5a$73q8w!DvvD1I>a@#h8( zJ@xiEKGznC9B|z7rC@HI!dzAr)tE|6=N_pwJQX>dn?D&TY%uOwB3t=9w5<8~p45wM zLMrjq?Q82EPo40{`u0Kn+dWq=CI9bO`lVaH;-l7~r`eCz9;|zy8m+jF@9dM(Z9+-Y zEk9L=C2lw8t9G<VYEQmhVH2S)dZc)+u;`w*mR3IxeT|x(@z`u?_xii>e~#y`y1(zx z;teWslbDV!ZttGYR+BmZ{qMzQReJ6DZ!eescwB$$^-SBRbIiB=a<l&uDnH}d`#-kp zr?P(eQ~m$_zh~?1{(f2ikL&*l{`dc{yFR_W|5*9u#pf@JneP{JSX3oa{;ztr#LMaH z4Fr^J^?kN{k8nAjckOdP=8mWSoI7`RUXSIysyf?$i|99|Idvy)Pc1v!@-SL%>Y|Ep zIoHs4nLc~!A8dZ~Fk+VI{Jj<X4@G{IzF*WA>0Fy2tb2dm$<^vJ1fKVE|MUNO$}jKO z18wufmD98MZppa6ZRGe<ux{1XbDe=^+qd2SI&F6IkELh-=$uS3F8XErIsE6W4X>;M zS3VJZ?tJGQ`!}QN`R$;?4^<_sUkV+Ybo^03!jA=!)2h{a;~T`Sj?ZUIv+_Bnq@r6? zS;L}b`LS5}yxz=P`+N7PPnmaK$LgHOp2wT7YML_#=H512|0PE}ZrjWEbJitSXU06X z?mKa=?D><99><IS?EJIVMY~_N`uz3A-p!Ym|Fhbs_i~QXx(Kfq<+oI}X&RsNI6d>{ znRy+x-2O|{<DbN@R;^F+esBBE_`7w@$45HH(x2`+!L;nZ;Q9X>`~HhO-_BI<QMIig z_UNijyEGo(v|IVpM~K(|!7AC0A`I{K8I$Zwn_H)5{EQY?nD^vogvE`N#XS8n0#ALc zE7`T~7%uoT#r3=D+J45USzk}dx>T3xNj^`~VtZnAy*?*&x2T-%&e+<>e;@biZJ1;J z_ov!3uhOO5XXNjfJvb`gU!2U+`RvNw-kI)2yDo1(bLQag(qrrR|L)RyR^4?(;?up~ zOXr$@m)d`Qd*Mf$pEB`EO81XUXEqK0`DKT4^W2UTFBbmxFAJV$m;T^)p1t3vbb%?s z)2uDmEspGY5j`v6T#C;3xSlS{4Bid9<@sN}xTIDXo3;I&%3+-^5-R($E}prQ9`E+y zwbaqP0M-T9ehE+Apqw7M^Qnt_{pIwCKldK)o%YSDf0jni>a7)@noJo3I(6&#Hcrid z>$+9`Pq|E_{5<tzK~q0C?W!o~)lcFmD>GiYDkpPh;ca1a^Lca1Ik!%Xc{_crLbL9L z8Eg@s`i?dnh?@7+<?w{J6OX7}$q{y}D6;uhl)vt7-?4-%zrW0A{k6O9@A4hL{#E_` zZgI-7QT_eCia!$Kf_d5d7F@|+n_&0&x%x>-$*$Gk{~Mk&|5JExCj0R_B_CgEKY0{t z*C64#=fRCoJI{iXy}G#v_}}ub`msWB>3=W9(4_}LR__z^NL~7d<@A~x#})}{<O=<7 zxKmbc9QBBC;S*=geJ5sn)-4Eb;jsJo`dK&gsbj|fBcAQh$=AL;XTFBS)rpdu-+ljb zc8V9v?l(s{Y?5xjF=<-MbnF~s_}-Q^0&}Y?G<)>F`dc4tc8GqgwA(~yxot#g{k#dw z&t5Y-EOfWxZiB>|Pn*{4XufMW%}dRqY}MowYtC4(_^-XY^>3qf9An3{H!)K4Orj@i z#+}Ww&3)ARce~l=eXSX>HCvDDJ#qhgX3B?hoAm`Z?wt_!zpH8eH|F@voNX_qw-(2K zeaNME?XJ+l=JS&t9LoC{y8ZE_$%Qh3_PMjq@BRI^^zWU=Rk5{^wzH>xo40=2*?FJm zRA<jke3bfoX>?ZEtzf@<&-(heEI(TP_{`0#`)YamqJ-<V@kRIiydPG&=-(OscMl`Z zdrHNBIULUUMe(5bku8h&?ls{0b|h3>qHnH#0#~Eqt>+yX@8#58w2!V?S7~N;qPskO z)y1uP>N?jlH<u;t{N3~A%dKnH|0mbD@3pP!UR)X(J;UT*Rq}_H47QF14E?vQ*wvZ& zw&ezja;G1aHoaq%w*R8c-TXeau#FjJSxR$x!gpVba^L;s%*BpueYxo3_olzJ=gm^D z?=8#kyS;4ZdZX7$?{{tYty;fzWyOX2PpkJ?w1$1^>*)8%dSbXR>r_Sha(Bix{80(P zvRp+k(r;GV=v>YH7ooDrDX!vi-XrFwHNqy0As-J49ns2tbaIBS`Dd5gxi)WwdMtk1 zaDHaElCR7D&HLW*w7fkz*Q;)KJDGhElAAc|KHnSlI}<V$1@l%MmkCG-`fA!&v(<ZP z-wv-3(VL9=eKFS?WWC)smwwsT;Z-MctJp&KQu(2c@w(X)Zk<?b>Q&C2yuDqJ*O{;4 zuZ~_%{x9|Q(-&$#7nSz<eOX0!@#klX5$#5YUVfeZm`m?PxAj`Brk^YP7k<vJiL_2V zxVrsI&TG}=V+z&#lo;mdeY$YjuRi<UH#VznDch9RN{H~}T>fQY<o@eXSj=guMY77f z!WN5r-nvrA%=mP^=<1}08lMh@cRbv?DezKsP*kPvu@6S;`g8aH|Ghu{-R*1Ht1E?A z|8q6}H-8xYkCnl0@<&~}`3KLZ{b;T`(A@O?oyI;h_xC4!W^hXETmIvcx&M282F{{A z7uH{w(Rs$?7XN&aQ~S}39xwf#H>Z?;UzzH7edU*r;kti6CmR3W;`_B({keAkgY(}G zPD^asxubB6?SoG@r!3|FFZ^$cxLoh6U{3w|`Trm4|4Y8wb5Lc4h+ESM&zxzE#!h7y z!o9ZtQkcnME+=-iFni<g<n@yeNi3gTVeBV;Z;M^iqNl&kpUgX7uBcG=$Sm#F#%1fg zbBcDT%r#xN=W%*u=v}4xYYp0EzkWP=Pip-R@369i$L9OmOe*}*AfKZunkkUSY9z#z zyD=oC-EP;GsD=$uj~`X6=e+m1%T}LbYulAY7vz>dO1bkmhx5sDubQ(9^)H;1l0CTh zP~EznGqfKanHzR0?QPteJ8IWkO7yy~JU$|OO@is*_l}<n9rnCA-@Ej~QAg(!ue(zU z8vie;|NMG8vjzLF4f6SXJK}z9W3p#B!F?|N<DzD}r;jr;`uKlacF(K2t^aeg<)-CX z7mf=jOWe_$w<zkX=8aF0tY<5>s`6`R$~?Uje7bOrSO-_`wS@D(&d7g^zW43fGR2K* z7Jpr%KZ&OI3a+@uvVS*YcJJremY01SBd^<)Du%t@ey3`0p!ZJ8t6oa#ODE3aC~b;Q z{>b+Dn#Z?Bx#P__$1Aq)>U)%ZwJS9EPiXh*PL;Rz4T_G__pG^j+3c_HnMsGYtxcc* zLhAmf`;omj+Kj!+V{Mk|G1t9}yT_z3bzXjlaAU&L4uRyCCCgr<Cl#ux=KQ@E@cOZ# zh5iN)_v+0KD||IY&b1tWIH9zBf&27dM+DbgovPd_a7T2VIFqhKXq42}vnTDv7ft;B z`*NRN*-Y(;RTlG3DEaQK%E_0|o?x&oPM!6sbIKRi_({iRuP^R*y?&e{nrC;3>G=rx zDEH3mSGT0TeaRGE@qEsdQw&KTiub8YKD(h`P%2bzv;O-$@t>@Ur-N@LubTMe)MlAb z<Hzbp-kU1DTjhSi@ViA=a&6dMIlk#jocR~csOCB)6Xmi_{a3}$`3iNc26;SRP8M$I z>OS~qisYlok8NhI^axd0r*88{&i?<o`OAei{1Y)}s#0XM&f^FXt4_Km`#VMYqh;Tm zkTdbQEty--aV|Kp@!rRPV`tVBpYL%!^5x0GW4dAIUmmfWb~sq|Z9&hynfIhF?#S8p zOjPdnuf?-Z2r~YVSYh^c<t-h1(Q}gTPn-~AYS_*vu|E0wOp(ax>tdtlA5S!jxz4;q zZMM>hkAaD6)qYIYf2nd^!lKXkbjJMKF~^%Y{EubohJO(3EoEN2?96Ag?=1F(_gr^> za(%e#mdmn9PvaKen5-fkGvQ`T9)rhw=jIJ++ou>!+CFE}J)QYHYpd5zuW;vDFR2$I zG3|l#+_+6<#WHpmst--tUt9S_<YTDcyl1=k^RLgBk@;<Cx-HYwqG_Jw#{G|P>)p9~ zYt#2*ZTELv+hzXKFZNaWDa$h7wTj1&q?O(9n{zQ;MmGLS{`O9b*Y<Kn6H;@gEjVm> zywloho2>8Wl6<A_bq1M{6W>`sUtTpKGoiBRslZz+!<~=0Eq^zK>t+1Ni4)isQ~bz* z-)a677Y@sOsSb~lHH%)JDU);VIUB8GF^PXmu-KH_-yRg+ezU{6FG9of=LY*eSyjO) zs(le}a+Aw{-d!;>!&F!HsGjj*m%D}g)VYmiXJzlz3V!@uLMF6A=)BBwf3;W7E#7QA z{e#bWZuS$)_f@eMEsYL8-==#;H1~<D>-U~5?cap={@r5Jli6(S?X6ty{r{!p<ihAB z$IY&7HvjsPeR|d0Pjc*;p3g7a-udPpDSP9>n|)U%ux~4Vo$$#;=mPu7#Iz;Ljo1&( zl6fI{xhU^<hLMEm?i)Y0JmzSL<K8#J?2w;QVT=0Ohc~9jzB^(O6855F>B^*CTLZ<< zUecXcwBh;Wz%|onT1`7=n-qEB#PkI{ZwtL-gU|j5=*gS==61ci*p%Bl&2LS*v(sH{ z^=7%yvs2rzO9z~8FuoeL`ToU?e4R`F+`m>HwdDMn16-S5IST5P6f<z-Rq9+_ccCm+ zUQqg1;f7C4_g{(cI{qb)&pbvzTcX96;YrQSc*_9x>e`QdMo&*Oetl?n`s1Aj@e<p) z?JnZqrB)lI`u%?}+17H)LH?H;3*}BtKGx~O{I2D&-_u*!X+DB$msu%V__jsuJ7%Gl zHUABt<#mSblaD=KzIlnyF+H6pRx&(S-W*FhC3AG|-q%vvdx~rLZ@)aI@!{O&>PErG zm3z-TGP{4|d4<2rLypxuwylzy8P4|q?Ei21c7Lbu|M%MPwOHHb>K~PRii(4o`>t0m z*!pH^oOe`X>=Txr+>hJ2GiBWuHD=81(B!sw8=xPXq#pa&#jZSmMV{{cgZK9^J$Q8C zUCg~T7jM@%F7bWxd`8i!e|kBcoBbcoypS@LRkAYuYuQ#Q@ns$v;<vY4417F)+LH34 zZja6CF1?HDf3$n2mHz2v&rV&qwfdd6YUlK+Y5&vrFJ+5=w^t%!p3=-n+tiX@w?EJ4 zah#|7*Y#SQ&Oy2S_pejy4++dp>ld&6lge;k@51-rpHtMBw_JFc%VPI<`UI}|nkAcJ z)$P1eRs6mM9qvmy{v|_c-tQ;s%cCEO?B#i6of{!_aqo+LWxosg*Ik-^-0+R@^Gr{x zXU~5BT(I@Ina%YW&6|dij58;%X@C8v_WMiuzrXCGt{qITdp|?6J^6*lq4{PTrDm5V z*VKHey7hG9OqrLn=l}jDTT^l{>fY}M%l=)p+bR70WW{ku6LUG!dv^6w_n8AWEj@Fi z{prk@?C<m5|7o}usnqvq*T(0UW^|go`WyE~?(u5ogr#xp2RGl9yeY_h#l=R}d*eIn z^H&boWQWY{xtnIPvHK%OO472sZ{mGLtdFR_PX60<?$@)py~~|+u73>q$hCh>zEWqR z%zQ!j`uoe?T}+!d|JcOeUp5~1x*Iut^8UBEvp?q+d_131@*vde_1+4NCDE_HNICz0 zQE_N@+NM*Y|4+M>d^_j*TlU`N>+K9b>+1>xpBw+au|id3NB(~{bA}%em!C>KUdikr zQJ3EEufJig(DL+zS<&hlyuJp<8h&a`5xwz7M8C0rMa1#tZ%^uLch3&_m*l+hx8={d zAI$c=KG`htyegxlX6DYq-8ByxZzowK%)Gznx?I7NCxLgh*Ymbl{#9H5CByI5^ct^i zmEzG^Pb5~l2Q<olyqVi#!oOin_KL4YSLW%*@t+d2xVoxgbzZjaO#R=bwG$WoJzjn5 zi15BG-R%D~xewdKwfa`1$E{XKEb{(+x&7Fw{u!b(dDP4-G=(Ox9bWTfZCU=O3rFJG z)|a&JbrpGVo+0zgFSo@>RhM6cp3&Z6E?etR`Mi6R^-uN;_AA}Let#}(GRkkRD}9+R z>)`#XYPoXFx&P1W|2=m+@pNj&JEdKdYkz%Fum7aZfAG%3!~YXD9ofix@9}4bh!68C z)j#gY`v30!-}zk&9^d}DZq4`D^zU)pcWchyh}HMEnYos|_T%4Lo7?Lr&+$vLndrF8 zUj6s$Ki%<lZ}tE0IrIO=^UeP_FZjRy&2VPscCHGWr|KI&E_wU)mbU(`zdv?gHvhEp zdRXN7kKa>1s`USz{7={N_1^1$IOp!{|F`CP+~fu8)@D~tjc$sm2z(k}^C4I6%z^AZ z>3r{d-@di`og%gN_?CqHZR=tm_hkImzIRP2(z<w`8UM%qJ^OcDjx;?g`F`fjGw=1j zFPEA0aIamQRo~w0*CwvFXYN^`sCIhp#d!j5O!t=NE!%Cq=+cp^&Zk>{?Qz|G+_T1H z+uOjeQ5z<z@AuW%mT9ml{L$R+m!7DsYUO=tW_Qz8%=_Ucg^awi>-%+u`;FiK`ZnXn zk;`SlP5%U^AOEIN{nGYYUC&zn;-8`WCfaU)a%-C?`_ka)HqG1K{YznA`M|FA*rT;( zg*yAHo^7n&`|0RA-Mn=NKd{Jq-r|bzIGJ$3?0<p!j?KNX*H6t8TleY3k45b)yN;;Z zZro##@c7T`NXgU+sq^`7KG*kruK#-3{eQ`11&ijXy8oZ=iSulb&6n7>dNwQ17Pk4< zLN{_8u2Y(=eV|BL+5eAZ^zU!;%nrW))={{2ze2~>JLYZ^m+$@VDxK%3YkxHV+Q$2@ zE>HX9D<)W(l542H?`h+!r*~IWrLEn`(id>n*yz!1tD4_!Hr=NuJbU@^-eH}I!P4nD z^3idHVz2fsR5ib~d#&K?*=zsuoNmniyUOM1v`Wq!$<N{@ol=iHThrOGf3kW_=3@Kn zzc1x~ys<OqO6;{pdELbYEspCdjODfG8_5=Dcj{LCdvxd%|30P-(*EohH<WJZ%*pzf z_a*pCU)j{XuJH?>znpt#v%Tz{)3VR^zPmT;hV>u4=V$(I*qr|Dcd5|(%yhN%`8>yV z+J22szjG(uN3wi&h2ME=_N`M&-aKd3{ITVJwp&5aiSu3F;>>oxpQryXNPJ-b;i3JH zhu;5k7XF`hpZg5Ezt-1;Ilqh)l3s~6`v37tsBO6LX79T1rCZnU4c@M_y6>y{^y@Xr z^CQ+BKjt#;@3Z9mtn#zbi`O)6H@H^nXT7a>w%~^P?Y@;d%Xun46ie+0Sh9BYJK3AN zH|^y6zV%Dhy_lS5FU>ZcuzaU$u~@@guj9pX-;&L>{`MQ!f0<jHRG57;Pj>(P+F$Aa z-_%dgGMk%juzRWd`e)_ozh~v_Wtwnc)09ae^JjR>Xt?m0Gtt+5jl0pM%WB=1cDa@G zujqMXA9kg3x7V%uJp#hZZXCVy?cs8hKyJa!J5KI66K;E?Kk%t|Uv14*^+U#Xx4N6v zuW=no<`Z&ZzdGa6X+AM+xrsctBO>NiZvMJO`CRg^=l;jCOx@Q1nQ>O?TX6Vo*W155 zZrK&??5)c`yvzIf363|FiylW^&VP0FquM(Ae~<0|eTm-xHCj9FzNGMci=6Cxef8JY zKA$x4NMG%-htq!VY}GG+lzpZ_)I{~)!q|dW?8=s^chcr0F1}IZxWoF{>5u~oIlms% z_Y3#jfBRon|Jzi-e6A_8KSxJS^0#{syw<epYQm4Cy-D+LO|Eo!^1ZNKU}~t0x^B<x z_ZMd!yO(6YKvuk^yFciU#(^h%U#%HuXHN*<{<bIL_fhxGIk)wHZ<H-!)o|I8H*=m& z)%JjS;UWF&FBSCte84L&|1-Z~TUoE`%qH17ljFLdy^OE@y)?BlBFt=c@|^2FXV<zM z-71;1pwMQ)T0>tY-D9R#<*MgbxtFyt7OIrJvAuY=TQ~ai%E_`vj|%Bp9@hREW#7A@ zZXN&UH)Y%WmdOTJInGbM-K&%Le0_Gs?{Egi%Dk6$iY%pl%KsIk#Wd=IyRQG;T57S& zVCIJEZ9lSh%YL8tuWO!9U-zUBEax{qJ!37O$ocB+jKc@bY=XaSesNwW{-bz}QOzbp zy{VN>f#<saYu}FZHc}Uhx_x=-@i5uk@9S=88kXCn{JU8++xYL3%1wK3KX*N`KjS0^ z|E?eU3v2FuR#2OD;@GzG9Y^Hm`k1_kE4lt{%RRxB=k@NoC*F8|Q6lWB{<QBkZv#{B zmA!oTFj@Kco!m*sC0|c@FPQS=#~II=)f>6HieDEWne>Knj|ta*mT0lEY?;e0d#~O9 zDVw=>>cdvGS)E2|&tIKM{JmXe#cqvdc}Bw4rQ32ntMaO^?47H)Bewqe;d$q3i?Vml zOj~z-waeo9)$^?Xi88$B+v)RZ<CDv3<pQtIePyxfwLYPKL@zz-^0HsSF3nerj=9$a zK3{N4BYE+)Bi(hSJg4TaTFx-B(c+G@uWZe3p2d&6W5xY7jpmh^boM{p|7zcP;XpU` z{HT=JA15yR*<b&6Jh1%ZWb@Mgx~EGf3kv%0Q(AvWwld_V#{%6tqh(ubrp7+WZ0?_a z;;vuj*Na=WROfC#9k$P+@5c8(PhGBsy?gp?ZPDE;X{V~9UoTkn(R_;H^|Mnpx=h$% z^KHfB7wK{aiEF>GKh6l>`_eva%japoA_Z7V-CnF`;99NLc4_kb^Q$Dk2XS2cDAGUc zm2hBz`;m>+oy*_4US~7y+5aHz$;KJFcXi`~LKswg<5!)S`ce4(In_hA-p)I;xgt>g zW47%^o)j;gvy)4o&17nOUU*j9V8zaVXM(rs$Ubv0`4H9^x_QQAcbli{cLp8*R`cc1 zb{_BfA6fI5pYyJt{<{C`$<wdr83{Rc9aFaUxKk+n+ROHlRFwC_Px413^%wN|ozHc1 zx$=;Cn&e3bjth@ZN?p%l_LPz6Hhj!GCrieO$M^E*Ih=kaXJ*&#{r6lc#?$A&%6!3% z_Q%W3-k;oe=3jP2o$a@mZ&%uXo@43z=g0>8(#vg9|0Sl@eW=bpefQs&FRICU%hsIM z-}wKZ;NEAp-PUiXACZzSuDO5aaM}G!$K|q*O-z&dE!m%KG|_P<@3kGV=57{-XS*L8 z-``MabM1N6ms`23UnqUN@my~GgfEMC+Uxc5p0-`KHT}Gu(%hKZoSn}#n)YOuud_a) zxBJsOyF=!;Z$yaw>6vY3B$xY4RR8zu{pO3lp1pVE{m0ZV>Gj{zU-p&7=U+EIWc@nF z;BNW-ZRdC0`FrVER{ERlPtW$cxz7E%LiT^svtIdQf?JZa{y(!g9$sHQ>Ex}dBGdTO z=i}T<vW(vGGk%)p#lPalTGy$nqRm@c&MjAzI(5oB?3q!W?u{Gm``>yCNimBm8}8Y7 z>1?RvlLpVmL$^OYeW>uwfc3d&p!%^-r<a*;SQ_^!dTE34ubI&W-|o+P5Efl?tk?F* zlL&j$I3K?ae}uTt`pTSn8eac3e0tr@_2=e26k5L6%0%s>%UrXsr*8;9y%;ysZNv1+ zn9_8mA5(A3?&_Tu$1*!hx+Lbb)32xNFLWjw*Ck)r!<sZ{7E9mc!dr)A*w-sHC9gGi zuz0pi%=+k#CD$zcBAt@Cj|SOH-*d>lIMSkMt>_W&eP>$>?r1JF-6Y!FbRuu*WhvJF z=&nh{w|76Es;qo4DOmT-7v>Gq9oAS0y)wS_chcdq^nXXAK31lDH&b{lbG_iH@b4vi zUj-bn|9jcKw=?S4QG<5%6Nam#JUu;+@hteDbfV8F@fCAzlFF8Pj;ANqW^8!8@~`o_ zpMO^KxkU5(Zc&T=uyyv&Kd09JIW;MLQKk^zwtGoOr+GA8St)zG(xtB~XR@MBQkUeL z$NCZ0hMp;#m!=(Ey<%C}d+ygKWPd#@U#QJ@z2VP=Gw!PUQa(!aB(IwP&GY1$WrhzG z!=x*;G`EXQo75{F@Z(Zj;mtg;2-E*Z>;Fg}(GqxVqT|?prol&SOCi^lwoA)jU(wLo z7xZOC_12W+RblKGrm(y#y*KMbbdasqgasd#3o1^0%OYETF+{jBs@w1pOMhm`+!)PM z)2Ba8D|LA|Q8K0Uiguk=&($OA_co`V^)C#K>E2lp$$#_8jgPZhpG*!f-}_MW57z># zhvzvp9v_>k@-Jj{cUWC?*UgJZ4sJVDdT#OSQ?=hS@^_!O6PLVc`H?k(3uKPVul{ms zTk-cQ?($m&b6?-8I_~N7Wup3I9hFmSg{#)SpLX<e@NCia+E-`ng=g<vQvb<q->Kk* z@ddYQ4s$(DwXRYwX5DgZ-iN5`*KcO5d$RNV^y{V9Klhmb`cN@P;$qmIi|L75roS_6 zYW23bI<HPA@85x3{&S0-&ahv(`m2unpJlN<uh!VCs{1vMJ!{p5KMD)XZ@<@BnpMGl zC3^GX(pfinq;?%%)qdc|c9&e?Gs?>s^giEJdnn5+Z0?ykzmEFfnyVbKZOxe#6L%%+ ztT_JaTE))L6(6kLG*x%C{+f4x!QHZFs_TEg{n5F@=y=}4Hrdo2zA8sveG%JHbM}~o zm(SYH6(?tuy%BecxR$7Y{hjWfhl|^DxfNV8%>@=E=^R)#*G@Lry=;aZPq{m%vvKs3 zX@&Xwr&fe6*diLvy8OqD^f_6lcV85k=w0*7=gl;?Oyx)Ca-aFe?)=DPJ$3oV*^gbe zHShTH?dkJfg^sTof6R@3c2xKCylZ7ana7zu+1st9ub<ifS5>Jxc5&Bn_S2KJEI!^} z9)8o*Ztt1y=$2PoM2m|a&rw}}F5_Fx;uSV+dz07vopAa4^xSP*wsQV``C)>(c8{`_ z`$d)eTOIgg9(~$%F3a{azjv4K@9o)zu(JU6UUv}7dS>`|Tfo$5zgePAE4}N#_Am9w z6$UkV^Y^O{OMLje{@>OAI(N58AAh-tQK6L6tT3%++iC3|Thzj2ww3JLwn!!VSDgEl zpzFU{z2|IJXqY*7?qxOM8P|MHzCK?6{`e`wpzGGkw^F)mb>2sd+<)G@I9Kd;rH#eK zs~>M3c(m}&t~E1x%k`cl*NCeY&xv`pnyWK6BDd1O;&{&Qo}(FUy!Y$0I#ae+D82By zaX9qf-R1v7*E`uNCSTN@Si$;We`5DqsjnBV8*nC{IN*O~!(){K<FtaQNw=h4){1@m zR3EuOSeLy$LH^Yd<%!7;?CdTD*(!-x?G|0ma5nL;MEs|&KAsn^uWu^2zxCtsU#qIF zO08DDe)sA6wo?q(CfuHXdn^C^f-QwQ-<188qUw$wS|EP-l6O$enq}J`MgLKa^Zi|{ z-&K3%QtUj7#r}V?`LgF0>`CEWXCVAKK!bn9bt~hvLYKH55u4b`Z*P+JI(gu-)t5Y{ zPS1i&QJW99B@+6C%S+_e2WsTsntAX9>)kUI>$zr#w-oYkshD|c67QTxb~fLCEn=FN zRV%w;>h(#-9bZi=WSrBhyj<h*RIBedSi04^xce7HyZkCrJ{E1yns58$j?D2(aaNJX zt@C=c=6PKDWx*4xE?-+A$+-Q*^wtW^qx_T3bG@{`-s4(){M)+T+LFj}8TWFdjn6vs z9^H5@X1#W{;Nq>p_A0YHqE-cW-LzlqF|TFbt{ZQQdIR=nX1*3~|ERaBLMJEmSVnY( zaQ|6m&yrRChRZ)%@hj<W-DqZ1>h)SU(CvqI!(|2T*FN*UE}MD%b&1gP<vD$c(e7zK zlD9tFXvdnh(|+Lz5uvO%Qt_P6I=&aYIebOwnaDm5W50cJ=|^5!^xMu3(XDZ8EM++C z8_z6wJ^FM;<}54MoiDWf>rTb*I3&E>Cz#!T!kOv1?zbIY-M%Y)=F6Pvx5Ct$QVx6! zI25osQptQ}bk6*!MYjE!hh;Q%^RuNNILcbDS3e@=Sg^QGuy)B@b+=<%uU!td;dpTN zhxWdm)3#L{>7FYz)9>4nHI2(3uzN-yOnVwHwv?xB&6!ts#PU}P>AzOI{V4Wz_0O9# zlibC(m)?AsJ*ARo?Qy=eLZhOilXDXG+10*Vv+4Yy7yhUDXFn}1d%-R7Hz~Yy2FLfw zSI-@nSQ)ud?wjR**7B!YQ(h+b|EW2rQ6IXX;=93O?brH$4(ZqY>fZl@`>0#)qv}oE z!J&&ebg$YK>NZ&a)vTX=rt(qDr=wZd+Us={xZZ~3NmN`rHFH*o<)$n8ViU_}pXl_M z|F0=yrRsAFi){v<@;Sv%KG2I%oaP<vzN_!GSNX~7@#!u>><-V=leXvHwawc1nD@Z+ zyd|%W?CVM8Pq)wVyF0zI;^?cjD|3E7nYG7w9*0rv(_RVo3%q@k(|^zWJyl;YWs~&5 zdt1J~uvB{_``P%I;cfToS(b1AZa4V0{qcLZ{K7dEN#Ey47d|z#`thQFa=viQ2Jw5> z&qjQo=YCvR?D(x1+1%sOzqeRd86CA+J5kQHY}-K>zx`{<`pfHOj;3cTojrQ>^_)xA z^R~TyyfC#|f8QbFt=Cu+dEM7-*G+TjJJxZoX-B~iiJ2Xj*FR5nEBxl)z4HF&ud6nk z@0|7V%_mE*Ug5RtQ<j(a`QJ?W`Q_#P|3~-7zn(lRE<N}9-fep)9~IYscgnAoRY?5n zGgJ3tI}^{$n0!(E^SA4v3*UUH>q{=5dbxl5yNUVof`Tyz`_mppi_YE>?)&*%vTtkF zho$2CZulI?^L{er0b2s!!fSI`ZWVa#XEP|jAGY^Frd#j-cd@oTg$-BdaynZbk9%|_ zK{)aFqkA8uLtP|q|9V<`X0rRS@4{uyx3{;LpGv<tO*=tmwOr~Xi&>4Fzfw|X3R<S_ zOqlR8fhnl)D4STQe3$CpGuhQud!Mi9w12Ey?!E8J>Nszua{sUQ_}>L?U9<Q@=<E8_ z+oe^HY>Rn{|2&m+f71VB>5b1PjosR>zW%qj;s;N$(c8j+$f>fd*LFGDUb$vv#P{QY z&1>yjn~Qt319!~*byIz>;5*&&!Zl0|QC-!yU7EAFuj^b~a<)cio`dkZ29dCki`OlV zdmnkCY?NH?wdj~lWZFFb2fEW1?qYrML#FW4$z4%}(R=^2tviyjPUw}@X17)BttF|~ z3QhWp*0LVku_W`W+YAf;dE4jB%xB5xd1l&RXguL=yuALx$igM(w%%K5KHtNlqx05> zW%JD5FL_@j?Z}&y{%1pwdE7nw_bfN<x;B2w`gyb4|E$rJ>UoarQ>SZPvk||ydhUx& z?eVu#{C=HhIK1Ol*^W6ncWamH-Z`zp_SUfUjp?mlH`WBScE7!z8-Mmia@^djGp`%F zUvHlA<h+?oX7u@cq4~3Snjf2V?Dnqj!RPC?oiMIj`gZBPtEKP#ijUvek)g?XyL|q? zm-c_>YPj9DQ@f_l@aoy&v@~A*)PoWKQ-7cQ&edFd>($Nu#YIPq&pnwnZP%Y0zug}j zTIViL{Ty%l?emuTI{p%;p6{wY7JFX&*tXK|v!42y*+$9d%@-*a*{vELA;u^4eQ{>L zz03J~e(}#MzRO5&-Q}^b_x{>=`M-D0|CKoqx!=8eHh=v5=yzYI82;T+f9iXwyGY?Z zv1ytg+1ULm=C7%K>OCu0{P*`;NA(kKZ=bX2M7sT%X{Bcl9#Pxz{dU2U+-_^XMURwo zqc@~y7R;Fc*|}k7v1!GD>$2Xb%d+}!{mZ?R`I@=w(wT%en#K3`zAN6dt)u+2>-9g| zUN}|C{GAlOPjY!~{bj|ia_9dZvMWj1`pWCVhOq08XWaHa`O5EH*oBVtn#k5K6K_xY zGgICxC3?r)<sT>h|D^x_lX{(F$6M=lA3A#eywkCtD{OjEXiDd%gOcH%S5xxJW~Z;a z+dp#;zi`z2nXg><o>_Ua8Lmy+Z#*Z+E$pYv9^+~De-7LK`7(L_AD6byeXAYV{!FR8 zaW;GBmygN~Yg;pwKHivDb~J=fxc*Nx_sVPjTY6@7G<t3S@kF@e>a@iNPQ6~V<Ad&j zdz|;ZiUrhmZBc69r+C*mds4nUpRhR3)7PS+cH1`d**-IWF|#`9rDai-K$49Aw_V4# z+}>R`>Eyb{Z{mK+?s+)jKf~Lat4cG4SIgg=U+KX7^G?UpYu~P|tBjO7o&Hrhkh^Ky zO_NFQU*Eacvc6QrQ|Iv3YnvZMTsm+i?5IxkOV?d2vwhiCw!gk`L%s6NrDNQuE!HgF zw`Jvb*TAN!i9-CDY92e}bZX9Cj(h%k&J}G2PU|<ub2MlF?fmI6|6tjH^^tWV^~X=$ z_`5^jYU#=IxyLf!M`(73zMlLzXL0YD$rCv@U$Z);ldtntH-Ag@Z@V3LXU$lBB<R%p zEz^R_|G!PRlCnE&q3M;mzbxnd-S#T(OXgxv?@D`{$;I+(Q)NE3-=6wWOEBO@c*(&H zzV~@{{%C)nBm7bG{^If{Y3KKSUYJ{C{rCOFn7uVFLh=uNs?R^Pcwg#&>2=gs!-tO# zgdJnK`P$BQ{mZ+}*S82J&fK)&?Bj*0){m!5&Ys_X_x<g~+h3>OesbSuzWv`@>;Fda zm)7(@y!dvNOW`s3pV4o7w)|S~ur;lE&c+K@Z)~Z16nFknpzYQNHcxhSOy$3K@mG|` z{gvB)FPy$Q#=v{W(Xtmw-|Ke&w)}X-YT3Qb-%ZWZZ~dOT`EgKexJc*Xix=HLJyu;| zebAKe(WQBuscSZgTW#t#WVseAwmDt*m9_I}xfS7e+UI3=-4;1tx9D5-$pdSxlNKMk zUG({@-HyB78C7d<UjDS5Bc}6*WReWK%jEs@HwNfuc0BIrIxY6Qo2hAg$-(npk#5^3 zC7CD3ozRt2Fvz>(r2D_;(CsU(-|BAP@hv{}WU<W0SnIqymy<g+FFn)vwRi6{_s?Z> ze)9ALCiFL7Nj)3=M{wq3sa+CA|4M6)>|;u_Rn@9obh3J@RixN7-#cz8HEY_ocvSAW zVPBej_h`JJk=>>g+Z%c{Iqz+KTYkINgifilyeHuQRq@4{cV85uIi%a?#o6bbe8$6k zZR)K*qJCdiez&qe5_wg#NAS4bxzdZ#hj#Pn9)4ue($w+!OaA}w^{cl|GOhnu93=K2 zM!)m_$$dZ5Z6+kW*m}XxZ~9qwk*pb2rpG$on3}J3IX~}l@>=6_?R~80y!)p29sGGw zKD9IH#p$}@qmGW#<vT<UI$rci+@Nwix_1%J+oA_+Vyv5t(#}WATr+sY^LWKEKAF-6 z$%R|Ox;bZkT;69`{n(hH<w$na?6->pYVUvZ_~BfV?jrNMaCzl2yNl;f#1^Ng|F`Z_ zem2v6%kvo>>yA&|TRQpUDe2rlHG8*-zcF5}J>kV=yT|dDXH313%`+wDZ-i8(+ry2n zTRIb;Z~RtX_k4f%uWh`=+P9DEoz{rU_00Secl!p5@a+@l3!iMRWqllKvUXSft>T(f zQhztUe)^;Eb@KAxpCfj?e_p|LUam6d&}p+xop+u-oYV3Ca{j&_e!t~j&kTKY=~d3* z^?c8+CeJB<S84lv&xTh`|Mccf`Eups{m((Sjvs7$cr}7wA*|!ueE;-k6`9ueL<+3` z_I-RIRQc3`fo1QO+P{wvP2DM%tvi3$m$kLpPtO0}u#d~aUo@y?i{*jZ!xvjF&KI6- zeKIxt-hKV2eH`@_lU#m8?>Bj+QhNJrtN7V>%O7vI+v7M}R+%$Oy7q>V-=3Y0mkqb- z{@=F2xA544OP02(`BA~*wvRupxc6V2UnS$~;%inxvybnRo2~4#@$!yGi`IP1)mJQA z9v9)IJ@3If_LS^h;@hTOIDB{7t}S`TQ>RpZGZyH1wIpTd@v{%(a%^V(bbi!n>$`2{ zG9#IjD~?}@TNE5~Iqzt+`ldB<zxi)xXs`3Q#T@zG{MfV~yXMW!FS&fHP}RO_^@&w4 zEB%jrpJ<a6d_SuGqwKVv<oSlTg^Rr;vQyQKpRzZuK2Up4+x>sUf9|a()z>L21X~K3 zoA!hk@nu;bpUAz^L3(0^nBjpd+wNRDe2C-7Y<VRk`$f+;E~rv2t_v+l?DVc}UECnu zlD+Ss)%HC~7pk()7fzIE7YzIuQP!n>Y0J}z>o)soNG+5(VdU}nRl&Sk_lZ>#k|uDx zTNNmy-6ef>Z*T3|evkWkvhT0{o*eqAyY={u^`CZ5uKmDUaEE_B;|{g2A}9Ej`~PqG zHYw%uw)e8zPp_Q)t4G)P`kU=vZ*sqyvfnn&xTw)}vga;_ush#;YQOuH-0<7Ux7BJ* zM(yzrD)u|y<(!oGx!Okky=C3GRQF@+m-ZYM+)<uYe%o?azje-e)7diqe{H+md@FyQ zT#!9W;?6mbZ!^voY|XFF|NgDZe_LN})%}~_B6_;-_WhZ)*fy>2&x4ca>~&w>+fr0N zS4MkBX6-8;&gxB_?=6=df2qCeMD+KT;xoD5uUPN3fB0tSU#{@*o;w$8Z@U$rD}9o` zg-f99gRA`~R>{xz>dzRaPWf}m{s+5j-H$M>z31Z29u&K=`tV%UyVG{7p8wIF*T1v! za%@r^Q{?=;=Xosck4*c|H=|tZ*W7>!UU{+NtLCOos!(6a?(pZO@8)&R3CpIQRL?tp z*^EDXEB}A7<+ZuL56vx{|1sC>Y5rtco80*G8??QS9m{pg>HMC(P=Dd;i(>1zUaxRg zWIuLDdgjkeYj<f0_qE+6TMDgR&c_z4JoixML{MmmcjA8&=l-;<uJ0BWm;P^)?#kZV zmGN|X;YOYMXN&Fsdc3Q<{#2&<F-P-8<MyfbUztx^d5C=fk#Y0ZrtjB6rwFg8Q(7|f zQGwZ_h5BVbHb<3vOIcoZxS8-U*O@QRvgrAo2;=YHOjXzGsQm7$j}Bij-T2_Tx%2M5 zTK}T*;iJVB|JVQj{y!o+W9`y~{}<c;Qa;>mGi_VE$?2^YC+<4DoN@N9n~m&`<$}{D zt4Rre+p$42*k`+8?z1xC*1PK`?O;2+?2)t(%h$8Z^A-L-ldeB~FKhu*USiI%ix%@& zoZItd(%vaY3PXP$mn@aD+jmBYC;H#NpZ`BU&z5@=D%EH#Hs$ra%B0yc+iM+u=2n@U z{HW$Ew6?ucg?;VHv-fYjx>~5NS0v{BJu0cYcD_Wgebvl)esY_C=Jp+HOg%Dj&!M&7 ztoQE{ofF5n;8FVCy-zonR>w?xZzTTAd$GBA<?Zz1qw%l(@Av-QG;jGj^$R+0*B^g) z|8a`V`Xes<#hIqJx6~(j%O-ujvrp*s=C3_ZbEo{>;kV`0y(a~C&WcPi+~{@YVNT8W zrc6(ZWlNN2&U>FzzFJPu`s2&_xjKH8$1d)_f6imC*S+mG1(%;M-m}==ZkD_I_w+R} zH~*hJ|9^SZL%Uol_sVVe|GmBMw*C0T-KNof6CRYD6<KZC>zjY7w&m@f-rbYyV~*X5 zdtL37Hf{gU+50)ApR3pJxKaP_nR}gv<BJ<k=fcc&ID0<rep~QjcCWO~%H;Fses=V& zEm4Sj|9x|R&d*5ZSGFbb73*VOF7XTanZw}tdzx~cr}G|`_oa_?-wNApw0T+YVOe{; zKI&KZoluTvpX>j1|KA#5DX6kF^;ERV%=ft*HpNX>@*=Zho-r4E;<@@lP44a@N4c=m z##u)X@%L@tmAz2>>fT!K%HvCJeNf2UzIghnyVZNMmaEiV_{6ua?u5zvM`q88<IHwX zKAs#l@nu*1x8K!sCy6h6otK%T`P_fom-&yj)I_dlz7e|Q&mE=0spWOay4t-DHqNX| zt4(ZQ=zo3d`v24Y+>R<$EZQ{X_q|)}sg7#<dRB5zni82F>~^NKc+ceazvnxGjaE;O zcRQf_XJfJVZX*r%iRC4+tD6=$nkCoGjDDv7XKsGS%8&f2CpT~L7WzF+-7flwo<;lq z<VnTFHs4Q7j*u4BpO&H`!<P4Zs@?U)$1Z9+NBiymQDwy^<os$TN0NB$tp|(ByZ83p zUZ9o6(;O`t+%Y9=O~{AFZu{s{p$qdDUY{|iBK%MOKeqp@d;X^yto=Ka;}s|CjQv)1 zH%#|$JtB52!D;WyJ)W;sJJSqfOsAb_`>wums_=_2-BX*K1pBh86qY@Cv*z6wJr9$k zr3!0B19Yr~-9)`l`|o>N@cM}K=Fi(~GIw~JU(TIy>qz}EX^v(){TY$#8Rjh5-)qS1 z|KV-Dep|Xx>)aKq&qSR%?{1=-zh75+b(-a(Z+`n2;%{)i-^$kceBO<+o)h++x}R2u zPP@FWbNU7oe-rC}R#p7pWiC$Dp0xVxnaQ=sEeri?i;vx#mMdSWC0U~6X<H@p<V$(} zQ;XZ5vM%mge|z`mE1Qh<en0#5V5RcwlyCDFzy4*LyzE*0zti=W?XQj(YYQ=}UfcF= z>%7l99(S6*o|NCe?1<@%-$#-|vSn88?5)&4mvH}Z?aF^o{M$PE$|Lr4ymmUbovCK= zO77~tQVF)77WavNsQRGWeEw_0g@c{zwHE!8++6rCy8ea58uwk2<=tPq!Ws1HwKTQt zF8BA_Sbn~decQ<ONVsUpK90I=3XwKb_BXROeK^~aR`0(3bv<)T=arL-jAHA}S6zvG zG-W}7={es>|8q(q$6wrdvnw}5!2en4ucG6kvmY3hN!xc$4LZF;ZBgj#yDeQ$lp11n z-lo2*<p>b+dGr0_xyHaNiq^-y^IWfFF3#Jpd$TIMImrECSwH`T6&F+c#Q#2fk|%I) z)rCMYzQ;{>V%>`ZAGg02QCWId-AE^H{#xswQOVku4{)jP{&s)GkDHaJ!s4WF2WhPe zvs9SipnPzd)e?!^m)2h=#b0q2*rZs*tFhn`SM^<ow{O<U`AjMP>G|)Z)AO)f%;J%e zBCo$_Zu0;C*8ZpZ1=&Xbh{#Qy`xSpVlt;Ahzq9M3)$1MVro0`S5|^D%K9Mc=^Lc^O z)!BD<M(orxKYmisUCD>1FMDTfYShIL1<U^z=WToF$=2z8aAKe0=jY4qOS$YndH?e{ ze}`d%zh&{t{cIPQLf2J>9#E|P%)9o&|7qtHEAM3d=+xJEk#cNf)?&Ud=O+BW`hL^Y zw^O!r?3L2+w_2t2F=oQT*N!?Ze{^|#BWLH^e-{4#Rx$Q^uZH)tdl|2GOg$=bOUuXY z>ph3`y+I9DEROGXcs%Ym{(b6NU0KcPlb3dVvHNnLVe<{2FH?R*KfLtJc6ZB}Yd5yN zxcBa<pIz!3_0*`gosmuRG_n_GzNtNLcVbWRoPGYUKP+E5@2{m@t`VPJ?vw9pH=F4v zzwx;L{j1%hbI*%ouDmJD`aS2&qsuzQDQ`-}H0zUc>wf3Gj@Ti0XSY>;;ZduNX20(# z=Y3M;{#~N7`>4#`<?|!H-@YIE+;r-lcVFVYr|np-pZ@2GVyRDT?_%FK-%jnVtvRB0 z?}T6Ejp}8!A`<UctQWPhoop&uHoJ10|Lr4}Hf{gj_g<H$*n>^DTz~tNuiiR)%w8R1 zU030l=DFnT)##=q;Tdrq$vH>UjkNO2KXNfk-|_h2b}hi@!}Qs|GQKXam=rNfPxDde zrml%KvlQ<|C?B((BXu$0?u(aae;js*dHA1Ce!}j&-R!TFJ*&6=>}b&mozg#}R`tzi zUWe50b(8q&rtT^_DI0OB^wS#a8#;E3CR@F9e|(swf9c%4U#s^BzB?M<d*ux4&PRKe zG8H`)bx_OgD-^oGr21DeezMF?<;v{&chr}yUERJcRXFmmb0tqZ<L8BDYeTu`mw4Y_ z&$0LMew!87u7)!|s(8HP@07(+4#oG<Z7=y}udawZ*tC7dV+SpduRUkgbCa%hdRcgw zJT!cDKs>(tO7$fD8=tnTq#jS(U*XYoWUt-99)n3UPpzM0b^O82bv70krpYv&x5#~R zuspl>J6HXOwG~ozmtU`X;l$ih?8yFAwRlm-$0u_qs_L(AKezdKVuH1<@^YRxJ2#v( zEH8C@Sd;xCeaogzRxDyC`~GQfm&#v|J0XIr;-Ej{=I=8$-+$e-&*t8W;|itTN0W2; z-mJc7XU}*v{RhiS(e?QkePunmBpTGGzd9`|*V9vPdf@Ht{EuEtX1CU!xbV=pW-r&G z=}aeFv~LTnfByf;Ihzaf=CmYEmZ^<S=?}YmNXVV}=7!QW4-;Iv<*l-IZrmQnxxwR8 zNv}%$NAK$W-M-i21NwG2HGi<`TdI3+_Vo|@?zP>YH#0c@?)N=4zm`Zh%rN<&weg+j zy=m*es`)#0zR5W(QF$y!bN6KbGdJ^XY~Qn5ZIryctXuqL?eD-G{cVw*eV^`eFFkVm znTvmAz{H!M=1sMn7gO%>IL`V0LXGNVXO6z6-`Q=`_9XsS6s?_OnD)nSPX4b#wkLjj z&RSKzoj+qv!zQ)a2SaasHGX&U`d04qvlH`9RV*>MnAb4>=7Yx@-<#fGR-OIzI*<F^ z%0#9EGo9`9d}cCkyVh>_b(#BS_s18%>~R13@5DTzi@$$#dWiI$x)~h*am|KTkNVU1 z@3Oqmde3Xw`qx{mc9et{9*GIxw`bA;iDKXID{nW{L_H|w6SVkxlc{aW43%$Bt)At) ztjm3&ZY&$V$GA25*E!!T`<t8l%zrOAVR)=@KTAf{yShB5Y3IGuMc*&_xg(*-@YMQ^ zcR$`aS->ptJ=TQ%!UqMR8<ut-4=&}M{PxzaW2zQgH$J;{!A0NEDs{#~=jvyrhq7en zKQb))^Zw(PPm2Hawgo>cteBh}#cr^J?{o5xfW;HtBxn5J(l+0!s#Jk@^VO-H{#_gW zb{j07yhrEJLAxn$rWF=%aoAg^G;7+y_oYgQ_}1{R@)rv`uh8`5WaHm!ozdyS^WQw( zFXR!o%fg|sbFo;6d&0Y~J%K67;`R^Jr!Ov?tt5JQS$Uf5_QS7b7|iSng9|oWey>nU zcy!`<q2I#Ies1r7xLhdRsG{-t!lg6CHox6ij$X4_xqJRBr>LKjg70O{u6_D(VtR+n z>UT5R`z)`zUNKnuwQ}BsH|Jc{wQ^;{9^BKFF}KP3_i{1sP32jlTBXYz*G_cX;>32_ zZ>eXk-s?$UrhfFuJNS{O?kMBJ*T*XUo;vu6Pas!lf0FWjCKZ*;uxUSTJZyT=+-~(z zfZ6}GtAt?pfv<-o1dL}+|Ev-GUgZpHjG~6cvDhCa5*r!*<s5jTvPmm>@$J8vf)hNn zw;v3u`)r@yRA$tC`kD9KU3v#s%~G8={o1m0xA(1#@BQ9hJR8lxnbzL^qdg;i!{quY z`Ca>q=HILT5%a$2&7Yvp{acPaD~zAC;cm93>7kp|{+_EYew@p5WzXB+TQaU?sO^6I z!H)g@lm51Co8{M?5dOJ&&Nb_<!iYo7XRG?|-u@_)dfRlGUu{87`5N1Ifj(P)Z}TjX zvpgj8<>NN*`;Yfl-BLYSJH4vps_L}OtFC{PjXynWdFtJ2`{mo}<xk&8Q+s**Qt4UW z8*}z%NJOr&I<?td|MH^jOUC8f=gt24U-|vny4u^DcJI5t^ZC83-0-QV&2BXG=1h4o zL1AXQh7l)A;>q;_jXDcI$lUvzf8_nNKN2k`oDKSI1em;**a);P@|Lku-&hdcyE-Ox z`+oJu*84siAD>aY_UrBH`NertnX}*TeU`EBvGuW>u+Q1wqb{ENzaekgqv96*8>@Kz z*KFG1uyWN*L;Z+EPmZsBJq^ol@g7`k&f!+mx9P}{T$v+ohM&7TLIUHaPAxB3C72d6 zEwy*L_zJWBi5;I??U@gW%5aKh{g|?Os$xo?W75+U;T4RA{Zf7VjCCB(HI?O5uSt10 zf74sTC$}q)Rz9hl>~2!+rQg13(eDcr_o`3G`=mU-aEdGE9nQw~++Wi5PeZQt$#m<i zepz<4S#Rf~2TjL!ZJ27w{4DS3%xAswzaxr^|DLmIYMYY~e)<IS!3XOlUM<iSTk_>h zMYMWViGOzN?Jedf=WU!{F;^pLPB4Gv^ZO;2pC)d-Ab7mcx9&T??klg2Rc{Tsk{zY; zCFgFu#>^;e$Wp58`s?_f_KOqPc-CBVk4m#|w|~6I?@Hv=tc1M}<G#iUpZYjCm7|Jf z%I5{bu?yz)mM409*1GiNb!u!E?DNWBzVG__pC<#)ILuJDDW2MPWpmU!v4ER=$EWVM zUlji+&ArV)Ea?2Uo@YJ=t#0Bnbw8$Wdy^_7VJXHK?o!|1;jm=>Yw-_XRIVO9H}&bC zRLkR!U%dJ=d27y^ZGjW#K8o8O8^1T>q^Nc8?#k@^o|3QoKc3yUI_viG_?Tau`?j=3 zCr^9No6&tXe~0in{_pc&FK$ovc1xUVm2CUYsHf(!T7u>LOuw(Q7fy_K`e2ddBF6gi z(E0@*eH@xZ7vJEV+4NfA?Yk}eqB&Dy{r`9T|2Y3g=k5JJ&Ht;t_IY#cbm^td%(J6D z?R0)RUs6aXKQHl{#|<a@tSgSZe_m&&ah^#JnEv+ar#*Udp$i+M+23EyTAiW4eD3Yb ziBoFt23>ULl<9dUzOJHYB43vLSMlxpKbQYIH*rs7L`dH6i1m9!gLa-O(+%xSuv)*< zO8KwdeC-Ky7k~C*YyP|EZRM(CQ@<DbJpZ%p+s7$SdoG$?4KQuoduaa6xgQIw&zfz$ zs3kP>T8`{ri+{@(P3hmiIpTV-X?f4uy-CI!@87b}UMJYMWoymS)ti3pj9<R-*cYkY ze`f3~_O*SLc=PX_LW7?lzaDtObVc83<?BZp)mt|HOuHQ<wV;1Br@7Fk?372b&3VpO ze6w#EW!%+#_jC67{QP}C)3%+zYFA(UB0uGK+K>76*SAajie!#GVl@9*?v({@nRhu9 zVjp{5z0vZaqF7kj`zBjwZ}RzxFLoR)4Yzz;<Pi7g{jo<iS$>b!MSVW%&7f_lK5N#B z-*q3BJoICqdo9~5MyjW#N3hzzYb}q^&$fMc9=VpBD>3MCjmmg@QCnVg&h{(yZ}h*; zIi7g;@&9l4|2@4O|AV_e(Xy?D)m>)o?}w|-8?1Z%;^y!5EekgBdL3(u@s>U}|L@KD zu|DZtpAPT-J=y;G;gf5)OJ#OnopfS}^||1m39qK@6+3qDwNspt<*H|<ms2yp|1t?E zu3b1=?A?NsAD208-FqtS{DiK_$7g?Z`M8p6kKJO=&l`=zMQY@BeBggq7_)=NO|!~M zc*e|+o3_1=p4)Lm|L^4D)$^^?_?jjrulQYaBPQb2Y>P*mbnnDfzAoIA_GiUvrP%Fl z**!U7bNI!Kh4w2ona<bbxUC?N&sWRVGLf+?;*g4(pX9dBq021p&TOcgP;epa$O`3d zz3gX`z5Xb!ON_m5z_ahB`j3O<8-5ARmlIg>**ksD=KDRI*DhS1f8d5^{`mtbs|;Q* zWr%%p^xMUV`&<_{F7TJvc;5cemaV8(#QxLM<&rI(zPny$EH>c!YGU;Gp#C-$27wsm z^hrzOKj-)U)0O2HpV@P%jzy(1a;{JH@5&T=VFuaPskhu2kFEaq`*z&<jkEGD+A~L) z&5<aV{T&>ADlVG;mCUW>lkOc{{Vsg{-{p0$mcM&qQU3DL{`}ud9&C@T{+|&3`{wz& zZL2lqt4q@g_dg6<@KkDI@|57rvKb5YZr=W`y{TGGIr!n>2xa+WwR1Sq+5@du|9iaR z^9fJZtGDwQ{k22BhhN!R64QSD#`UKwMa$=ZOuaVeobJDsUwQb;Dsz(aW3QfAwAN;2 z>#U1gt`*taD0lq`*?!mdKAY`|u3Ck<!fM|$R}H3hNPRb5QaJHk-AO6`v%m8r9vv$A zXWW&o%DKF|Y*x^fVCHj6Uq{!yPN<u_K;YgdD{(*DPydfBx2ybpWx0Ln?~pC?d%jK1 zvKM}<ZeLjaS~&ly@1f7n8+rTwggHGGD*W?oHk0#)tl35>YHvS1YvIoPxw(sFsmYbI z2IsF7t8o8`oo3-}yS3+s$bksn=#-lu*Ea{&u~+SSowWI4ucX9ddB2G78H`UK`>kZ^ z4%}(_@a8#dPl?Rl`>&^begE(7{_5YK?LR;7-r(u7di(zu^0k>&=PH&NxBUM1Ox2NX zx@>3RpJ&_m-Fz7z)posndxq=tB8^q&KfYSoF{$MlUu0O;^qLb#=B}BOd%1De=DVGj z>_6p~J=Z9cOPsmsdj9E!>4_^|_~bsgGyi*aeapMA%N2|+>|(p7|1?;A=kJKKS5BH$ zB*peGeEDwD^pb^7Hg7&SkNK3c?1QDnuNLQJIB2PxCIv@ZEU8^nZoO;K%iN<06R*#% zjpM&z@vB|`Oz3~1t*jw(GHZ;>k8I7<PuaTgDXWuPwaE00_7s1eFcHg5p%FQ2#J_&d zv02&fK399WWs&`-TaN;T?;Gx8yxRLF^2#};5`8w`D<*G@wK(0^DxOaaaCtt1Uot&~ zFX`E2&B|jshGI9PE*1vVzwULMCQ%pr!v5n)|Fqsk-ZeIF|374xzjyEFH|vkNZ4))J zF8$^>G$-0FdBXj;6%0SWu5LPJc9vsZ;Q0>?!SX*?7$=@uyOC+~5l72KiSz#jp1Y!+ zFfFm=`@vOwS;;+_xw4NtoxWY#-FoNSx~TpMKL2kmXE3<Sf2Y$+eV>m1^eM9!ZjF(- zqPkzbcbh@~<hp0+b<Y?Ro*I2f{aq%S{(IjFE%Bf78lNxe{yX*7X7$;Hza{1iik-js zd&ZAsk!h=6tnM+r-{bF|)ckkP)rgMvvsO_zH-@Z^`B8n(DZ*&o;%vQ+`^ha9Mc<;T z=PFd&cTGH#_t4_;`WbqH_jA{4?blg;>~!+BZ=p3gzh^AE9QW|Z9e4MN>n~486+YZj znC7MW`c*}A@8@}6z25fEXWmg|zp>KgoNZ(0qm$u+9$k<Abmne(cdCOwny<<IQ2c#n zhjpgA^(Nh$V)Ns;tLblhy<;b*@7UnB+Wx<P<AkrX{%wB#vA#>mZpG8z`_9+L+c1Av zxkh<^jYiJ<{r~^HUA_PB)jeVRq<_7=`P;l+KCs}((fT{g=d&}fiPTgEPM`F2=eNT8 z=bJWL+-}ai$HJ3-?J%$Kw)_2Ss{~?eo;>@vO`75OTiL4?*}FGQF5+2zuv1=1RC0sv zT+Z{3*WO%zp7d5aadWavi)CQr_eaWnB_X1%&lTqw>*{Ig_@tgcv$88(`bEgBrN4H6 zy5Rd~a^mjAw=17}CO)WOG3T05lD%!!D+S#H0h7wpIDatoG}SJDztKz2YSV`hv16iA zYHioQR4wb`%G6QWTefcPi>U@%CQg4i>t9rZ<o0(n)}Bj0693D){^zy-FVBR=UU~cH zRFxgWy5s8psW<xB55)*(Y@B)i?<U*aC51buSAVLQTRvlFO#a#VzlHanEiB%9v;4u_ zM?Uk?kL^7$m*KDComnj(H*8IsnRe{H+_#H-8q=cG*CjvAwKQH(*{;{3w9{_s0u_Ph zXTF9i_pRG5BNQ7k$t$Jg4M*;e$oy}=|EONG;(I8|(<^@dmX)-vP5bs;mVEBLSC^ld zu9-YtCGAvPyM}L`{Ubiz<C@HuJpV0hi9fS2(^fO0=-s7RyLhTB9rE8i=55HYeI#6{ zERfIEv)}$ta{Z5Q&Gvtse{MSP`G-8~{(sr~-+kUY&!VI5#j%IY-|abmHdo{yI3YZr z??*;Wd*h^(^X@Z0OYrP<J2Lfrs=Q%l;6~o*?;SaqWCPQqBXxIvZ<SHqvgfe*HR*qk zHrC7icTHW%H{<MPV;;HEW%<swcNj{}Tz;Z^F!O`6gy?<4*yYKeZm;Y7<kIw7!av3L zOQz%UW63`2SDsFP_*DPoj=9^v$W|WHo?Y<wJy&^JeGXs$I*C3((|6yRH|+gYJnjFy z+_~GUPaOaC>u7y{;9R>mZx_BR)Z$S7`o-hx)xS31#l<xiRqNfnRwJsua>EntJrh&b z2m5%=GY)_MWAFNcn5|R4a(yf+tB{ZHuMT|d7<c=8n0iN6D{H^#-Ry+5?S{hBx;nM* z@+|ef6n5s?YPaew-|s{hv6O1CsXfXpe`b7l<E{jmJTc*Q6IJvp|M>pdu=ZzbXNTbI zO|QIbpBO21&#^o_HCbxMo9wvAm&a3Hn!G$?&am(6v$vN&M*aU@_wIMz{NIP3=hZ9d z{j>j@{{QlA{{J7uKdU{I|Nr>^>u)bB{15E^Gqt|-_p90QJ8NG{-`}<O^Sj;K`R{dG z-T!Zp$MnVPM*Au&`>XC@*B@SrwVaoAb?slZ1I3{;?#EB6nl$;NSE_9V^8wit^IF|s z>C8GUJ?SambBjO44|`Z*&$n(VEwVf0Y0d8c@tMo1>E+pbv)E2Y=uX<)>$!aHjEns% z^PToiQ+B_~e5R(?RKZu;aPO*vg-e=>wsE)QCEh7HV_YFF$MS~p8fWzHD;pJdtxcJ# z+2ZCP6Md6a=92Tj&6Wik6WLE0%7-+~-zA&QD?KBl{p8ovdd^3Vyq}N~WA^>>o-;O& z)BmazJ(<ZoC3N=TC(IYlrxlf)2yzXt3KJ^*KQl)r;}_$lzns|&oAwtjT2ZI{s`1b= z>4P&bq}51Wdy{bI+uu3sIHucnFMg7fdhS)5_w%K1x-W;{t$T5g!#BC+LjUIrCnoLn zy{D#{Kka#;)J$XhBazFJHpz7b)axb(uHL^SSX1$c@SD!p-;VeP@Mo=f5xq|^;GNC? z&NG&q({8@pAM{ir^;AuhLag!e6(%pfnlb767j~Hc|FZMn57Fc5k0Kk+*MH>RZvSVo zebMie^ZzW~F8|}v^Su0{%bD%||9ro*_Wk#|Z{Pl`eZIZ^<N5!sM)%@sln>eUEdT%Y z#Q)ZJ3~s%T_FJW|UM3#d+VbP_G`H?IuBLejo31rZn!Tb)YoFQtgICONmX$o5&=EFo zbME#c*(()mZ}%P9{WwS7oPlrEg-IOsU%$Paqq8+Ruhgw(i~Etwn`JFeeUjLAXpZM^ zr5&?gyb4d<KWWPGom!72!yd1AYxO*Gire>%g`p?E&WSlMdUNLc-yVCmxY%zCUE39F z-rM{8_TSo=jmg%h_usa86d`%u_H(4I_A#lMA7^gQoA#h^>6O=&_UCzpbtRAd*|mLD zdg{JS>sPdIjoVz6y*K)-BKKdL^w2e{lm0FFF0teKt%DZ#Uazc(34D2qxBqnkn?-h9 z?)s>g(mzibtHhS_iL<49uQSvLy?BaY{hv-wo045}%hrmEo^zbJ<Bz>_;n#A0hANv9 zbq()(lUfwsy4vNg@2;?^>o@;ZE3p3S{{Qc)xBJ)py8Q8keICcXPv05-UEr^I_wBO% zU-kU`U#;VJ*1pw_-(CBA_WfOZe}B8Z{rlsmP5ky(ycvHzVR|f=d*!HagVq^;4j1-m zr$Q`L*Bvgn@-D&kphU=nxeZLU;Y+{yHpsQ^vtPYt*)5NE4zJQqf2+07de?K6`=DG~ z;fMajRHg4Xm2O+U-g@<PfzC6w)2)j{CmuP<x6d(r<ATiXyCk1VGCwWkzSh#yoV=?# zX8Po+yS(3<zxHZ8TX?K^>Fm`%8n;AW39+p{^U%cqp!pR?yLW4PbFK>SdM=-?aK~pN z-}8OGyooFq;;(5Nrlj4owPVTNrDGgleJ9b5F-1B@P@nCnchaBE$6J4?<^&p5ZH$oI zGv`84P1Ie>iBtRQ986vxaIj{VIDBgoV}!iDV)_3%xrW@{-LI4%%U_*T5WnE?yR;^w z+^-vNYBrcXcmKIk=J?;RuNfsXk85vvZhI>7+CeL=o4;-3oK6KLm$bdJ^RQ17nDTY8 zdrQyDCZA8&c5@`fh}Ap`oy(!Pdh*BB%by?AJ0AU`_1w;h0z0>y`|`AI*NW#7sneCT z=JTCs`mD+D@XxMYhaRby)E@i)_xrv5d;h-O{+Vh0@?ZZ?$p2h;`+Lo|%iG^~PG|e_ zkJ<Lu|9S5_`&o{8Gv*)J%yj<Pan4Zfdc9L$pZGc!r2k9hS-Qea^xdxD8N27i*2g>C zxDx!gXS<Zy6i@f>!j^M|Cf&2VB)2sq*(SJ>*Ls)RvP-#&^M741x8>iI+miRJKQ=Tm zyO4kRpS-J8`#0_XdH?@ehCO|^!uZqz!>T77xEOTbYMJRzYd)K|hU=0Je%bbT_Z`DY zPcOS=zkOMKeD^Zrb?v{@|2xlE9$wm$aO}y>Q{}1ln`Cvb_Ro9SVZC{e*S&MgKibc3 z?sHsMb^4LjyYS*3<$r7T#`~V%@+r%9?dzJiw=b@LGd1_?`m%>-Vs*FP&TIMEQTm!A z$K~rC>32M{3SzGmtm?IoWhni4WZtt)kL#81wJbM({gSupyxVH&X7ew6|1#cQRxa4P z*#1U|_=L53{}i9~ww_2n^LMs*?cJL%9?kFn_n7U$-W`lTzHPs^ul8yAzN+6->p#`s z`}gnvkNx-l-TeQt{{B7Q-@D(}7X1DcUjO~ux$5`F?pqfg7I^>reAU&RpMBrGe!I{7 zu^ERs&-FRKf4w^K?)A6n)8oJHnE#%!AT#uV-x;QZc3%tKAJ1IT*Kl}Kuky2-a(`0= z!`CdmlV;_&B6UWLYRq@`GjZx=w~`KQ+Lr#&{(G_g^P_hcT%EmD`C4E3``<MVOPf>g zpW85N{^naEw?7_T=H)fpQo|-jyrU(|Ugl=;i9=Nzx4+*$XSUa`sCetmH&>VaY0h}O zxVvt_W&e(KnSD3K+O1ySeD=^lpVQ{`)|n4ZZ%!65tvv2jE}Q;wRq(~W1#$LFJg-l@ zzSpq!;>^l#H=i&lPq0d}mt7f}8g@OPhGo~>ztLxnr8YmBtXXC${nO(k-)qs23Uel& zT>kmknF$>2>s8zu78`Bv@-KON?8HRRJ~8WKyz84x-9I#ZS)TYxVyk^Y=XD#Ylg5m* zA}l8Biy0K}4_lMvAZJ^ws^apVub{SaVxL9fv*4#E4S&f+*j}pp*S2rz`N($l{Tuza zu8P^qxBiX%(N>$&{A)^%u2>eger?rVI|Iq(@1OlvI6wQ2K#j=!&*8DZloouqulWD% z=KJ4o-kR6HKE3^ZXFt=vzi0FB+jT7eTl!dGkI_f*M|V;_FYCG0rplcYCoXeu!_u2S zEbWeT9y;oMs!sDjyXV^NCvE!VOIDqD5PrjO+UJ?`1MR0gVQk;~YKv+fLqotKnOL<i z3%{i%S*1_Cvv$4rzdO(E%76d5zW<+x)z{X-z!RbO*S+cYF;19zvL<}ZgF9L8=O0fO z{w!*(lUtfBr8{xU?B9-8OXU-fhF=o=x=Z(zYkc+Zf_ba!Vq7n+KAyTzZ)2%s>{|b2 zrHjg4pM76>tyXy2+VF>0V?QQTasQjw`|CyIaXUY==2zvWON)z4{T1boSNE=}o4RF@ z<n;Duk$c}|pQ!npRBosDJnZ}Rzu*6qyo=&K`u~QN>}ihZ)j6-640?}LJ(0Wq>&}<> zzn|P(>TW)sxIb?4`MN&t+3RX{SzcJUq<f>?wB_8J;!G}-+CKNqRXNce`k=%AFR$&d ze)IR8`v2@ao>$L|m;YS-FM5CR@8|Kqo^QYZ_f>fQ{GapA-?>-!eC}=YegCSrm*1;X z&oim`9G@cj@#N!A+4ZImKL5~vp_gho{iF4*s$)wcF1;v?aQ#-8bLy)^UY1c=o$!LQ z8~qt4aLF!_E|-;A&D^`qc<1eJ1&1dIrysv@JN{3a#U~xd;K;&9o1RL?|9AV+vMPnu zvztG5N~>1>ckZOx&F6e>WbQ0>EAP8-DIxo3$l+Z(7u}F|SiJr)UtaIFv?m9azjT=P zReo(r_?u5+i<X>PxHWlBwdQ%d`$sNXMNRD4q5C7XU3g8@pSbm<o0yyDM|}1+R_;G? z+<E%U<ZBzxem=E1tRSjZWP#L{cd^~S%Om(jwALIuuwQD&7LW6*rn@&Z_6X-FF-@;E z`g=ljVe|CsNq1i#%zSoZGwbmK$qP%xOfsfU%;n$0o*kFL#MQrN-F2~_E9HHRoDD9W zsg&F$?P?K!RoOpt*+~^iqf%j!DK%Sur0=$L<GP+dt8an+?_cl#GAtG;u9I5-=3TtO z<)w<>zB5T&-+cO!?%J+Y+x9tGaZjAPxNGV@_Qe(Sckjz%P|14u%ISYvO^AQ|_0<*E zrA2!qY6JU!E#Lnm;NIKbisgIvt&Wes@VL7^VKKw{gM~87jpvzGD9fFEZvOL5p1j8W zw|{R-=iBeDHO{lD`+WbO+a8?{YiraVG*_rSxLeWuz&ii<@&8luLl!>g|I*WFR(iI- zCz!kc_J<`)VwcUBm3->9jPTBCb6ZZ!Sx43Xw|Snvcy06EHFIji_RZkVHTJ$%c-AVO zX~hJ|T`rjmekbWZ@4Mf=Z9?p=#dH2=ZglUP_i$c~Xy$HlQHfhp3#-rgf8JOls`~R^ zn#<7;meSejYqxAR+IM4#a{TkMW3u5l`(=)m9kH~Yvt_|ItMAO$v_H=JU-(yPc2wwt zHL9imFQ@*xplrSUX`bejomcB>wro<$b~(1xSv~dZi$-CGr!9Y9S%ix{y=i_s=3wOf z@IBfwxdz(1suul>`1#_l+~11WH|wq&?%rqAJ29qLJ!<{suf{=H-)q!a&OR|rc>iy` zOhfO+HXm-aTT4#FN~U`{b8P>$!2M3;#r|pL*EK!Xe=N?N{P*%l-rDnz-5jF#y{@~% zQ1d(be&0jhb3d+@dc1$}U*kjm6W@k;q90u2cTTx!&aC+2(BD9tZUJ*f#$JcNcDwg} zce}%KM4IX7*SMH3U*|KGPW-P>VgKhra|NfukFRzN6J6uXl_snSi;lQ$xS?;U(ywi= z1Cw`LpJDQ4!F~0j(3Kx+-<Zv3ykL=8yx3M{+mF7i1|iEb&ec;w*%T_)Jih)UJ6f{z z)5m3E@yB#3A`Udj928vXx_Ir`y<d;bYTG!wr<&oPk73~EbEkTq9C2UL=@4jXdLu6I z#&xqlJ1<ywKlvfO>{HK)qNR<^`D{F|SDC+cSi#`2@;k?@d4}`OxGy^`YnW%7wNd^v z8=uIpIRORC4P1H0QXgHo6d-Osb*f>pxz@GrKE`#Tyo;lMwU%E0zQZ~8_ODBemq%t# zcvtasV!f<=YV7NlFbi9$D<`K#^xljMw~98iPYSG?zobym-Tt8Eza8h7_lR$<c9)MW zWy~oT`@Skx=E~`dh2M`AcKRJY=e9NRJ!5T)yW*GST8-Uh6>R+dZ@B-vbTUe8_1Sv; zTF|uppKffc+EbS_=g^#aOYe7WJ-GLiRlxn$t?rZLUY-`%eeoA>UE=xn|BW2KKksq; zu>bAfKjL=vzt5!G3EO=1u$Nm}FChNp{@+*E|7iR>dV71t`FX}iT&?(5R@ge6XG__u zbIm2dbIV7`I$Pld(hWbJ{oiroxbK0@6_yG`uP@f^yCPut@67)A-`AxX?f+=Rm30{O zI>!BT7R+83%IW;Bc;6g%cD5L{EwTNd8BVTjymYN;c9y=xLbE%eHAQxH<qvvIwuQc% zn!9y-I>U-O{Sw}IYaU6>i`6|p&b^UUp1DU>JMK-%nv&ypF0U_oQ&v*^bxy^qeVg{I za*^A<bY{6M`^^@H)Sg#w|C*oL_xMFZ{m*MZv-UsJj>}r4d;YRYZ=<Ef*68NxhEDYz zvNqa5Yf`H<em(xU`rBuz8QGOPTi$0Rp8LH)`TDE%d#vS6*Iaxqb>nrFNcpw!(8av> z*WKRz?%<_$_l$dgg~j(z_j%`($Xe+l@+~Il$mPWkl<cdvep~Y|boVLkklyWqHX4(U zu?FR{pIHB@*ZtG4S@+Bz%YU`0{+IUe@Vxnd{Qv!U8~ice+g|Yh!uRF-ziqv}{@>~N zulBD5f8PG6Qdbkc|DEO|IR&%WDfdr&=X~NDdxxc``t6LbhQ^V*?6Sm@mo8^|G_md; zU)w78KcCqgHd@YkY|GF%b(Y%Fpi4E$3q|s0CNgbs+kM07q|_;UE$zemlP}FSWjO7z zW#Yw-CzDQ;-E}>~aoKTxbLx+lpD6`0$4<E&aGl2@<gfiJX~VWxn;R6roH*kDLqv$P zuk5*_zWvw73%Ax*eHOD`C0D*bWh<X_SYd>jO!Zce+XhE;3M@Doz1C_e`giPn=w6@m zddInIslkVBH&kvp-F$cFj)*B&h5jDMH!(~qtlt&;>51gy-qhgFDu&P1Ji~IIyUzd0 zFrU+Ljc(q9iprF1S&_e=avG;z@Bgsq`bELT+HMw~v*o`<n0&0i6!dI~-E;NB5_csf znzkQ2uwm)O>wPvqIb=jNz6V9Js%+ZNp4evR)G+zif~BUdMbZn?b+)d(dLU`bH`{+N zbni^zVA%6oxFS9vBIrops_z^@3G)q&dOn}H#MrP|)LEMGX_BK)k3zyDp|$xZy4@dD zrK~T$?4JM1xACKogUzY>&uh2m&Hwo(J#YU1L*MW2`_XJ)@%y6u|BJW%|6ZBDqxQe} zzVF|n_y3)G`~N5V|M`N#{h#U|Z_hiw|DRjky#ISE9~^a!v0Hn8jct{1?l;Y>S+%GA z+-(d0UZ4J}R^tCp{}23+Rhf>yI{*GpIQy4f^=v9?OV5Z~HU-Pfi9fpj>~^k68$84& zS5DH<-EH41xHQ?odwb#spDz;e-#v~zoBO<1F!XGX&*e3X8T=>7tS?l`;aJS~^~&tG zw~ZNCY_B*m`K4?+yT;<ss)ZJ})Dr~5;>y{i*D_65A2r!%hPJ=I$DgkE9qmu2KDLuv z6BX*ZS|j_lN2$%38yC*s7G+(1>uRx_?&{ZzkFD!|Xm`5yed)P&8*Tl)udcn8TbHq= z-KZ}8Z+Pg%!`l0wCx1N09A_J0v+#ZP+ZW~gbMJ4qzSZ&BR<NSH?#-4@_AP?nc$#z1 zb8e5$VvCK_>6>omf3JAz`WdSp*ZDm><8JnFw`-`ZWr}6gLyK*~`{QQz9XLB_Z<n;H zT<7y$7hJ9CzI=4P>sGg9`O{?Gmrk?nFV;O;>wmBA2mjy3+x>rU^xvs_<Np7^TjP&w z4t%e#ukp>_;~ihVD*jjd{~zC8ADsODQh)pZUrqDVKX&}Nxp~K*AZ78|wZZ@0O64lQ zt8a4c(YvAlNV~4|;`P&lmQ|7c$2Ign+!X9zoh70Xee&1m{I7A(z9dRnTv_V-!7BHY z_1&gFe;4=6+Uyb98Yi06$)EUv*~j*EeN)py-EPg)?YSHaTT=f#eRR^3`%Z@J^1aG; zv+V1Pw(ZfjdvnscX6uL5qFc4K=b2=yr@u=-=IZbI?@Y3e+150LZ!ca>JEHFIRn{wH zRlIKH#QgX74KFK5bbeU9R+n#v#e-LQ7mT&*Z#|hD!>G7+Pf_VH)~ZDT=3hmQ?Aajy zw{?n(y+nP*>RGE!eZ4IFwNw6Uul)DP?t<sk?jLw!u~vDaM24)u?~BY<n|_P${VbTE z^tHWl>7je846fcX&+K7O-NEj(_RouLMz_>;Ut7O^S!Z~~|N0!>`Nk)g@xIQ9Jbzf& zm+eYTTEx3m`r9u4mYRO3?4-rp&J|V%4hC9fxN-DH&-gZLMZN3%jN2toV$MD0{no|2 zt}xnti$VIOU41XQZ|&P!b0Is<DEz^pwfbK!vWBg{{5o*Yye4rI`3uivo8&6pU2Js! z|EvC}_ow_`H}~(&Kic;BKXYfc7rcM!yK?;t_I&$~$LrpFJ1YO{(c9o(Qulvc+n4^4 z)#)dX(~|_-bm=D{E5GIc<*(0<6n`~c@7J&226k#IW_SFVm9Uqw;7-VjtG;dXR4@2; z<%cx6wNx@Id);+$sZW_Dsq6jS|0T=+%Lid+0mO;Qt^btz<AFd}wDjd?C$FsRpWFAa zPUd~p@wPKoOYh$458piDMyA21>GycLHe~mFwRxz#J!Mbx)cedQ1tRTlh0S@KVx9NB z#{ElP;Pky0y|j1!VZK%qaW1-0q`&&cSJPEC(`-a1eY~))Fys5)1@E@LPI6s*S9#@| z2z3vEYm)A_UWxzc-@SI;8g{>%zZ>6XeYm*qoRs|el~vcPE^LUudUVx-RMBbgJf5xE zUU4d{*nQvB^s5I#UjNVz*&cuLXlQcKw)abpoOoZl;#1t;<ZP?Qmi>2c&Yie(p>2O} z_BOv)yNeA^?3WO-ows$~#K*HH&h@n{t2FH6epg-i@qbti`~H8X@9qDp?=Sj&_5b(n zkG!kCDAoVTzW1Z!p1Qs4|8wEu|MpyXc}sk6y2IyB&q`mVES~n@fA{~Z@n^V$rinlE zuYY!VrFMSZlmK()pF8XC3j8>xP+QfP@S^J20ds>@?sxu7-2CN?eyOO_>|+n5&mMd; zyG!)TfBD{bdrsbY!_Dka%K5}fp?Z$mZwc+$k4`Uk4UbB7G<t8_GU0mNt3_w66;Bvn z+W7STkF2X{A*ouL$|WsFmbL1wdwkGuUdz$EUiamE6)cCBov>YX<DBgkM)u9+eQj^8 z0_~DcYlXFKn%!J;U37bl_pYhsu4|JE&xikXw7pP#C%M)r&*k!=>Zj+0<sRJJ_SN9p z<jZH52v>?o^dAap-ni-XqixrhdMw&w^YD|^*E<r4{jYugF`C|=W%$|Yjnbwz5oJB+ z<@H?3Ym7K=zAm-t)b<n0e5YD=t4GRuWABewmFz0rynXgBZ?^3ZaR1eQE?&#|LSfa6 zl%A%(*@j6s?U`R3ZaH7^sx;>3aucVox6EyI;w=u(5O_MbsAIA6uF4bNeR=k;yR~b< zvDr+2G;Hp*{-5WZfB)Cs{JV9(&Fg=EJHPLXfBt>x`{%wd|Nq&(^mnuUkDs^0_kTQl zd;6pLpI;dNmOo<sdG5qh>88#Bg6{Iu@>$ulUHm-?%0l1Xvf)b%o%?F@y5k3r^EUHu zPYCV{G*6zs>(^U>x7mC-etx_W%T5QiD=!vV*t>Dsn?r7uz4^VTlUU?$KU-S8BYsz^ zOnKAYf3xl}J4jtNE{wSQZC#d?q)}z~*{b7*6J~FoBERxhU-NyLYYx+THFZxX8?@HV zVObuP;_1Hgw%qZ*23<PW*V??zX9(r~DzG}|M&C^9S1)394;9^5GtbU#w|mw4*Ju8h z%zjnj^_D+%LHw3O<v$nx$o{`KFnaO2Uz=~84c|KV>{`F_))hM1!nSX&ZC=s!ea8Fe zEI%Jw^oN@s@9KE@C${dy{f(=AMBUk{`|6b6uMfVFp}qY1gADeAGNOLsh4SK$>x>tk zJHO}33ce>s%g>4Z-t*)5oE5$9H|6`dGbN6>n$EN9GiR@RDPN~~>-O9JzwPy3zJ1-n z_+x8D+Jm`2-u!F-*xMlga%JUFZL{Z>s{L0RpXFYZuxrBe)4c0?>Q>Dae|uD)Z~x7& z$~UK~$LXDzRhs<3rK@khp|#?#Vzx`E*YD}_ek+kOI9h+b<(FK8^Z8>73<`SuW<8%E zyQo1{Mn?8<;Ng7tohP#&oDq4Z>A!MAl!6<_)CUW1ud|K*m|*Gib7^A#TlQHuR-9PA z`O)#my8{A5H+;4V+F@uU8C2*ohvEEVZTlZL`4V3-YuWy{$gthuuA~z<FYCcODdS)N zPDof={9dV4^#13uj!kwBmu9(3am@H$_BFcO*5$F_LAloXg?2yq+fL^A>j*@89JV>w zzV}-9<Maa|j$PX<+HdbXw(qt?eOsyQeFwjS=jzR`w$1JNpu_2`cuRc2)!CZI8jUXd zI^GDFwQf$&`BNerj)?vMooSiB{{#2_guY1Kl0!R<UKz(<?>fCtuz9C5?}?!D&98i= zUu%fI{ULqO#Jc`~M7BcK<Ym&A!oreHJ=!OKEI|B`giV3R&#L`wrgDz2rL+u>#~rB1 zvW-jaS7)5(9#gYA{zu%4-BrRO_f0?Uj^F?H_W$SC4}E|5Hva$VdfE8PzsvU7d^nr` zC$3K4VV~Q4|MTvqg3q=-?phfgdpp}V_Q#KtYfS^2e1#@m_CK0#?;%vSPqZMY<$MiS z&pq|9kh|;F_454i?1)v|__N+J!tS>4v-}L6mLIpwew*clzuw!rM{J_allmjZ40}K5 z#a~x05}LdCh;h3{>TwC*LfdO*&+q@8bLENcaY6RQrCB$A7Ns)Q^5%Zr?WB>aFCVt` zN_yq`eaiFI%I|fR@NSf6KbbS#Du!D*=3;Er@9Vbxlh41lK4vFY-lN0)dcDs2_(vK6 z>#heHiyr#A!>+;ZTElUhDE4XRUWsnI-MeJbqkC_+CYeZWu<(ocu*GeMSWb$j>`U>w zhx>D74y~<K+7$ICwQ`TkwMPZ>z5LgOSgx|#EhD{cxBP^o8P|S0q$aGfE=s$0R3ks+ ziu~D=-M8cazyJ5^?fQRL_e)L6+1Sq=_vrC4$L)-jf4!skNZZG~7I(YP{bhH&=|AoL zf1lRm{<~X#uQ&f~wfX<G`TvaPf9!FLW7xT(t5R%oNM*63ZqT0~w=I#Y4J8+sIA8Vc z?r?c3&G0h!w2AG+T6gd6nMo>_Bz9I`{`G#Az<GuqU*_6PH@o_`HAGlkeRxy+)t7z- z--7$UEN(MzSZs39AiO5ZN!B}Yi?jcXjkZats$$uS8)LR7yZRlNce*d;gz)C)haK-b z-G8>YQpo0gh-Jd&&>N9&H+3d{zd6q?MpFJ%M(#1sxq1Hnb=oOe&r5f%;`C~akqh5) zh{yX%_}`n)7hDJz+E^U>&OxJ}Rppb`y+oG&Ai>n-`1gHG&iSZF+-Ve`CzKh{DE zEZin=%71)!Y@>1AsjW9Z`}n_KrKZOdaqQ{B)I-I0zwK&SbSx)*?xn0fR?-zeEsfuo zHkS8C?JtmtGDx%k_D7)LxIm1j`|Sm%t8&YZc-+6P^t#0^SoOoi6;~8B_0F%Y+97wl z$NTEyt8dNhcmKU!_%ZySjqdAHdhUN-el4GPV%_!Yk1zlDS=6An?^n<N+aLcj=*QLQ z?o)WN_Q*?V#;<7(wZ-%QX+M~8%|`#Mxn|#@qBX^PS1vlSuqLv6!fQ2!x{%;UA<RYH zo^@|Ol?%*X_pRH1MqjY|?93e|EMm?V^7%7A^z`0MaO{oHQ8vi#o3~`wL{<51x_L(X z;vAD#=GrhjeA=w?Bjdcmrnx^~^88y@K5x#WJc&(~H@RDL+_u~k>zehZ)Wx4E`X*Q8 zw(E*(_dHozI#)JWE`55Qz3}$1rG;-limH0bJz6W>Ejxenn(BuSw=FMulj8A0`)!r{ zu0LK&{>!l#hn3dcY>IWh@bpruZG7;dFK18WZLCR+pBQBw^8B*Zzt<H<GptviuUS() z<6+IsYd<Bl*O%Y?Vf=noV)0gkJvprDg>!?G5AG1T*3mgxz}d;Qb^DaZGbLW`T5?=0 zT<!0Z-mD)%YSX_|s5#7hEaxy^Qba-T)A_vj$LgP-mTvyBu5Rzbfcxj)_dnkm8gp-o zMthTyzgMN<8{_HX^;c!Z>u<k)G=JePuH*UlLzegCwJ%T9;d9<x-e+9dsCP>8*G99i zueMIKHG3HwbB7^dLi85fS1(du_05yB4y;VSexto3-terohSc|n1!Y%Ce)~zzHQQ0M zdg>bO_ZJo&oM+nOq?I?tVAfwjnO|L6Z@b(rjo)9JFJ|eoN_byNL5Y96N8V$;;$Q8t zr6DyQ%z4oov*%?vI6kZ6378c9ZqAc8x{r%x+Rv%}lT+O(Z6SE#*4w_9>W8D;RcF4H zc%Je8;nTD3Kfdi+Eu_4R@9(TKI~4|ZxgVLL?*fz;T0i*wgEOc8i*a&dw;AV|q6Z%4 zk}`|$96D>Yyqb%x&-Q2cZ65B7g0kB(@y9e@80UXE9@FF0@1?YPtA%2S`_%=8CJn0^ zljWHw+lJQU_GzqJC@-GYYVuOZjZs9zaMjXJBAp9(&17Y7|2_6T(CNtiiWR4_e;>J8 zCFZ7?q@Mo3_IGB^bKk2{{@?j4jvYUG|5^s~I`<#%kB5JKJ@K#f`{TZj5?}ZJ`L$!- zy&m<tzpL-p1kYph`nhGR<K@#Vr*y)@CYV$u-<Qz6>(Jv+t{Wg2KYj8!ZMjJ-NB8C) zxN`i~73*B7i8))&_m-Oc4E5O^7}>(fjMoWy-Y&S2s?+b4-D^nEkNH9<jz><wm_< zl+8r9ikGF`URlNSBhOfSUg+h3_4Yq(IlrAOTeo`JCqeJlBMq9eNA879-Ti!@-<)j4 z{%F^IJN|aB|NGwa;E4;jZf|XgePgva`Gm*)#8;*Y&n=!fYE4n@R95`>LcZQxR=$4O zyo1SyG<LA%$X-wVv);(<d-D6r+Mq()V}brRQ|uq#_!w?sSgCWa@&wDVs{6N-|83nT z$|`(q)dit%S?{mLtO%ce?o){GEY|Zas&h+fAL*VK-}j+4%<blEL-(Ei8;`I0G~uY> z-FuNujnChQf8NDqR5RN+HlbASg7HVe*+0Ktu#Z2_-+WJ8p#E3WyqZ(?|307pU8uf5 zpX1W>uTR9kx@gZgSj9Zg=lbi1P8PTJNS^F|@}iV)#XGJqYA*L3ma1DGR~K^Ym$`Ui z?i9bCc`{lX>f6rx`JX<`_1m@ldi=ESrN{PG)~Y`;X?K*pIdglVvvKyVx8WZx*B6|9 zp~e!}KlgH3BKzxqK5IE9GgO<;w#<KVs%FBS^>JUhc1j(OEI;Hd%{F7nKlb<^!80Bw z7_Ohau!VEa-dp({s(O1oLq0xR`u}2How{C4YJr<g-rpIDHxD(OKT&#KR$nLkf7qHW zk2Wo7Zd>(MzQa(VE~MbeP2JxIuUm@W3pgbnwB)pupU~gl{U6Qq>YuLvGu7v*m92l* zb3y(0r89qS@6_44Y2DWA7HhsOJj!UX^Ki-+3FVi+ZSqxGrzmgv+i>rLvg2Xiwy7DN zr+&T2c))V@{Cxi@a|9y3aWPL2)VNu+=j=Z9{fn;k2C|0N*`$=!U0WV`NUY7NZK{!{ zF^B2>X2$cGzqkHaZuxziYB*DMZ1pGMW!xNp{kH!SVatiE&^UG0;_21+4vr5ij<p)@ z6N@<Q{7d?gM=-;qnGJs){ZqMO@#1uq$cptJe48djuig~QAKi8E#<jUgUcKG><0ka$ z+V7iw|KsCdmsiZq6q>l_u;E!&2{|dn2XZEoB7bh~+P~mxRgKoUeV5LL37XD(^xZ?P z)X^?%<#T)QF9()0yqnsU|Nc|tth>ho653Di+PaCecX<l`iZ?gzWbxOvq!y>W{&)Pu zBa3g_KdrU&($3V`+@12^ic-9T|CuWf!>Ws8UMm^C%c=JXEEU~unP7Fy=IEy{cJ{4* z4I_SCJsxj%*6M0uK;cLIdrlH(qZaBu(G%QxJ6!h4;hL`E_>Rb#VP_>KX#ZYya98yC z9~NO<*UgK&jvmu2?R78aH@R2KCs7};{!*Ci+@oP{ckll)scOp8d)EDvzQ5}}zGSo3 zsSeZImY-(iZ+&xSSKur0>z#bN<pL+q>^mpjtng^=kI3mIjgKboNGkcbT~)5Nc<VIf zl!srg?4PH3LjLG8<!={iQhn!0gv`##^h=6t{qE~<&8{N<<JH6ZUwZACj_2oXIlQ1| z`t4_4r5jr>Wvx&#s+#>rYDM)<j*MK_iaYAzhijG}J<NL`G|<v9@~%;mWnj9ic-?oS z8FQDPK6bn5Z-nTyn|&?Dk2W<-otd@DEBe7&XO?Gy_mAcO=@KkTv)-kZ%EY*1sot8n znb{uKS6pY8h<b9~YIdAx>W-h<-p^y6_Ho|a&)#?H$qT9dQ`i1Vzn7%%DVXu#;c5*V zh3__p?WOvUcSUYl(s|cn<;#*~XD`2<yz*Cu)hf>3FE1xBDIE@;p4xc#qT{565)Xr= z!~RcNH%IwmMvw0MPLo%?eQEF4oU?eP@Zq0DSlGjblR|CI8LXM9|0c%8jVWn~TAj_I zYsTy!crwgV*6diU+BkJvyYZbw;rb(KJIX$+`LL4rj!WPH6CRb<o&U}i7O=Hy9(nx6 z?wm~K^k*9<m$;lbwN34P@zyiR2cEIkx3L))H_kWH`xodWC-w7e<Kv5apY?H<riICW zZi;UfRFijJy!how_iu_P#q|v}p3TfNFslC&n)0YG%=UUcdyl`$GYiX(MR&i|@m=8J z@SXBz?Tts`ny0q*T<!?8T@&oS^l{R3Tb)Cbo2ESeXA>7-e~{<@Li^;t?cW(L=x+Tz zf77G-6-}EXlC0P*YVu-DEOsf(&yD!DEi3M)U0rX~d863h>ul3)zULUMyt?Ae+N6!q zhbBcGc&pp<C;j&F$Mb74ijTE_OqcQBY<anohyCWx^6jf`RnPvLa79U*Yv#3W>q@7j z<gc1|_<iQrLk_EBo-Ec6HNLku)FjZr_R66^i%(Nsg?8*cn!G!yw#ZLYv+BsHO8?*~ z+s*}>{r<N1Z`TUm%G|S2W=p!FRg1-pcLk&y|D9a_r(gZxJ}Iv3%=6LzO#dgF6opQW z4v9-OkM4WFq1FC%XRKFN`<&cYRY%^xfA#(QCvM5<(|W$P?%A;L_|fN!f2bVnPCx&* zlPR|6lfSvdo@?^k{#Y#f@H3@}dzLwGV$YrF^=rM`RxT5CkcpjAyLsyek*9WffrnrE z$WPp4GvSfVi{#C_+|}>1WE?LtH|_o);J20YwUf2H-of7H=Unakg+go>?~^$v5wdp8 zjb~57PP8uZw4S|ftJp7Q&bYgqWAh)~`?E6Z`JU?YG5^GjBemWgu<lxMV$zdUg@yw8 zH&Z*aE(uyQY_rlx?R;8ez3+AP-Baq;kKOD~Za-GyR&8UIC|`19bKEBu!3#5aAMnUH zncebDQCq-QF?Z`*=6yem_7qR>Fm#G4S1b6k@1x$LMKar;c)2wcM8+2iO20cJr|uK} zFzj3P?Nh-XuRI?a_|JN)>G$23L2rM<ivS~iXYu%BP6i+9yj?Y%)$i!K-TLIT{<Z7- z{r8ItFP(N=ShsAuRmLU99qvqv*YbtyPWmA1U%Mb?dE@?1+WVV+Zc>%I=dIAk{UGn0 z`$bE!o|S^8|F@ktytUz{pl$4v)P8&WN7t(vV?4|@owkhIT)!}#=hMW$Czc+RxV_o@ z%iE@nN6-CNi^zSTZ1z0M;cIX8v6u1;tagTp7rl8-9X)nn>A4)9bRmYA+c)oDy<<|G zx?f55xnR+5?~U8s_;&4hw5>|&ce&Rc?FSV%<CqHc%Ra1|FV6caXG`kml*TB_YcnqC z$bQ|l#^!!*?%LC}vAKH>-93Nf%{RHrPm{JSaXsE&@ZqOPXhzAOPe0CIoXX5UZ7%cg zdu1`--+qgIe<L(3wNhZ+GvT#!Mf~<WS94=}9~ryJc3Sj~f9&s9Z@Z$J_iABn=)2=b zCjU3Qaj4?mwJuvb?fX{y!;}B+_-C~E*_N<B=eXOhiLT0f6&3w>%Xk0x3sXN_o3ZrJ z#pR;vXQxfldiGK1ueRRtQ}fPje9W|UO{(SRKA#i20%yHv<k)}j#&dJ4KC^XKZ&mD6 zh!;9x>OU!=>+{4nr<T^{EquOTHf))O+n!IaADtJRcOx+4)9X|6&ePTI#=LmCU`4pT z<QeVv7T<eyw0@LaK67?$=VddNf*N(k<b_h3yuBNqm8wr(o1Z@8-T!wdKC>-&7jb3c ztDdcwG&k=`Kgr?SC2))PNKT(j=bVbnqpvtuNO*6I|Ijz#<izBUUg?ao>E4}w+fLO! znxl5z@T%I4!-o<%xZ@`^y^s%7n{}~xVs9SLA4S<rw&V@HCRQ7QQnr`pKT`Q%e&oVi zxdjL1d>u|t`*q{$uY*;M(r1KO<z>&B`LX`wm{NG@Pv6eF8L8LZj=tl5qgBp5W8K}n zz3<gcSe|$4EY=I1ygE-lyy;NiY28_jtFOJ@K7Uu_@e5YjZ;mUM%x{P_opF3i&+Lt> zp3Qk2kbX#NTW5OZbsOEYJ06_blN|GWL2k;K_l@}vR`Ga0m{F&zZDEvRvEkyms%I55 z`hTvlscw9-wf506gAY6}^6tL~;N8tM{|0+KUp|l8$70!|4gpM-8C$2xnCnW$|48Vr zJk`DMnRZ?2&vU-aGWGh8R@Qd@WOGPt>6iceSYhkwkIp}j@M;ML@AP?eWoz7eEtN_U z$@8`+roNZ`5X>BOsbuGA%Q}X|3657-Kc|MgdRJ6c(D%>9_GTt)<>poY_-v&<YuUZw z<T(97`m5}nbn{~xySlyfPR@Fz^)@ciEzJMj_Z5q^h5xMHz9x0KT}{@^NqN7|oeHnD z+kQDes(-HO^}CN>{N5{PsFio|f$Akmt7CWO+&RJ9w<9Zd`rkPDr_~X!_8RSq-t}jT z<kETV+7&#Dt_S`&b@A_{-EluAeYiaBdFYbs$G`p9xGzqe|Er7TxlcR9Z*|X>-;y2X z9`jrNQ%tYi*EMhLf3Vlr3*;46mX%+%RbKImKdxe}ceL(<4DQCKhHLdd%DunU|M7X3 zNoQ7E&B|*&jiMPbj~0tuw_^VMNX;s?@AD&jy{1dOy|qEDdd~kIa?Y+1oSgrsyL->R z#1D}*TR&`m{_wJEy#M!ZV`r0DLXXv3&dgleGH=3{CH7};pNlkqyzJ0?PIm^gjoKUM zUwqNXe8X4#lT7$A^V>2Dx;y&s+w5mouwLPJ?yT7PJ0@)pnu<TAyi??~ejlLM@Fo1f z34=v!@0&DTVwcFob1N`E>vLRp;-y#O{^01nvywmeZ>@Rrk7q$&;tIZH3qQTL*tz?9 z9owc1H<@=6+di_}pFOFS%OYUDthp{xt*@rWC;b*X|KrFlSMt;<Iv2~{3y9=T_2lVv zZ@6l<TDd2k>A~ITPr+A3>wcY_UfODUx+u43=l%sB+ihP7a@Bv$7I^2|aCFhvX>U)2 z7rs-N`K{nu{LNnZ!;{jczq=KAy@&l*&-p&Lubu%q#^-Go$R=LfIqOiy>CnATX1-p^ z<B_NRH7kFX(Z^f)Uz2%5%CD^p*x0%1oNeCGty?sW>W+B-H?DtnzO8@9MY#~3dF2OB zU)uD<=D@u-ytU8XdYpVW_4>50QR!Xl3#BJ6mN5Ml?Y=be(Zy1^RuTENavz^h`&7ZH zVAr>N=eh3kExhxJ%_TMm>h)(AyzXv%bm-r);@CTX*EHM<pV05RRpPP#k2(J(R*U}% zbF`hkvdpJSi7jm6$@M;#+g{0E?eOTkG3zAT`{k8K9z|QE^gLGH*mIP@$~thb>E?cY zaYeuVJ&Oe8KBpd7^M1ni;C*S4p+|KzmUhi`Hq^aaHn+NW@3E7cpWWCP+HPrGb$p*) z?BN4il{(p>Wpah*;~&5MC+6%rH6%{uXV`wp-Fr_vNxwJyX0_p1|K4vJ&Yn}xn|-_S zerxtWWugC()h_$@9Q}Lmaro<1Z*MHF>#e`zwW}|_*!IY`2)T`REw!(H#cS`qcBftb zN2C0Xwk7UgGi!gc?~H1^)BcL{#U_=jPtRGNxtyAAdD`_{mSTBL=mV(>t&`5AN$Qss zf7zqZQCw|nZqWEV$>ntA+XDiPm3$F;Rm@YD7*zjza9(Wxttq97!hX{yWgI?sG_K<3 zv-x_9Di>=8SWJ$)>b6Gi@9VFBKl&Wl5zHI$=gCj66hV`HX%_h^pJE$N6{QEu{hgch z$nSpZe~F}oW4_CC{`e+yyt=c?P`|pmEmk>x{jxt-4D4AQuG>WH?fxcU;C}g8*v*3z z_NDgD+;en_hg+0ync=i6%3gXa-A`8S5T5onrD#t_vi-Xgdpf$W2VFJ%JVjISvfb+M zP9OfpeQdn_IU#+{%2MCWS;`-$-QW43J^a`HzrFRPzbD%Nc+5EAs{NB-ksDKtMW>y5 zU71_ua<xpgdgbG#Yj;dqQ7z|I`6wb=c-F^-OD`P@N%DBoBLCdbZ(hRO@;{p=@d)~F zuee*{edrlq-Sx<eE&<|ewh60BDIa)i)BbM_yWI23CykD4bMF0>zELqGHs#H|6=@%e z_pG@mvorJ8sp<QTQaKCs-KKafkLwPf+4^>I!rmY9tC|Z>cV9kn@u!jJ=>WT5y{vPc zu5Sy_=Ibr%)#|M?@$L-P5>wfJ>%Q#O59<X3er^7K#AsK=@gMFhewknIxnua>^1GqG zWw_w1+6Rl)d|pw1m(6`&kG%i;(+WRl+I^od{{P@YhN+Tw9(mcV-Tb4J@2*3Khnb<v zX|=#BXIrxKi`TLFDc*X;af8!ABE0%>R>+x0O4n@XotgC7YEg;tl*m|<_nZ$T&#c)v zY44^Zcb-aAii6gf$eEUQ*nfK4-1s;3*71VImv@hUGqUVAELP}Sx8ct0H^;9OwjNwp zrzp>@abMK!+vE9<yMCWYwkxpzbl84gsRfgr;qUadXEvVeUY@iegnOS(deFi!y)2vV z$ZQK|k=HZ7Ki)7meU05t`>8v>9GX%-eciR><8#9UI@&+kh{XGRUlRZCX}n!wynJr; z`54!=_SYQeeNg`#m)(D>);NPJ?Y+gxCrd>4e4eJ~8SN@~*|PWJy%TvaKh@^Dd)b}- zXwo)U@NV**G?m~`yUG&zHTRyG{n`ATal%QSNo;yLyBway*SvWjxo@4k{Qt{m8x1N2 zRs8bhWbze4gzhpNIotA2rCPf4iT8ekf0yk=y`n!n<DW4(Y-Rj&GoyI{RW7Fz=PquV zCb(joQrvzQ-^J7He=`4f<zr``W%YT=TC0t2qTZgeg)`OFd~Q#z-yZ+;{m!yT!_ZLA z2PY=x?pWKu%dIvcvr}+aesJ`!(2N_!2e-!=`_9$g=xGsoIXCx>@%dBw0rnPWgxP!Q znE0)3F9@7n{#{vba*MC@@6}(Esuz4x2yak6c9XH`Oya(W(}kqlJGO4N{qb3F7H681 zg^c@`HN`t5nJ;X~o_6WkuI{=|izSZr&ReqfYSEYAi}MP%KaRg0>3%x#h@8FKv`R@6 z(R}7#S1Z1JUBq!&(6ng9G?BIHc~_SI`y8AsGA%INP&4eCVC}2v{<jV9eS2K@E!$FV zYnDyin%8MF_oaBxxbQe#&i=^c;up==YXqI|395@-%Q1SSo_D>yb`!sSr0ueAdbJiG z1QgdC)1TMIpLbokFztlpjMC$C8=h&{8!p({WB&H(<?oXEezr#azMn<wyH2m<-j#CQ z)wZrk_C=e*{9paEo6Yb0$oRi~J)diDN4;9hy#AigZ4UoqG$cMrG87&&%bNP*lXUjg zzxOJyJilcUcj?rzUGHY}HB2ou(Q{wobZ55Ae8o#FY;A1*6Q#=R%O0=1e(h7{wYe8| zY!iRzck7OGi1@ng)%!MUJbqt1@2Ks)ZGKNGV~+2bw)|W2^S6Ir?UmjWb>Z>x<h->J zEr-Llt}#5bcumf<12=_#Ps{&$aA8IDnUEfX`L|n{Z$Gu=I+LaUR<T|&-f!2sx3kvs z&8mAKT|fW)<GQnZs@@f^y)pgbyZ*O(qawARM_O(*@Y~XQt?+5G_rAOSv3arX+e@q0 z8g1Tf^yJhIudCbVu6`cKbK+dK_3>8QAD!`^W3vyvb~>d|p_5h95%W4`ZN~RowLR-M zd}027OFllHJ$#2+l=zPy6IK7em=MMKH2BY?cIBwp6Za){Ey}vATx-93{`)Q0ExkmT zIL|Bp$qZ3xNcwrs^VMYY^_g43Gtd6~^`lDnig)(?Z<-C88}hVo3a@89qoff({XpsM znQyF>&u&|G^{phIbTdoQTd@@}N-G=m`&Hk3IMZRIQn0s}TbQ$4hO_ADqLBGTf6x8X ztoTy);N|ban7JJLXI$R&WaD;&#uM?!(|jI$PT#UAb8-E?;3@OMo*O8AKOS3HE}wcf z@le6^>@O=5XUu<Omi+bNyhAtbziYBs`CA=Y_w`Wl$7hH6Zq*pRwRFhX$|H02d-jqa zReTZ-6Zv_5>6EiPP#6Aa#kKb!PgB{CVi~8jMeVa|9=T6jecE8<S{>EW{nvu8Nxj?q ztncx}{kf;q_LZ)AGW)ghpI4oy%KL*(FJEza(%((GkJ-F7nSB;`x$TW+rg-$vpxLj# zTPStT`Nw1TCT!c)w{q*vOg3Hg`<-f+e(U3rm2d5yp7X6SUBT^EceEly)G*GvPr{aU z{%7mB+vgwq^q>1ISe5W~<GzcIXJhInD-^E?`us@lE&E4#me1Y)4$t@)$N6(@)2YdK zrA${%>nMI!!qRBI<>q?LH4S!b*-s9{n!K*c&9)Y*?zz@-MS1-;neL3p^O-g`HT#wR zh%K2S6k0kt{ll>tdeN&kem;=9?$9}XrYHgV-H#SsH`x}-9{#@EZM9TP`<Km8*Rxio zZP;?`VR-h<f1z=f;cFkSJaI9jTJ2@)iVDw7x0%>@#oVKBKkbTKykY$h?Vf25-mR`# z@4U)&-Qh2f&xY+Z+4P##fA5z0fz#!0+U_+M`q7pAw0`TxsMjB4_VLxZvFL5z^r&*h zyHz}Wk7dgA9xgTh*AxBJaPixtdiFQ2hR^ua>~Sq*%i;Ogc3K}hz4e;SLCqQLM=W1U zeH8Ki8sb}>QsJj3Cab#rQMTQirRSoqHcH%RaGzeRo_N93R==cbZM@#q1!`rF<#{V} zocU+h2`OjfEv!Cec!tMpLjJCHg?YLK?K;0i&okW;DLSFE)9m}=FWN6PMc2tZ|9Way z^|R#+VNHwOE*5`!dHI}$(?S1bb0XWC9=yzDYWZ%!${s7`{bc@Ez5}MKZI5u)_3Elu zM6G{NJCiMVQl`4f8AU~{#GI@0)~9U0SoY0TXS(cr#?$)mw^XCIPONiZRV<0o*mHQ3 znW*%)SJxH7iZ}Akda+;iUC(chn3iRg^TQ=CA7ePj@;$=M$6<wR+%4N%Pmg&Ph`nj? zdp=n?rpvT{&*BXNyZ;}scN4KFES_^{;g3`P?k_ERcIR1Vh{<WZse97s_BXWnsj7c| zvo7b^T|J8H8g5%Z@-XdXZ~nd8?QBAkMwU&Q*B^!zAMPY9om<DSI5p4aUWSvi%Iv38 z3?A!0nsUJC-t6619yD(4k*hB>u$i3S(2*!pwdQHygLe|o3U~BBX^s8#<W6tta<4~O ze*;-w30GGo$IEf)Kic~9!`_A5yA=Ml?0l{w_wD)eOgHr>r|ZQhums-dR^akW6<6su zyeoJl``<r1hT15Hz6X30<V8<UST^zguYK~%#f6t&t}W4g7u;{zlg!ln&LZVl=Z?xb zRRImIcTKk$$vxWi{gZ`wo#NK1^Rl8;CWa>l%gIPupASB=Hg_L;f~l=rv~_XMjlU&M zC+?Q_{PT<M6FnJp?eT-%hxUKB|GPI(D`NYDt5Ih61MgRJ^}k(u_j&2s4f40&t?y}l zUCX*VEMTh4+w9!c^{K1xtdC!HwEmdy->iw}3*`6vF5Z`?AAb4V=FRIY<Kl|v{eB}? z?KdfJ{WIn(kF~7&dbK~^5_OkvSN`=eGVF=v<YMW_$3a`y$Xu#Aa<Tg;PpfMZkEHRN zBeq{(2+7Ym+E|iud~x0jrm&6cH1fTVxkhf1=#iS~_OQ}<fjQ?h>3_$jGuZZ<|9yJ) z@Q*+BF)O|ta@r>uD85#ud*a33hEK008xKFTSsm&5`~IuiU1nAvzZ`g<am3Et@0>-z zsde}BK1(ui?AgF+vF-By-qTxzjowvc-O^boT-Tvox8;uI+kTsGJC0xDuYI~bbuC}W zmc<Wj=L^)oJO6ijrMs0QXM5%rOTM#WO0z6<yf1Cb>Q4Re<;Iu(LbGW<R+zc2IwmI> zW!n|#7jW&m?PLGk-jfH6mc+%ZR`wTTzBt>GpSkYq&T945yYHMzK7Zx<mKIlQnalRZ z>TO>iH(Y4j{VSij?DN6E%me;*6>fDaH@8es&)dkgrD*X*fBU0eao4ru3N8n;@=xBp zIj2gODWJaJpNFw|{VTDevst{)9^MZ5kvaGJ-y1($3ir<q4Y4^Ib3WotWt-isLWiCb zk>KLMX^bc5OnN)>-^p-`#cGH6t}NB*(OzQQxZthbNgw9Yhv~5k!dEkene{#r^gk~0 z^7IbXw|g`Dw&<8X`;}K8dmvd{{M!d@n>Tj;r>C8N*>1R_&Hqr(`R{By_&%n6dm>-F zrrvl(cU|2_|Eu$NsFe6dUvJy^>-xf?U&<XqXI|zg`#k%h?7r=()TJ!fWSfW9)_pDw zvNB(m&OT|iX2B}mJvkwTPmjy(_|yAQ(s|b&_6Jt7Ea|zvewDe}{+<bCEZ?T*#xE;d zRiqQO-eI2cZi9+b@nW~vWb?Ce+VA`j&Azp&Rq@@Py`R>vS-1RKisiOy+14HN_ZO^p z4qEq^sb1=H)ce0TmOrbS`72KC*_v0^j}{;MYay+!q_xw$>QKh(8Ku1klkNn6pIhFm zx;g5J=*6wa7uK*vylziDo47Vdrh0*V-b+cD>gxH7Uur|XYu%3wIkRn@%)UkGv!@;n zy_<1YphdNJm-d9vU16O)8?W#G-8;K&Phi088Ko|tH0#y{2u_WDanf+zi}b6Ed#|tJ zIzH{n$4yy_w|<*@H#{}u;lADP_C8N|cQr!dymR9HBL|%3m1`s~;NIn#-1N<Ql~%s) zb}xyJj1xNzmq%6XF_5?Iyz!$({ZvY})Afp?<kIpBCo1nYEm56ZnQSlf<K*?iAD6;T zCB{s<aZ-C>rP0E<skt2=lFx5@8m#~E?AHq)K3!kYFSEG$Nafv@^$pwg>wli!{!8kH z?m~}b<$F>GvkodhHlAb~b|HICz_$(SuGef>VS4$AbW4x>S8kX7wQoK=P`&@;U}47j z3TqDgoonXHF8kEbbns{B*-Dwm#vcXxE6)j6TeyE|Xr0!Ua9>!@qhLe)_Em?c?3^#V zP{y@y%H$OJ=&45i-y^S!q{VQ}t_%*($>2GDurbkEuR`tk9`|o|7wyyCX2`QT@T9}V zT@0_1_pI5>B`p@$Zn)9a`i-y|$LF9W+}rovP|x{!s<z=%&FS!;ZL#lJXUvYfe_j07 zk#BDzYw{g_e7em1@jpx6ulWowJLY!%HOT7yFJ5qZ|A}SkQkSOA6kZ(X^G&nkNc6f- zHEe6IS=()uG<x)`V@sp<sYzP%IDTLFV0`IX<jjlrWjzioG+lpfz0;09-y4U7|8T0a zg}nHgZGG+Dq1`sj7Z}&8eb>@0@7{5}vC7NLP}aKa3A1~(e!Ic1<kv>q?me>4-gwbH zwC!we<c8V13oh+0Ydd`ZwsDNX(^tZL_LE9-)-~=?*szMVv;Ugh9)ml#j_%)lXY$d7 zJKx5nZ?5fseBb<jolZvBuCvKmudTM}n+FxVe=B-h@VJh4lj)I_McV^yS2LJB+@<sP zsrj|pQBRD`{^YHkX*b99Mp^%6cU!UYbFVVKh2FK?^}Ke^8pHF2*Qct>A3QB!>3rQa zbzhskdb*2B+>M3pGt8?$Z>?p25^?Njm-MNa(>B2dZS1e4zHeg5y}~~INmTM`{}i`b z#|;fEg9PvIJ-b!A{;FBq0?|-A>5F&G9;}owXV6wHXS=g$%{>iOb%Pxl?70thu09cY zkYKHQ@|bM&{KwPwZ<5t?`&Y;wk-CoAX=--O`CG+PYy>|~<6G7^Gk~*^?@mwTE4KI3 z{%&x~aDDst=;XJo`%h<|FqyLNo3*#EaOn;Gvya_kpPik@yT|6Ed0YA0^^x;7eLw4U zcIvbBt5)nO2okqyy>K~6t7YlkWVIg_oo`<6iO~Dty|q!U<qGrtd9wF9rP~fg&MFl& zh<+v56zB4*Qs%>qBsQHxHtS}GN>;Y@zbTs^V#uZXIiOot+%JNkPvN*n<hh60{|<@H zD&_ipSodeIh_Kl9jORWn-zr`*rE!1G%$?t?to~!>Qw~q@XRns)-uRi{CFi(i@>VNz z?)#6_OBm9WUOpDA+t;c8<;U3!*)_kW+66uP8Sejkzu@#)8=i}~?S1IKpx^Gwa`r>2 zdVi%8Y?mt>{(NKQRbzI;X`4>&&J#GL74N))FH*T6R`<}U>&cfVl$Cw!I&bOtoR@RK z<!hx4<|*rcn-mxaInE3{eYNn_J+W^ZvOh(P=ha&tnx9s=qnT$(Wvl(~YM-!2a?Nig zvQ*?^C2}6TEj}AsIbDYJ_${vM^=G);ZhEOL&UPp+xvE-Ys1$x%^>pgXm`C=feeb=q zKO8FCx54jA-N$l!YyKa3%Dc8dNMZKAUD!W4_W0us>)DUan7{F2|6bd}`{wXIo8DbE z#ec$IlQy5<T5pcnZ3}w(rvAwN{Q8&E>t5<T*kSkn(Co=kIlJUmi*4$7^*#A_T;r+W zopRRv{^x@w^_T2e@vL{(x>G+3_hx)9{(Wh6dSv!A$=!Q|JIs=qjx6IYId)1RCT5b5 zwrTU^3zNQmJzjBTM#=h={~bT?mGw#QG`_$0g|__1@PEs1-#u@7E>iAP=`;C>|38ZV zFFAMYsb`RI*|xJMH`e#Ne^=h6wBc{lX5MdcMuMr^UFJ#65#4#;uu=Kk)K;@!n$^G9 zd{1ptxnfb2k*l<OuFb*Y{FYam*wg3Rrq?}gzP+E>&+kV9Z~1HYPrX($JC5`2;@P}@ z#)aO*JE7+GFEf7{nf)z&^J~Hy8;|Fo8?LjjHz}CIv*K~rb_tb>voqZ1iiRgEKH2A& z@;OX$ZGWNU!`<6o*;E+K`4_UU_>RZDU-mlfbvO9r|6D!)Y5ID%Ww%dMuAlp(@K5;H zX%dA6TdqHT)Hr8HAzwlLA*sqAf%7k{ycoH<D|7yH_2?DZ+bsKnmDhxwk$G--zmvnV zUR2$B--UM%L~l)4**IVHOqGL{*0zJzg)=P;63@?fjyrDsV@G?s$PyOjE$8pc-98pk zEVTY^cE@K)HO`+J_V>gWlz%@hzSjQDdiVE*6T|1OiZtiB^<=u|`md*_eO7f^DSyYV z>i^$A@eEaL2Ndhx><!Cab#wW}=|`^Ut#OfDZ+m!JX1isf!{*&Pg{|t@-}pIiP&o3g z;LWk3JMT0~u5tca$ZKU7R{!Aq;?x7Dw;k_KXQ+B;{p6)p&hG=!$E%N3pWpttwU+0f zp+xcOeQ}>R-urFYX?l9^p55oG`ompq?K|#0f47`n^m&Cv^_-3Vx3%~0=vx2ibl?8( z{5N^3LtgH7xs#=z?Ww)UM49V*_x>N<ha=4{r2jn>{?>3^P5;ytTza>TAG4PY7r(Il zc%1u%{_G={ZS4YA#^v7n9(;YBdWPeTPg`nx{~yk7*k!XQWJlloxQ~}t3GNC{k?p>1 z>U>@96f6IZ*yH~?!o)vUJo)$N@Q-%epW^;ck01ThI`7i+n+*$A8urHQ^3qKGr>GJB zMX~nrvxFM?hX0Ne|LptWZFM{AkEz(}I}1*qs_A6*HJWXBEy1yv<-}^Su&w;L3G#>T zeqaArN&l+-oX0ok|9Iq|t!BfR6}0l*yI%$3die{JW*yh%sCYfAPNz@j?l-#^1-q9T zM}*IlWtI}Lvfa7o@~qO`*Iu>HOxw%5{LW>&Q@4Nb{uD5^?Pg`x5?_Y<Qt36vn`Q@k z-u-dBqWShux1E&?9(KnQMIX$vetcPfPr=6gil36@XG)L1m1K%9bIrW=<avLj&-8N1 zJU+<@tD+8{*&n_7zS~58-?ftIvCWHm&oF#H6Zn<qMa%}%dnf(>bg4i3_2b6Jcg|0j z|GRijut?@_!~Ab2c0D@1|I_rlLN!}1@9I5&>$gMu{-ib9*TTM-a_uj^bN_Pwwbn0N zj{bSHJMDuK!*h$br_WW1%{KcM_dj8=Ec=lj-@E_rq%T-}R(a>kMs+jo`8BQ6=5ADx zmpQ8P=WCd<t%~U^<yv-!oGRY<=sNv|dHb##Gya-1fBU^pi~oE`eZnIjx}9m0+1_jV zJr#@f<&V}g{dw{Cd!GImp94Qw8p9hm&Gh;0X1sNiqU-B;*5hf__h(-gOTN*6DA@K_ zc1-X0PwQqZ-d~d<F>$q5Z*tsA<E`R1YHah*RnD0C`%v4K(uZ4XxETDR(lys|S!|wK zKDA}9l+J|ygAIH0UOO;3&)u?Zy;Q{3Pjf2I=h&VzTCr-ej&}a`)6IPSUpKA)XKTD; zt8Kp_n~Kk&Q_sY*^WR#}KK|L}$f@Z3mxX`k?cF?UZS;|nSn<kr(cuMe?LY76YQO$A z^3Bw@sjqfC()wLhbmREig7xvcUiE9eDt)u5<ey#Nsu{bh@0@zyz3SScS4+)bbltnY z^7XqvU(T96-uk^?`$a|cjra3n+1<12GG#k`bQi>LIx9VCN5}K}-<`9WYE=wAy$sxQ zpMRzKoL1lbZ^2zVR@5Ik&Di;6T|Ik4^5Zs#V{e@zvXA~P(BC7z*Q|QW@zWk9v706y zuN30GIIYV#R(<!@HsJ#Xdv)^GPv?1-9P@43yyj)Kn}6AHNim<DU|_LSILoHof~V)O z<K?V>I=}r~cU7+Ak}h_0zN8`UXO$D%uH2J%vAy)!{WlNW4&J#n*?D6HyT6(H{=KjF z1)SQMy{<Xt_(u&JiOsjyeU!O0sU%8KX2sU)tCm%`B*?DjnOg6=;r3GZm|3UIXCAsz zyng;Ojc2xVuXWzI7P#o#hSzfsc53u3E(to%P}m^SzR~4||Nap7_eTwd#jaUe1-{<> z^5d@lO9$pwuUIwV%G(_)@|0inb98O~ntX72(-q@YUiYr@U4M0a*SBO@W8=+!edj|& z+IOr>j^bylz9zGYF-ALOkJ^2;GgZf&)?|cl-mLZhlxE9fowtI~PFE&oJd<Ynd#m`( z>u%=*iIY=%oUUff`xIVvd&M`4x~Gb6?AHCKK5zY7@Z{Gt+kYY-kGWU%J9t#NIf(UU zzqq=d;iW3eUUr9XHJ|6_d=zT3_`=&D`RKpe3V-$s*W(0hW||z@x-|aaPDxw4DHFd7 z&1fz7tG)PfmVe(7{>?XMFAWY^aeTo`vBV=6o6oL^Q>iXzod5Qf&ozUCe%e2#xN}5q zOJ^`R&r{xVD9Y)6bl{1$THRlMO+AXQIwmhKj#b>fmyhFzg~2tk_xHM1e~v6$W3yEG zJx?tA<FM)->nnEcHIBUZxW7Y`{hsd5{=gsQEpNVQF00=Crf?>A!NG~E&o9n>6xtJA zus5{NHt#I=uB;=A%C^eg?3*T68^2GyJ3s%uvE7@u$%;Emj?LTl+baKOYG`fFqgPhn zR)_ga{m-@a*1_;4s>M@Fd#$qiR~8@bsE*}zzgBui#^3kamgW3i@x^ltxdJ!3*IaGs zzm_v^>eaGo&%fT7vixg)TmpObb=Bv=zZ(0yclW1+&kiqbZRq6QYq0(2`<BDv8-Ln0 z?QmRS-0*m7{40;WWwm}X7mptoyD+bO%RM3H*)`K_)laNj@@!@CoRigGubrQ;Y3<dr zD~5eu-?ts>vMZhUBc9<*=G{msjvD{ctC8pJ18q-k;9Yd;vZ0kg&uZ(BpZw!zI(_=E zMso4*Cz3VZ9aBsf+(~?|S2Qi~p6JAq<cH1izr%k_^2qG|=;Ge?M0($}{H^I}9h+Jg zep)a2QJ97A_tif)`MU%&zP3i()0<o$>lm@}@Y{>0lxxmDzgV3YZ5iGxwbE_5SZ+`A zwb=8?H<zzFqI-|$?A@4r<r&Nyid75N2<r!gF8;Iee7jnR__DwU=bZ1JoVtOtXTsg= zknOAMm(G8j{%OrQ39ZHUGV|vytXTQ(hLPXh$ub+2@4da?)?o02>AGcF?BNXAZ1<>l z$1h&g?%rH^-sY`GrF&oCoy5Iy(>F|>`%13dE&ip#64^xK{a;>7OCIj~Cun!#%7J|U zP=(mnr4BO#ZY7FqUEgwTYtF8Y<%S`w->-lEy2Acn_kv%`{xdETu)i(eRPd9N@hSKI zSv%E&CO<vso9&i*W^r}Fj+m!+cf66<bJqMwD(|d{1kM~o^{blulslNZ#H)`t?ab<2 z8oK`G2GR9Pf1Yn(*jK~7RYIrywB`F+7hOB|=CbWeLfIW}?7DrDkGaa#a{Axndp3Q) zp|?K9U|og5Gr|3mYs9zxIodp3qOzlm+xlBpVq~Gg+P7VWVmEi)wJQ8nnt!#>U&*Ps zg=gRS*)=kIete(yLvDNWx{{=i?{~dj_sFik|4K)}hJ!WxOWS_W$bLV|yY$o}`9)sK z<u_F<{uVmDjeXkZZ8OgO4G(+1+UjiZu19Mc_axnV`~B6l_w(wXSKYB#;dg%b&AZ|! z!*{M|E<0Z>y8W@l?AJckN6Ovg|6cO-{^NPt>$$IwgpkpnO~+d;?nlfh`~CUpp%0Z} zH+G-zf6Z>_SKhPn|DC!m@21sUnDF)N?QYpkFKTV4JImHx?G+7wd${M_@7cSQ?W8Z= zE!%pef+dvmuHuKy)tU*cz1ugft+Bqx-Kh~#b$afPErspNUCTC3JgO?yepWH#p|nYa zp2qUZM`?EowpN|6Xm+|Gzp`OrsO;q3?0rnT^;6j=*#xGt?`;r@o;K-8#PiO?mosKv zKGMHyl1X_&W~;lNro5nv+`dC1;gi=T9QM0g`aFN1nJjmtoe?K@dsy)@k2?vTGK)1C z+{34;rfd|Pp7N<jT-#mPLm;g|UFNizq<D3N^L)FH&p!qzcuzc>$ri>XzV%{}jBcd& zOUqMLQ_dBJ@(Vt<*t1u*RiF9MFYBzb0*T);OEWJdsQ-_f`PS*Au;Wkbrt2*$d9QRn zzg3cA9mRLi(mqi1b-Itn*TW9`U!;G0bD~Qi?fa)&^?C+BkN*<LFM96HkeIH>?p*h< z{~n7(%9Hbt-B&)+pZ_h~NRnCnJpYqQxBIde;#Y^ucZl!F{}Iz4uxigS*NCOnFLqdc zGG<Cj;J)|5CvE0m8M_Bw*S06lFHNiEHTaNhu{?R+_6<4=lQ)Tf_p?5{BK^w5c-A+J zl429qZw+NLa=ud<-f;ZwyZ2#PU%#x|dw1spOFzw@r;^`n_2VrNW1g36e{e-;%u%iW z;@&+QKm5E|*r#?aa8u>szP7r)V!lM~=O=3S|JurNw&SkMwOzT-D|^;eJQLls`DxR< zt*c&{hPzG;skPoLYk93_l}q8?WqQqF-nv`vw%=bqd({)3=zDV?YVL~M63&08TPpl^ ze@%7XORH_iPUdbozGM2<3G1&nzwO!l_}rh}Z{@D{)$Tg?W~HlL^2Z;UUwR+qghnii z)prm7naUn~Z81yVw~ih8h5vrfP_KHtXs!9r^!cS1r^|`!#v3T#e=$w&>vL(Y&wdI; zFAj;-@A~t4)-R<vr36v?ZA{nJUf(OU_V46pU%nsP7I3|?H*sE~=)76qi$kAVb!*$3 z?soeexW49xY@+Xqt8q2ymp0%2li%R#EEN5M;mC`<n-#9EyJ&Rd()Z;%1U-LFPCw>< z`qI&#cW*28t_`@Bdt)<yJX=VARY|0~4)>PUv>#_8W_rJRP`vtBd(6$Wd7BOx=x*){ z3}*_<`@CaUSA6L&uKbrS7y4|T@Rpw4^GuB^L^q^h-osPYN|$7JZ)Awb|D<<=H~s&E z4!83XYi9FK@sG7JirjJifUC4l_gkNxkAk-!aopdNy!Cuudi=pD+y6XaX}%YI^l7C@ zuTz=Yj<DH^wI5zh?9I~UGZ2lpQ{58#vp-t$FGp?yyTR5QqVW&=W44KGdu_^XQ?#n0 z@KSqjuBgUy$E=UmZMB9LD~!x02^XHNW0FvNs_Vyl>ckH9wnvw2jr4?tKJT<mvc06W zZrk1deT$C0Ieu_j-QJo0O<yYZ-WUIU!Zzz<`M=lJ|G!RjtgQ^l$$xU3T{QWbxyb78 zoGw0_q{JA0fB$n?chik$e^d*us8)aA-hEu#?e^5Wauqc(D(77pYE4&v-@I(qxyMsG zUoyT`xc9^RZO{qlx7X%L+nd>*HZp6SAaeWGrMFk3qFkey-j{t3oAddU{*wArX|KE3 zlwV7^|B2+DCdOm6_RYOJ)AU;E=SapZ3_ra<vgX5qK%b-B$F{EdnEJZ(YtPXi*Z<wB zcm8n3j+cF5aY_35VACM?_wN0N_TTbaZI={0?_c=Ns=i6#B_AajU%$>+@AfS7&e5Q) zU5$3ihgS)EA5Ey;an&%Uecy-GWmm$_iJt8|rE3@E-V|9`=4<HmPWS5pCby4I7T&eA zPWyhh`{N4jM<11QQtn$X*6B}Nc)xGgE$PyywW7c6<YNEN*!1eueDU`grOFrnf5~C6 zEA_sy@hNZg<=nEpYlJrV=U?AvcV_#e-?O%~?^<!h>Q-d5rS-Pc>4E2BHoBj&y)PI$ zE&cz+@Bh<He<jBI2e7(W-3z?^c*hNO=_wmbf4_Kbb^O7}P1`n<y#CAgp1JC*{m$sS zt?z<P?(H+3_fdPzac_;=Y0}IS>@5YHr=`AlGC_U2VS+-ccl=VLyf^80I`k!K*!=b# zv_HT5!<Icpf%1R0Ft1y5t#{>(H|;wlJq~ykFO#(VuvxM0qu;mJOeZgJU)7Sf`7Ai) zZ}AR~?ffz&(cJRSR<hfRu3qbY;z_tmqD+6D?%$KbWw%nc@|{{f`I5@amEZ5a&W;ND zko9t6HS1*SQ|tasQCXav)7)LPdfH3Rg>s$;Q&lvge1pSI?mAocEomL|HTl;wf4sgX zV?Fut+{@YCUwyxsR9+F03^G~yT4~1rpL}tDV%txeU3IfNdFzD9(-yJ1TdGIg_8ikJ zH80ZnRlvUAyu?;$|L(616<5~hbDWt`<L_Xz^?zE8^Mbhh=Q|}*4|c=O0;nqd{oyZv zTHcPS2lF|4?!8>y>Yn>*?Y29U)pajRH7z>bS(5fP**vqXG3DmlJCcH?2W@$(pDb$5 z<>{^u@474ayilh0p)7;WhgjFc_vbMxJc;u*FY9^pV}j?!x8EO?%`Yhw*#GPN+o`v| z-nrg=*y4id>p88_*(>al_1Pk2)Nk)Pd9PM9bdplf#+JU`u(JFkmy+zWdj*eAT>e3( zqP5cIdtpx3_kHUhzdOC^S=Hw6cF(MC&AWF$Jb9JR_sUldvhH7aT<+iIJW<SWZ_~R= zwntuFKAE!pjPY5&>Q&;*K3BUk{|d7H3*L2fN7%L<n_gA_6aD+kv}pIz={>S>ZV#;L z<Lj?$*qD}0b=<e9*(Uq?4C5n{b1Nqc*Iqa}se8vQ#pP>XX7bziPq?_uM%Z}X<qIr7 zUohtuo9kQjdl$}g?{uDb_jTmd>$l$>|F`LF<hgUMc2Pff_4N7bZmPNWOq}s-<F^;= z*B)3Fx>Qu@nan<W^}BE!_d*}dtFCFqZ+@mNWOkpQcDH)Z7uyrdHoXganRc0JTgjc< z7r!4e$ZOxw{IJK+p;P-qVh!KFbC(~7?S8#!e?X(;V~@LCr{>5^@Z9XO<Y~n6vzINM zre#L$_#oikr)|CC;r+zJxnj0c>#Tk!mMT1K|ETJ_Eh&0tAAifa*J(Bfg9X)7pSs2c z@huIH+%c)cGU~&f{Qkn8jz@Rizxi3gd&~FuoX_%==L@C6Hr!M*6-%14evRZ5W2UB` zTh7I_d@YdM?B8>9_r!kYJxUYjR9}6!Ui0dMDBIn#wx83!J~aQ^vf^G$w@OL7Mt(+9 ze#64^rQ3G9t2|~Dd>Pv3RI&Qt7yknrc<w#gm^e@VdBt&ShOIAG{?E8~BL5fnrVqRO zCq16o@MnF)MQOn$`it+(u8D70H21LF`|p45s?W@qdAf9qa2wCf-P>Q^R+^pp$(q+G z`uOTa*>yRK`#cRgub;Zm)!7jhxak0wuf3VpHkAmIV^aS2n2quocmk@tW++Z~Qq)~} z`JIK;!WS+VZtc%HB6C|dyqTxWeN7qL%7AHoHraRjj(b<j@*i4TaICAapUd{lkCQK7 zZgOLhxN&gbojaXRd+wLnJgKVj4pr|icw#)gAbrO1v|Eo)djDBnP;Iv*&*a$}`5E?o zW$$?{wZ1?8eb~dst|@0rR}1Uy)muUqT{HT-=xAJIm`vRau5h7!tNvsNMqN7;^5^yB z6A%8ZUUp{N<nvpvSgpS0#q_&y%Pi(|hU?GR=dnz3FS?$3g}M93XO5nKy|Wvxd`kH- zrOtSof9JyKU9~eUj!qWWt0=SncYNEC+5BfOUJB#>X4UuZY2cd5$K4G#bQZ4vl72er zhEc<cV+%RksytFP&$INl%qq`aBVNL#R&-6AEk|=|(xN-^z1ueQf8&t+n6SW_J?uVP z9~1i@fvIeZoFuERKIC}+RPL9Az?)FfX%`pG`*x^(SB#C*+&?qbw>bYvQz-mqTxQH5 z!<?Y-r)6RFK_TNdMTg_oX-b*yK6Wj)9xH$M=|A80m{G}EVn^!6v&v7c({ehcxJ#Bv zF6>c%E$()^IhXr`vZVCX!eZfjQP*9MZno!VS39npXng-oeb_a3hGnacI9}xzP}#Q5 zaK@z*k8iT|mx~#)3K*4CGPMOfK2yW+d?LT?#~-c7j+`mo^GUjVlb({^&SM4|rxqD^ zn7ONzWwIBXcrIu8ZI%7WDL=o}2^jwFPCRov?tcltV_oQ(J8%B2Tz}Z;Y)}3-qhDh0 ze{T2h|Fd=F{*TMgf7#zrFEQnAzxxmQr`!K#7CiF*_b18WrLs=z>Ls2z4{r2tI9lc+ zdnd7g@6r3zGljGM3WrCeEl^gM{&v!yH<IPE(srBI#$23{WwQFmuZV~6J>Brewy-X5 z@3wRXt8VcRb2{GzwFfUZ&e--?bz2FmV6xK|En&T%8=EGr{k?R4u5A3jt$c=!i*<9R zpNbCp9(*}VyYBhLxQ}_d+DX^Tr#+hZ<<src$HSJWJad^k<#`PA?nf=Pv9sOYR|vc* z-M231YVusY>l-UH*pojBynFg5+w|1Zz>nuo8-`7Z*c12i@a1QlUvX%j|FiC#<O7?_ ztJ<zBYhI6h8~*Kgq@;Ki!{>8tdV9>?MMgRwdArs3&zhS)Pxi*geh+foF8g%(XE{r; z(=%T0xuvYGP!%(G-Gm)o%Vw^AxkFRqz<d6eS#f<=EBBqZ-o5y&mD>W#hZ)O)KW^M% zYO$Xq!!+`<jLhkevT0}UxjcE2c)Ux_`M{EMDNiTAyb~)Sk-j5oOAObfby4YZ0-uT= z6?(9W=HJwE=Ur8(J|lCMQ`=%e_x~Hh`+f_3z1Y9^@Tv_KyTAOO`aREk^U~{~3GbY* zt_uoXsS?T8tfM@W;qs)HeFhx27{%*&_c#0%D0ur!mWTfV$NmQWkFEL~-O{&sgP51G za?LcD<{cEelJ9qb?QxmnGl#cdJ9Xy&hSjTHZY^JzFLz9)xURkQ#MGbv>rYloo~!OQ zeSKa>a3+h$l4)Tw)jvxGE^a@%>VEacyJr4TNv8WWJmzmyVmAB8r8zh5O=S0<P5A|d zV&VHsjTd~K{>|fz+i!y|n@wGdXO<t4Ty697T;i_gqU$>j^IB}ou1|E;`_?~QPrZX_ z)qUIPC*Qr;HnZ&h=6qMyN*VUEfqRX+Go@Cf)@`2uGW<zag72B-D>?<8PFCp$Y<G9% zsHqV*vz#*bahl!l^>aSRE--)Y|IkE#*Xs)vn*9Z@E?(1bQA*QZ|LfIr%iFb0^Pg|O z_Ev+bX&#%yk%}9OYCm-TJtY5UseOV&nm>nv^O+kGjK*(c+!JzVbDf%4B*xsrT)9El zVx^ONS<>-18wZJ7Aw73@=^3XiVV=>p&wmZ4>AzJRan9`iSI=ski*^k?F5(dLR=IeN z!L<2I0YO_PiFSot_M6M>kpDKl=J_j`DcY|hf<!Y~llsox-K^!mHCv`6FYEgb$*VJ! zSD1?OCudGrBHI7yl9JEXt_;qyqxOFe+w=V1D!AJuy=T=+o|GL{ahq;2=A63dlsiGX zyV^2wweMy}@9(8MKa@{@bl|k|PUEn1bsFM}!lQ3|@^<Pgeq4D{f8O73GN0>Q)<2u| z;`EH-z4xybT)BU`a$C&ZP2&4+h3$Q`oZWa`r2fha-!;#kNzglO`~28khw7iw5;1oY zH}h)Ws_wNHe`Bw8LSDROj(G6y#1H*x1sAWi-d=3~Th_gM@$<hQCbry*U$yzR#AWxm z6*s@lc)8R6?ZNGTzBAk?`ElgR!&c5$v+p(fSwCuMn)+XWEpzupv)WCjU*a-~optyc zO;@n^<+81pJi4IO^5PY(_{yywrg~2!FHXG3cIy983+|<b%k!#_uk4SEJ=6bYYt5wP zTn3#s78x~#MU!L#D+<GF8J7HC;HO?VM`i25WS)JUbu)S7bh=iC6@(Pz1@Cz^B~H01 zqi{<3FW#im()CFqE2UZ@KcCc#*;csd*5~r*Q-*d|HZFI3?OmGx_Ke2vXR~&_O@8Mc zUO%1l<e_H$SL;;|3kLq@mis2LfkS)y_a(1R)VahmZL-VQyzW)KBDZT?<*9X%Tg<Eu z><V1+s<+8@epTw*ruQr6xtDfLPjpiDKH0N)-^1+({ybM%__P09=kc7t={p(@sqOyq zMZHe;yn{<+?Y@x0euZ9}o}+cow0~=<@`-q~aoaxo_fYw|{Gwjo+LQZr8D_tne`7vp znROmtjj@u*(L;yYmWA`qHO)^b_~}+3AD?%!VXA-O#dUd?LM1On>&>)KyCmY|bawf! z#U`z3b+Y<W@h>NzHJP8VF+{#2+~l830Z)YEwn<#;lQcTn-ilqWw5m&eX>sz<89t5s z+n#mKpJgGcy1wMcX*ZLvo2D&koM-r9aaib$k7-+vF0DUuqCd<?HS6*{!!_@_Z28QZ ze{#&4!~I4fguUhY@wrv2Un@Lmiu^mPxI*y-U*6N#A`+#tO40wXT}oDEF8yw|f@|Zw zeC}`Frg5L{r@O96J6o~ySlr>Ah0hDijQ5?>l@yKJ&Lwj2o0;L{h1nM2kB?uohzk|I z_U`Ow&1LBp`r$5~GU6}3UkHzh`FKC-z3MslDL?q`|DDL*e9?S{cyM|6+{;zMZ|7C* zoII&@@%A@t_O~3)etN^w>N&Ts(30)mg~g1j>;IcN7+u(~>~U+eti!{X{oPVYceDCz z+qUeSKWjoy>bITZc~Q2LcW<kUI}lYXxyycnQ_|b7Rb09*LOUk}zbJHCoa(DN(@Mf7 zFw$$*pVeXFd7n<le=PH;l)RhIR_0T%UpdC-*<q(6i_Mci7wDZir^57X!@cFfOwpM( zQNGdqPd>YEyuK(Vqtt3m-KE_ZLj#^At9HewEetx6{v$QvX>9u%!Hc|?Ud1o2(fah^ z+QRt2(D0jmOWVvIEt74Z^L4{6zQFxib1$xbc;?|*g@OdJMazFaWoDehyf#jet>xm8 z%)2jkT-tT=>k20w<!y6fnH|Emz1{vpHm+`!<igUHimMX@`e%h@My7`~t(f(E&GHi( zmG(WZE}z!#`t`c3_mi2=!>f}t4mWQv`5C(K)`sIAt~2KA&zQO+O1>*N&DA4)_10B| z*E$dX|G?jM>L>R<$-KNhoQyrW>w>RjZoI1RZh5Ud@?Ow%rbY9)9$0Ob<k?^HGj)1g z?uT@{sz=Ior-S$u3TJ#NjklSyX^+_Uqy^6_^5(qK|D3h2YdWLVe9f9aA`Kc7*rX>X z>d#GF9qVya@ao#5cMMZ?JvW}ZQhGITTbK6AYD3;HC*%(YFZf{I{5||foIZcao2{Z; z)8g)HiEmnx#5n7Jnw=tF)a<*fo-$lM^E%1FUtqr;*Pn@e>+SjM0z;loy27<^+L}vx zTj#wNdNHjowBoD<V>R!)6(Yy7?$1<N9V?k||NGr_%VvM6TKiN=cB_{A@y+}Zq1V^@ zd@H!^|LO9+zTOKFmbSvlRj%ffMc04Z^<w(gy6h?5yJ99Dd!<(Ea3(J1{OzZwLuHhH ziC**b*cI@w>z(L<`-Tzei?y9Mnp_I~pZM(jnZ|jUON-WiiHcAA`{3QqZO#+S8MK;N zXFdC$*xG7!DA7~e#)QY;LE<@=vXhMO`R9CBXYXNE-}Xf@RMC-nk(l5f*4v&2N{8&F z?p2;Up_F%X4ri;6j!v=n{}aIy_Zp>&nO<I=yYh?`?=!|w5$mA2X6a{HpT3y7&Zc#_ z>o2u>p6)kCT|5h=6khUdW>$OjH2(4RQr#cB9&G>iiqo<+pngev`Kq)#5;7e>HT<VL z$<-CPx2;<ebM=Fm*?mWe^Skzby%xRv`@QP(pYm&4pK{DUE)jKj@us=Kn}c(nG|oM+ z(_Htl^05k8*{|z+9(=xX+KJuw_^N+#YEL@+-gG&O_B^yZ<!$rl&XGG8KNu+WuU81j z%{sa|r^~rEsm~=xWW#HhD26jL|6SNCCwaAL)9Gcpk2zbi7A;}Alep&6QQ_C;&un<n zc-}GJXx>GO_(}QA{qGr`6dm*DSP)iy`C(;5-^mR><9!RfpPd&zvL^g%b}Sojce_%B zg;70|KIfa60hgwfFBI2_ei$<0k?;nN*5%62izj!meLNYvOUJmep4~w~jMew@QnN|F zubjADo1)?E*)=C~sp0f3S*w+9cxkWPFyWh3dCS@ptAalEXjUh#=1P1j9QE@`7|YU4 z)7j0Ae4a0{dF$2A9EY`$-O3lkIrg^krOT!&^0B|~I5GL;hOirbE%S24KBjD4F*W~c zd58GrxOuFfghI}7eKWOJ4Rz{icw_!P`r{fQ<Ne>)#r`QjpJFS%;Zo@7Q{{f|KOQQT zwp=~`P|W3fOV?%pxElX7GCAQm*RJ`wr#ElSG5#oHu=>J}Rdp_n-rsajS8_kHntq|$ z?5CFWv#_tR;f)pBpEo4k_mUHh|5u%`U&EvRQ*HO3`6q*tOZV@6RCRFATiMy)W;5)x zDDKQ-UGJXuC|92CrPi!+4X5jx%e@a6#aV<hwpVYImY#Ts|9Zfcle~56TT;&+X8M|+ zq<grk>8$m}iF>~nsV64fUCb!+QFL+5sm<ZSPCIkn94Oh>H9g&)FHlx{S>9obEx$90 zk1j7_*safEw#&4?bj_|x;fs~Ba$ke^xGPPBcR#-Tfm`+ezU`8qoje+@9p1M8k<dgw zhg;fw%9`<>CoXSM(4KRnKRW66zT~4Uv!5F}Kb`#Km|R(M<Y67Rwf{oZH%9I?Si3zg zcuC(O(fNg|d=9VuI{h=NgVpNwS{HQoomETzvip9ZpxM{MQ*Rs$*4|ZAdS;(!<HOEB zQTMxei@!P8>}rks*masgQbfZx>YCo-uZMW}zRulrc)!qv>+O~2dM$2VGVlAtFkySe zqD2+zcAMX&YxEqwb)VzIDVL7>92v7$@Az??w;?<!xxZi4klk|qto|AKbM+&0uBh3W zS8eNwKeTn1gx#YM)5lx)70tOk*Quz)@oVVcFYA;;bxyg@d35CR&ej)ZA3p?Yh1urc zyY}M`#{!QjTDv8@xu#TUUR90VaWl_&O8mZ?wLdm{v-)}3xp?|5=iby6UfH4LyF=1; zYoA!%S(~?41diXZwN-k<k<feL@Uyi~!n~7GgWoR@-{)6#Xye<A2eyaGLe&c|C3Et= zJGo<dV`<tg=h$s4?WgZ}XDt8B>F1S2m-51&ep)^CZ_w?Jv2HQv_3r0zU;NB)IsWeU zQ|7YzPva~5zRZ5qUlI0u>8^?4*=`%Fx9NJl_?`9mM3=IUyYOwBcV&}T)@_sWj5PiJ z=>F1(o<}$2CMUTb_-COTvd?Pj?-}7W3B59fUt5=1nBRQISl2iqkL!W#Ce|0Hcy~Vu zoFUQvv3PO9Ig7LvoBMZq{V939{r0LG1~a}Td1fVQ{npuTkkDZES81N^Pp<P8E}vT8 zeOJ`5uN2t-J!!{<y{en_#oo);PSo4EBwTjJs#PhIFEf4cuQ<8o)1>Yf_u}6>wg{ZJ zd${h*`!g3VEh#!EAZ9l6B5Uf=LLnJuUe>K4wyUPg?dV;xv|!`w)%WkctPV?f^De$J zR@Ce<Z|0_B2R>T}+}!B7vTnlOZ-+QeT15QJk7t)sKH2PhV{h2U{l9nbPhPZX!CdKc z=9caOeC9<4zwhn25L_Lyvd~7wx4q)B0ZaO)dHkQ<B7g6EyWYuUe^zR^_U@>gQys0U zUh0=NFiX9grT%dH$IHfl6{fQ49+TC-@%)%o;_Y8to_&|H_rA0#*tkEi@0#5;IWrl4 z#h~xCw->GnoRt;GZT?@A>(;KTAM`kdJ$}#fJANXLFD=j|W17bCMZMcUou3vlUuK@f zqdyIHH!W8kt^XWee^qD8&)xOQHouyA|MlVE#ycV5Urz5hp>EwM$Idr%`ooj^R2m!( z8qfVBeO%>CjcCTiHEXXwFS>H4O>uEo`eXxx%X)vdFs=G^;}=I!;WMGLOPEftpUN%! z@Y3qsh0Y?g-WKdFX_eg@J1bKEx9+}|yLs*11-<KK4?dd5y;$trJ*Ay7&L7Ki-cR>C z`XPH-WNi1{$Q2P8cTQ}3JF#l#`|vM+x30aX?NR^#d;R`}tISQVCAKiXt~2{2B47OH zqWs^97sL0xE?WB|X|G<~3aQPrs(<F)+tfb&(K_e1n?v?qu1^tvrJ?>v?`YTKf6-@d z`KG;F_G9+?)m!^t@9>qK6_=gzy=TP^!3Fk<&U}mi_vgH`Wx^584g0roo{#!v5pJtG zmv>)t@wuC4!lOLPJxW7gG{^tGWdB8UJ#(CHerToOhv04ZcQs9B_jt5q`TWY)2D2*m zE9Whp$SzSjtHL+HZFfWYrX!*M+@9%(|0#SL^LmC(Y%uGVP?@)~o|WI6>#nZ;*W_-N zkRpCB*RA#bgjSzU*~e>QbhUgAt=4UMB__b}?{oeGDf@lxukF|0{yd9UdcwUvt2;-^ ze|=%=DtlACbXCK>m7y%EXScu6j;h<bs=xgDiPL8`r6&eX`12@yX~*>Qw_U~O8+5d< z`IR(t=Ty5l8?Smy*q*f{zWUL%x{!UJE{n;n-)zyM?tk95C+VuZ?EOz&o@;+_#g_^k z78J-ocC}&0%8HhR-C;ATjx3jZyuxNvc<kizt)DI0rv5M3cX@v#=kLXj_r1F2^Zq&G z^!&m(9_iWDPftJA__Ts+d$`EUCCxiuHEpe)F+(Es<VVM^QksjFyg$yYyk~~Q@!FeS zum0)zx9nP*da?BX)dSyT8P-P1SN}f85cSa7_=&hegT1Wk!6kKBcM^hKWi_S$+|cT) z>b>mp?N?_=NxDA&l1H<?tva*B$JudJM0jngR;_)~9}x%9B`F&;Tm$dUFPZmyPx=0? z(_iD<L^dC5oYrL%e)HP$9a*MFXNWxby6ViNZ8>6x|2L)VPBMMUaN>IIhDY;renj<^ z)O-%x-{O2R^nc*qGmBy(BRJf@iI(5r^=jWVarV7@HQQG2OBJeneRDg<`fq<a!(?V@ zZd>DJWay-^XifDzTWMvJ$)WdCY?d3g{r)|>*x)1E>m9F(L#Ot?X8gUXZ_<p@ae>!8 z%)2k&_+~X>>6;4&I(JoZSKse@B^G@A-ts-q*4AXt&zp2r|BKjx?)hJ%!yRM({^d*9 zc(Q)7isdQe4&~mB>nc}#oPXoARHejz*W@kVj(3LUD8IYE>8B>c{@b5ywB~tcuSzd$ z)nZXTwOP0NtFPY!Q-fL2o8);Vl(qV^G`m%FwL%q^lsvqY$M{s+^6$f|m(;f@9XVbY zYV&8u?4zz>9XAizRcA}S{rr9A^-a4DmWe6cPg%saZl~_AMNQm2|EBK}c>Qlx{h^hm zv#$xh?k*@OoAC0}>TO-O-=Ezl>XLHdzNf#PSYBm%(!(#0kIdR1*Prv~)!SE>PfVH1 z8oF1tRPNN>>yK4dn{E+}u#}qY+;RF~!)>3`sUd~0&zud^nzO{$-c|DPYIU&#&8uHO zdXd|9+$MCZcdA`r#Kf4Bweu!;mS*Riy0kg*ukXEDnN?hFg6wDQ_JwbdH(#AGYw4#P zZ#l&q^2Jf@6RqoS9c7Sv#GH7^(Wb&g?NQ3<iT1Dj&pI!7-XI>jL@j#e)Z(Z2r=2|E znO|G$s4}nNm(-^7zxN*fb5r}yLu0-_B8*OIfnr;(EvyP%?$2~VD}dp8s?RQwB+JwV zby80k^vvPDI{D{hL8d)Y;?Ml<9l5y9=<=SI9X8qWD}MVkPFbzede>h&Zp$Qn<Ln6y zE?52~oV-1=_{W2s+rCB0KB5|aYc;kXzQ0<aOXr61JYD`5wtH?L<2vN1V74Xb%DG)r z(&tCpoa(<O|4Uk1dE@c@>^~00uPcby@HIwNJg+-o>Zw03w}(D|dM6_FkNcbSP}@(} zx~6Z5=iQjS_iF#W`KOgX+*J5h{jDhLVAYP3vnnh@W0H=p`MBcnjR$kw=ISoG$=-V> zuD@aLdEXi<>4x2}0+;Reda`>_?sJ(E!JK~^9omX)VtjL~-s`OBS9tYzkEP+OJ!gMx z|998sWv|j3P6qRN2bPMqpVIgDba<L@^nBy`&l8z%$fV4$nL2Tjo<`SmrPUHQnfJEc zJ`!u*F?spLh*j^jBd_}Z`((~1oErZ0Qf=hz87J0heBHfX`p(a3bB!lGe%Cl_=?V5d z#<OJ~_o?h?=9v0ILh(%Wp50!n;zE9;1bGKtaF;jxd|J-Z*7efyxjnxomv7TKWuR$M zXYFLL`g^PBeD=if);7<!j*V_QU6G|XBJ-XKhP_={zT?nJ-(?~X9CJ;c+!I<okC9jD z=YmuAxtrV$td;Ja&B0f3Sf|AO>#ie*#5CME{CmZBcec7~xXym}zp&=Qw*7Hxm*=%f z33l`NrS4uJQ*gF?t@)xG?uH5}`c=2`!m>l!*k%XrTpGBFzkr)<=It#<5;OE}t+qcj zdB-!of+B6_3rSzHj2Ewz;bq8*5fU#HHD0=7&JID-6@B7AzCJO#`6-)c?mDZfKTht- z+S@VVvdM3M-`AVI9{;%P`#blm*=8?7^VO7mUR~VLYco6Lm?G1qt8w4<O8n1mXgIW! zeSxpsR#!XKpI61ybzju{OnY;7%Q>YyqZPZS{!TmNkiYuP&%8s+Ew(8B?!0T16YisY zttekj{QH}ut8-3-K2B&1XmdPq(<%ABx6_@#wU&O4lXqQTb=PB$@wP*Em$)w5yKzS! z^F-raU#{-sxl_vdj&W&Vu(wyn>eg+M+qq^$MB2;0jhbDu_T*lzorlumMYp%d=RV(I zxM`2g$FPLnx4#7Wvu=Jq80OBt^;~)MPmTMzKi?_)eLkohV!X{>Z~Eu6JD<J!E_m&z zoH@&c;QP}5_u8x~K3|@4xni}bUyQAJ%DN?6`Ma#LcJfKuAJ08oeWYOT-;d|kcDtW{ z8kM@Cd+%bOWv^%2WF4Jf!<2Pq(Y3|hKBcK=_q;ebyHfi@SkSfE7qvHkxjAvx9tq>G z*DJnAPE+!<HPw-_sd9fkTk1d08H>5=pSSq*<(>WY_`r#er2%su+4%gtcuQMK?YdmW zKRJiUE4oh<o4@63eeravT*Ac&>B5hRHL}OIJhw<;c_XuU!lljXA$3*1B@Rw1UE9~H zQ<xb4b?doBi&f^DPF`a1q;>D<i8<HB_Oa>PT{4;8k#{FcOk~C!%?pda8eGd`N#t9# zO){cv9ZS`By@O8`bq&m-wtc=P-j^E1-6wV7LMcN)WYKKC$v^t;{k&eIX&|(&Ch^>3 zgD>|o)|N$IWcfeI&D;4t?~BKl6)s2OT=!?iUHd2diDl&}k6RilzXd)EHs{4D>=des zo%H>4VP9k6{y>|GFC8=Acr*N&wCS(P?x&ynIdV4rSw7t)({CMD=tiTqb;5mTv?8in zt_!nUevA4hC}($b%SY3?Z&9T>g+{CQoH2iVpwaj9mJJd6S{oK$N$|SjqxS9o5(C@v zO94GxuP*s|svo~%6<)dPtCS@3>VtdP>Lm|HS*hzpacs#qd{8<+Y?k_=P1m~$n&0{y z|6j4wT4aA4liu@XUjy1$>hoi^$*u}+o$zM~-?|&C_+2a){&u>5;*Ip9U-ln2zLo5+ zwAvPKwe#Jop9=S;KJlrUeO+n~b4{;xI={iqi05%zcjisn+Mg+vuUo(?)2e*^?B|u? z?rSzpj<uZPzBZsd^Sj#@yPqM}mha;%-Se!UPtV#{cI4#ex$kS93q9=H|NO-#zLFU{ zx6jAF%eFO<uXnt#g}19Z?A-cFmDk3aGv7YFk-KqidiQ6w$2(f|vg+6!PU?xCy0XWb z@w%ejul;<@=VD8bZwe7<Ua`Y&MXK|og}JYGY_mVLu1<rm>}Jc$wFQSVywXC~#EJix zTff7QuWq7mziz=st=WbT+QeNx-rOV5(X{5zx4DrEg342`@;0ew)GD*fBrz3Fj@9Wl zTB7>sn*D==SuJkzS-gt&)frC?#+z<jbm_aw)$2di`8d`)w)%XJT-#eWTex+?h750^ zrrZa6G|#vhHGi6VJ||iC!sWj+wF@_hG%1(->C=BK?#LsRcy{x>Law;4CyVxl$_qd3 zTw@n~{lvy!GsCZ@gm66TRrgrE{B_4XchBCfea=Z1MR7-WD2m4|X0Yq)c{O+SuJq+P zb(J&1Wuo>=<-T-^UaiRCu}XU3(IpuREbMmrh^RDt{gLo@!KC+f-~Ef@woQCALH*a0 zRlQxG(%4(#qmS8NS<ez?n|5xasouwzHtq7<4sK@;pURSzUZ$a*^C9z$dLP4CqkxO+ zU$mD@^iG$(aDsQP)KBARu8HPclV=LY&HA+F?VRm%p0$L2SFV2|S<mfoboJR6BIm>x zSu9*qT#)L!Nt$ze=e(cQyCmM^dCd$Io!#f^;QGA6N+!Z!)6(Tf+h%azVLUrOB*rb` z%oio5*;#?!-QOHI^rih~@c+5}zssFF|7xVs<I434_7~+!j;_<PW)fyB%c<UL-*sp6 z<kZ)e@yC5P-xKMtI(PianRky<VsF0+_q=`Y{(RQYOQH_$dUfW=%{Mzfi!KO%^7K#P z`5CV^s;qtLog8I(GXBT8{r$Jx8MN1RO<wZr+KpTm0okpt9iQK=T_tpR)!}=e-~SZ- zow<Em(=UUYN3+-ZnX~LVxO3m3sV{$>a9Z~{V&0^Ni$A`Fb=-5j8CUl^;_mg%>1*Gb zf4!h^Cu-IkNqL5sQO^&B{+Z>`%<STv?zkr6s?6LNk(FVxkLCtNeg1J-Hb_s`|3a3x zLrU4+pPTnzHJ;wWy~2DG>lE8O(}Qx_b{`|Y+$)vgQ7e#GQ>S3S^>^)_n}6(U=d~T& z@>@Lp3|D!Mz~{RiPoEW7d(Lm25WSYIM2fA0FGa67-aEehQPPRLBL^4$oKi26+4D&| z@L@{lHuZOf-LZkIoOey1e9BD!^$nM;99@;^a+TUi-&~5N0}lqj@Vm2iueAhsy!4ET zslA14U8?>wQj0u8Gh>eG&v<k}Kk>oo@^>50iA-027q?|Hr{l9z-U}X_GF;m;^Y=;h z`Hz+^wsHT(x5k$5Q&w`?LpAwTX?xzhVb9f`oOL6+TJ*Nm6xoTBLvLmt->1{p_tT^8 zN@Q!5`&s3f5Zl^)+`*FyRxf=fEVp2W=I7Q4e;$hWzj?!VuJ&W**16$-W_0Zr>)5aL zBI3itIh)lwJ_@YA(&CzW?3KVx)A?POcRl>rDwkXBrz82~=zBv2!#5pCt4o#cD9SEg ze<S=UgZ^cn(+@6GX4)`5a7p#lbuimn<oW)smUsA>rD4w1dVKrdy)XLMy)xO7wbnqQ zyK`Y^OxDru%gf~+t_rQ&GNo5JZJGPB^Ue<)bx$qdCGoKO_ENWl$r1<WH3U!W6FcWn zWpjRygzWEh?ydj1SKq#({Ns1TDZZ>w?c0UiOS*14#~yEqT2&t{xA9GClD);Lo;%JP zPtC4MQ_U`UsjA2{OD8+J=f(S-cH*BttDgP1&*Z=R*5ViwE0>QNGq)|SxUp4BEv-Jb zxm4bM@%rlr%J%nMf8uuRwfhUHW1na2jfvR0{l!kbdGj`WUtFZ}`oO&P8>+ikMk^kk z{N`PX{<5>O;cxWju3xvHLUY2~=?oY5Uv$@c(V)Wcr>W8LyLeW&f{AYnyY%D3j=?uL z!zBcH)!Fst)P2m^_k>lnah3M!t-m6av>DF4m$2QvNPsV9@1fXIci9w1&SW9+jXrL2 z&qWSI>n+^d-1y~%@-9wYv+2IatG>uuB<bui<h8r~aNW80ZxS+gy^(8wFEB$o`BC!1 zm<I>iLcTq6UuATthg<I(-$OpHoL!5r{8%9xVD;%;U%i2_df4jJpVQ|}Re#R+$06}~ zQ@hVu-+jNQ|9=&)bh1hBzt+ZiS9h%qPM#-smUq(4?6>NYwQVvBd0f0#hyD4I-0!P< zyy3Bf|65BnQSqQ_?ka0VmkJ)bb<n%Y-Dl^qxUw%ZrByRG6vpmg(T%&XwbbPJN*fv9 z-j{lpdd>(sv2b@!Tfb^k|MH?xZIj2R>Xt5PVS6vxzbM;IU`O5uGpBO*+G{^PPJ1UJ zHtE!X0{$;Mzy0jvJXM^M6629nIz4nvUEPI851EQ4^yRZjMKLOR99^$<xZ9uUOxO88 z^KS?HzvsKpbLC?4zo>vv9u+~i)fZ1#8LijJ>A%)=Ek;#PIr^9HvHBTFlVjJux%$m% z;@<zvt9~n<U%N~H&KK{`(hMSvYp;s`TdOL=tQ+!iLv-ujI4k*;R#OZ6#qEAxefK!z z{k-z68`s(Ho7W%sB-Lf^tCi*V9&Pd5)O@JFpY6r_!rHE6z1J2_XTE*CAUECCXLqgd zv3&u|chn0vx*y#&Lpk<Z_Mb_$JhqyGpDHHW?YmvaT={pK`LwQg`}9tq&oZf7v$N*7 zkaf!9M1g&E&&%t~AFd9c!E(n#V0P0AZ)J0nYk^gYK~c_^86Ew$9<E#vW1qy%Vs23U zZ%W|W_3NcK+!2kcJo%+r{!g`V!0ms(c6r+wYN<z^I<@?pUZmanjZx=s|5~<u{q>hO z-P&9YvQ3ZeSyi^~@QY}RusG2IZY}<cRy#8P#L1dJy>Wc|e%1quXB&GJpB-BJpiZ25 z^@poYlfnvBPi`;kDvQ+Se|tr=o9B@6BAYWI?~RtLZ}ob>n7Q8Ryw|DoMj@t7C!W+9 zujbosW_z-5q1jU72}gDM^p_h{l=pGh#P$5;uKki0`|~l=f`jHPAC}j>*_8kH*z<^A z#~Q9bPj2K2wSK*@E$dd=jlNT}&S?2NzwbDB%AMy;(?Sc`9f$SZSRSi+lsd+nzwb|e z5SX*@!0WKv8;{oYS(-+Eubgyb<=mB%Ojf>{UYIo1JMIJ5!7wR7iDkY$J59_xx6R&t zWM^@6!J)jjpO1b#ziQHcBUf9-lY9Df)=Fd~+pV*F@>x1?%f0Lh(bcEY=1uj#_pkU` zt7hhxwO`$S?)%xBFMeamR<0Lo`X;S<{6}i{wfqel@!JFyYE_~|dX9Eow&=a2n|Czq zu43ilk6Z0hWPP;uc%7(gb^KM75cNpXGxydJOXJRs8&oBYra1BDGwq0buzC95=iC1m zhHXB(|MHRcoBWTC&-!7gUX$YY?@hao!j0Q{Kb4;esImW^Jd1P2>#sHof2P|XoGVy; zbnZsO__E^WIeV<{Gv079X>PiDigoY)U9q2HZ_g_}wKVWj!n^c2Go(J$nyk^jZ?;V9 z#$n@q$qLfk&$$$HjgxO2&tx>)@uxMynq|&`9cRq4TNu07Wc>Ax`ZaTZ#j$>MrXQ2I z_!i~%3VLhJk6rMAY3(<yZQu2j?6<ZpuGEuF;|bk7RZVu{m*7Kjf3+f;S5BL^``uLY zNL82RAseUnr?4}}+HA|Jsf(0+Hg%t+SL*(3{=P?3{nr*;nHs-#PkDa2-3R%6shPDr z%bModX(ni&w=-Y#&GP%l<6$8?zBv~A{*KeF-u77L!y3zTiyvN{5#v^NWLsI~dRhI$ zKVuC)Jzmtm`TE<ez-O;-$2~rKyy6+-_2r@8&)nJil#OBCy^~F!=H~p=)0aq+yj~Hs z#J>IFm6JQ|EjlCLy-}LISzWDImitgvBA2Fhn{sOLv$;DPE^5U+Zm|xCi3y!Pzb)3B zyXNGox~S9tQ@;F@)XVAkP@i_-uD<;1&vp@!1qKJY&)%18mSXuAy}3lO<NLq5i5(sf z&h#AX*L`37V#}=bn=*HfwaLahRBJKiZdO}zWw&dI#Bw$c$rFOIWr@Pi?&`1gv}2Fv z;|X8C*maJ$d5HAkj`{ByI+pqt9hh!q`2OneT)wrecUjKlKR@lwmht=X3Lcj)hx(s6 z&#<}|IQwI<!_z+Vlryj2JX^m?=vs?J|CScH*zkQ`hxatCuAkbRy=1*ezkuVM@GS); zJmUN_s<#+jT=yZb^rn+r$d&i(GRHKpZGIK9U%*@A`;!%gs(crl?@C4<-XgB^CX)T) zM4j%?FMrIc6V98w=|8_=@h1L>`G3v!{;GHJ-2e5`zOVf|D+{WQh}p{~sOv7@da%Cn z^L+n9Z{+>T@2I4>?k?-y^-Ni8U7}=vhDXf(Hlf@Nnsxz}Yr2;2XWuCIboIv<GgS6# zgxD;6w02j<cWDNzjq^_~IbE;$x@TX@yMMWPJRu(gUrjTW`ZaNXa(~K^BCf11wdByv ze2>nY)q2&C67%x)m58uC!t$+>YP=t23$w-l`0()Shc7P#^}ZF{I`qB#`^Rjfvn{Ne zeb3eZuJloJY<;u-tz&jXeaf;>AFtyL)<Fh83eMNb?XnkUw`vkM&z!;dXSMGpflq68 zz4?AKitm4a%<FC8%L}ruOT6m1;(Nf3>2qsnr1*SYKFd7o^-t3GR9w-zy!6k3PItrd z%<KC+;$P3QJQaP(rNjMN==50KiVd9QN4!JUKJ2_Mbxh`7sc^H_Zf*I;)%(BAteqPd zz5kqloKD#>$>&GU=9`@6`yzFzLjO?8yjy0DS9X`~Vd2i&nYa2q!x63--6ywfY2Hxo z<jJP6%qS=P$_AzCf1hSP@%r8+WA^L&9;cPDtBwhsTKnnh!kelLmU5-+^O#xU4PG9S z))HUIW+d#i;i>%gWpTUNk0r{gyfcgZ|7Pv}|M#;0EL+pgFMqS!^yc+{HuV>NZfrca z_rU#=b%{)EC*DtKKACc_>`b6@XhmPZ-p;rc#S6dHoi2%$cA0lS<!f-JiQgsh{Y7V1 z)v6qBy_MVD=5^oSy=U8X#mKi_M#|R9PfE?-yg-$0)x(+joIQ2IMzz7WAC?5i++cq5 zc&XIc_42H)@9d^s{my2#r>N-cmpKPca_@eWU@Tca<HUo%D>D}PoG)#N=xud3krg#+ zH_|<=GCf(^tUtbd@A?l*<x<oCD>qgt&wDZTN|!%(>yxQ>nQY4hqRie;SeQJ=ME><; z;R^~^9-fe@xG~q<#^vCyJRh4&%$p1ioG)tXxvPD;7<bK7{_EBGRZC8;@RfbJu;J&1 zgNMZDTuiq4`N8-G^S+lCe+9G~^=ByEpXK%|>YUKARGwt%@}wgUzLnYkPWp(fdNb4O zny~!Y-H+7e_TD~!{LQV&;?)oPD;_B`Oz?Ze#hUruIqYGNqmU}ouV20&do=ncJ-PW< z#Y-mVdfkatj1B8vSuZbm{;9O)c<7o?k@N+YKQ79DPP|xTY{_ld`2Vcx&4Rvm&cXxN zxyApxe``1VA;KX3_Q6&*p*(>NE9Tj4b^Wd&H(PS+`gjorOQ!`&UjB?{rW)B?k!AW? zykp^^$GUFk8Qd+D4ls1izV&zoL)?9dr9Vm+%uimwOWQRxbXzi~a7?Z9^%~V*doHt| z-YM0$^Xbk=*RG(rD~k;^@6S78)fxXc^swCg?>DR8$;LP5FNhbe=WLD&@5#wAlv`6d zE$myLdYjmXQ|8I<ot1z8<B2)me`{Ox*X-A~BmOMO6kO2td111d_%peipVuYdFT8%r zJ^9Yt*nQK!+ZDXg{yzPu-0O46t*;(!&~xF7-+%v>bimU0`}A%rKHxm1rulhggNDxA zmCgpM*|nnDr<GiN=+WQe8fUbl@{N}GG&S?1OXht&={!g8!=@_f-4l234>fPEpY?wA zt%^0ivW^iijs==Ce5<>E@0Weu(L4sZ{Y(wEjGN1U-FUR%z{d}NZeG6J{M;g<;=m8r z<2xO?G<sU!I=(ZVcJ=F)gLwkovG1f_>^Qj3t%NOA>&XGJ$KJX*Y4;|}$XmCTFWIfN z;jpY)_*FJ;tw%d1a<5(_F!{-*XYsd6Bq~J@-U)0pElpN9lJl8OPi>9XDZww7mTpwP zbVK{iPsuf3PqMH1-V@>4vA?e~^8AYXu@}V;E;&{c_IC}>pW2k`pC{J$DC%WPUghbY z;V&Y#``6^Z6CA(l{s>}S!unO!z0qvaF<!po?7gq1$H&Ymzx>EatzMmN+p+HAlV9WJ zKKNmH>*LEs0gt_7^R7-@ZhG3({8dd?#wJxhw`NbXZVuZWQzo5Q#gVb5*i~Tp-t_Nt z+72iC|Ne2gUY+64hmX&VlQ*i*{gvl<bYtF=&o-MKSlB~;hR6DRc`h7%@X0x|f`!~_ zWd}|8=h#PDid`_Vn<f4-D>Xf3<N2=%H$xqk7I@mc<#bSu->|Gq?9|;&N8>js?2=ez zylLg#=Yny%ftRY*Jds*Zdu&se>zvbFdJDXT_s;b3o_+o2#t#O60;LVk9o0O@dGr54 zjzh~Hb0_>W{<rOi{H@*p!{aKyemS+;|Igij+}1^NkAJB6{{PL-%a_~B5?(B4ElFg2 z)_UK!BIx$Rq=f1x2T$@c*mF-=6Bu%2`SnE-@2^e@GTU14KKx{$D!==-6)UFq%N4F$ z`)Go@-A%nMcI}70M4X6icZ;ol*>&&H!<jOlH~){+pCF@oYpqFt`R<u&Qv1AbpQ+`n zHUA%2x*_?p=e%2YxQ*BTmfDzo#O9V^n0C_q+^tD|-;+(Pr7oXbZ?SFf_9K~VJEASl z{)jprTN3KQ_hkOGb(c5)(*FI^N_6eU4l(ZQ=ZZ7zDih6FK2F&jp&A<ZOtAk?cJz;{ zo3FOoK5F@Yg5B)L5yrpEq?5GgT`F7ub;I#Ia|WFNg{|5aZx`D;&r~ecwtRcKp}~A- zW6zGnY@SW8`MiGJ;$M1k?pBR+Avz~Ay5*lq<vb03-JShKQmjH*`TUl=mnN^+#f*Ra zy_I9VSN-s0hQCVkF=sxW`+srq@#V++<!|#I&|YqSujcYRrW@u-6OR=s@W#F0`~BX_ z$NlzZmKAr|cUC==+x^H`S|g!wQHJm5PmB3E_B}rKF=6h#_~*&70;X}h5(BNeC%jnu zCo+<&fcxwWNy`i|*V2<Q9}BBR`BWzB-&h+M=J}6rY2eiP$2wFdpUr+bN#xG0jmL8K z)YQ2@=k2Me4o`V@_5GRL+MgxKS9;ma>+6hP@N8zgy6$JDDDTDsljpz6LgNaqOYF*i z+4M<f@8Z)3gYM`|Ke_(q^Pg#~lOw)Z>94H}eQp*tF)+g9^~WWGjy5~CtedQ#5yJc7 z(80E!ho+TA$UQfyz9rMhWTRv%p0xeh)5#p`mgG8=EEDcfXZJXF@9-v1AsflX_AmVp z{(4*MG(UIF8}-?r&QEzPvBBJB-^1lB3_ORjD~ww?4~0u^Dd5*W{{Q{|zyH5}Nw5D_ zKa1_|npqtRk8POurmDDnyATwr7Pg?`?9!609p5<S-1k)N-g?aN4X20VJccE9ENZEW zhZDU-w^a3&8fuEIee!t4JHh6hOBcPSy-(d@?0zjzdH=i@w{j{JO)dB8`AAtLe_}bb z<mT!7Zyz6ODF1iw)=~NRKbyJj^!}~i_wCoqx7+XA*;f87efHr8`||$zbtS(Z9Ol>I zix)cL+Z@aH!PVi%!QAw!Y>T8F5-XzXzM0?6-SZ^#{_1lnk{of>o$1W?j1?GWM`c}q zD|&fyS@g%El#SEv+YXlAIAvFSx$eo_hz%T)x@<dgpPDN_Q&8$SBtClsuZZvUH;#u= zUACM|h?1Y*y(;~n)Ur6;Md}Nc@^8uMa@@RnZsRO&&KXzhL)d@rNc+BM%6pA}Rn>C8 zueVDCJ>Dh1q*C*p==s74Q*-6zPrgyVSZgA>bN+v;)e+WG+iHJr@mp&g@UHIc)SOba zPsO_DZ2vXw|9btNO5xr7$J>8?)0vw8I#ut?<^NyP>(ky{n(1q~eWL#9MOjzRRVLJ4 zHp{lz!+1gIPKl1u%X2Xnr2(x!7N<xk&%g9)*2ZHmwN&Q(FtaFUVD(>kGJ2Plt^S!L z)BHILtl9Te3aq-oVR@)o-Y|OJ8>>l@-C2)0Dr41laj$)@b}BVS<-w85x-mySw%S); z?=Sz?|Mt=UCnqOgo}It1@YkjAeMP^f=KooBU**96f7S2j{d?qYZ}a!b`umo)+h#2P zv4&^;kD50Nr+$<%XE-6DyK4LIXKM_0y|ME8Aor|dfmKd=wa<xj_dd7D`XmWvw_cc3 zEnKBjXmxe=Glzw;b1I@(8`Zp1wL9$;v#zBm8kvd*c|XftE7)Gy`a<_H+qM-F8{Qcz z)*jw-qkel(iLAhfXTSP)th|2f>Blwq7O^h=GHJ@+6N`Vk)a5<m(q%Hgo3T@C-6yt4 z(@=-@<??^DkIdcJS6<7a!p<rx6D7y4onw^cxBYRWMWuLOZ`MV_fcT%Eru)C&^SMuX zf@Zya<4@c6<@)#b{50OZzWKqmN*#Cg)7Q=j&3K>jG<^2^lGgsPRiA$R(p26ZSao1q zuk(e)2ek5E{QJ$3<Wq3AKvrjl_~yrFFR6c<%=qs&)2*17RV5{NgA{*%R@INXBD&My zQ>1*Y)xNAbiR>?e?l0e;Ht93_w7YA0CrgN&4xAF&>ZN}BAuq#Sj-Us5zoezke-2$X zNz3u(Hl1kiqq3eIGn*NoJY~J`Gl%h4(wbX$X0v-9Z_Ck~SlVg8&G%$Rj!w#g3%9!a z|2~f0U;FI;ldtN_ukZiRdRf2btGIvt^Y{O5y}Z8f@7v4L`Fj%Yvscvo`uBZbebx7L zd)vL=er10Xc_3OXm0-?yUViSp{T0W`|LqX$U@8dM(D%11!jS)H?%pp+|D*SRjb2{= z_jr9wo3={Io;>AC#~<e$IKmmP+qCd)YFqC4I<v$hUv}t)zcEvn`!4)?ZD)qzr9!Li z59}T}HBWxsBJ{18dG-81$}+Fr)t7coVO#J@Z>P$`cZ+)$^>qDt)BSDg!h$VpcfDHM zq4`nc-D0!9^Yhn+HU9eP8TTh}=lP9qZx&rWu+O$U)aK9e*#*ZtUPgYrRIMF3F*yGD zva|^8<n{Isx;*U7ADxuEr+8E1#%z^;lN2t0mG+-{EBeWLox`Qct}(@Y&seul=DMGI z{p4$l*sfQLdu~Jt|2DnBdtl#VjfsA0n+^P=lD@UySW~t-<Y>-KQFWj99iO=#EDXp9 zuuamDSo&z9ip!ViRUCY`O!*T&KU#k(*+n`(#VR2!w&U2{m+BSWdD4E5c5r{!|M>8< z-ZwqD_aEYaAIe^?e=GU_`Wr|8XUG4ZdfEQh+50wskLCZ#UmpMK)$HZ-_kREQ^0|CX z$*=YHKMuYu-K|*h|M~md-x=&S&1b79tNL+fo|44-;&_n=2`T>bZF6(izPM8Tb@hG6 z<@U#p*5Bj0ym9mQy1qNYS5|AC-zQoZI)y_xEB8`VmEj_mqZPYf9Mul#E}i&or~aDz zDQ9`K8B4hXYxf9j(%b!3x?-K4lI>}$dp;84)yao^GfEEK|Ep86xA>5?Pw3kT0Ri0C zI6}9EPD(mur0O<darF)U*UHy+aj_%_WPJ&D-(G%g?VVlrbFNN4x%A7XRc8-P`zZWU zN_}_Klgl1e(w|xEldgaEdaBC&^LNBrjz=5H?N%}-|9jI~DJnm;T6j~Etn=*kb07GX z&tCJ2&&cptwD8jKJ6WsuOw66Ua;cWo|A@<V|K#WAX5IZ=zGB||IGg`B@>vZ2pV;>0 z+ViG)r+91ExJo1i%ZJ&&J+|)8HoGhDMZH(e^#7B+x@L9k9O?R!4bKwY)>ZVj2fWoO zj&0;h*?sAx_wKH?vX(hE&jV9-wgmD%zrA=?z~)zW$1mvrQ%*AOk#@dxYH?Wi+{tX( z@n1zAG}`{Fe<S{VeeK)VWgq_^Uw;43{r?AFX4f;vv)Igy+bYlfCwl)M^EW3C=u14~ z{%6Z*WBcJ(PGixN4ab@P|Clr*`mkHW&me=y*;hBEPy5ZLd;GPOQSZUhC&Ft3TSR9^ zdHhjdS<U^_G5r0EwTDkG@p+ml>2v3pXi<FBG2W8DTZNxkM%@xMdY=5S{FCXUsJ}j! zmIRbNxvD)kvH9L>t3xOK&e__fzLwNGZTmg-OV<UBFFU98PTuZTBI~htm+Ysk_iKKC zI<x&)_x?AkrSns^xU9&}zCAJ6?ar>VIZr07{c!4F_xhWKUk}&s2|T3lRlN7ZRMu^_ z)r#9L?cAv@{_5l`o5Q)Ea*XdED_VDJ@4nlq&59Z~mnL|`hMHLWSWL)z?65;F?dMgl z-LG5^I~WGOwmh++lRrt(R4_V5G2*${LaFlGIy~=BeSdeNSDst{lFIH!O(I$fRqfAr zaIhYE%kWU_T6FfBqw)W%e_XKpU!QXS&;LWx%h%UGmR_D;|NH&ix`*2970+xpzgLkW z{_ncq`djWS^KT??@VDD&o%H)JL&fw)dEq0g_dgEk-64A+Eq>isri%+0J|tYWW?bB` zEYC@Dlk~cqlKd+!Y~QPUR&B{1W}8n-@3OA#+QO$+sT~}-s@yv#c=n6z<lD>7UEk~? z*{d)yZ?i1>ons3c4T=_iaufO7Vi`H_wN8HX?)%FN4`+Rx^<v(+(=CmGrWMuOK6$;W z-0f>*wfOv&({7!A<36tvlIa!{6fon}uUDR@mZf`W;-Lj)Ia#qM@9vvg(Rk!c*}27E zV>)^GT2{The@NfjfJ-3$h~&in&*%Q|?mqP?Eavczz!{xsZa4nz3OKWd{oF*O)w9n} zuGn8)lzgdNscFkIR*P!eEz6hu6V^RHf2%rU-?JY&m7CY8^1F*xvm~64YF++L`Sg)% zitZBpD>~Bd?cG}uHvi2j_5Z6*pL3Z}owsJ&tF^3dM^0Uy$Ds0bEvs1n-cv8vKJnwf zopt>}sdeE|@4nFYXQn?nSI1fX=KiJ(CW+?GgtxCZ9Z<ftD!%sJTHmQFYaAcE|5yL@ z>JO#|(eXC5AJ>|jE&Y47zrN<zOaFV8wLd=3pKtf)#o^1w)qncW|Nq;j@K0kx9?OjR zwJ&}v<^J_HY}sKT`pr(Ym)XMj<4u;H1N)Ab#d6#%(D)$VDZ2byj#c@&9|x*;SX}U0 zCO`k*?`OV0kA%LpF=^C^_k8kP;$YYR-^yuWcH*gZ_peKR**f9r8^f4vW!stGlcIi! z^cTh~=FDMAy0#-Tc}-5M?#hdIJw%@OHl1s*{9ySfN?CGY7xzRx;hKBVr%gAehl^Bv z+u4%fE%Q_K^5c}*fybkcm(Me8vRM1+lbe6x<j27a3JqJ%xm#t11$bTUH<>F~wbtF> zYvQ&`7RMe1Rv#(N`TzF*zqicksa6azCeNocTxVX(n>*n`(Y<qr<u(WJm{esd%UJF6 zwxeW^npx9t>xdag7BAG8EA~?GouF#DXK9z`z74O>MLm1*u+H`r*Sd4smY#nMShjwb zH)pNco_m&oL3xd*i(`nMcKYF&{r+-q9`5Zux!eBt$(M`!?d)uS|0t>Yqg7b{_g(w) z_kWN7|NTYzw`N26{ogZx+HcWkwEOy=!DhQUqy7h%14)1HDg`}wyYJ=WyW#Tr32Wrm zACu<|u`QprXMSzTnFQ(Yn--hx+Z<@O@A1^I*UOG)>56(yy0J9+wVG=P@4fW*KYIi> z8Cr0jx89Q>ek|#4eL;n@<nKeQ(FeAqJP4QFG4;*t>}{95K6meK>`Z@c$8h*X%??fh z4$%Z#i4@uE^Iq?nlfpOo+V5j^CzQ=zzM1}O;f{6Aac@svy1u$+?b7I-NxROTKODJ6 zSK&z4jbFQ3uWna-drq-@$){_7RvE1=JJ<fzhU;QQ$EM8(+1%vSbzD5|9emaLY<tBv zo=4xzgp~PooDPQ<d2X5g?tg0d>0b?&w@j2)`B!<TEe!J%S*#wqf<N|~I&+xuK8_P> zZbZK=yuAA3#~&(BcRBg>^8Z~GboEEauE5fhhd*wt=q>LH@2NG3Q#tXtMoli&>iWNf z@_!B<TU)ht-%@ph_Ia!_PiN;F8%a5?vgvJSnkX@8_R+O1r&b&c<xQDZ-n*-NUDf)h zYVSDC&Tf3xd-OQh*>}7CY<|kg=`q{VSMI~4v(4Q<jCVh(|8VfUzy0R?U;975t6skR z{2RgjwoCu7F285}_jdjF_kQ>P|Est7+rR(M`{m#7Ki6lf%G)pa;b(EehlvfnDq%g_ z|GZ{gaY+8tY+o_?dj0d|8mG4DU0zhH9k^_>uGr&?O*YaM$2|9)yS=(eXYP#Lx?e{R zhjc{>Yxh^I-KuVKB5==K|BrL^Q(6{nyUH5-dH+P)sgsS8Q%a@Y7=)KzEJ=8irgwJb zhmJ|UftNZbel1$P<MfG6i*uXTu636?T52s(6?>O`-MiO!R=*M6B$dCSIk{fj-}Cp0 z%-+xhx1$TE>b#lfyYFw9VAjdVJyFda_pUj-mfAc&^Zu^mCo8u|6@2}E{_oo#&fWhW z$xN4ib%eY6U$Lsrrs-?FdtOhotz4Tgt?GSs<MHCXzBSj~MT9nr&ada)z~DZq>DPm6 zii-{B-}|(FO@eTkuEC^A!=<TmTQ(#L2hA$EwzGF(yhhvXXCF$rPM-YxX8Y$RmuC%H z@gId%teG#pet2cV>`6*7N9Qh)jJsj|{&`tzect@chlT&z<!|Z#+$h~J|F-#``Y(&+ z=kCjk|MmNUzP-&~d;34@m)HNk3+l-1|NG%f@NZcL`I-;^UatJh!eGy|!P{Ey|Kr#_ z_c?B;%AeF}Jht;$zvyRkW`Slsrn)V2KWnPFTO6xSHfMH!BxUAO%+&BM_+shJt4di7 zcLUVcUpyF@tFR_8@|n84LCAt&?YWJuU*^B!kg0ubCm|v9b4kw^(HHMD-U#1ma0pw- zc=*Vn7U9%9wa03Sjk}~bY)RI=@SwI-eC{PnsTgD33lo%_c5lD9&ST+`eQq4f%f5!! zh`pb1wQtwKz^}~LBGdQ$T38-o6*oiv_=_XuYDw4jYE7E^(Y?@td0|!S?8u{Ab4A(t zD>Xv@tZA?KyzT2H%NYxg&e-u)TRJMq^ZFx?EjQm6n?_u5RXex%|1saqzc1^|dHlw$ z;ko|C(ENietB(bqX;t|)DZWBJWMW14sawB3IbF?9{`%|m`me#SyHhTnJs8vVV~xJ* zF%NOA8EuY#gCgo!0@x4AtP$KB*y5_av-w-j-TiKBZ8WwQmsEb5bN$<+UA&vxQu;e1 zt{$3pnj_<t_VH=@x|$&-DziTN-SvA`Sa>Y``wyl2#ea16-(`8w8vn6dn&Ho(`SqWd zpZ|0GZ{3&s{~vvszwiIw%humy8|LrNxBvJ3qWib$3_sufZ;ky@DBRf3P>}HBI73|N z7ml58<crSfemS~t(YC_LPo;GES7aZM=5fp8$x_-?>Z+*zd6nx7r7P#|t*f|R_^H#v zwX?l0<LS%DkQLRr>LIp*LQJ|@f=U((XGQueJp7hjeM9!WKa0S5-Po1ke+`bVGSE_3 zfA^V1WAn$$b+Xa#(@(DImU*-{X7PlM)w_-a{n@hSch|h1;df47HtZ`ueb(^Np4I!W zuFrkya*WIP`$viR{ce4h+kUR!{NsCO0qc>E>H6;lznneQ{5Gck`=`5VZZ@`Jo6K%r zJ#_Eyq0-+`-|gz|-}?FO=^ssoJDq1j_IhxKwXt{xoMy3lad}saO^DmCy9@4I*3yYm zTsQy3$)(n7_oN2ZZ%RHB7O47l&ZC9lzYjgqn=;$YY0sA3qDfDdU-g@&7O?HwzYVSP zHzyj{{h7;c^RND&j5%|S)Q5Y!?QQ=)|Nlkazy4qRzs-LS&7VL2-u8axdp|$M-z;aY zOY`S^v-yAj{9E!Yn<RdBG{`ev@n>G3G(X?}g=fO2T+^4yj6d^lXZ`yUIdk9H)tMgk zY7^9X^$PwJ9=JSDL)_w-anixJmWk0n?=)PzVUc0Dc@wMBgewv8CmsdlnQMEweTcOC zud(pvhIv;apMR7rVmNjt+dwPsap^(^^TNucH3t1h^II>>2sgVTAk*f~QLlVw+qEvv zq~q;x3Rf+iFhxwSb;r%5M?Ws+FPa>!vubBV#{rKszGYEI7h8I-vCi4vvbyg`>xIwV z!O5`^3r{WDleL{ADb%e{+`V6Oj>-c8*1K-X*L;rYw5&>w-rc5D(Yt)ZiH+Omx_{wn z4T-&U@YYkU=|SIDI`uo&{-|ZRQL?7O$wg!HCdp+!91*;Bd3Rq4xWBua*mu~sQ?0?& zu=%}sgxo8^u-X?kwjHIR$F2B2efjQD@t2dKt=&MM^IP?eDL-UH4GyhrZ7mBe?Q7iE zrMpk=>fgI{o^g+zzBf00+9`GZw?V4Q57&$59wZ#;RxiH%@!>!9KhE}h5<asr^nb1Y zc6t5{>p%Ve{%?)zYy=N%|7YKEJ@|Jt!@n2u{yZOq8OlB%s3<sgx;WbGg+!ahN2e6g zjpw&d`*Pu}pvdf>mxZU+$DZ5Vq{~$?PvRT@8p(L}P(wpy%Z4(!;(q4qj;)cA=2d0N ztAr#k9oyx>(e$)E<Nt<@hkj%n*WJpz?0?dNFA*#D`Ajtv{_|*|-txoUp1n+t5suP7 zn(l-PF7^20{HbeNZO<XDtX&_@PFZwqx1^M;tK_%G`#;ZpKj+_<-SxA4o?qnr&BGG1 z?LK=v_hIvmuO@fJeU&o#$h|PE%qXL_>-~zoV$(ks-U|vVJ82>#y`yv6wfwrjd(^J1 z(cLM=n4#nyrBEIc*?;c8!tQ-eiti(wTI}bQ@3NM?HY0X!IOFC6XEl@LpNVU@oU(nb zUA<9Qvrc!3Y2MN76IXSg9$u25J$K^C_l%d0Fzs=jv3}j+8vh`V1OcA3>W7EA{(svc zpMA~mZrww6rrGtX=WBlO9cXUX_v8O7xNq<8?cBeP%h$g!XLx_}{omu(f0m!0_bKgw z-RJN5|8DR8|2(aFW8Kg5l@qPw=6PD{x!<X|Q7>ncQ7D|$x=Q{-?^-LHGtsJ5&wA5V z2Bh9h;RxvUaa}94O2zMm=*Cy~!X>7bZMWMP`TGBCJty;%d=V#`4lLoCs#mWgpwM!p z^YlbJ$&^b!)Q!b@+i%?YAv57(;j^lY?B(%aQs0Z$)N?K1<TuOrh)GV`b>r#!szvH? zeA!HHe<uq(t@?lT;_WE6iJF`pkF2B4=JijJDO{<?lGrX9`s?9!h1c7kxn8a+`n4|h z&+|P}jS~-=oi`T_jY-J%+&j(Uoz)8my|Cnqe~upzeLwB~%dD&uc8QTw&uH%{TD_xh zK~L@30E3;YlO^{*6<+`6lH}@Le^N5ljwHXVdT8NVnP&XpQGPu$>*tRL&ei`qH+h=n zBZIJ%rE7flp6$w=Bl|wTCF|d{UrVpsOz{2oL~P^Ku1`x(?SHjt_0s*<b-4v}rJmd< zc@X${j$+m2easimUO##2;5vn6I?p96Jf3g(F!ytJZFi*lf{I%YH2&mhzboBP&6fDB z(=1LRO7hF(_4ceUf?sWC`{CEn%f6rg!y)_o$IBTvJp5=^cU3=+XI@nIa>ffE10DDM z@oX|&QEK*Pk$&Yj*EAU!{y*wWUzC&5a-zRx&HEztWNB9}gYEfM;YDAPiy7LgXLfC9 z%6>Y#>Z5OUYU`HA+`&h=r}Zr<=$75lx7B#MTg?%+Sr-p7dRYgCx;!ypI<ial!iDBT za}31T-?Y5#4?1>t_kwx%tUoHO`ItC=XLx+*VVQo%30($Vp2xk#CVc;9S*)8f)xBoJ z>VD2RmS5ikuOHDb318VO{#>tqa#CZ&@q(M~O#j~5>(#x<Uz_<-#+hY~{OPw9v7t{~ zFRXd2WW%tcJl}fL`^3}N@)({eJaH^Kpj{GYog`qquE^x%9=RKVwM-9M{NIS~+A28t zTdoI-e2Kzq-ue=iye~z*9rC)@CSN)+Ps~!N@yn^)jGw(NVa63kTiCYlXMFH|soLYV zYx+OMz8o^BQ#6wlkJ+>NKgWsw%HRX<S#S6@*gmUIG-o{j<*5DdeGT=m<?p!tIK(G( z<g?lVW7nmDi(@mcaoailepV&1T3maTdx>Sit74fsZ?+!e{Gm5nY{xm3GcH<Um1i!` zSrsbNIN{W`hj#@kGvnquthoOy`p!}(qZo;6RyO_b86KSe-EAslxMBH=oQc<aHr$>P z)ixvgsTW7ylRs}Krr*5%(BCha?}Pm9S-oKv)uJ2R9Bw(gJ6hjv+^Hz}e5=XoS1T(X zWyPM^_3Q2VQ=waqWwj(6vS44FIi=%uQU8?MXT3L1e7ybaUcYeOeQDN3dW<!D3jZkW zcm3_uIKQedeCnG?t3vI1=jS~V-QJ>`wQ!S+V$#8+KeeB$p2S=aeI7Yu%ZKbkb6vjv zYBJ}kf4lxGSM2xYOWr6J?BINs&wL_ll|b+OhZAnjSBlsja`D5L2Jz(U^A}iZu!-5e zs_QLQUbI8SDC+hNes&i5gWKXi#O-rm<IuP9+2%){3tq06sJ`efL&^zB$E#n$KFu_E z-&&Bxt>1ks+opBqB(}P@FI-A<XK$^}S82{V!@XK_GNXZT=7E*7h1+d1&1Qy#N~?*z zfAMjLym<AWQwcF==FjGx|M7A3zY8C4+Sg?<MErfTpYxe>-kuY0jV8_VjZ~4e(qd?s zZEz|7`Zu|IeU6JwW-d5+Xy){=$ZcXjzO5B4<z2LRdCuZAPP1&oN$aMr60`5T`8T%D zlEpH%Bxu>D%5TSKe=wFkxX@aoRv_oKoupXwv$Fq7@1DId{l>d@`$PEuyxE|)ROYS3 zd};9o2ZO7Vo46TQWxt*NY3*CqT@S<F80c{sRNOsYRxY>xSYC|0%@+5+VUzC5Jh;== z8y<2hk9pSSGm*z5*WJ#@b(c;q|7H<a+IOdL_V+#Y`fX;{F8{SkpL2S9`}=L#PfnXN z7_KvQNX!uDQ}K#OxqGKG$Drpz+-LEJej4(*#?F}%Hn;cOytgou!E`}nMvGy7^5wNc zk;hw@SLds@TMN01?dg73xZo>m=FQU8nQG^k@wwlvIp3cU%EKA@xsu_Su=ua^^KV-E z&+lw7o*n<<;o<%tk{`MMENS?^g`w{C{F6I=G+(Pcm@D<@j!S>{kDrmZ@5oC`QDZsI zKdXx4%TwLscMo5?@kMQ-{F#-W5swp=udViK3z@ZfhF16XpgWnnU#-x&mnFNt^y{hJ zZ(O#u{rOxzyZVpxVzElwW2xshWqmRdNZ0?<Xgu|3<w32DJK1l@<Q?w3Q1XAB+oQWL zO|Q5!ah$rK=5WWl&~Wpo&EkF!clXM6ug}-uy4`5I=h?hMJH4Ki9bbczTW7HHc`rD5 z<L_MW$L=*>m(63bs7_Xv|2|c9(%oHwvX7p+Wbj8-URghn%kEZpd-3tFnb$a8*Xpxb zoYYtI4NlxPNvp`8Ws6`86O*l!Vb1DX5my>pOBX+q$yncR;ju=oesi+AslD-{*>-#h z?s*9(7^?bir0|rVtFK({{=6|}`@G|qUjC8$;Jd$T16Sjd>(csK0;k+Ve;%sbdGe>C z$!nXABNcCRF0TF(aD9=pHn+khp?w?&%G^%&Ob*v=)-Tl4beh||y+3m8s<f@|Uz#5b zvsv`-iT^(po@KHZ5;pz%HQi^o?Z55ZyX`)IcmM1E^K|2n-ugc~=I{L-zwgKLh<FaA zHJA2?{Eui5^1gkr@`U5v-aJ85`3zO=pkF_mmlkx*(f!-1weoSw+_hW!_Vn)gbi-k0 z=QRlvjlAy3mz1(AN)9|0eD3_)=<?zU&$<qKZdv^~e;SJKm8pII=(6v|GQRdXs@86d z|L5l#Uc0V$DZ9|Ux$ycA<$JSlXTQs``yOfX{>!v75%y=FLgkK3ueHD4wKC`U59x|O zGO5K6%nz&)Zf`nof2O%h>f2>Ihxwa|u4jFF{C(~5*xNRYAGli|?>vw_(|daAt6d4} znPbE&#S9nc?)sEu{4-?JnoHNieonDZkLXl#__woTqe7FTOP{&w>nP(O@jVrZ?WLY? zel=gV|Ed0eO5?-)=h@qnW%h{G&-2#WAKYv0vS;%4?VtVnb^f*8%{d>q{NB^qJ@KC& zM{IXLb)u6;w%e;R`N0;Z=-qqW&(&2OKg(Zt|IP#3_F2~s9GsTSqbew)TmReYY#&$t zColeVQ(gX^HEr)^Zg<l2?0Q_|v!&+L1kSyWw|(9$u<C-x3<=Y+eTu)67&;0oqFSUG zW8OSu5}ww2dB!ty&Vn0f<@SAlIQwk-@3ZfUpH@sxwoSD=E_tb7LBPy+>XY9u>}F>> zTi?9nMwMmk>0cd>u1ZWhS$a75b*IUx>#si*eps|QC;4OC_OBL?(*rMbh<ok&v|8?H z=zoo=_t^N?cv>INJ+17`){^+@l9qhJ(v|m<X0KgT&6ArQ<L<|o(bd>-LUe6p)P?~4 zoL8L|N0;y{Jss3CV>SB^p)EV*Zt!mU&-vi^k7xT63+5e}bzGb=aYO%!4Vv?{_c7<o zct_l24A>^Re`RrG`=ii3C0`GBmp-1P(eP;bsasxr7xFfziDaC0p7U#|Mm<x2t5!v> zq}rTYQehX3{OYz{Y7paF8<)LqU3~M)AHOG<ntVT)D)Z`-s@3tc|DOH0`Ra(WUhQi6 z`M)2}-M2mS`SX8&JPus4ntD|6+LJ4R?b?9?vId*3JPS6>__>11smK4pg17w=Yl{<= z<z}zR_}Tw$@!o*!ZK3NcuC|;wJ-aIE#OcB(v4yMs+~g0+XdI8Qh>9uLbktKdZiD@% z^A_^^KmGV}N_+i{)Bi-iXn%7#@Z|XVSvl%9KWyb>Dx?~&{Y(6O&9&&#tG-XdFRCQG z|Aj1B^D6jcneU_-E3+4*8@#w)`z?33UH_!|*U|T_ieeMP?`B=)Ub|}QqZs+_<lb4o zw$^4FCqI|7Uw?CF|NY`spJ)4(?a-{~czign&Zjcy+L6Ueu3vu|dH3|?zM?~QzjIIT z+FJ7MPc%c}ulM^VJblRW!Y?u`#-gU1yJ?wc-K?cgQ<pvEyqC7q?G9gX#3sH_qnn#1 z735DVJ92)-C9^e&0_$HXtzVP#lv&ztX8XJQTDg1|9@@6V7bI@4`p_Y_UrypZkFD&R zZyXH859fcVK6}A(UtNL3Bz}H@hk@6wJ@e_ld0F(x>*9{LKV;d&US%_gui971dthp8 zvUTO*`+8vuUKXyiE-!pp<K?~CdYw{GEX$PVfn00*bWgkvk+**=G}n8bh2it7D-76Y zB_B!f`LHfVcVFvyMPu$`M=UiTb28}t`Qe)`QGB79`CGdG$BF%a>o`9D^qtT8t45nW zYQFjA#VSv>Ow)OzywBrRHnV4>ne46VLoYwnEw1_z5O`*{Q%l))>CBBC4I8Ga)d;A? zKa^D4^C{<x$%7Y$*Hpre{51QWYS7ZOH2;#3?~l`Q^Rg!y$EOCAd~7{`EPR`j^5HE> zdlG)%`@Zk_>yC)c1%X#;T<0wFtt|diJxR@2I?Uf~NBPxS-z^qDL)S)alzI6m(EjJ! zYUkpIKU?po&SCfe_W7TJ)AB2ZcLW~4WRR)gNZ{uwkUMI~w!&WagOz2T-Z2TMu)8YP z=B?NlZhuORdsB&=;*0S8DXLPl9)<BgKEjul*ENN2bxw2$OX}vI916C6i;X-r)+T>@ za!7Gqm*&iGhdP%&e_8mc{#>;7P5&Q(%c_LapB;YGc=^l9uN#ew>RY;5d+xKZVePW1 zV`dO}V>Zd>nN>gYjf`^n6lXO7BVD~f-bp2n?ygzWKYUP=amul3SY`jIVdDQ&o4h)1 zb+f!XanDjqZf}_GD_MWWx!pg`-Fa+PJpHJ4^fBjvO(n-9W}Sb0;nqnH{Sxj^&Nm+2 zwXyqO|McYQ<>7Mnd{&blu{}7<Z?{RFbL;Ge_Va($7>fTqXq?M&`-g?px3IpV)oXs- z3RxNMnec8+IBRW|!u!Rk-J<n}_q@8zdpM3sX6l2jcfYND@%>HleB~4KkNehIu6lnW zulAtj*?CMqG=3)B<kRh&UswD(TU2}6<HOs+HW<YepQ)E~FW9g4)hn)dbIG<+<_$l* zmp*y_OD9clgD0DB-PYEIqdVrT+oLKNS*i7DPDtrI=fY3rf>O&{GlIpr&AD{u-_q&{ zd$mcb`v}h>#w^z>joM`&KOD)6F#f@MH`saNJEySc?5&9v%?<K`#`Y!mi=P*X9h;YR zN7lQcd9T}T!8n~YvH~7y+qtKki03Td7m%K_-BHiYHS~4QLGA3PQ<vVdwb}FH;kI2} z#VZAc<JG(SLiTE87r5<d+xo)jkoHH7{;l_zMfCSfetz_R)b0bnPv`i9*0}wey?%CH zzY$~q`nQi_{|EnG>d!x4@*C^@legR1YNQ$hU8B4oB<FNLf5`osUu<ITDh{Sg-p^}1 zn%7@j%Dyc&Uf-m-v*yb4xHYp1&z^9}HN7Kp*4IkXTif%;-(QmLwtsE~m2F?!;2WoS zbJEc#0w&w8B>Ef?lK9qI@B04r*;(AZwGRT<*v)(vAf5U&@`KU&M_#8tY6N@zejJtT zsgQlu=Jaa06{0Ik9;Q4O$z5|TaGlDZ6UO%vR>p0WVL08V@BMHw)B6oCD}q~h7J4l* zG^w?@v%YE31c#_6e!7u5EUaAWwGEr%&d%P`)y0&Wm#dgDXV;HiqM{*xI~K79-DPm- z?p3+*UR;09EpH7Y&aK;$UamE``z`X6`AYYQtt+HIm3e)uTB6~;+bCVpwEhcg8uLxA zusP8&`DQ;iUdqj$*ReX|8q416+&kR`L#uVxpJUv6Je$#|>E28Ibu)L~UcRQ{+0-zJ zZ;YYqx30L9>*E?fDa`ND`oxr28M#M4&+XUy^|SZ?aen{x`@X$;`BuOF<(FU5>#I*R zyYu_W*M3;|_ia1BzkKbFjejFF_Wf=w|MzFFfZevTjpYW<q!$H6bqg=N@AK@;;hSbt zuK2FLw_yI>jz=5rZu408^6$<b$K)pIH@_d;Rmc(7(%UkryfJgl;*g3hQp;QJMy=Sm z>+OvDCSO}`J)ZMy&5kbhJ8n*PcT8{hduGpF!7rsPQ(w5^her7MYa6xC`&NH^`Pfuo zPwK<08`tLFXAEeR5#f>3l~VbcdeuXmZyrb1gSAU7ePh&_<Bn-;vI??GZFh}+puXoW zBfH=Bs=x|8p^G`U9+>X&?l|ljV$*kBW2U}6a|Bo9akdn;z$M2NFI$Vgi^$x#{%;_M zt#V-h^=W*sGX34e=df1%*gDhV)8hPh;iYUY<udIG-+HTG+*qb|TS86h_`Xl8<~?d$ zx@8iZqk@suuc_sKk~Vx$ZaWzsb@iIEaWJFrs)<Tr8jS|`9{qm)|Ihrn|N84c>fd?# zxcSzbjjHpQY&PkCf9PG`|E9aH;tzOXPW+#x@fLs2?*DrF+2;4m5zFNNJ!oG(f6r&* z-`W%YEcV~Q_~E>VuIA?3`TYkt&!5;?_okXD!hWsB)h4Bg>aQ2?pEc9@BfH*i;ndo< z^@&a4pBHf*?x|REiTBAr>->sJrDVS=K1|bYc7-O%M{I8Q{<?B{7UOjPg&Eh+&k3K` zS1NhD_O^vy(!G`X$C!(s+@2WMxz{h%^H|4Z*_fBcn!gX~?7aTb{(Q3Oe3qur9NXrH zF<a-}Ik-lyne%p!lZ;N=ryX)Wk)L-Rvy6Nkta9w;@u<fV4qwmnX{~>_Q1#3GsX{+3 z^;j0C&6qgb{P+rC$%xkPCqs_6>R#I6Yjk^S(aTW7!Yg~rj8ACmxoL)7D}MXL+G*XM z$D9r2Cc9m7g%myYLpR;(RQq-!JR;Red*`0*lT9{k?+z2mzQ5k<Z`3Wr^t02=*$&zk zY*6$L>0QiRm;I-u<0v=lY>m{9%A5{XJB~X&+s>R&KD)s6!kZ;>U-G(?PUQ-5zyDoi zyxSo4zmCe4Lt5A0NIaEzd3EdJe9LQ-)tb0U=Y&7m|Gj$u^Y}N5<F+=4n=}4s`#<^m zygBzOUiV&}zVFYsm#^>tczSvL|6|+z^6NkP{!aFnkG!G2T>k&l{<r7t9#=E`uol>{ z<92*4%fiA3F5j8vH_wusvyaKd)W_=Eio5IM(+!j#%o9Cde<D)3n!~b0<J;vIH_X^| zqkkvvd>N3k)#{)A#;N<4EGcCy>plI&=dF<2zr{9_b64Lr%S-M0_ux<4Y6~;_>w!MA zSASr?7bR0E5xz}Av~N>MQsQ)Vi}<R=8*5*7zEW-|ZOp8?;q{vJ<gsb0+Z!kCZlB>( zY-yZ7-=u%%V}&&jyZ2q&I7QO?U_j(57NLzXH>0*#mRwvmRpRUB2^;iX4@#yzH#e{M zJnzEvX#aEjRW1>EhJCy4A8=2&6~pttO7OIGT4SMsq?qU=rgld2={}m>2Aq5<O4?dI z?7amg<#|z81RpNx?knppzW0z@Zi8#+hi#@+>+3ijVt*`uqdKvvtnc=;Eypq!ew}&5 zI^SmPk>~&Y<Lb}K{oP;t>y`fBM=!(wzccsy|H1mc)!(!0Yo30&{(gUT)$`@==l`2+ z%UbdN@Atpe3_m0oSQWMFY(zdO|30?)Z{CR?;!|(TS#@t!eb}O3+4rvKR~=~ZeeCl- zhI`Y-P_-;8cYhv}Ppf7<nqS%2;%ed9%H9<A@W#1aSNms{-d<m5sQC59`8`Rx^DOR! zJnMMNRh?-dyZ_$lN1AIUq&9|Jlajo3`mtc)^6UNoSKSiam>lzKPFaz4fbcBYw=$vi zpL8sG=l`*moS~M!=j-tue|GzoEkA9fBbB$NxHgh)zXb1&6RYdI*H3LSIkB!TIK1}C zwyP&Etzt6S{%QIYKk<b7ZkL;sqY90)R<E@vymZbsN44?r{-BV#Ap!ZS%=c1XyjHW1 z+7J|ex+3w~jo()d3ywFJ?_;}G-O?DVe|1mN($%VYSzWQwspckPxhxAmhQDbjnx5>_ z<@zo!U|YoZN-3YZXodq@)|z}e`Bbp+>Wo#QZMh$(+X>F^UAF7Ws;<!KvAKQAc*>F- z&up5R*%NzNEM=8p^~&i9DbtwaIch#VIr;MS{Xb7H-~S!IukzQ?^?RPOzmCqgvHbgM zef{Sz+V#J~{qpzzefCoH_lg7dQV05N9u}tmVR1aSd42P$b)VjNUVrp0$=>^R-Q8I$ z|88AX)jFwedRXa-*q!S(XXmcb4U?4Ui@26^{l)d~|EivtR=($5{Iyri|InkO@w`3q z^ZBfA9p<gwo%=se`g-?H{=ReND*2ynuFahw7OkrvVUm$`w%TAqb;J}!>&H_5Mdy=V zC#Z&foTae0d1l~;O~t1sl)h@2TPp0hd1I^X=N-|rZfMQck@8YB&0EqO?y)s6{>kSm z*GCzL8DA}&u-0ty-zH|$*XmoHa!;PuEtFVUp`JDO>yHmRMfV%7&TmV6wL-b}%#xZ+ zK1S7K@BQ4DZY1f?X|7fGiQKiM@ampbv6V-Hew-_E+vaeTi}l^wUdih}Pf66B$P<4q z8TnP_hT;An>BW<ZFUwz_@qS|Lh5NrAiTlU@`y}rF?Qp}qPn}!i|Gt{;m%s1twEsa1 z+P@VZWUfwnP%rUx;n|nP&xE&6d|aRBTQd8xf%V~w+1E}?X8Lhgx6jzcimB4~-rmGb z8&~m6I&wPf+9}ojHd(3Rr#lMwh<Kj9-Q)Xa>Oq~bRN*ffGN<Gw3ZAGs(pEaHZ^06O zj*lzkFJ14-5WgLzy5f7z25tF2)$dItmsfpBVKQI-+$>bdXHH|0%+&CIx^~7^DYJdQ zPEtJXn&{ZmfAGNBienn;orf2fX1N7iI3;*-hr;oHR%(lnyZ&3#zV3~=cHy!QXWZ%{ zEzgAc%Iyh^6xCR<eU<-fS6e~<Yft?fp4fg4W{{i^EAjK3R>#^32SY1Er*vg|e!r_L z%hs#?FcGf)cl(w>){~=872A0>zjzwrtNE14v)kEvPSMZq9o}KaJ0`u~Ry*Ud(bn5V zby0;<i??Ro`nmb2`_>R2Pxl*ZYkNQb=9<m@XVd&$6#}jK<u=>T|M{D5|6sWz&-3G3 zcLuI}J<sWH;O?}W*9zmsQty1KtuoCit`8HNKXv*HnLq#QrNX~#UAv*~+^6EDKMQ;k zLjEjn_?)b4w$(In%Y#Qg+dh@NoV0(#ZJwviD*tQGsay1K|1aKt?*2E6m8UK;FfcH9 My85}Sb4q9e05$^>=Kufz literal 0 HcmV?d00001 diff --git a/fancier/index.html b/fancier/index.html new file mode 100644 index 0000000..e890489 --- /dev/null +++ b/fancier/index.html @@ -0,0 +1,181 @@ +<!DOCTYPE html> +<html> + <head> + <title>WEBSITE</title> + <link rel="stylesheet" href="style.css"> + <link rel="shortcut icon" href="../media/favicon.ico"> + <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;700;400&display=swap" rel="stylesheet"> + + + </head> + + <div id="canvas"></div> + + <script src="./lib/three.js"></script> + <script src="./lib/OrbitControls.js"></script> + <script src="./lib/dat.gui.min.js"></script> + + <script src="./main.js"></script> + + <body> + hey hey. + + <h2>document as you go!</h2> + + <div class="opener"> + <div class="title"> + HTML Basics + </div> + <a class="toc-1" href="#1">line breaks</a><br> + <a class="toc-1" href="#2">headers</a><br> + <a class="toc-1" href="#3">lists</a><br> + <a class="toc-1" href="#4">media</a><br> + <a class="toc-2" href="#4.1">images</a><br> + <a class="toc-2" href="#4.2">videos</a><br> + <a class="toc-1" href="#5">resources & tutorials</a><br> + + </div> + + <div class="main-text"> + + now you get fancy with with a css style script and <code><div></code> + tags which allow you to define blocks with sepcific styles on the html page ! + <br><br> + + + + <h2 id="1">line breaks</h2> + add a line break like + <br> + this + <br> + with <code><br></code> + + <h2 id="2">Headers</h2> + You can organize all of the information in your page with nested header + fields of varying sizes + <div class="block-container"> + <div> + <b>so that this:</b> + <br><br> + <xmp> +<h1>header 1</h1> +<h2>header 2</h2> +<h3>header 3</h3> +<h4>header 4 </h4> +<h5>header 5</h5> + </xmp> + </div> + <div> + <b>should look like this:</b> + <br><br><br><br> + <h1>header 1</h1> + <h2>header 2</h2> + <h3>header 3</h3> + <h4>header 4 </h4> + <h5>header 5</h5> + + </div> + </div> + + + <h2 id="3">Lists</h2> + you can create a numbered list (ordered list) with <code><ol> + </ol></code> or bullet points (unordered list) with <code><ul> + </ul></code> and then embed list items with <code><li> + </li></code> + + <div class="block-container"> + <div> + <b>so that this:</b> + <br><br> + <xmp> +number list +<ol> + <li>first point</li> + <li>second point</li> + <li>third point</li> +</ol> +or bullet points +<ul> + <li>bullet one</li> + <li>bullet two</li> + <li>bullet three</li> +</ul> + </xmp> + + </div> + + <div> + <b>should end up looking like this:</b> + <br><br><br><br> + number list + <ol> + <li>first point</li> + <li>second point</li> + <li>third point</li> + </ol> + or bullet points + <ul> + <li>bullet one</li> + <li>bullet two</li> + <li>bullet three</li> + </ul> + + </div> + + </div> + + <h2 id="4">media</h2> + <h3 id="4.1">images</h3> + embed images with the <code><img></code> tag + <div class="block-container"> + <div> + <xmp> +<img src="path/to/img_file.png" +alt="alternative text description" +width="500" height="600"></xmp> + </div> + + <div> + <img src="../media/sample.jpg" alt="example image" height="200"> + </div> + </div> + + + <br></br> + <br><br> + + <h3 id="4.2">videos</h3> + or videos with <code><video></code> tag + <br><br> + + <div class="block-container"> + <div> + <xmp> +<video width="320" height="240" controls> + <source src="path/to/video.mp4" type="video/mp4"> + Your browser does not support the video tag. +</video> + + </xmp> + </div> + + <div> + <video width="320" height="240" controls> + <source src="../media/sample.mp4" type="video/mp4"> + Your browser does not support the video tag. + </video> + </div> + </div> + + <h2 id="5">more resources and tutorials</h2> + <ul> + <li><a href="https://www.w3schools.com/whatis/whatis_js.asp">javascript for + the browser</a></li> + <li><a href="https://threejs.org/">three.js for 3D javascript</a></li> + </ul> + + </div> + + </body> diff --git a/fancier/lib/OrbitControls.js b/fancier/lib/OrbitControls.js new file mode 100755 index 0000000..d3d2464 --- /dev/null +++ b/fancier/lib/OrbitControls.js @@ -0,0 +1,1016 @@ +/** + * @author qiao / https://github.com/qiao + * @author mrdoob / http://mrdoob.com + * @author alteredq / http://alteredqualia.com/ + * @author WestLangley / http://github.com/WestLangley + * @author erich666 / http://erichaines.com + */ + +// This set of controls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// +// Orbit - left mouse / touch: one finger move +// Zoom - middle mouse, or mousewheel / touch: two finger spread or squish +// Pan - right mouse, or arrow keys / touch: three finger swipe + +THREE.OrbitControls = function ( object, domElement ) { + + this.object = object; + + this.domElement = ( domElement !== undefined ) ? domElement : document; + + // Set to false to disable this control + this.enabled = true; + + // "target" sets the location of focus, where the object orbits around + this.target = new THREE.Vector3(); + + // How far you can dolly in and out ( PerspectiveCamera only ) + this.minDistance = 0; + this.maxDistance = Infinity; + + // How far you can zoom in and out ( OrthographicCamera only ) + this.minZoom = 0; + this.maxZoom = Infinity; + + // How far you can orbit vertically, upper and lower limits. + // Range is 0 to Math.PI radians. + this.minPolarAngle = 0; // radians + this.maxPolarAngle = Math.PI; // radians + + // How far you can orbit horizontally, upper and lower limits. + // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ]. + this.minAzimuthAngle = - Infinity; // radians + this.maxAzimuthAngle = Infinity; // radians + + // Set to true to enable damping (inertia) + // If damping is enabled, you must call controls.update() in your animation loop + this.enableDamping = false; + this.dampingFactor = 0.25; + + // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. + // Set to false to disable zooming + this.enableZoom = true; + this.zoomSpeed = 1.0; + + // Set to false to disable rotating + this.enableRotate = true; + this.rotateSpeed = 1.0; + + // Set to false to disable panning + this.enablePan = true; + this.keyPanSpeed = 7.0; // pixels moved per arrow key push + + // Set to true to automatically rotate around the target + // If auto-rotate is enabled, you must call controls.update() in your animation loop + this.autoRotate = false; + this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60 + + // Set to false to disable use of the keys + this.enableKeys = true; + + // The four arrow keys + this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }; + + // Mouse buttons + this.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT }; + + // for reset + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + + // + // public methods + // + + this.getPolarAngle = function () { + + return spherical.phi; + + }; + + this.getAzimuthalAngle = function () { + + return spherical.theta; + + }; + + this.reset = function () { + + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); + scope.object.zoom = scope.zoom0; + + scope.object.updateProjectionMatrix(); + scope.dispatchEvent( changeEvent ); + + scope.update(); + + state = STATE.NONE; + + }; + + // this method is exposed, but perhaps it would be better if we can make it private... + this.update = function () { + + var offset = new THREE.Vector3(); + + // so camera.up is the orbit axis + var quat = new THREE.Quaternion().setFromUnitVectors( object.up, new THREE.Vector3( 0, 1, 0 ) ); + var quatInverse = quat.clone().inverse(); + + var lastPosition = new THREE.Vector3(); + var lastQuaternion = new THREE.Quaternion(); + + return function update() { + + var position = scope.object.position; + + offset.copy( position ).sub( scope.target ); + + // rotate offset to "y-axis-is-up" space + offset.applyQuaternion( quat ); + + // angle from z-axis around y-axis + spherical.setFromVector3( offset ); + + if ( scope.autoRotate && state === STATE.NONE ) { + + rotateLeft( getAutoRotationAngle() ); + + } + + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + + // restrict theta to be between desired limits + spherical.theta = Math.max( scope.minAzimuthAngle, Math.min( scope.maxAzimuthAngle, spherical.theta ) ); + + // restrict phi to be between desired limits + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); + + spherical.makeSafe(); + + + spherical.radius *= scale; + + // restrict radius to be between desired limits + spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); + + // move target to panned location + scope.target.add( panOffset ); + + offset.setFromSpherical( spherical ); + + // rotate offset back to "camera-up-vector-is-up" space + offset.applyQuaternion( quatInverse ); + + position.copy( scope.target ).add( offset ); + + scope.object.lookAt( scope.target ); + + if ( scope.enableDamping === true ) { + + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); + + } else { + + sphericalDelta.set( 0, 0, 0 ); + + } + + scale = 1; + panOffset.set( 0, 0, 0 ); + + // update condition is: + // min(camera displacement, camera rotation in radians)^2 > EPS + // using small-angle approximation cos(x/2) = 1 - x^2 / 8 + + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { + + scope.dispatchEvent( changeEvent ); + + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); + zoomChanged = false; + + return true; + + } + + return false; + + }; + + }(); + + this.dispose = function () { + + scope.domElement.removeEventListener( 'contextmenu', onContextMenu, false ); + scope.domElement.removeEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel, false ); + + scope.domElement.removeEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.removeEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.removeEventListener( 'touchmove', onTouchMove, false ); + + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); + + window.removeEventListener( 'keydown', onKeyDown, false ); + + //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? + + }; + + // + // internals + // + + var scope = this; + + var changeEvent = { type: 'change' }; + var startEvent = { type: 'start' }; + var endEvent = { type: 'end' }; + + var STATE = { NONE: - 1, ROTATE: 0, DOLLY: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_DOLLY: 4, TOUCH_PAN: 5 }; + + var state = STATE.NONE; + + var EPS = 0.000001; + + // current position in spherical coordinates + var spherical = new THREE.Spherical(); + var sphericalDelta = new THREE.Spherical(); + + var scale = 1; + var panOffset = new THREE.Vector3(); + var zoomChanged = false; + + var rotateStart = new THREE.Vector2(); + var rotateEnd = new THREE.Vector2(); + var rotateDelta = new THREE.Vector2(); + + var panStart = new THREE.Vector2(); + var panEnd = new THREE.Vector2(); + var panDelta = new THREE.Vector2(); + + var dollyStart = new THREE.Vector2(); + var dollyEnd = new THREE.Vector2(); + var dollyDelta = new THREE.Vector2(); + + function getAutoRotationAngle() { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } + + function getZoomScale() { + + return Math.pow( 0.95, scope.zoomSpeed ); + + } + + function rotateLeft( angle ) { + + sphericalDelta.theta -= angle; + + } + + function rotateUp( angle ) { + + sphericalDelta.phi -= angle; + + } + + var panLeft = function () { + + var v = new THREE.Vector3(); + + return function panLeft( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); + + panOffset.add( v ); + + }; + + }(); + + var panUp = function () { + + var v = new THREE.Vector3(); + + return function panUp( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 1 ); // get Y column of objectMatrix + v.multiplyScalar( distance ); + + panOffset.add( v ); + + }; + + }(); + + // deltaX and deltaY are in pixels; right and down are positive + var pan = function () { + + var offset = new THREE.Vector3(); + + return function pan( deltaX, deltaY ) { + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + // perspective + var position = scope.object.position; + offset.copy( position ).sub( scope.target ); + var targetDistance = offset.length(); + + // half of the fov is center to top of screen + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); + + // we actually don't use screenWidth, since perspective camera is fixed to screen height + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + // orthographic + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); + + } else { + + // camera neither orthographic nor perspective + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); + scope.enablePan = false; + + } + + }; + + }(); + + function dollyIn( dollyScale ) { + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + scale /= dollyScale; + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function dollyOut( dollyScale ) { + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + scale *= dollyScale; + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + // + // event callbacks - update the object state + // + + function handleMouseDownRotate( event ) { + + //console.log( 'handleMouseDownRotate' ); + + rotateStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownDolly( event ) { + + //console.log( 'handleMouseDownDolly' ); + + dollyStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownPan( event ) { + + //console.log( 'handleMouseDownPan' ); + + panStart.set( event.clientX, event.clientY ); + + } + + function handleMouseMoveRotate( event ) { + + //console.log( 'handleMouseMoveRotate' ); + + rotateEnd.set( event.clientX, event.clientY ); + rotateDelta.subVectors( rotateEnd, rotateStart ); + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + // rotating across whole screen goes 360 degrees around + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed ); + + // rotating up and down along whole screen attempts to go 360, but limited to 180 + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleMouseMoveDolly( event ) { + + //console.log( 'handleMouseMoveDolly' ); + + dollyEnd.set( event.clientX, event.clientY ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyIn( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyOut( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleMouseMovePan( event ) { + + //console.log( 'handleMouseMovePan' ); + + panEnd.set( event.clientX, event.clientY ); + + panDelta.subVectors( panEnd, panStart ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleMouseUp( event ) { + + // console.log( 'handleMouseUp' ); + + } + + function handleMouseWheel( event ) { + + // console.log( 'handleMouseWheel' ); + + if ( event.deltaY < 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( event.deltaY > 0 ) { + + dollyIn( getZoomScale() ); + + } + + scope.update(); + + } + + function handleKeyDown( event ) { + + //console.log( 'handleKeyDown' ); + + switch ( event.keyCode ) { + + case scope.keys.UP: + pan( 0, scope.keyPanSpeed ); + scope.update(); + break; + + case scope.keys.BOTTOM: + pan( 0, - scope.keyPanSpeed ); + scope.update(); + break; + + case scope.keys.LEFT: + pan( scope.keyPanSpeed, 0 ); + scope.update(); + break; + + case scope.keys.RIGHT: + pan( - scope.keyPanSpeed, 0 ); + scope.update(); + break; + + } + + } + + function handleTouchStartRotate( event ) { + + //console.log( 'handleTouchStartRotate' ); + + rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + } + + function handleTouchStartDolly( event ) { + + //console.log( 'handleTouchStartDolly' ); + + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + + var distance = Math.sqrt( dx * dx + dy * dy ); + + dollyStart.set( 0, distance ); + + } + + function handleTouchStartPan( event ) { + + //console.log( 'handleTouchStartPan' ); + + panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + } + + function handleTouchMoveRotate( event ) { + + //console.log( 'handleTouchMoveRotate' ); + + rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + rotateDelta.subVectors( rotateEnd, rotateStart ); + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + // rotating across whole screen goes 360 degrees around + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed ); + + // rotating up and down along whole screen attempts to go 360, but limited to 180 + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleTouchMoveDolly( event ) { + + //console.log( 'handleTouchMoveDolly' ); + + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + + var distance = Math.sqrt( dx * dx + dy * dy ); + + dollyEnd.set( 0, distance ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyIn( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleTouchMovePan( event ) { + + //console.log( 'handleTouchMovePan' ); + + panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + panDelta.subVectors( panEnd, panStart ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleTouchEnd( event ) { + + //console.log( 'handleTouchEnd' ); + + } + + // + // event handlers - FSM: listen for events and reset state + // + + function onMouseDown( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + if ( event.button === scope.mouseButtons.ORBIT ) { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } else if ( event.button === scope.mouseButtons.ZOOM ) { + + if ( scope.enableZoom === false ) return; + + handleMouseDownDolly( event ); + + state = STATE.DOLLY; + + } else if ( event.button === scope.mouseButtons.PAN ) { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } + + if ( state !== STATE.NONE ) { + + document.addEventListener( 'mousemove', onMouseMove, false ); + document.addEventListener( 'mouseup', onMouseUp, false ); + + scope.dispatchEvent( startEvent ); + + } + + } + + function onMouseMove( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + if ( state === STATE.ROTATE ) { + + if ( scope.enableRotate === false ) return; + + handleMouseMoveRotate( event ); + + } else if ( state === STATE.DOLLY ) { + + if ( scope.enableZoom === false ) return; + + handleMouseMoveDolly( event ); + + } else if ( state === STATE.PAN ) { + + if ( scope.enablePan === false ) return; + + handleMouseMovePan( event ); + + } + + } + + function onMouseUp( event ) { + + if ( scope.enabled === false ) return; + + handleMouseUp( event ); + + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); + + scope.dispatchEvent( endEvent ); + + state = STATE.NONE; + + } + + function onMouseWheel( event ) { + + if ( scope.enabled === false || scope.enableZoom === false || ( state !== STATE.NONE && state !== STATE.ROTATE ) ) return; + + event.preventDefault(); + event.stopPropagation(); + + handleMouseWheel( event ); + + scope.dispatchEvent( startEvent ); // not sure why these are here... + scope.dispatchEvent( endEvent ); + + } + + function onKeyDown( event ) { + + if ( scope.enabled === false || scope.enableKeys === false || scope.enablePan === false ) return; + + handleKeyDown( event ); + + } + + function onTouchStart( event ) { + + if ( scope.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: // one-fingered touch: rotate + + if ( scope.enableRotate === false ) return; + + handleTouchStartRotate( event ); + + state = STATE.TOUCH_ROTATE; + + break; + + case 2: // two-fingered touch: dolly + + if ( scope.enableZoom === false ) return; + + handleTouchStartDolly( event ); + + state = STATE.TOUCH_DOLLY; + + break; + + case 3: // three-fingered touch: pan + + if ( scope.enablePan === false ) return; + + handleTouchStartPan( event ); + + state = STATE.TOUCH_PAN; + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( startEvent ); + + } + + } + + function onTouchMove( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + switch ( event.touches.length ) { + + case 1: // one-fingered touch: rotate + + if ( scope.enableRotate === false ) return; + if ( state !== STATE.TOUCH_ROTATE ) return; // is this needed?... + + handleTouchMoveRotate( event ); + + break; + + case 2: // two-fingered touch: dolly + + if ( scope.enableZoom === false ) return; + if ( state !== STATE.TOUCH_DOLLY ) return; // is this needed?... + + handleTouchMoveDolly( event ); + + break; + + case 3: // three-fingered touch: pan + + if ( scope.enablePan === false ) return; + if ( state !== STATE.TOUCH_PAN ) return; // is this needed?... + + handleTouchMovePan( event ); + + break; + + default: + + state = STATE.NONE; + + } + + } + + function onTouchEnd( event ) { + + if ( scope.enabled === false ) return; + + handleTouchEnd( event ); + + scope.dispatchEvent( endEvent ); + + state = STATE.NONE; + + } + + function onContextMenu( event ) { + + event.preventDefault(); + + } + + // + + scope.domElement.addEventListener( 'contextmenu', onContextMenu, false ); + + scope.domElement.addEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, false ); + + scope.domElement.addEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.addEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.addEventListener( 'touchmove', onTouchMove, false ); + + window.addEventListener( 'keydown', onKeyDown, false ); + + // force an update at start + + this.update(); + +}; + +THREE.OrbitControls.prototype = Object.create( THREE.EventDispatcher.prototype ); +THREE.OrbitControls.prototype.constructor = THREE.OrbitControls; + +Object.defineProperties( THREE.OrbitControls.prototype, { + + center: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .center has been renamed to .target' ); + return this.target; + + } + + }, + + // backward compatibility + + noZoom: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); + return ! this.enableZoom; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); + this.enableZoom = ! value; + + } + + }, + + noRotate: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); + return ! this.enableRotate; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); + this.enableRotate = ! value; + + } + + }, + + noPan: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); + return ! this.enablePan; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); + this.enablePan = ! value; + + } + + }, + + noKeys: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); + return ! this.enableKeys; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); + this.enableKeys = ! value; + + } + + }, + + staticMoving: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); + return ! this.enableDamping; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); + this.enableDamping = ! value; + + } + + }, + + dynamicDampingFactor: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); + return this.dampingFactor; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); + this.dampingFactor = value; + + } + + } + +} ); \ No newline at end of file diff --git a/fancier/lib/dat.gui.min.js b/fancier/lib/dat.gui.min.js new file mode 100755 index 0000000..8f07c7b --- /dev/null +++ b/fancier/lib/dat.gui.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.dat=t():e.dat=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=o(i);e.exports=r["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var i=n(2),r=o(i),a=n(6),l=o(a),s=n(3),u=o(s),d=n(7),c=o(d),f=n(8),_=o(f),p=n(10),h=o(p),m=n(11),b=o(m),g=n(12),v=o(g),y=n(13),w=o(y),x=n(14),E=o(x),C=n(15),A=o(C),S=n(16),k=o(S),O=n(9),T=o(O),R=n(17),L=o(R);t["default"]={color:{Color:r["default"],math:l["default"],interpret:u["default"]},controllers:{Controller:c["default"],BooleanController:_["default"],OptionController:h["default"],StringController:b["default"],NumberController:v["default"],NumberControllerBox:w["default"],NumberControllerSlider:E["default"],FunctionController:A["default"],ColorController:k["default"]},dom:{dom:T["default"]},gui:{GUI:L["default"]},GUI:L["default"]}},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){Object.defineProperty(e,t,{get:function(){return"RGB"===this.__state.space?this.__state[t]:(h.recalculateRGB(this,t,n),this.__state[t])},set:function(e){"RGB"!==this.__state.space&&(h.recalculateRGB(this,t,n),this.__state.space="RGB"),this.__state[t]=e}})}function a(e,t){Object.defineProperty(e,t,{get:function(){return"HSV"===this.__state.space?this.__state[t]:(h.recalculateHSV(this),this.__state[t])},set:function(e){"HSV"!==this.__state.space&&(h.recalculateHSV(this),this.__state.space="HSV"),this.__state[t]=e}})}t.__esModule=!0;var l=n(3),s=o(l),u=n(6),d=o(u),c=n(4),f=o(c),_=n(5),p=o(_),h=function(){function e(){if(i(this,e),this.__state=s["default"].apply(this,arguments),this.__state===!1)throw new Error("Failed to interpret color arguments");this.__state.a=this.__state.a||1}return e.prototype.toString=function(){return(0,f["default"])(this)},e.prototype.toHexString=function(){return(0,f["default"])(this,!0)},e.prototype.toOriginal=function(){return this.__state.conversion.write(this)},e}();h.recalculateRGB=function(e,t,n){if("HEX"===e.__state.space)e.__state[t]=d["default"].component_from_hex(e.__state.hex,n);else{if("HSV"!==e.__state.space)throw new Error("Corrupted color state");p["default"].extend(e.__state,d["default"].hsv_to_rgb(e.__state.h,e.__state.s,e.__state.v))}},h.recalculateHSV=function(e){var t=d["default"].rgb_to_hsv(e.r,e.g,e.b);p["default"].extend(e.__state,{s:t.s,v:t.v}),p["default"].isNaN(t.h)?p["default"].isUndefined(e.__state.h)&&(e.__state.h=0):e.__state.h=t.h},h.COMPONENTS=["r","g","b","h","s","v","hex","a"],r(h.prototype,"r",2),r(h.prototype,"g",1),r(h.prototype,"b",0),a(h.prototype,"h"),a(h.prototype,"s"),a(h.prototype,"v"),Object.defineProperty(h.prototype,"a",{get:function(){return this.__state.a},set:function(e){this.__state.a=e}}),Object.defineProperty(h.prototype,"hex",{get:function(){return"HEX"!==!this.__state.space&&(this.__state.hex=d["default"].rgb_to_hex(this.r,this.g,this.b)),this.__state.hex},set:function(e){this.__state.space="HEX",this.__state.hex=e}}),t["default"]=h},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var i=n(4),r=o(i),a=n(5),l=o(a),s=[{litmus:l["default"].isString,conversions:{THREE_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString()+t[1].toString()+t[2].toString()+t[2].toString()+t[3].toString()+t[3].toString(),0)}},write:r["default"]},SIX_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9]{6})$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString(),0)}},write:r["default"]},CSS_RGB:{read:function(e){var t=e.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3])}},write:r["default"]},CSS_RGBA:{read:function(e){var t=e.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3]),a:parseFloat(t[4])}},write:r["default"]}}},{litmus:l["default"].isNumber,conversions:{HEX:{read:function(e){return{space:"HEX",hex:e,conversionName:"HEX"}},write:function(e){return e.hex}}}},{litmus:l["default"].isArray,conversions:{RGB_ARRAY:{read:function(e){return 3===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2]}},write:function(e){return[e.r,e.g,e.b]}},RGBA_ARRAY:{read:function(e){return 4===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2],a:e[3]}},write:function(e){return[e.r,e.g,e.b,e.a]}}}},{litmus:l["default"].isObject,conversions:{RGBA_OBJ:{read:function(e){return!!(l["default"].isNumber(e.r)&&l["default"].isNumber(e.g)&&l["default"].isNumber(e.b)&&l["default"].isNumber(e.a))&&{space:"RGB",r:e.r,g:e.g,b:e.b,a:e.a}},write:function(e){return{r:e.r,g:e.g,b:e.b,a:e.a}}},RGB_OBJ:{read:function(e){return!!(l["default"].isNumber(e.r)&&l["default"].isNumber(e.g)&&l["default"].isNumber(e.b))&&{space:"RGB",r:e.r,g:e.g,b:e.b}},write:function(e){return{r:e.r,g:e.g,b:e.b}}},HSVA_OBJ:{read:function(e){return!!(l["default"].isNumber(e.h)&&l["default"].isNumber(e.s)&&l["default"].isNumber(e.v)&&l["default"].isNumber(e.a))&&{space:"HSV",h:e.h,s:e.s,v:e.v,a:e.a}},write:function(e){return{h:e.h,s:e.s,v:e.v,a:e.a}}},HSV_OBJ:{read:function(e){return!!(l["default"].isNumber(e.h)&&l["default"].isNumber(e.s)&&l["default"].isNumber(e.v))&&{space:"HSV",h:e.h,s:e.s,v:e.v}},write:function(e){return{h:e.h,s:e.s,v:e.v}}}}}],u=void 0,d=void 0,c=function(){d=!1;var e=arguments.length>1?l["default"].toArray(arguments):arguments[0];return l["default"].each(s,function(t){if(t.litmus(e))return l["default"].each(t.conversions,function(t,n){if(u=t.read(e),d===!1&&u!==!1)return d=u,u.conversionName=n,u.conversion=t,l["default"].BREAK}),l["default"].BREAK}),d};t["default"]=c},function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n=e.__state.conversionName.toString(),o=Math.round(e.r),i=Math.round(e.g),r=Math.round(e.b),a=e.a,l=Math.round(e.h),s=e.s.toFixed(1),u=e.v.toFixed(1);if(t||"THREE_CHAR_HEX"===n||"SIX_CHAR_HEX"===n){for(var d=e.hex.toString(16);d.length<6;)d="0"+d;return"#"+d}return"CSS_RGB"===n?"rgb("+o+","+i+","+r+")":"CSS_RGBA"===n?"rgba("+o+","+i+","+r+","+a+")":"HEX"===n?"0x"+e.hex.toString(16):"RGB_ARRAY"===n?"["+o+","+i+","+r+"]":"RGBA_ARRAY"===n?"["+o+","+i+","+r+","+a+"]":"RGB_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+"}":"RGBA_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+",a:"+a+"}":"HSV_OBJ"===n?"{h:"+l+",s:"+s+",v:"+u+"}":"HSVA_OBJ"===n?"{h:"+l+",s:"+s+",v:"+u+",a:"+a+"}":"unknown format"}},function(e,t){"use strict";t.__esModule=!0;var n=Array.prototype.forEach,o=Array.prototype.slice,i={BREAK:{},extend:function(e){return this.each(o.call(arguments,1),function(t){var n=this.isObject(t)?Object.keys(t):[];n.forEach(function(n){this.isUndefined(t[n])||(e[n]=t[n])}.bind(this))},this),e},defaults:function(e){return this.each(o.call(arguments,1),function(t){var n=this.isObject(t)?Object.keys(t):[];n.forEach(function(n){this.isUndefined(e[n])&&(e[n]=t[n])}.bind(this))},this),e},compose:function(){var e=o.call(arguments);return function(){for(var t=o.call(arguments),n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},each:function(e,t,o){if(e)if(n&&e.forEach&&e.forEach===n)e.forEach(t,o);else if(e.length===e.length+0){var i=void 0,r=void 0;for(i=0,r=e.length;i<r;i++)if(i in e&&t.call(o,e[i],i)===this.BREAK)return}else for(var a in e)if(t.call(o,e[a],a)===this.BREAK)return},defer:function(e){setTimeout(e,0)},debounce:function(e,t,n){var o=void 0;return function(){function i(){o=null,n||e.apply(r,a)}var r=this,a=arguments,l=n||!o;clearTimeout(o),o=setTimeout(i,t),l&&e.apply(r,a)}},toArray:function(e){return e.toArray?e.toArray():o.call(e)},isUndefined:function(e){return void 0===e},isNull:function(e){return null===e},isNaN:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){return isNaN(e)}),isArray:Array.isArray||function(e){return e.constructor===Array},isObject:function(e){return e===Object(e)},isNumber:function(e){return e===e+0},isString:function(e){return e===e+""},isBoolean:function(e){return e===!1||e===!0},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)}};t["default"]=i},function(e,t){"use strict";t.__esModule=!0;var n=void 0,o={hsv_to_rgb:function(e,t,n){var o=Math.floor(e/60)%6,i=e/60-Math.floor(e/60),r=n*(1-t),a=n*(1-i*t),l=n*(1-(1-i)*t),s=[[n,l,r],[a,n,r],[r,n,l],[r,a,n],[l,r,n],[n,r,a]][o];return{r:255*s[0],g:255*s[1],b:255*s[2]}},rgb_to_hsv:function(e,t,n){var o=Math.min(e,t,n),i=Math.max(e,t,n),r=i-o,a=void 0,l=void 0;return 0===i?{h:NaN,s:0,v:0}:(l=r/i,a=e===i?(t-n)/r:t===i?2+(n-e)/r:4+(e-t)/r,a/=6,a<0&&(a+=1),{h:360*a,s:l,v:i/255})},rgb_to_hex:function(e,t,n){var o=this.hex_with_component(0,2,e);return o=this.hex_with_component(o,1,t),o=this.hex_with_component(o,0,n)},component_from_hex:function(e,t){return e>>8*t&255},hex_with_component:function(e,t,o){return o<<(n=8*t)|e&~(255<<n)}};t["default"]=o},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var o=function(){function e(t,o){n(this,e),this.initialValue=t[o],this.domElement=document.createElement("div"),this.object=t,this.property=o,this.__onChange=void 0,this.__onFinishChange=void 0}return e.prototype.onChange=function(e){return this.__onChange=e,this},e.prototype.onFinishChange=function(e){return this.__onFinishChange=e,this},e.prototype.setValue=function(e){return this.object[this.property]=e,this.__onChange&&this.__onChange.call(this,e),this.updateDisplay(),this},e.prototype.getValue=function(){return this.object[this.property]},e.prototype.updateDisplay=function(){return this},e.prototype.isModified=function(){return this.initialValue!==this.getValue()},e}();t["default"]=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=n(7),s=o(l),u=n(9),d=o(u),c=function(e){function t(n,o){function a(){s.setValue(!s.__prev)}i(this,t);var l=r(this,e.call(this,n,o)),s=l;return l.__prev=l.getValue(),l.__checkbox=document.createElement("input"),l.__checkbox.setAttribute("type","checkbox"),d["default"].bind(l.__checkbox,"change",a,!1),l.domElement.appendChild(l.__checkbox),l.updateDisplay(),l}return a(t,e),t.prototype.setValue=function(t){var n=e.prototype.setValue.call(this,t);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),this.__prev=this.getValue(),n},t.prototype.updateDisplay=function(){return this.getValue()===!0?(this.__checkbox.setAttribute("checked","checked"),this.__checkbox.checked=!0,this.__prev=!0):(this.__checkbox.checked=!1,this.__prev=!1),e.prototype.updateDisplay.call(this)},t}(s["default"]);t["default"]=c},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e){if("0"===e||a["default"].isUndefined(e))return 0;var t=e.match(u);return a["default"].isNull(t)?0:parseFloat(t[1])}t.__esModule=!0;var r=n(5),a=o(r),l={HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},s={};a["default"].each(l,function(e,t){a["default"].each(e,function(e){s[e]=t})});var u=/(\d+(\.\d+)?)px/,d={makeSelectable:function(e,t){void 0!==e&&void 0!==e.style&&(e.onselectstart=t?function(){return!1}:function(){},e.style.MozUserSelect=t?"auto":"none",e.style.KhtmlUserSelect=t?"auto":"none",e.unselectable=t?"on":"off")},makeFullscreen:function(e,t,n){var o=n,i=t;a["default"].isUndefined(i)&&(i=!0),a["default"].isUndefined(o)&&(o=!0),e.style.position="absolute",i&&(e.style.left=0,e.style.right=0),o&&(e.style.top=0,e.style.bottom=0)},fakeEvent:function(e,t,n,o){var i=n||{},r=s[t];if(!r)throw new Error("Event type "+t+" not supported.");var l=document.createEvent(r);switch(r){case"MouseEvents":var u=i.x||i.clientX||0,d=i.y||i.clientY||0;l.initMouseEvent(t,i.bubbles||!1,i.cancelable||!0,window,i.clickCount||1,0,0,u,d,!1,!1,!1,!1,0,null);break;case"KeyboardEvents":var c=l.initKeyboardEvent||l.initKeyEvent;a["default"].defaults(i,{cancelable:!0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,keyCode:void 0,charCode:void 0}),c(t,i.bubbles||!1,i.cancelable,window,i.ctrlKey,i.altKey,i.shiftKey,i.metaKey,i.keyCode,i.charCode);break;default:l.initEvent(t,i.bubbles||!1,i.cancelable||!0)}a["default"].defaults(l,o),e.dispatchEvent(l)},bind:function(e,t,n,o){var i=o||!1;return e.addEventListener?e.addEventListener(t,n,i):e.attachEvent&&e.attachEvent("on"+t,n),d},unbind:function(e,t,n,o){var i=o||!1;return e.removeEventListener?e.removeEventListener(t,n,i):e.detachEvent&&e.detachEvent("on"+t,n),d},addClass:function(e,t){if(void 0===e.className)e.className=t;else if(e.className!==t){var n=e.className.split(/ +/);n.indexOf(t)===-1&&(n.push(t),e.className=n.join(" ").replace(/^\s+/,"").replace(/\s+$/,""))}return d},removeClass:function(e,t){if(t)if(e.className===t)e.removeAttribute("class");else{var n=e.className.split(/ +/),o=n.indexOf(t);o!==-1&&(n.splice(o,1),e.className=n.join(" "))}else e.className=void 0;return d},hasClass:function(e,t){return new RegExp("(?:^|\\s+)"+t+"(?:\\s+|$)").test(e.className)||!1},getWidth:function(e){var t=getComputedStyle(e);return i(t["border-left-width"])+i(t["border-right-width"])+i(t["padding-left"])+i(t["padding-right"])+i(t.width)},getHeight:function(e){var t=getComputedStyle(e);return i(t["border-top-width"])+i(t["border-bottom-width"])+i(t["padding-top"])+i(t["padding-bottom"])+i(t.height)},getOffset:function(e){var t=e,n={left:0,top:0};if(t.offsetParent)do n.left+=t.offsetLeft,n.top+=t.offsetTop,t=t.offsetParent;while(t);return n},isActive:function(e){return e===document.activeElement&&(e.type||e.href)}};t["default"]=d},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=n(7),s=o(l),u=n(9),d=o(u),c=n(5),f=o(c),_=function(e){function t(n,o,a){i(this,t);var l=r(this,e.call(this,n,o)),s=a,u=l;return l.__select=document.createElement("select"),f["default"].isArray(s)&&!function(){var e={};f["default"].each(s,function(t){e[t]=t}),s=e}(),f["default"].each(s,function(e,t){var n=document.createElement("option");n.innerHTML=t,n.setAttribute("value",e),u.__select.appendChild(n)}),l.updateDisplay(),d["default"].bind(l.__select,"change",function(){var e=this.options[this.selectedIndex].value;u.setValue(e)}),l.domElement.appendChild(l.__select),l}return a(t,e),t.prototype.setValue=function(t){var n=e.prototype.setValue.call(this,t);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),n},t.prototype.updateDisplay=function(){return d["default"].isActive(this.__select)?this:(this.__select.value=this.getValue(),e.prototype.updateDisplay.call(this))},t}(s["default"]);t["default"]=_},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=n(7),s=o(l),u=n(9),d=o(u),c=function(e){function t(n,o){function a(){u.setValue(u.__input.value)}function l(){u.__onFinishChange&&u.__onFinishChange.call(u,u.getValue())}i(this,t);var s=r(this,e.call(this,n,o)),u=s;return s.__input=document.createElement("input"),s.__input.setAttribute("type","text"),d["default"].bind(s.__input,"keyup",a),d["default"].bind(s.__input,"change",a),d["default"].bind(s.__input,"blur",l),d["default"].bind(s.__input,"keydown",function(e){13===e.keyCode&&this.blur()}),s.updateDisplay(),s.domElement.appendChild(s.__input),s}return a(t,e),t.prototype.updateDisplay=function(){return d["default"].isActive(this.__input)||(this.__input.value=this.getValue()),e.prototype.updateDisplay.call(this)},t}(s["default"]);t["default"]=c},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){var t=e.toString();return t.indexOf(".")>-1?t.length-t.indexOf(".")-1:0}t.__esModule=!0;var s=n(7),u=o(s),d=n(5),c=o(d),f=function(e){function t(n,o,a){i(this,t);var s=r(this,e.call(this,n,o)),u=a||{};return s.__min=u.min,s.__max=u.max,s.__step=u.step,c["default"].isUndefined(s.__step)?0===s.initialValue?s.__impliedStep=1:s.__impliedStep=Math.pow(10,Math.floor(Math.log(Math.abs(s.initialValue))/Math.LN10))/10:s.__impliedStep=s.__step,s.__precision=l(s.__impliedStep),s}return a(t,e),t.prototype.setValue=function(t){var n=t;return void 0!==this.__min&&n<this.__min?n=this.__min:void 0!==this.__max&&n>this.__max&&(n=this.__max),void 0!==this.__step&&n%this.__step!==0&&(n=Math.round(n/this.__step)*this.__step),e.prototype.setValue.call(this,n)},t.prototype.min=function(e){return this.__min=e,this},t.prototype.max=function(e){return this.__max=e,this},t.prototype.step=function(e){return this.__step=e,this.__impliedStep=e,this.__precision=l(e),this},t}(u["default"]);t["default"]=f},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}t.__esModule=!0;var s=n(12),u=o(s),d=n(9),c=o(d),f=n(5),_=o(f),p=function(e){function t(n,o,a){function l(){var e=parseFloat(m.__input.value);_["default"].isNaN(e)||m.setValue(e)}function s(){m.__onFinishChange&&m.__onFinishChange.call(m,m.getValue())}function u(){s()}function d(e){var t=b-e.clientY;m.setValue(m.getValue()+t*m.__impliedStep),b=e.clientY}function f(){c["default"].unbind(window,"mousemove",d),c["default"].unbind(window,"mouseup",f),s()}function p(e){c["default"].bind(window,"mousemove",d),c["default"].bind(window,"mouseup",f),b=e.clientY}i(this,t);var h=r(this,e.call(this,n,o,a));h.__truncationSuspended=!1;var m=h,b=void 0;return h.__input=document.createElement("input"),h.__input.setAttribute("type","text"),c["default"].bind(h.__input,"change",l),c["default"].bind(h.__input,"blur",u),c["default"].bind(h.__input,"mousedown",p),c["default"].bind(h.__input,"keydown",function(e){13===e.keyCode&&(m.__truncationSuspended=!0,this.blur(),m.__truncationSuspended=!1,s())}),h.updateDisplay(),h.domElement.appendChild(h.__input),h}return a(t,e),t.prototype.updateDisplay=function(){return this.__input.value=this.__truncationSuspended?this.getValue():l(this.getValue(),this.__precision),e.prototype.updateDisplay.call(this)},t}(u["default"]);t["default"]=p},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t,n,o,i){return o+(i-o)*((e-t)/(n-t))}t.__esModule=!0;var s=n(12),u=o(s),d=n(9),c=o(d),f=function(e){function t(n,o,a,s,u){function d(e){document.activeElement.blur(),c["default"].bind(window,"mousemove",f),c["default"].bind(window,"mouseup",_),f(e)}function f(e){e.preventDefault();var t=h.__background.getBoundingClientRect();return h.setValue(l(e.clientX,t.left,t.right,h.__min,h.__max)),!1}function _(){c["default"].unbind(window,"mousemove",f),c["default"].unbind(window,"mouseup",_),h.__onFinishChange&&h.__onFinishChange.call(h,h.getValue())}i(this,t);var p=r(this,e.call(this,n,o,{min:a,max:s,step:u})),h=p;return p.__background=document.createElement("div"),p.__foreground=document.createElement("div"),c["default"].bind(p.__background,"mousedown",d),c["default"].addClass(p.__background,"slider"),c["default"].addClass(p.__foreground,"slider-fg"),p.updateDisplay(),p.__background.appendChild(p.__foreground),p.domElement.appendChild(p.__background),p}return a(t,e),t.prototype.updateDisplay=function(){var t=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*t+"%",e.prototype.updateDisplay.call(this)},t}(u["default"]);t["default"]=f},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=n(7),s=o(l),u=n(9),d=o(u),c=function(e){function t(n,o,a){i(this,t);var l=r(this,e.call(this,n,o)),s=l;return l.__button=document.createElement("div"),l.__button.innerHTML=void 0===a?"Fire":a,d["default"].bind(l.__button,"click",function(e){return e.preventDefault(),s.fire(),!1}),d["default"].addClass(l.__button,"button"),l.domElement.appendChild(l.__button),l}return a(t,e),t.prototype.fire=function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())},t}(s["default"]);t["default"]=c},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t,n,o){e.style.background="",g["default"].each(y,function(i){e.style.cssText+="background: "+i+"linear-gradient("+t+", "+n+" 0%, "+o+" 100%); "})}function s(e){e.style.background="",e.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",e.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"}t.__esModule=!0;var u=n(7),d=o(u),c=n(9),f=o(c),_=n(2),p=o(_),h=n(3),m=o(h),b=n(5),g=o(b),v=function(e){function t(n,o){function a(e){h(e),f["default"].bind(window,"mousemove",h),f["default"].bind(window,"mouseup",u)}function u(){f["default"].unbind(window,"mousemove",h),f["default"].unbind(window,"mouseup",u),_()}function d(){var e=(0,m["default"])(this.value);e!==!1?(y.__color.__state=e,y.setValue(y.__color.toOriginal())):this.value=y.__color.toString()}function c(){f["default"].unbind(window,"mousemove",b),f["default"].unbind(window,"mouseup",c),_()}function _(){y.__onFinishChange&&y.__onFinishChange.call(y,y.__color.toOriginal())}function h(e){e.preventDefault();var t=y.__saturation_field.getBoundingClientRect(),n=(e.clientX-t.left)/(t.right-t.left),o=1-(e.clientY-t.top)/(t.bottom-t.top);return o>1?o=1:o<0&&(o=0),n>1?n=1:n<0&&(n=0),y.__color.v=o,y.__color.s=n,y.setValue(y.__color.toOriginal()),!1}function b(e){e.preventDefault();var t=y.__hue_field.getBoundingClientRect(),n=1-(e.clientY-t.top)/(t.bottom-t.top);return n>1?n=1:n<0&&(n=0),y.__color.h=360*n,y.setValue(y.__color.toOriginal()),!1}i(this,t);var v=r(this,e.call(this,n,o));v.__color=new p["default"](v.getValue()),v.__temp=new p["default"](0);var y=v;v.domElement=document.createElement("div"),f["default"].makeSelectable(v.domElement,!1),v.__selector=document.createElement("div"),v.__selector.className="selector",v.__saturation_field=document.createElement("div"),v.__saturation_field.className="saturation-field",v.__field_knob=document.createElement("div"),v.__field_knob.className="field-knob",v.__field_knob_border="2px solid ",v.__hue_knob=document.createElement("div"),v.__hue_knob.className="hue-knob",v.__hue_field=document.createElement("div"),v.__hue_field.className="hue-field",v.__input=document.createElement("input"),v.__input.type="text",v.__input_textShadow="0 1px 1px ",f["default"].bind(v.__input,"keydown",function(e){13===e.keyCode&&d.call(this)}),f["default"].bind(v.__input,"blur",d),f["default"].bind(v.__selector,"mousedown",function(){f["default"].addClass(this,"drag").bind(window,"mouseup",function(){f["default"].removeClass(y.__selector,"drag")})});var w=document.createElement("div");return g["default"].extend(v.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),g["default"].extend(v.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:v.__field_knob_border+(v.__color.v<.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),g["default"].extend(v.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),g["default"].extend(v.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),g["default"].extend(w.style,{width:"100%",height:"100%",background:"none"}),l(w,"top","rgba(0,0,0,0)","#000"),g["default"].extend(v.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),s(v.__hue_field),g["default"].extend(v.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:v.__input_textShadow+"rgba(0,0,0,0.7)"}),f["default"].bind(v.__saturation_field,"mousedown",a),f["default"].bind(v.__field_knob,"mousedown",a),f["default"].bind(v.__hue_field,"mousedown",function(e){b(e),f["default"].bind(window,"mousemove",b),f["default"].bind(window,"mouseup",c)}),v.__saturation_field.appendChild(w),v.__selector.appendChild(v.__field_knob),v.__selector.appendChild(v.__saturation_field),v.__selector.appendChild(v.__hue_field),v.__hue_field.appendChild(v.__hue_knob),v.domElement.appendChild(v.__input),v.domElement.appendChild(v.__selector),v.updateDisplay(),v}return a(t,e),t.prototype.updateDisplay=function(){var e=(0,m["default"])(this.getValue());if(e!==!1){var t=!1;g["default"].each(p["default"].COMPONENTS,function(n){if(!g["default"].isUndefined(e[n])&&!g["default"].isUndefined(this.__color.__state[n])&&e[n]!==this.__color.__state[n])return t=!0,{}},this),t&&g["default"].extend(this.__color.__state,e)}g["default"].extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var n=this.__color.v<.5||this.__color.s>.5?255:0,o=255-n;g["default"].extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toHexString(),border:this.__field_knob_border+"rgb("+n+","+n+","+n+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,l(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),g["default"].extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+n+","+n+","+n+")",textShadow:this.__input_textShadow+"rgba("+o+","+o+","+o+",.7)"})},t}(d["default"]),y=["-moz-","-o-","-webkit-","-ms-",""];t["default"]=v},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t,n){var o=document.createElement("li");return t&&o.appendChild(t),n?e.__ul.insertBefore(o,n):e.__ul.appendChild(o),e.onResize(),o}function r(e,t){var n=e.__preset_select[e.__preset_select.selectedIndex];t?n.innerHTML=n.value+"*":n.innerHTML=n.value}function a(e,t,n){if(n.__li=t,n.__gui=e,U["default"].extend(n,{options:function(t){if(arguments.length>1){var o=n.__li.nextElementSibling;return n.remove(),s(e,n.object,n.property,{before:o,factoryArgs:[U["default"].toArray(arguments)]})}if(U["default"].isArray(t)||U["default"].isObject(t)){var i=n.__li.nextElementSibling;return n.remove(),s(e,n.object,n.property,{before:i,factoryArgs:[t]})}},name:function(e){return n.__li.firstElementChild.firstElementChild.innerHTML=e, +n},listen:function(){return n.__gui.listen(n),n},remove:function(){return n.__gui.remove(n),n}}),n instanceof M["default"])!function(){var e=new B["default"](n.object,n.property,{min:n.__min,max:n.__max,step:n.__step});U["default"].each(["updateDisplay","onChange","onFinishChange","step"],function(t){var o=n[t],i=e[t];n[t]=e[t]=function(){var t=Array.prototype.slice.call(arguments);return i.apply(e,t),o.apply(n,t)}}),z["default"].addClass(t,"has-slider"),n.domElement.insertBefore(e.domElement,n.domElement.firstElementChild)}();else if(n instanceof B["default"]){var o=function(t){if(U["default"].isNumber(n.__min)&&U["default"].isNumber(n.__max)){var o=n.__li.firstElementChild.firstElementChild.innerHTML,i=n.__gui.__listening.indexOf(n)>-1;n.remove();var r=s(e,n.object,n.property,{before:n.__li.nextElementSibling,factoryArgs:[n.__min,n.__max,n.__step]});return r.name(o),i&&r.listen(),r}return t};n.min=U["default"].compose(o,n.min),n.max=U["default"].compose(o,n.max)}else n instanceof O["default"]?(z["default"].bind(t,"click",function(){z["default"].fakeEvent(n.__checkbox,"click")}),z["default"].bind(n.__checkbox,"click",function(e){e.stopPropagation()})):n instanceof R["default"]?(z["default"].bind(t,"click",function(){z["default"].fakeEvent(n.__button,"click")}),z["default"].bind(t,"mouseover",function(){z["default"].addClass(n.__button,"hover")}),z["default"].bind(t,"mouseout",function(){z["default"].removeClass(n.__button,"hover")})):n instanceof j["default"]&&(z["default"].addClass(t,"color"),n.updateDisplay=U["default"].compose(function(e){return t.style.borderLeftColor=n.__color.toString(),e},n.updateDisplay),n.updateDisplay());n.setValue=U["default"].compose(function(t){return e.getRoot().__preset_select&&n.isModified()&&r(e.getRoot(),!0),t},n.setValue)}function l(e,t){var n=e.getRoot(),o=n.__rememberedObjects.indexOf(t.object);if(o!==-1){var i=n.__rememberedObjectIndecesToControllers[o];if(void 0===i&&(i={},n.__rememberedObjectIndecesToControllers[o]=i),i[t.property]=t,n.load&&n.load.remembered){var r=n.load.remembered,a=void 0;if(r[e.preset])a=r[e.preset];else{if(!r[Q])return;a=r[Q]}if(a[o]&&void 0!==a[o][t.property]){var l=a[o][t.property];t.initialValue=l,t.setValue(l)}}}}function s(e,t,n,o){if(void 0===t[n])throw new Error('Object "'+t+'" has no property "'+n+'"');var r=void 0;if(o.color)r=new j["default"](t,n);else{var s=[t,n].concat(o.factoryArgs);r=C["default"].apply(e,s)}o.before instanceof S["default"]&&(o.before=o.before.__li),l(e,r),z["default"].addClass(r.domElement,"c");var u=document.createElement("span");z["default"].addClass(u,"property-name"),u.innerHTML=r.property;var d=document.createElement("div");d.appendChild(u),d.appendChild(r.domElement);var c=i(e,d,o.before);return z["default"].addClass(c,oe.CLASS_CONTROLLER_ROW),r instanceof j["default"]?z["default"].addClass(c,"color"):z["default"].addClass(c,g(r.getValue())),a(e,c,r),e.__controllers.push(r),r}function u(e,t){return document.location.href+"."+t}function d(e,t,n){var o=document.createElement("option");o.innerHTML=t,o.value=t,e.__preset_select.appendChild(o),n&&(e.__preset_select.selectedIndex=e.__preset_select.length-1)}function c(e,t){t.style.display=e.useLocalStorage?"block":"none"}function f(e){var t=e.__save_row=document.createElement("li");z["default"].addClass(e.domElement,"has-save"),e.__ul.insertBefore(t,e.__ul.firstChild),z["default"].addClass(t,"save-row");var n=document.createElement("span");n.innerHTML=" ",z["default"].addClass(n,"button gears");var o=document.createElement("span");o.innerHTML="Save",z["default"].addClass(o,"button"),z["default"].addClass(o,"save");var i=document.createElement("span");i.innerHTML="New",z["default"].addClass(i,"button"),z["default"].addClass(i,"save-as");var r=document.createElement("span");r.innerHTML="Revert",z["default"].addClass(r,"button"),z["default"].addClass(r,"revert");var a=e.__preset_select=document.createElement("select");e.load&&e.load.remembered?U["default"].each(e.load.remembered,function(t,n){d(e,n,n===e.preset)}):d(e,Q,!1),z["default"].bind(a,"change",function(){for(var t=0;t<e.__preset_select.length;t++)e.__preset_select[t].innerHTML=e.__preset_select[t].value;e.preset=this.value}),t.appendChild(a),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),q&&!function(){var t=document.getElementById("dg-local-explain"),n=document.getElementById("dg-local-storage"),o=document.getElementById("dg-save-locally");o.style.display="block","true"===localStorage.getItem(u(e,"isLocal"))&&n.setAttribute("checked","checked"),c(e,t),z["default"].bind(n,"change",function(){e.useLocalStorage=!e.useLocalStorage,c(e,t)})}();var l=document.getElementById("dg-new-constructor");z["default"].bind(l,"keydown",function(e){!e.metaKey||67!==e.which&&67!==e.keyCode||Z.hide()}),z["default"].bind(n,"click",function(){l.innerHTML=JSON.stringify(e.getSaveObject(),void 0,2),Z.show(),l.focus(),l.select()}),z["default"].bind(o,"click",function(){e.save()}),z["default"].bind(i,"click",function(){var t=prompt("Enter a new preset name.");t&&e.saveAs(t)}),z["default"].bind(r,"click",function(){e.revert()})}function _(e){function t(t){return t.preventDefault(),e.width+=i-t.clientX,e.onResize(),i=t.clientX,!1}function n(){z["default"].removeClass(e.__closeButton,oe.CLASS_DRAG),z["default"].unbind(window,"mousemove",t),z["default"].unbind(window,"mouseup",n)}function o(o){return o.preventDefault(),i=o.clientX,z["default"].addClass(e.__closeButton,oe.CLASS_DRAG),z["default"].bind(window,"mousemove",t),z["default"].bind(window,"mouseup",n),!1}var i=void 0;e.__resize_handle=document.createElement("div"),U["default"].extend(e.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"}),z["default"].bind(e.__resize_handle,"mousedown",o),z["default"].bind(e.__closeButton,"mousedown",o),e.domElement.insertBefore(e.__resize_handle,e.domElement.firstElementChild)}function p(e,t){e.domElement.style.width=t+"px",e.__save_row&&e.autoPlace&&(e.__save_row.style.width=t+"px"),e.__closeButton&&(e.__closeButton.style.width=t+"px")}function h(e,t){var n={};return U["default"].each(e.__rememberedObjects,function(o,i){var r={},a=e.__rememberedObjectIndecesToControllers[i];U["default"].each(a,function(e,n){r[n]=t?e.initialValue:e.getValue()}),n[i]=r}),n}function m(e){for(var t=0;t<e.__preset_select.length;t++)e.__preset_select[t].value===e.preset&&(e.__preset_select.selectedIndex=t)}function b(e){0!==e.length&&D["default"].call(window,function(){b(e)}),U["default"].each(e,function(e){e.updateDisplay()})}var g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},v=n(18),y=o(v),w=n(19),x=o(w),E=n(20),C=o(E),A=n(7),S=o(A),k=n(8),O=o(k),T=n(15),R=o(T),L=n(13),B=o(L),N=n(14),M=o(N),H=n(16),j=o(H),P=n(21),D=o(P),V=n(22),F=o(V),I=n(9),z=o(I),G=n(5),U=o(G),X=n(23),K=o(X);y["default"].inject(K["default"]);var Y="dg",J=72,W=20,Q="Default",q=function(){try{return"localStorage"in window&&null!==window.localStorage}catch(e){return!1}}(),Z=void 0,$=!0,ee=void 0,te=!1,ne=[],oe=function ie(e){function t(){var e=n.getRoot();e.width+=1,U["default"].defer(function(){e.width-=1})}var n=this,o=e||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),z["default"].addClass(this.domElement,Y),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],o=U["default"].defaults(o,{closeOnTop:!1,autoPlace:!0,width:ie.DEFAULT_WIDTH}),o=U["default"].defaults(o,{resizable:o.autoPlace,hideable:o.autoPlace}),U["default"].isUndefined(o.load)?o.load={preset:Q}:o.preset&&(o.load.preset=o.preset),U["default"].isUndefined(o.parent)&&o.hideable&&ne.push(this),o.resizable=U["default"].isUndefined(o.parent)&&o.resizable,o.autoPlace&&U["default"].isUndefined(o.scrollable)&&(o.scrollable=!0);var r=q&&"true"===localStorage.getItem(u(this,"isLocal")),a=void 0;if(Object.defineProperties(this,{parent:{get:function(){return o.parent}},scrollable:{get:function(){return o.scrollable}},autoPlace:{get:function(){return o.autoPlace}},closeOnTop:{get:function(){return o.closeOnTop}},preset:{get:function(){return n.parent?n.getRoot().preset:o.load.preset},set:function(e){n.parent?n.getRoot().preset=e:o.load.preset=e,m(this),n.revert()}},width:{get:function(){return o.width},set:function(e){o.width=e,p(n,e)}},name:{get:function(){return o.name},set:function(e){o.name=e,titleRowName&&(titleRowName.innerHTML=o.name)}},closed:{get:function(){return o.closed},set:function(e){o.closed=e,o.closed?z["default"].addClass(n.__ul,ie.CLASS_CLOSED):z["default"].removeClass(n.__ul,ie.CLASS_CLOSED),this.onResize(),n.__closeButton&&(n.__closeButton.innerHTML=e?ie.TEXT_OPEN:ie.TEXT_CLOSED)}},load:{get:function(){return o.load}},useLocalStorage:{get:function(){return r},set:function(e){q&&(r=e,e?z["default"].bind(window,"unload",a):z["default"].unbind(window,"unload",a),localStorage.setItem(u(n,"isLocal"),e))}}}),U["default"].isUndefined(o.parent)){if(o.closed=!1,z["default"].addClass(this.domElement,ie.CLASS_MAIN),z["default"].makeSelectable(this.domElement,!1),q&&r){n.useLocalStorage=!0;var l=localStorage.getItem(u(this,"gui"));l&&(o.load=JSON.parse(l))}this.__closeButton=document.createElement("div"),this.__closeButton.innerHTML=ie.TEXT_CLOSED,z["default"].addClass(this.__closeButton,ie.CLASS_CLOSE_BUTTON),o.closeOnTop?(z["default"].addClass(this.__closeButton,ie.CLASS_CLOSE_TOP),this.domElement.insertBefore(this.__closeButton,this.domElement.childNodes[0])):(z["default"].addClass(this.__closeButton,ie.CLASS_CLOSE_BOTTOM),this.domElement.appendChild(this.__closeButton)),z["default"].bind(this.__closeButton,"click",function(){n.closed=!n.closed})}else{void 0===o.closed&&(o.closed=!0);var s=document.createTextNode(o.name);z["default"].addClass(s,"controller-name");var d=i(n,s),c=function(e){return e.preventDefault(),n.closed=!n.closed,!1};z["default"].addClass(this.__ul,ie.CLASS_CLOSED),z["default"].addClass(d,"title"),z["default"].bind(d,"click",c),o.closed||(this.closed=!1)}o.autoPlace&&(U["default"].isUndefined(o.parent)&&($&&(ee=document.createElement("div"),z["default"].addClass(ee,Y),z["default"].addClass(ee,ie.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(ee),$=!1),ee.appendChild(this.domElement),z["default"].addClass(this.domElement,ie.CLASS_AUTO_PLACE)),this.parent||p(n,o.width)),this.__resizeHandler=function(){n.onResizeDebounced()},z["default"].bind(window,"resize",this.__resizeHandler),z["default"].bind(this.__ul,"webkitTransitionEnd",this.__resizeHandler),z["default"].bind(this.__ul,"transitionend",this.__resizeHandler),z["default"].bind(this.__ul,"oTransitionEnd",this.__resizeHandler),this.onResize(),o.resizable&&_(this),a=function(){q&&"true"===localStorage.getItem(u(n,"isLocal"))&&localStorage.setItem(u(n,"gui"),JSON.stringify(n.getSaveObject()))},this.saveToLocalStorageIfPossible=a,o.parent||t()};oe.toggleHide=function(){te=!te,U["default"].each(ne,function(e){e.domElement.style.display=te?"none":""})},oe.CLASS_AUTO_PLACE="a",oe.CLASS_AUTO_PLACE_CONTAINER="ac",oe.CLASS_MAIN="main",oe.CLASS_CONTROLLER_ROW="cr",oe.CLASS_TOO_TALL="taller-than-window",oe.CLASS_CLOSED="closed",oe.CLASS_CLOSE_BUTTON="close-button",oe.CLASS_CLOSE_TOP="close-top",oe.CLASS_CLOSE_BOTTOM="close-bottom",oe.CLASS_DRAG="drag",oe.DEFAULT_WIDTH=245,oe.TEXT_CLOSED="Close Controls",oe.TEXT_OPEN="Open Controls",oe._keydownHandler=function(e){"text"===document.activeElement.type||e.which!==J&&e.keyCode!==J||oe.toggleHide()},z["default"].bind(window,"keydown",oe._keydownHandler,!1),U["default"].extend(oe.prototype,{add:function(e,t){return s(this,e,t,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(e,t){return s(this,e,t,{color:!0})},remove:function(e){this.__ul.removeChild(e.__li),this.__controllers.splice(this.__controllers.indexOf(e),1);var t=this;U["default"].defer(function(){t.onResize()})},destroy:function(){this.autoPlace&&ee.removeChild(this.domElement),z["default"].unbind(window,"keydown",oe._keydownHandler,!1),z["default"].unbind(window,"resize",this.__resizeHandler),this.saveToLocalStorageIfPossible&&z["default"].unbind(window,"unload",this.saveToLocalStorageIfPossible)},addFolder:function(e){if(void 0!==this.__folders[e])throw new Error('You already have a folder in this GUI by the name "'+e+'"');var t={name:e,parent:this};t.autoPlace=this.autoPlace,this.load&&this.load.folders&&this.load.folders[e]&&(t.closed=this.load.folders[e].closed,t.load=this.load.folders[e]);var n=new oe(t);this.__folders[e]=n;var o=i(this,n.domElement);return z["default"].addClass(o,"folder"),n},open:function(){this.closed=!1},close:function(){this.closed=!0},onResize:function(){var e=this.getRoot();if(e.scrollable){var t=z["default"].getOffset(e.__ul).top,n=0;U["default"].each(e.__ul.childNodes,function(t){e.autoPlace&&t===e.__save_row||(n+=z["default"].getHeight(t))}),window.innerHeight-t-W<n?(z["default"].addClass(e.domElement,oe.CLASS_TOO_TALL),e.__ul.style.height=window.innerHeight-t-W+"px"):(z["default"].removeClass(e.domElement,oe.CLASS_TOO_TALL),e.__ul.style.height="auto")}e.__resize_handle&&U["default"].defer(function(){e.__resize_handle.style.height=e.__ul.offsetHeight+"px"}),e.__closeButton&&(e.__closeButton.style.width=e.width+"px")},onResizeDebounced:U["default"].debounce(function(){this.onResize()},50),remember:function(){if(U["default"].isUndefined(Z)&&(Z=new F["default"],Z.domElement.innerHTML=x["default"]),this.parent)throw new Error("You can only call remember on a top level GUI.");var e=this;U["default"].each(Array.prototype.slice.call(arguments),function(t){0===e.__rememberedObjects.length&&f(e),e.__rememberedObjects.indexOf(t)===-1&&e.__rememberedObjects.push(t)}),this.autoPlace&&p(this,this.width)},getRoot:function(){for(var e=this;e.parent;)e=e.parent;return e},getSaveObject:function(){var e=this.load;return e.closed=this.closed,this.__rememberedObjects.length>0&&(e.preset=this.preset,e.remembered||(e.remembered={}),e.remembered[this.preset]=h(this)),e.folders={},U["default"].each(this.__folders,function(t,n){e.folders[n]=t.getSaveObject()}),e},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=h(this),r(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(e){this.load.remembered||(this.load.remembered={},this.load.remembered[Q]=h(this,!0)),this.load.remembered[e]=h(this),this.preset=e,d(this,e,!0),this.saveToLocalStorageIfPossible()},revert:function(e){U["default"].each(this.__controllers,function(t){this.getRoot().load.remembered?l(e||this.getRoot(),t):t.setValue(t.initialValue),t.__onFinishChange&&t.__onFinishChange.call(t,t.getValue())},this),U["default"].each(this.__folders,function(e){e.revert(e)}),e||r(this.getRoot(),!1)},listen:function(e){var t=0===this.__listening.length;this.__listening.push(e),t&&b(this.__listening)},updateDisplay:function(){U["default"].each(this.__controllers,function(e){e.updateDisplay()}),U["default"].each(this.__folders,function(e){e.updateDisplay()})}}),e.exports=oe},function(e,t){"use strict";e.exports={load:function(e,t){var n=t||document,o=n.createElement("link");o.type="text/css",o.rel="stylesheet",o.href=e,n.getElementsByTagName("head")[0].appendChild(o)},inject:function(e,t){var n=t||document,o=document.createElement("style");o.type="text/css",o.innerHTML=e;var i=n.getElementsByTagName("head")[0];try{i.appendChild(o)}catch(r){}}}},function(e,t){e.exports="<div id=dg-save class=\"dg dialogue\"> Here's the new load parameter for your <code>GUI</code>'s constructor: <textarea id=dg-new-constructor></textarea> <div id=dg-save-locally> <input id=dg-local-storage type=checkbox /> Automatically save values to <code>localStorage</code> on exit. <div id=dg-local-explain>The values saved to <code>localStorage</code> will override those passed to <code>dat.GUI</code>'s constructor. This makes it easier to work incrementally, but <code>localStorage</code> is fragile, and your friends may not see the same values you do. </div> </div> </div>"},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var i=n(10),r=o(i),a=n(13),l=o(a),s=n(14),u=o(s),d=n(11),c=o(d),f=n(15),_=o(f),p=n(8),h=o(p),m=n(5),b=o(m),g=function(e,t){var n=e[t];return b["default"].isArray(arguments[2])||b["default"].isObject(arguments[2])?new r["default"](e,t,arguments[2]):b["default"].isNumber(n)?b["default"].isNumber(arguments[2])&&b["default"].isNumber(arguments[3])?b["default"].isNumber(arguments[4])?new u["default"](e,t,arguments[2],arguments[3],arguments[4]):new u["default"](e,t,arguments[2],arguments[3]):b["default"].isNumber(arguments[4])?new l["default"](e,t,{min:arguments[2],max:arguments[3],step:arguments[4]}):new l["default"](e,t,{min:arguments[2],max:arguments[3]}):b["default"].isString(n)?new c["default"](e,t):b["default"].isFunction(n)?new _["default"](e,t,""):b["default"].isBoolean(n)?new h["default"](e,t):null};t["default"]=g},function(e,t){"use strict";function n(e){setTimeout(e,1e3/60)}t.__esModule=!0,t["default"]=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||n},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var r=n(9),a=o(r),l=n(5),s=o(l),u=function(){function e(){i(this,e),this.backgroundElement=document.createElement("div"),s["default"].extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"}),a["default"].makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),s["default"].extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"}),document.body.appendChild(this.backgroundElement),document.body.appendChild(this.domElement);var t=this;a["default"].bind(this.backgroundElement,"click",function(){t.hide()})}return e.prototype.show=function(){var e=this;this.backgroundElement.style.display="block",this.domElement.style.display="block",this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)",this.layout(),s["default"].defer(function(){e.backgroundElement.style.opacity=1,e.domElement.style.opacity=1,e.domElement.style.webkitTransform="scale(1)"})},e.prototype.hide=function t(){var e=this,t=function n(){e.domElement.style.display="none",e.backgroundElement.style.display="none",a["default"].unbind(e.domElement,"webkitTransitionEnd",n),a["default"].unbind(e.domElement,"transitionend",n),a["default"].unbind(e.domElement,"oTransitionEnd",n)};a["default"].bind(this.domElement,"webkitTransitionEnd",t),a["default"].bind(this.domElement,"transitionend",t),a["default"].bind(this.domElement,"oTransitionEnd",t),this.backgroundElement.style.opacity=0,this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)"},e.prototype.layout=function(){this.domElement.style.left=window.innerWidth/2-a["default"].getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-a["default"].getHeight(this.domElement)/2+"px"},e}();t["default"]=u},function(e,t,n){t=e.exports=n(24)(),t.push([e.id,".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1!important}.dg.main .close-button.drag,.dg.main:hover .close-button{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button.close-top{position:relative}.dg.main .close-button.close-bottom{position:absolute}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-x:hidden}.dg.a.has-save>ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;overflow:visible;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid transparent}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.boolean,.dg .cr.boolean *,.dg .cr.function,.dg .cr.function *,.dg .cr.function .property-name{cursor:pointer}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco,monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px Lucida Grande,sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2fa1d6}.dg .cr.number input[type=text]{color:#2fa1d6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.boolean:hover,.dg .cr.function:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2fa1d6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t];n[2]?e.push("@media "+n[2]+"{"+n[1]+"}"):e.push(n[1])}return e.join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},i=0;i<this.length;i++){var r=this[i][0];"number"==typeof r&&(o[r]=!0)}for(i=0;i<t.length;i++){var a=t[i];"number"==typeof a[0]&&o[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),e.push(a))}},e}}])}); \ No newline at end of file diff --git a/fancier/lib/three.js b/fancier/lib/three.js new file mode 100755 index 0000000..d9c68d2 --- /dev/null +++ b/fancier/lib/three.js @@ -0,0 +1,43684 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.THREE = global.THREE || {}))); +}(this, (function (exports) { 'use strict'; + + // Polyfills + + if ( Number.EPSILON === undefined ) { + + Number.EPSILON = Math.pow( 2, - 52 ); + + } + + if ( Number.isInteger === undefined ) { + + // Missing in IE + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger + + Number.isInteger = function ( value ) { + + return typeof value === 'number' && isFinite( value ) && Math.floor( value ) === value; + + }; + + } + + // + + if ( Math.sign === undefined ) { + + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign + + Math.sign = function ( x ) { + + return ( x < 0 ) ? - 1 : ( x > 0 ) ? 1 : + x; + + }; + + } + + if ( Function.prototype.name === undefined ) { + + // Missing in IE + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name + + Object.defineProperty( Function.prototype, 'name', { + + get: function () { + + return this.toString().match( /^\s*function\s*([^\(\s]*)/ )[ 1 ]; + + } + + } ); + + } + + if ( Object.assign === undefined ) { + + // Missing in IE + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + + ( function () { + + Object.assign = function ( target ) { + + 'use strict'; + + if ( target === undefined || target === null ) { + + throw new TypeError( 'Cannot convert undefined or null to object' ); + + } + + var output = Object( target ); + + for ( var index = 1; index < arguments.length; index ++ ) { + + var source = arguments[ index ]; + + if ( source !== undefined && source !== null ) { + + for ( var nextKey in source ) { + + if ( Object.prototype.hasOwnProperty.call( source, nextKey ) ) { + + output[ nextKey ] = source[ nextKey ]; + + } + + } + + } + + } + + return output; + + }; + + } )(); + + } + + /** + * https://github.com/mrdoob/eventdispatcher.js/ + */ + + function EventDispatcher() {} + + Object.assign( EventDispatcher.prototype, { + + addEventListener: function ( type, listener ) { + + if ( this._listeners === undefined ) this._listeners = {}; + + var listeners = this._listeners; + + if ( listeners[ type ] === undefined ) { + + listeners[ type ] = []; + + } + + if ( listeners[ type ].indexOf( listener ) === - 1 ) { + + listeners[ type ].push( listener ); + + } + + }, + + hasEventListener: function ( type, listener ) { + + if ( this._listeners === undefined ) return false; + + var listeners = this._listeners; + + return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1; + + }, + + removeEventListener: function ( type, listener ) { + + if ( this._listeners === undefined ) return; + + var listeners = this._listeners; + var listenerArray = listeners[ type ]; + + if ( listenerArray !== undefined ) { + + var index = listenerArray.indexOf( listener ); + + if ( index !== - 1 ) { + + listenerArray.splice( index, 1 ); + + } + + } + + }, + + dispatchEvent: function ( event ) { + + if ( this._listeners === undefined ) return; + + var listeners = this._listeners; + var listenerArray = listeners[ event.type ]; + + if ( listenerArray !== undefined ) { + + event.target = this; + + var array = [], i = 0; + var length = listenerArray.length; + + for ( i = 0; i < length; i ++ ) { + + array[ i ] = listenerArray[ i ]; + + } + + for ( i = 0; i < length; i ++ ) { + + array[ i ].call( this, event ); + + } + + } + + } + + } ); + + var REVISION = '85'; + var MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2 }; + var CullFaceNone = 0; + var CullFaceBack = 1; + var CullFaceFront = 2; + var CullFaceFrontBack = 3; + var FrontFaceDirectionCW = 0; + var FrontFaceDirectionCCW = 1; + var BasicShadowMap = 0; + var PCFShadowMap = 1; + var PCFSoftShadowMap = 2; + var FrontSide = 0; + var BackSide = 1; + var DoubleSide = 2; + var FlatShading = 1; + var SmoothShading = 2; + var NoColors = 0; + var FaceColors = 1; + var VertexColors = 2; + var NoBlending = 0; + var NormalBlending = 1; + var AdditiveBlending = 2; + var SubtractiveBlending = 3; + var MultiplyBlending = 4; + var CustomBlending = 5; + var AddEquation = 100; + var SubtractEquation = 101; + var ReverseSubtractEquation = 102; + var MinEquation = 103; + var MaxEquation = 104; + var ZeroFactor = 200; + var OneFactor = 201; + var SrcColorFactor = 202; + var OneMinusSrcColorFactor = 203; + var SrcAlphaFactor = 204; + var OneMinusSrcAlphaFactor = 205; + var DstAlphaFactor = 206; + var OneMinusDstAlphaFactor = 207; + var DstColorFactor = 208; + var OneMinusDstColorFactor = 209; + var SrcAlphaSaturateFactor = 210; + var NeverDepth = 0; + var AlwaysDepth = 1; + var LessDepth = 2; + var LessEqualDepth = 3; + var EqualDepth = 4; + var GreaterEqualDepth = 5; + var GreaterDepth = 6; + var NotEqualDepth = 7; + var MultiplyOperation = 0; + var MixOperation = 1; + var AddOperation = 2; + var NoToneMapping = 0; + var LinearToneMapping = 1; + var ReinhardToneMapping = 2; + var Uncharted2ToneMapping = 3; + var CineonToneMapping = 4; + var UVMapping = 300; + var CubeReflectionMapping = 301; + var CubeRefractionMapping = 302; + var EquirectangularReflectionMapping = 303; + var EquirectangularRefractionMapping = 304; + var SphericalReflectionMapping = 305; + var CubeUVReflectionMapping = 306; + var CubeUVRefractionMapping = 307; + var RepeatWrapping = 1000; + var ClampToEdgeWrapping = 1001; + var MirroredRepeatWrapping = 1002; + var NearestFilter = 1003; + var NearestMipMapNearestFilter = 1004; + var NearestMipMapLinearFilter = 1005; + var LinearFilter = 1006; + var LinearMipMapNearestFilter = 1007; + var LinearMipMapLinearFilter = 1008; + var UnsignedByteType = 1009; + var ByteType = 1010; + var ShortType = 1011; + var UnsignedShortType = 1012; + var IntType = 1013; + var UnsignedIntType = 1014; + var FloatType = 1015; + var HalfFloatType = 1016; + var UnsignedShort4444Type = 1017; + var UnsignedShort5551Type = 1018; + var UnsignedShort565Type = 1019; + var UnsignedInt248Type = 1020; + var AlphaFormat = 1021; + var RGBFormat = 1022; + var RGBAFormat = 1023; + var LuminanceFormat = 1024; + var LuminanceAlphaFormat = 1025; + var RGBEFormat = RGBAFormat; + var DepthFormat = 1026; + var DepthStencilFormat = 1027; + var RGB_S3TC_DXT1_Format = 2001; + var RGBA_S3TC_DXT1_Format = 2002; + var RGBA_S3TC_DXT3_Format = 2003; + var RGBA_S3TC_DXT5_Format = 2004; + var RGB_PVRTC_4BPPV1_Format = 2100; + var RGB_PVRTC_2BPPV1_Format = 2101; + var RGBA_PVRTC_4BPPV1_Format = 2102; + var RGBA_PVRTC_2BPPV1_Format = 2103; + var RGB_ETC1_Format = 2151; + var LoopOnce = 2200; + var LoopRepeat = 2201; + var LoopPingPong = 2202; + var InterpolateDiscrete = 2300; + var InterpolateLinear = 2301; + var InterpolateSmooth = 2302; + var ZeroCurvatureEnding = 2400; + var ZeroSlopeEnding = 2401; + var WrapAroundEnding = 2402; + var TrianglesDrawMode = 0; + var TriangleStripDrawMode = 1; + var TriangleFanDrawMode = 2; + var LinearEncoding = 3000; + var sRGBEncoding = 3001; + var GammaEncoding = 3007; + var RGBEEncoding = 3002; + var LogLuvEncoding = 3003; + var RGBM7Encoding = 3004; + var RGBM16Encoding = 3005; + var RGBDEncoding = 3006; + var BasicDepthPacking = 3200; + var RGBADepthPacking = 3201; + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + */ + + var _Math = { + + DEG2RAD: Math.PI / 180, + RAD2DEG: 180 / Math.PI, + + generateUUID: function () { + + // http://www.broofa.com/Tools/Math.uuid.htm + + var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split( '' ); + var uuid = new Array( 36 ); + var rnd = 0, r; + + return function generateUUID() { + + for ( var i = 0; i < 36; i ++ ) { + + if ( i === 8 || i === 13 || i === 18 || i === 23 ) { + + uuid[ i ] = '-'; + + } else if ( i === 14 ) { + + uuid[ i ] = '4'; + + } else { + + if ( rnd <= 0x02 ) rnd = 0x2000000 + ( Math.random() * 0x1000000 ) | 0; + r = rnd & 0xf; + rnd = rnd >> 4; + uuid[ i ] = chars[ ( i === 19 ) ? ( r & 0x3 ) | 0x8 : r ]; + + } + + } + + return uuid.join( '' ); + + }; + + }(), + + clamp: function ( value, min, max ) { + + return Math.max( min, Math.min( max, value ) ); + + }, + + // compute euclidian modulo of m % n + // https://en.wikipedia.org/wiki/Modulo_operation + + euclideanModulo: function ( n, m ) { + + return ( ( n % m ) + m ) % m; + + }, + + // Linear mapping from range <a1, a2> to range <b1, b2> + + mapLinear: function ( x, a1, a2, b1, b2 ) { + + return b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 ); + + }, + + // https://en.wikipedia.org/wiki/Linear_interpolation + + lerp: function ( x, y, t ) { + + return ( 1 - t ) * x + t * y; + + }, + + // http://en.wikipedia.org/wiki/Smoothstep + + smoothstep: function ( x, min, max ) { + + if ( x <= min ) return 0; + if ( x >= max ) return 1; + + x = ( x - min ) / ( max - min ); + + return x * x * ( 3 - 2 * x ); + + }, + + smootherstep: function ( x, min, max ) { + + if ( x <= min ) return 0; + if ( x >= max ) return 1; + + x = ( x - min ) / ( max - min ); + + return x * x * x * ( x * ( x * 6 - 15 ) + 10 ); + + }, + + // Random integer from <low, high> interval + + randInt: function ( low, high ) { + + return low + Math.floor( Math.random() * ( high - low + 1 ) ); + + }, + + // Random float from <low, high> interval + + randFloat: function ( low, high ) { + + return low + Math.random() * ( high - low ); + + }, + + // Random float from <-range/2, range/2> interval + + randFloatSpread: function ( range ) { + + return range * ( 0.5 - Math.random() ); + + }, + + degToRad: function ( degrees ) { + + return degrees * _Math.DEG2RAD; + + }, + + radToDeg: function ( radians ) { + + return radians * _Math.RAD2DEG; + + }, + + isPowerOfTwo: function ( value ) { + + return ( value & ( value - 1 ) ) === 0 && value !== 0; + + }, + + nearestPowerOfTwo: function ( value ) { + + return Math.pow( 2, Math.round( Math.log( value ) / Math.LN2 ) ); + + }, + + nextPowerOfTwo: function ( value ) { + + value --; + value |= value >> 1; + value |= value >> 2; + value |= value >> 4; + value |= value >> 8; + value |= value >> 16; + value ++; + + return value; + + } + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author philogb / http://blog.thejit.org/ + * @author egraether / http://egraether.com/ + * @author zz85 / http://www.lab4games.net/zz85/blog + */ + + function Vector2( x, y ) { + + this.x = x || 0; + this.y = y || 0; + + } + + Object.defineProperties( Vector2.prototype, { + + "width" : { + + get: function () { + + return this.x; + + }, + + set: function ( value ) { + + this.x = value; + + } + + }, + + "height" : { + + get: function () { + + return this.y; + + }, + + set: function ( value ) { + + this.y = value; + + } + + } + + } ); + + Object.assign( Vector2.prototype, { + + isVector2: true, + + set: function ( x, y ) { + + this.x = x; + this.y = y; + + return this; + + }, + + setScalar: function ( scalar ) { + + this.x = scalar; + this.y = scalar; + + return this; + + }, + + setX: function ( x ) { + + this.x = x; + + return this; + + }, + + setY: function ( y ) { + + this.y = y; + + return this; + + }, + + setComponent: function ( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + }, + + getComponent: function ( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + default: throw new Error( 'index is out of range: ' + index ); + + } + + }, + + clone: function () { + + return new this.constructor( this.x, this.y ); + + }, + + copy: function ( v ) { + + this.x = v.x; + this.y = v.y; + + return this; + + }, + + add: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); + return this.addVectors( v, w ); + + } + + this.x += v.x; + this.y += v.y; + + return this; + + }, + + addScalar: function ( s ) { + + this.x += s; + this.y += s; + + return this; + + }, + + addVectors: function ( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + + return this; + + }, + + addScaledVector: function ( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + + return this; + + }, + + sub: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); + return this.subVectors( v, w ); + + } + + this.x -= v.x; + this.y -= v.y; + + return this; + + }, + + subScalar: function ( s ) { + + this.x -= s; + this.y -= s; + + return this; + + }, + + subVectors: function ( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + + return this; + + }, + + multiply: function ( v ) { + + this.x *= v.x; + this.y *= v.y; + + return this; + + }, + + multiplyScalar: function ( scalar ) { + + this.x *= scalar; + this.y *= scalar; + + return this; + + }, + + divide: function ( v ) { + + this.x /= v.x; + this.y /= v.y; + + return this; + + }, + + divideScalar: function ( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + }, + + min: function ( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + + return this; + + }, + + max: function ( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + + return this; + + }, + + clamp: function ( min, max ) { + + // This function assumes min < max, if this assumption isn't true it will not operate correctly + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + + return this; + + }, + + clampScalar: function () { + + var min = new Vector2(); + var max = new Vector2(); + + return function clampScalar( minVal, maxVal ) { + + min.set( minVal, minVal ); + max.set( maxVal, maxVal ); + + return this.clamp( min, max ); + + }; + + }(), + + clampLength: function ( min, max ) { + + var length = this.length(); + + return this.multiplyScalar( Math.max( min, Math.min( max, length ) ) / length ); + + }, + + floor: function () { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + + return this; + + }, + + ceil: function () { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + + return this; + + }, + + round: function () { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + + return this; + + }, + + roundToZero: function () { + + 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 ); + + return this; + + }, + + negate: function () { + + this.x = - this.x; + this.y = - this.y; + + return this; + + }, + + dot: function ( v ) { + + return this.x * v.x + this.y * v.y; + + }, + + lengthSq: function () { + + return this.x * this.x + this.y * this.y; + + }, + + length: function () { + + return Math.sqrt( this.x * this.x + this.y * this.y ); + + }, + + lengthManhattan: function() { + + return Math.abs( this.x ) + Math.abs( this.y ); + + }, + + normalize: function () { + + return this.divideScalar( this.length() ); + + }, + + angle: function () { + + // computes the angle in radians with respect to the positive x-axis + + var angle = Math.atan2( this.y, this.x ); + + if ( angle < 0 ) angle += 2 * Math.PI; + + return angle; + + }, + + distanceTo: function ( v ) { + + return Math.sqrt( this.distanceToSquared( v ) ); + + }, + + distanceToSquared: function ( v ) { + + var dx = this.x - v.x, dy = this.y - v.y; + return dx * dx + dy * dy; + + }, + + distanceToManhattan: function ( v ) { + + return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ); + + }, + + setLength: function ( length ) { + + return this.multiplyScalar( length / this.length() ); + + }, + + lerp: function ( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + + return this; + + }, + + lerpVectors: function ( v1, v2, alpha ) { + + return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); + + }, + + equals: function ( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) ); + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + + return array; + + }, + + fromBufferAttribute: function ( attribute, index, offset ) { + + if ( offset !== undefined ) { + + console.warn( 'THREE.Vector2: offset has been removed from .fromBufferAttribute().' ); + + } + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + + return this; + + }, + + rotateAround: function ( center, angle ) { + + var c = Math.cos( angle ), s = Math.sin( angle ); + + var x = this.x - center.x; + var y = this.y - center.y; + + this.x = x * c - y * s + center.x; + this.y = x * s + y * c + center.y; + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * @author szimek / https://github.com/szimek/ + */ + + var textureId = 0; + + function Texture( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { + + Object.defineProperty( this, 'id', { value: textureId ++ } ); + + this.uuid = _Math.generateUUID(); + + this.name = ''; + + this.image = image !== undefined ? image : Texture.DEFAULT_IMAGE; + this.mipmaps = []; + + this.mapping = mapping !== undefined ? mapping : Texture.DEFAULT_MAPPING; + + this.wrapS = wrapS !== undefined ? wrapS : ClampToEdgeWrapping; + this.wrapT = wrapT !== undefined ? wrapT : ClampToEdgeWrapping; + + this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; + this.minFilter = minFilter !== undefined ? minFilter : LinearMipMapLinearFilter; + + this.anisotropy = anisotropy !== undefined ? anisotropy : 1; + + this.format = format !== undefined ? format : RGBAFormat; + this.type = type !== undefined ? type : UnsignedByteType; + + this.offset = new Vector2( 0, 0 ); + this.repeat = new Vector2( 1, 1 ); + + this.generateMipmaps = true; + this.premultiplyAlpha = false; + this.flipY = true; + this.unpackAlignment = 4; // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml) + + // Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap. + // + // Also changing the encoding after already used by a Material will not automatically make the Material + // update. You need to explicitly call Material.needsUpdate to trigger it to recompile. + this.encoding = encoding !== undefined ? encoding : LinearEncoding; + + this.version = 0; + this.onUpdate = null; + + } + + Texture.DEFAULT_IMAGE = undefined; + Texture.DEFAULT_MAPPING = UVMapping; + + Object.defineProperty( Texture.prototype, "needsUpdate", { + + set: function ( value ) { + + if ( value === true ) this.version ++; + + } + + } ); + + Object.assign( Texture.prototype, EventDispatcher.prototype, { + + constructor: Texture, + + isTexture: true, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( source ) { + + this.name = source.name; + + this.image = source.image; + this.mipmaps = source.mipmaps.slice( 0 ); + + this.mapping = source.mapping; + + this.wrapS = source.wrapS; + this.wrapT = source.wrapT; + + this.magFilter = source.magFilter; + this.minFilter = source.minFilter; + + this.anisotropy = source.anisotropy; + + this.format = source.format; + this.type = source.type; + + this.offset.copy( source.offset ); + this.repeat.copy( source.repeat ); + + this.generateMipmaps = source.generateMipmaps; + this.premultiplyAlpha = source.premultiplyAlpha; + this.flipY = source.flipY; + this.unpackAlignment = source.unpackAlignment; + this.encoding = source.encoding; + + return this; + + }, + + toJSON: function ( meta ) { + + if ( meta.textures[ this.uuid ] !== undefined ) { + + return meta.textures[ this.uuid ]; + + } + + function getDataURL( image ) { + + var canvas; + + if ( image.toDataURL !== undefined ) { + + canvas = image; + + } else { + + canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); + canvas.width = image.width; + canvas.height = image.height; + + canvas.getContext( '2d' ).drawImage( image, 0, 0, image.width, image.height ); + + } + + if ( canvas.width > 2048 || canvas.height > 2048 ) { + + return canvas.toDataURL( 'image/jpeg', 0.6 ); + + } else { + + return canvas.toDataURL( 'image/png' ); + + } + + } + + var output = { + 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 ], + wrap: [ this.wrapS, this.wrapT ], + + minFilter: this.minFilter, + magFilter: this.magFilter, + anisotropy: this.anisotropy, + + flipY: this.flipY + }; + + if ( this.image !== undefined ) { + + // TODO: Move to THREE.Image + + var image = this.image; + + if ( image.uuid === undefined ) { + + image.uuid = _Math.generateUUID(); // UGH + + } + + if ( meta.images[ image.uuid ] === undefined ) { + + meta.images[ image.uuid ] = { + uuid: image.uuid, + url: getDataURL( image ) + }; + + } + + output.image = image.uuid; + + } + + meta.textures[ this.uuid ] = output; + + return output; + + }, + + dispose: function () { + + this.dispatchEvent( { type: 'dispose' } ); + + }, + + transformUv: function ( uv ) { + + if ( this.mapping !== UVMapping ) return; + + uv.multiply( this.repeat ); + uv.add( this.offset ); + + if ( uv.x < 0 || uv.x > 1 ) { + + switch ( this.wrapS ) { + + case RepeatWrapping: + + uv.x = uv.x - Math.floor( uv.x ); + break; + + case ClampToEdgeWrapping: + + uv.x = uv.x < 0 ? 0 : 1; + break; + + case MirroredRepeatWrapping: + + if ( Math.abs( Math.floor( uv.x ) % 2 ) === 1 ) { + + uv.x = Math.ceil( uv.x ) - uv.x; + + } else { + + uv.x = uv.x - Math.floor( uv.x ); + + } + break; + + } + + } + + if ( uv.y < 0 || uv.y > 1 ) { + + switch ( this.wrapT ) { + + case RepeatWrapping: + + uv.y = uv.y - Math.floor( uv.y ); + break; + + case ClampToEdgeWrapping: + + uv.y = uv.y < 0 ? 0 : 1; + break; + + case MirroredRepeatWrapping: + + if ( Math.abs( Math.floor( uv.y ) % 2 ) === 1 ) { + + uv.y = Math.ceil( uv.y ) - uv.y; + + } else { + + uv.y = uv.y - Math.floor( uv.y ); + + } + break; + + } + + } + + if ( this.flipY ) { + + uv.y = 1 - uv.y; + + } + + } + + } ); + + /** + * @author supereggbert / http://www.paulbrunt.co.uk/ + * @author philogb / http://blog.thejit.org/ + * @author mikael emtinger / http://gomo.se/ + * @author egraether / http://egraether.com/ + * @author WestLangley / http://github.com/WestLangley + */ + + function Vector4( x, y, z, w ) { + + this.x = x || 0; + this.y = y || 0; + this.z = z || 0; + this.w = ( w !== undefined ) ? w : 1; + + } + + Object.assign( Vector4.prototype, { + + isVector4: true, + + set: function ( x, y, z, w ) { + + this.x = x; + this.y = y; + this.z = z; + this.w = w; + + return this; + + }, + + setScalar: function ( scalar ) { + + this.x = scalar; + this.y = scalar; + this.z = scalar; + this.w = scalar; + + return this; + + }, + + setX: function ( x ) { + + this.x = x; + + return this; + + }, + + setY: function ( y ) { + + this.y = y; + + return this; + + }, + + setZ: function ( z ) { + + this.z = z; + + return this; + + }, + + setW: function ( w ) { + + this.w = w; + + return this; + + }, + + setComponent: function ( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + case 2: this.z = value; break; + case 3: this.w = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + }, + + getComponent: function ( index ) { + + switch ( index ) { + + 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: ' + index ); + + } + + }, + + clone: function () { + + return new this.constructor( this.x, this.y, this.z, this.w ); + + }, + + copy: function ( v ) { + + this.x = v.x; + this.y = v.y; + this.z = v.z; + this.w = ( v.w !== undefined ) ? v.w : 1; + + return this; + + }, + + add: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); + return this.addVectors( v, w ); + + } + + this.x += v.x; + this.y += v.y; + this.z += v.z; + this.w += v.w; + + return this; + + }, + + addScalar: function ( s ) { + + this.x += s; + this.y += s; + this.z += s; + this.w += s; + + return this; + + }, + + addVectors: function ( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + this.w = a.w + b.w; + + return this; + + }, + + addScaledVector: function ( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + this.w += v.w * s; + + return this; + + }, + + sub: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); + return this.subVectors( v, w ); + + } + + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + this.w -= v.w; + + return this; + + }, + + subScalar: function ( s ) { + + this.x -= s; + this.y -= s; + this.z -= s; + this.w -= s; + + return this; + + }, + + subVectors: function ( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + this.w = a.w - b.w; + + return this; + + }, + + multiplyScalar: function ( scalar ) { + + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + this.w *= scalar; + + return this; + + }, + + applyMatrix4: function ( m ) { + + var x = this.x, y = this.y, z = this.z, w = this.w; + var e = m.elements; + + this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] * w; + this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] * w; + this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] * w; + this.w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] * w; + + return this; + + }, + + divideScalar: function ( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + }, + + setAxisAngleFromQuaternion: function ( q ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm + + // q is assumed to be normalized + + this.w = 2 * Math.acos( q.w ); + + var s = Math.sqrt( 1 - q.w * q.w ); + + if ( s < 0.0001 ) { + + this.x = 1; + this.y = 0; + this.z = 0; + + } else { + + this.x = q.x / s; + this.y = q.y / s; + this.z = q.z / s; + + } + + return this; + + }, + + setAxisAngleFromRotationMatrix: function ( m ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + var angle, x, y, z, // variables for result + epsilon = 0.01, // margin to allow for rounding errors + epsilon2 = 0.1, // margin to distinguish between 0 and 180 degrees + + te = m.elements, + + m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], + m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], + m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; + + if ( ( Math.abs( m12 - m21 ) < epsilon ) && + ( Math.abs( m13 - m31 ) < epsilon ) && + ( Math.abs( m23 - m32 ) < epsilon ) ) { + + // singularity found + // first check for identity matrix which must have +1 for all terms + // in leading diagonal and zero in other terms + + if ( ( Math.abs( m12 + m21 ) < epsilon2 ) && + ( Math.abs( m13 + m31 ) < epsilon2 ) && + ( Math.abs( m23 + m32 ) < epsilon2 ) && + ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) { + + // this singularity is identity matrix so angle = 0 + + this.set( 1, 0, 0, 0 ); + + return this; // zero angle, arbitrary axis + + } + + // otherwise this singularity is angle = 180 + + angle = Math.PI; + + var xx = ( m11 + 1 ) / 2; + var yy = ( m22 + 1 ) / 2; + var zz = ( m33 + 1 ) / 2; + var xy = ( m12 + m21 ) / 4; + var xz = ( m13 + m31 ) / 4; + var yz = ( m23 + m32 ) / 4; + + if ( ( xx > yy ) && ( xx > zz ) ) { + + // m11 is the largest diagonal term + + if ( xx < epsilon ) { + + x = 0; + y = 0.707106781; + z = 0.707106781; + + } else { + + x = Math.sqrt( xx ); + y = xy / x; + z = xz / x; + + } + + } else if ( yy > zz ) { + + // m22 is the largest diagonal term + + if ( yy < epsilon ) { + + x = 0.707106781; + y = 0; + z = 0.707106781; + + } else { + + y = Math.sqrt( yy ); + x = xy / y; + z = yz / y; + + } + + } else { + + // m33 is the largest diagonal term so base result on this + + if ( zz < epsilon ) { + + x = 0.707106781; + y = 0.707106781; + z = 0; + + } else { + + z = Math.sqrt( zz ); + x = xz / z; + y = yz / z; + + } + + } + + this.set( x, y, z, angle ); + + return this; // return 180 deg rotation + + } + + // as we have reached here there are no singularities so we can handle normally + + var s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 ) + + ( m13 - m31 ) * ( m13 - m31 ) + + ( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize + + if ( Math.abs( s ) < 0.001 ) s = 1; + + // prevent divide by zero, should not happen if matrix is orthogonal and should be + // caught by singularity test above, but I've left it in just in case + + this.x = ( m32 - m23 ) / s; + this.y = ( m13 - m31 ) / s; + this.z = ( m21 - m12 ) / s; + this.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 ); + + return this; + + }, + + min: function ( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + this.z = Math.min( this.z, v.z ); + this.w = Math.min( this.w, v.w ); + + return this; + + }, + + max: function ( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + this.z = Math.max( this.z, v.z ); + this.w = Math.max( this.w, v.w ); + + return this; + + }, + + clamp: function ( min, max ) { + + // This function assumes min < max, if this assumption isn't true it will not operate correctly + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + this.z = Math.max( min.z, Math.min( max.z, this.z ) ); + this.w = Math.max( min.w, Math.min( max.w, this.w ) ); + + return this; + + }, + + clampScalar: function () { + + var min = new Vector4(); + var max = new Vector4(); + + return function clampScalar( minVal, maxVal ) { + + min.set( minVal, minVal, minVal, minVal ); + max.set( maxVal, maxVal, maxVal, maxVal ); + + return this.clamp( min, max ); + + }; + + }(), + + floor: function () { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + this.z = Math.floor( this.z ); + this.w = Math.floor( this.w ); + + return this; + + }, + + ceil: function () { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + this.z = Math.ceil( this.z ); + this.w = Math.ceil( this.w ); + + return this; + + }, + + round: function () { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + this.z = Math.round( this.z ); + this.w = Math.round( this.w ); + + return this; + + }, + + roundToZero: function () { + + 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 ); + + return this; + + }, + + negate: function () { + + this.x = - this.x; + this.y = - this.y; + this.z = - this.z; + this.w = - this.w; + + return this; + + }, + + dot: function ( v ) { + + return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.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 ); + + }, + + lengthManhattan: 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() ); + + }, + + setLength: function ( length ) { + + return this.multiplyScalar( length / this.length() ); + + }, + + lerp: function ( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + this.z += ( v.z - this.z ) * alpha; + this.w += ( v.w - this.w ) * alpha; + + return this; + + }, + + lerpVectors: function ( v1, v2, alpha ) { + + return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); + + }, + + equals: function ( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) ); + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + this.z = array[ offset + 2 ]; + this.w = array[ offset + 3 ]; + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + array[ offset + 2 ] = this.z; + array[ offset + 3 ] = this.w; + + return array; + + }, + + fromBufferAttribute: function ( attribute, index, offset ) { + + if ( offset !== undefined ) { + + console.warn( 'THREE.Vector4: offset has been removed from .fromBufferAttribute().' ); + + } + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + this.z = attribute.getZ( index ); + this.w = attribute.getW( index ); + + return this; + + } + + } ); + + /** + * @author szimek / https://github.com/szimek/ + * @author alteredq / http://alteredqualia.com/ + * @author Marius Kintel / https://github.com/kintel + */ + + /* + In options, we can specify: + * Texture parameters for an auto-generated target texture + * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers + */ + function WebGLRenderTarget( width, height, options ) { + + this.uuid = _Math.generateUUID(); + + this.width = width; + this.height = height; + + this.scissor = new Vector4( 0, 0, width, height ); + this.scissorTest = false; + + this.viewport = new Vector4( 0, 0, width, height ); + + options = options || {}; + + if ( options.minFilter === undefined ) options.minFilter = LinearFilter; + + this.texture = new Texture( undefined, undefined, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding ); + + this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true; + this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : true; + this.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null; + + } + + Object.assign( WebGLRenderTarget.prototype, EventDispatcher.prototype, { + + isWebGLRenderTarget: true, + + setSize: function ( width, height ) { + + if ( this.width !== width || this.height !== height ) { + + this.width = width; + this.height = height; + + this.dispose(); + + } + + this.viewport.set( 0, 0, width, height ); + this.scissor.set( 0, 0, width, height ); + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( source ) { + + this.width = source.width; + this.height = source.height; + + this.viewport.copy( source.viewport ); + + this.texture = source.texture.clone(); + + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + this.depthTexture = source.depthTexture; + + return this; + + }, + + dispose: function () { + + this.dispatchEvent( { type: 'dispose' } ); + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com + */ + + function WebGLRenderTargetCube( width, height, options ) { + + WebGLRenderTarget.call( this, width, height, options ); + + this.activeCubeFace = 0; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5 + this.activeMipMapLevel = 0; + + } + + WebGLRenderTargetCube.prototype = Object.create( WebGLRenderTarget.prototype ); + WebGLRenderTargetCube.prototype.constructor = WebGLRenderTargetCube; + + WebGLRenderTargetCube.prototype.isWebGLRenderTargetCube = true; + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + * @author WestLangley / http://github.com/WestLangley + * @author bhouston / http://clara.io + */ + + function Quaternion( x, y, z, w ) { + + this._x = x || 0; + this._y = y || 0; + this._z = z || 0; + this._w = ( w !== undefined ) ? w : 1; + + } + + Object.assign( Quaternion, { + + slerp: function ( qa, qb, qm, t ) { + + return qm.copy( qa ).slerp( qb, t ); + + }, + + slerpFlat: function ( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) { + + // fuzz-free, array-based Quaternion SLERP operation + + var x0 = src0[ srcOffset0 + 0 ], + y0 = src0[ srcOffset0 + 1 ], + z0 = src0[ srcOffset0 + 2 ], + w0 = src0[ srcOffset0 + 3 ], + + x1 = src1[ srcOffset1 + 0 ], + y1 = src1[ srcOffset1 + 1 ], + z1 = src1[ srcOffset1 + 2 ], + w1 = src1[ srcOffset1 + 3 ]; + + if ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) { + + var s = 1 - t, + + cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, + + dir = ( cos >= 0 ? 1 : - 1 ), + sqrSin = 1 - cos * cos; + + // Skip the Slerp for tiny steps to avoid numeric problems: + if ( sqrSin > Number.EPSILON ) { + + var sin = Math.sqrt( sqrSin ), + len = Math.atan2( sin, cos * dir ); + + s = Math.sin( s * len ) / sin; + t = Math.sin( t * len ) / sin; + + } + + var tDir = t * dir; + + x0 = x0 * s + x1 * tDir; + y0 = y0 * s + y1 * tDir; + z0 = z0 * s + z1 * tDir; + w0 = w0 * s + w1 * tDir; + + // Normalize in case we just did a lerp: + if ( s === 1 - t ) { + + var f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 ); + + x0 *= f; + y0 *= f; + z0 *= f; + w0 *= f; + + } + + } + + dst[ dstOffset ] = x0; + dst[ dstOffset + 1 ] = y0; + dst[ dstOffset + 2 ] = z0; + dst[ dstOffset + 3 ] = w0; + + } + + } ); + + Object.defineProperties( Quaternion.prototype, { + + x: { + + get: function () { + + return this._x; + + }, + + set: function ( value ) { + + this._x = value; + this.onChangeCallback(); + + } + + }, + + y: { + + get: function () { + + return this._y; + + }, + + set: function ( value ) { + + this._y = value; + this.onChangeCallback(); + + } + + }, + + z: { + + get: function () { + + return this._z; + + }, + + set: function ( value ) { + + this._z = value; + this.onChangeCallback(); + + } + + }, + + w: { + + get: function () { + + return this._w; + + }, + + set: function ( value ) { + + this._w = value; + this.onChangeCallback(); + + } + + } + + } ); + + Object.assign( Quaternion.prototype, { + + set: function ( x, y, z, w ) { + + this._x = x; + this._y = y; + this._z = z; + this._w = w; + + this.onChangeCallback(); + + return this; + + }, + + clone: function () { + + return new this.constructor( this._x, this._y, this._z, this._w ); + + }, + + copy: function ( quaternion ) { + + this._x = quaternion.x; + this._y = quaternion.y; + this._z = quaternion.z; + this._w = quaternion.w; + + this.onChangeCallback(); + + return this; + + }, + + setFromEuler: function ( euler, update ) { + + if ( ( euler && euler.isEuler ) === false ) { + + throw new Error( 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.' ); + + } + + var x = euler._x, y = euler._y, z = euler._z, order = euler.order; + + // http://www.mathworks.com/matlabcentral/fileexchange/ + // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ + // content/SpinCalc.m + + var cos = Math.cos; + var sin = Math.sin; + + var c1 = cos( x / 2 ); + var c2 = cos( y / 2 ); + var c3 = cos( z / 2 ); + + var s1 = sin( x / 2 ); + var s2 = sin( y / 2 ); + var s3 = sin( z / 2 ); + + if ( order === 'XYZ' ) { + + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + + } else if ( order === 'YXZ' ) { + + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + + } else if ( order === 'ZXY' ) { + + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + + } else if ( order === 'ZYX' ) { + + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + + } else if ( order === 'YZX' ) { + + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + + } else if ( order === 'XZY' ) { + + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + + } + + if ( update !== false ) this.onChangeCallback(); + + return this; + + }, + + setFromAxisAngle: function ( axis, angle ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm + + // assumes axis is normalized + + var halfAngle = angle / 2, s = Math.sin( halfAngle ); + + this._x = axis.x * s; + this._y = axis.y * s; + this._z = axis.z * s; + this._w = Math.cos( halfAngle ); + + this.onChangeCallback(); + + return this; + + }, + + setFromRotationMatrix: function ( m ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + var te = m.elements, + + m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], + m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], + m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ], + + trace = m11 + m22 + m33, + s; + + if ( trace > 0 ) { + + s = 0.5 / Math.sqrt( trace + 1.0 ); + + this._w = 0.25 / s; + this._x = ( m32 - m23 ) * s; + this._y = ( m13 - m31 ) * s; + this._z = ( m21 - m12 ) * s; + + } else if ( m11 > m22 && m11 > m33 ) { + + s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 ); + + this._w = ( m32 - m23 ) / s; + this._x = 0.25 * s; + this._y = ( m12 + m21 ) / s; + this._z = ( m13 + m31 ) / s; + + } else if ( m22 > m33 ) { + + s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 ); + + this._w = ( m13 - m31 ) / s; + this._x = ( m12 + m21 ) / s; + this._y = 0.25 * s; + this._z = ( m23 + m32 ) / s; + + } else { + + s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 ); + + this._w = ( m21 - m12 ) / s; + this._x = ( m13 + m31 ) / s; + this._y = ( m23 + m32 ) / s; + this._z = 0.25 * s; + + } + + this.onChangeCallback(); + + return this; + + }, + + setFromUnitVectors: function () { + + // assumes direction vectors vFrom and vTo are normalized + + var v1 = new Vector3(); + var r; + + var EPS = 0.000001; + + return function setFromUnitVectors( vFrom, vTo ) { + + if ( v1 === undefined ) v1 = new Vector3(); + + r = vFrom.dot( vTo ) + 1; + + if ( r < EPS ) { + + r = 0; + + if ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) { + + v1.set( - vFrom.y, vFrom.x, 0 ); + + } else { + + v1.set( 0, - vFrom.z, vFrom.y ); + + } + + } else { + + v1.crossVectors( vFrom, vTo ); + + } + + this._x = v1.x; + this._y = v1.y; + this._z = v1.z; + this._w = r; + + return this.normalize(); + + }; + + }(), + + inverse: function () { + + return this.conjugate().normalize(); + + }, + + conjugate: function () { + + this._x *= - 1; + this._y *= - 1; + this._z *= - 1; + + this.onChangeCallback(); + + return this; + + }, + + dot: function ( v ) { + + return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._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 l = this.length(); + + if ( l === 0 ) { + + this._x = 0; + this._y = 0; + this._z = 0; + this._w = 1; + + } else { + + l = 1 / l; + + this._x = this._x * l; + this._y = this._y * l; + this._z = this._z * l; + this._w = this._w * l; + + } + + this.onChangeCallback(); + + return this; + + }, + + multiply: function ( q, p ) { + + if ( p !== undefined ) { + + console.warn( 'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.' ); + return this.multiplyQuaternions( q, p ); + + } + + return this.multiplyQuaternions( this, q ); + + }, + + premultiply: function ( q ) { + + return this.multiplyQuaternions( q, this ); + + }, + + multiplyQuaternions: function ( a, b ) { + + // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm + + var qax = a._x, qay = a._y, qaz = a._z, qaw = a._w; + var qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; + + this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; + this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; + this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; + this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; + + this.onChangeCallback(); + + return this; + + }, + + slerp: function ( qb, t ) { + + if ( t === 0 ) return this; + if ( t === 1 ) return this.copy( qb ); + + var x = this._x, y = this._y, z = this._z, w = this._w; + + // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ + + var cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; + + if ( cosHalfTheta < 0 ) { + + this._w = - qb._w; + this._x = - qb._x; + this._y = - qb._y; + this._z = - qb._z; + + cosHalfTheta = - cosHalfTheta; + + } else { + + this.copy( qb ); + + } + + if ( cosHalfTheta >= 1.0 ) { + + this._w = w; + this._x = x; + this._y = y; + this._z = z; + + return this; + + } + + var sinHalfTheta = Math.sqrt( 1.0 - cosHalfTheta * cosHalfTheta ); + + if ( Math.abs( sinHalfTheta ) < 0.001 ) { + + this._w = 0.5 * ( w + this._w ); + this._x = 0.5 * ( x + this._x ); + this._y = 0.5 * ( y + this._y ); + this._z = 0.5 * ( z + this._z ); + + return this; + + } + + var halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta ); + var ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta, + ratioB = Math.sin( t * halfTheta ) / sinHalfTheta; + + this._w = ( w * ratioA + this._w * ratioB ); + this._x = ( x * ratioA + this._x * ratioB ); + this._y = ( y * ratioA + this._y * ratioB ); + this._z = ( z * ratioA + this._z * ratioB ); + + this.onChangeCallback(); + + return this; + + }, + + equals: function ( quaternion ) { + + return ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w ); + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + this._x = array[ offset ]; + this._y = array[ offset + 1 ]; + this._z = array[ offset + 2 ]; + this._w = array[ offset + 3 ]; + + this.onChangeCallback(); + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + array[ offset ] = this._x; + array[ offset + 1 ] = this._y; + array[ offset + 2 ] = this._z; + array[ offset + 3 ] = this._w; + + return array; + + }, + + onChange: function ( callback ) { + + this.onChangeCallback = callback; + + return this; + + }, + + onChangeCallback: function () {} + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author *kile / http://kile.stravaganza.org/ + * @author philogb / http://blog.thejit.org/ + * @author mikael emtinger / http://gomo.se/ + * @author egraether / http://egraether.com/ + * @author WestLangley / http://github.com/WestLangley + */ + + function Vector3( x, y, z ) { + + this.x = x || 0; + this.y = y || 0; + this.z = z || 0; + + } + + Object.assign( Vector3.prototype, { + + isVector3: true, + + set: function ( x, y, z ) { + + this.x = x; + this.y = y; + this.z = z; + + return this; + + }, + + setScalar: function ( scalar ) { + + this.x = scalar; + this.y = scalar; + this.z = scalar; + + return this; + + }, + + setX: function ( x ) { + + this.x = x; + + return this; + + }, + + setY: function ( y ) { + + this.y = y; + + return this; + + }, + + setZ: function ( z ) { + + this.z = z; + + return this; + + }, + + setComponent: function ( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + case 2: this.z = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + }, + + getComponent: function ( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + case 2: return this.z; + default: throw new Error( 'index is out of range: ' + index ); + + } + + }, + + clone: function () { + + return new this.constructor( this.x, this.y, this.z ); + + }, + + copy: function ( v ) { + + this.x = v.x; + this.y = v.y; + this.z = v.z; + + return this; + + }, + + add: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); + return this.addVectors( v, w ); + + } + + this.x += v.x; + this.y += v.y; + this.z += v.z; + + return this; + + }, + + addScalar: function ( s ) { + + this.x += s; + this.y += s; + this.z += s; + + return this; + + }, + + addVectors: function ( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + + return this; + + }, + + addScaledVector: function ( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + + return this; + + }, + + sub: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); + return this.subVectors( v, w ); + + } + + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + + return this; + + }, + + subScalar: function ( s ) { + + this.x -= s; + this.y -= s; + this.z -= s; + + return this; + + }, + + subVectors: function ( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + + return this; + + }, + + multiply: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.' ); + return this.multiplyVectors( v, w ); + + } + + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + + return this; + + }, + + multiplyScalar: function ( scalar ) { + + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + + return this; + + }, + + multiplyVectors: function ( a, b ) { + + this.x = a.x * b.x; + this.y = a.y * b.y; + this.z = a.z * b.z; + + return this; + + }, + + applyEuler: function () { + + var quaternion = new Quaternion(); + + return function applyEuler( euler ) { + + if ( ( euler && euler.isEuler ) === false ) { + + console.error( 'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.' ); + + } + + return this.applyQuaternion( quaternion.setFromEuler( euler ) ); + + }; + + }(), + + applyAxisAngle: function () { + + var quaternion = new Quaternion(); + + return function applyAxisAngle( axis, angle ) { + + return this.applyQuaternion( quaternion.setFromAxisAngle( axis, angle ) ); + + }; + + }(), + + applyMatrix3: function ( m ) { + + var x = this.x, y = this.y, z = this.z; + var e = m.elements; + + this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z; + this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z; + this.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z; + + return this; + + }, + + applyMatrix4: function ( m ) { + + var x = this.x, y = this.y, z = this.z; + var e = m.elements; + + this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ]; + this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ]; + this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ]; + var w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ]; + + return this.divideScalar( w ); + + }, + + applyQuaternion: function ( q ) { + + var x = this.x, y = this.y, z = this.z; + var qx = q.x, qy = q.y, qz = q.z, qw = q.w; + + // calculate quat * vector + + var ix = qw * x + qy * z - qz * y; + var iy = qw * y + qz * x - qx * z; + var iz = qw * z + qx * y - qy * x; + var iw = - qx * x - qy * y - qz * z; + + // calculate result * inverse quat + + this.x = ix * qw + iw * - qx + iy * - qz - iz * - qy; + this.y = iy * qw + iw * - qy + iz * - qx - ix * - qz; + this.z = iz * qw + iw * - qz + ix * - qy - iy * - qx; + + return this; + + }, + + project: function () { + + var matrix = new Matrix4(); + + return function project( camera ) { + + matrix.multiplyMatrices( camera.projectionMatrix, matrix.getInverse( camera.matrixWorld ) ); + return this.applyMatrix4( matrix ); + + }; + + }(), + + unproject: function () { + + var matrix = new Matrix4(); + + return function unproject( camera ) { + + matrix.multiplyMatrices( camera.matrixWorld, matrix.getInverse( camera.projectionMatrix ) ); + return this.applyMatrix4( matrix ); + + }; + + }(), + + transformDirection: function ( m ) { + + // input: THREE.Matrix4 affine matrix + // vector interpreted as a direction + + var x = this.x, y = this.y, z = this.z; + var e = m.elements; + + this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z; + this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z; + this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z; + + return this.normalize(); + + }, + + divide: function ( v ) { + + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + + return this; + + }, + + divideScalar: function ( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + }, + + min: function ( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + this.z = Math.min( this.z, v.z ); + + return this; + + }, + + max: function ( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + this.z = Math.max( this.z, v.z ); + + return this; + + }, + + clamp: function ( min, max ) { + + // This function assumes min < max, if this assumption isn't true it will not operate correctly + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + this.z = Math.max( min.z, Math.min( max.z, this.z ) ); + + return this; + + }, + + clampScalar: function () { + + var min = new Vector3(); + var max = new Vector3(); + + return function clampScalar( minVal, maxVal ) { + + min.set( minVal, minVal, minVal ); + max.set( maxVal, maxVal, maxVal ); + + return this.clamp( min, max ); + + }; + + }(), + + clampLength: function ( min, max ) { + + var length = this.length(); + + return this.multiplyScalar( Math.max( min, Math.min( max, length ) ) / length ); + + }, + + floor: function () { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + this.z = Math.floor( this.z ); + + return this; + + }, + + ceil: function () { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + this.z = Math.ceil( this.z ); + + return this; + + }, + + round: function () { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + this.z = Math.round( this.z ); + + return this; + + }, + + roundToZero: function () { + + 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 ); + + return this; + + }, + + negate: function () { + + this.x = - this.x; + this.y = - this.y; + this.z = - this.z; + + return this; + + }, + + dot: function ( v ) { + + return this.x * v.x + this.y * v.y + this.z * v.z; + + }, + + // TODO lengthSquared? + + 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 ); + + }, + + lengthManhattan: function () { + + return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ); + + }, + + normalize: function () { + + return this.divideScalar( this.length() ); + + }, + + setLength: function ( length ) { + + return this.multiplyScalar( length / this.length() ); + + }, + + lerp: function ( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + this.z += ( v.z - this.z ) * alpha; + + return this; + + }, + + lerpVectors: function ( v1, v2, alpha ) { + + return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); + + }, + + cross: function ( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.' ); + return this.crossVectors( v, w ); + + } + + var x = this.x, y = this.y, z = this.z; + + this.x = y * v.z - z * v.y; + this.y = z * v.x - x * v.z; + this.z = x * v.y - y * v.x; + + return this; + + }, + + crossVectors: function ( a, b ) { + + var ax = a.x, ay = a.y, az = a.z; + var bx = b.x, by = b.y, bz = b.z; + + this.x = ay * bz - az * by; + this.y = az * bx - ax * bz; + this.z = ax * by - ay * bx; + + return this; + + }, + + projectOnVector: function ( vector ) { + + var scalar = vector.dot( this ) / vector.lengthSq(); + + return this.copy( vector ).multiplyScalar( scalar ); + + }, + + projectOnPlane: function () { + + var v1 = new Vector3(); + + return function projectOnPlane( planeNormal ) { + + v1.copy( this ).projectOnVector( planeNormal ); + + return this.sub( v1 ); + + }; + + }(), + + reflect: function () { + + // reflect incident vector off plane orthogonal to normal + // normal is assumed to have unit length + + var v1 = new Vector3(); + + return function reflect( normal ) { + + return this.sub( v1.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) ); + + }; + + }(), + + angleTo: function ( v ) { + + var theta = this.dot( v ) / ( Math.sqrt( this.lengthSq() * v.lengthSq() ) ); + + // clamp, to handle numerical problems + + return Math.acos( _Math.clamp( theta, - 1, 1 ) ); + + }, + + distanceTo: function ( v ) { + + return Math.sqrt( this.distanceToSquared( v ) ); + + }, + + distanceToSquared: function ( v ) { + + var dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; + + return dx * dx + dy * dy + dz * dz; + + }, + + distanceToManhattan: function ( v ) { + + return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z ); + + }, + + setFromSpherical: function ( s ) { + + var sinPhiRadius = Math.sin( s.phi ) * s.radius; + + this.x = sinPhiRadius * Math.sin( s.theta ); + this.y = Math.cos( s.phi ) * s.radius; + this.z = sinPhiRadius * Math.cos( s.theta ); + + return this; + + }, + + setFromCylindrical: function ( c ) { + + this.x = c.radius * Math.sin( c.theta ); + this.y = c.y; + this.z = c.radius * Math.cos( c.theta ); + + return this; + + }, + + setFromMatrixPosition: function ( m ) { + + return this.setFromMatrixColumn( m, 3 ); + + }, + + setFromMatrixScale: function ( m ) { + + var sx = this.setFromMatrixColumn( m, 0 ).length(); + var sy = this.setFromMatrixColumn( m, 1 ).length(); + var sz = this.setFromMatrixColumn( m, 2 ).length(); + + this.x = sx; + this.y = sy; + this.z = sz; + + return this; + + }, + + setFromMatrixColumn: function ( m, index ) { + + + return this.fromArray( m.elements, index * 4 ); + + }, + + equals: function ( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) ); + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + this.z = array[ offset + 2 ]; + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + array[ offset + 2 ] = this.z; + + return array; + + }, + + fromBufferAttribute: function ( attribute, index, offset ) { + + if ( offset !== undefined ) { + + console.warn( 'THREE.Vector3: offset has been removed from .fromBufferAttribute().' ); + + } + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + this.z = attribute.getZ( index ); + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author supereggbert / http://www.paulbrunt.co.uk/ + * @author philogb / http://blog.thejit.org/ + * @author jordi_ros / http://plattsoft.com + * @author D1plo1d / http://github.com/D1plo1d + * @author alteredq / http://alteredqualia.com/ + * @author mikael emtinger / http://gomo.se/ + * @author timknip / http://www.floorplanner.com/ + * @author bhouston / http://clara.io + * @author WestLangley / http://github.com/WestLangley + */ + + function Matrix4() { + + this.elements = [ + + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + + ]; + + if ( arguments.length > 0 ) { + + console.error( 'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.' ); + + } + + } + + Object.assign( Matrix4.prototype, { + + isMatrix4: true, + + set: function ( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) { + + var te = this.elements; + + te[ 0 ] = n11; te[ 4 ] = n12; te[ 8 ] = n13; te[ 12 ] = n14; + te[ 1 ] = n21; te[ 5 ] = n22; te[ 9 ] = n23; te[ 13 ] = n24; + te[ 2 ] = n31; te[ 6 ] = n32; te[ 10 ] = n33; te[ 14 ] = n34; + te[ 3 ] = n41; te[ 7 ] = n42; te[ 11 ] = n43; te[ 15 ] = n44; + + return this; + + }, + + identity: function () { + + this.set( + + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + clone: function () { + + return new Matrix4().fromArray( this.elements ); + + }, + + copy: function ( m ) { + + var te = this.elements; + var me = m.elements; + + te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ]; + te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; + te[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ]; + te[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ]; + + return this; + + }, + + copyPosition: function ( m ) { + + var te = this.elements, me = m.elements; + + te[ 12 ] = me[ 12 ]; + te[ 13 ] = me[ 13 ]; + te[ 14 ] = me[ 14 ]; + + return this; + + }, + + extractBasis: function ( xAxis, yAxis, zAxis ) { + + xAxis.setFromMatrixColumn( this, 0 ); + yAxis.setFromMatrixColumn( this, 1 ); + zAxis.setFromMatrixColumn( this, 2 ); + + return this; + + }, + + makeBasis: function ( xAxis, yAxis, zAxis ) { + + this.set( + xAxis.x, yAxis.x, zAxis.x, 0, + xAxis.y, yAxis.y, zAxis.y, 0, + xAxis.z, yAxis.z, zAxis.z, 0, + 0, 0, 0, 1 + ); + + return this; + + }, + + extractRotation: function () { + + var v1 = new Vector3(); + + return function extractRotation( m ) { + + var te = this.elements; + var me = m.elements; + + var scaleX = 1 / v1.setFromMatrixColumn( m, 0 ).length(); + var scaleY = 1 / v1.setFromMatrixColumn( m, 1 ).length(); + var scaleZ = 1 / v1.setFromMatrixColumn( m, 2 ).length(); + + te[ 0 ] = me[ 0 ] * scaleX; + te[ 1 ] = me[ 1 ] * scaleX; + te[ 2 ] = me[ 2 ] * scaleX; + + te[ 4 ] = me[ 4 ] * scaleY; + te[ 5 ] = me[ 5 ] * scaleY; + te[ 6 ] = me[ 6 ] * scaleY; + + te[ 8 ] = me[ 8 ] * scaleZ; + te[ 9 ] = me[ 9 ] * scaleZ; + te[ 10 ] = me[ 10 ] * scaleZ; + + return this; + + }; + + }(), + + makeRotationFromEuler: function ( euler ) { + + if ( ( euler && euler.isEuler ) === false ) { + + console.error( 'THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.' ); + + } + + var te = this.elements; + + var x = euler.x, y = euler.y, z = euler.z; + var a = Math.cos( x ), b = Math.sin( x ); + var c = Math.cos( y ), d = Math.sin( y ); + var e = Math.cos( z ), f = Math.sin( z ); + + if ( euler.order === 'XYZ' ) { + + var ae = a * e, af = a * f, be = b * e, bf = b * f; + + te[ 0 ] = c * e; + te[ 4 ] = - c * f; + te[ 8 ] = d; + + te[ 1 ] = af + be * d; + te[ 5 ] = ae - bf * d; + te[ 9 ] = - b * c; + + te[ 2 ] = bf - ae * d; + te[ 6 ] = be + af * d; + te[ 10 ] = a * c; + + } else if ( euler.order === 'YXZ' ) { + + var ce = c * e, cf = c * f, de = d * e, df = d * f; + + te[ 0 ] = ce + df * b; + te[ 4 ] = de * b - cf; + te[ 8 ] = a * d; + + te[ 1 ] = a * f; + te[ 5 ] = a * e; + te[ 9 ] = - b; + + te[ 2 ] = cf * b - de; + te[ 6 ] = df + ce * b; + te[ 10 ] = a * c; + + } else if ( euler.order === 'ZXY' ) { + + var ce = c * e, cf = c * f, de = d * e, df = d * f; + + te[ 0 ] = ce - df * b; + te[ 4 ] = - a * f; + te[ 8 ] = de + cf * b; + + te[ 1 ] = cf + de * b; + te[ 5 ] = a * e; + te[ 9 ] = df - ce * b; + + te[ 2 ] = - a * d; + te[ 6 ] = b; + te[ 10 ] = a * c; + + } else if ( euler.order === 'ZYX' ) { + + var ae = a * e, af = a * f, be = b * e, bf = b * f; + + te[ 0 ] = c * e; + te[ 4 ] = be * d - af; + te[ 8 ] = ae * d + bf; + + te[ 1 ] = c * f; + te[ 5 ] = bf * d + ae; + te[ 9 ] = af * d - be; + + te[ 2 ] = - d; + te[ 6 ] = b * c; + te[ 10 ] = a * c; + + } else if ( euler.order === 'YZX' ) { + + var ac = a * c, ad = a * d, bc = b * c, bd = b * d; + + te[ 0 ] = c * e; + te[ 4 ] = bd - ac * f; + te[ 8 ] = bc * f + ad; + + te[ 1 ] = f; + te[ 5 ] = a * e; + te[ 9 ] = - b * e; + + te[ 2 ] = - d * e; + te[ 6 ] = ad * f + bc; + te[ 10 ] = ac - bd * f; + + } else if ( euler.order === 'XZY' ) { + + var ac = a * c, ad = a * d, bc = b * c, bd = b * d; + + te[ 0 ] = c * e; + te[ 4 ] = - f; + te[ 8 ] = d * e; + + te[ 1 ] = ac * f + bd; + te[ 5 ] = a * e; + te[ 9 ] = ad * f - bc; + + te[ 2 ] = bc * f - ad; + te[ 6 ] = b * e; + te[ 10 ] = bd * f + ac; + + } + + // last column + te[ 3 ] = 0; + te[ 7 ] = 0; + te[ 11 ] = 0; + + // bottom row + te[ 12 ] = 0; + te[ 13 ] = 0; + te[ 14 ] = 0; + te[ 15 ] = 1; + + return this; + + }, + + makeRotationFromQuaternion: function ( q ) { + + var te = this.elements; + + var x = q._x, y = q._y, z = q._z, w = q._w; + var x2 = x + x, y2 = y + y, z2 = z + z; + var xx = x * x2, xy = x * y2, xz = x * z2; + var yy = y * y2, yz = y * z2, zz = z * z2; + var wx = w * x2, wy = w * y2, wz = w * z2; + + te[ 0 ] = 1 - ( yy + zz ); + te[ 4 ] = xy - wz; + te[ 8 ] = xz + wy; + + te[ 1 ] = xy + wz; + te[ 5 ] = 1 - ( xx + zz ); + te[ 9 ] = yz - wx; + + te[ 2 ] = xz - wy; + te[ 6 ] = yz + wx; + te[ 10 ] = 1 - ( xx + yy ); + + // last column + te[ 3 ] = 0; + te[ 7 ] = 0; + te[ 11 ] = 0; + + // bottom row + te[ 12 ] = 0; + te[ 13 ] = 0; + te[ 14 ] = 0; + te[ 15 ] = 1; + + return this; + + }, + + lookAt: function () { + + var x = new Vector3(); + var y = new Vector3(); + var z = new Vector3(); + + return function lookAt( eye, target, up ) { + + var te = this.elements; + + z.subVectors( eye, target ); + + if ( z.lengthSq() === 0 ) { + + // eye and target are in the same position + + z.z = 1; + + } + + z.normalize(); + x.crossVectors( up, z ); + + if ( x.lengthSq() === 0 ) { + + // eye and target are in the same vertical + + z.z += 0.0001; + x.crossVectors( up, z ); + + } + + x.normalize(); + y.crossVectors( z, x ); + + te[ 0 ] = x.x; te[ 4 ] = y.x; te[ 8 ] = z.x; + te[ 1 ] = x.y; te[ 5 ] = y.y; te[ 9 ] = z.y; + te[ 2 ] = x.z; te[ 6 ] = y.z; te[ 10 ] = z.z; + + return this; + + }; + + }(), + + multiply: function ( m, n ) { + + if ( n !== undefined ) { + + console.warn( 'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.' ); + return this.multiplyMatrices( m, n ); + + } + + return this.multiplyMatrices( this, m ); + + }, + + premultiply: function ( m ) { + + return this.multiplyMatrices( m, this ); + + }, + + multiplyMatrices: function ( a, b ) { + + var ae = a.elements; + var be = b.elements; + var te = this.elements; + + var a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ]; + var a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ]; + var a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ]; + var a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ]; + + var b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ]; + var b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ]; + var b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ]; + var b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ]; + + te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + + te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + + te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + + te[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + + return this; + + }, + + multiplyScalar: function ( s ) { + + var te = this.elements; + + te[ 0 ] *= s; te[ 4 ] *= s; te[ 8 ] *= s; te[ 12 ] *= s; + te[ 1 ] *= s; te[ 5 ] *= s; te[ 9 ] *= s; te[ 13 ] *= s; + te[ 2 ] *= s; te[ 6 ] *= s; te[ 10 ] *= s; te[ 14 ] *= s; + te[ 3 ] *= s; te[ 7 ] *= s; te[ 11 ] *= s; te[ 15 ] *= s; + + return this; + + }, + + applyToBufferAttribute: function () { + + var v1 = new Vector3(); + + return function applyToBufferAttribute( attribute ) { + + for ( var i = 0, l = attribute.count; i < l; i ++ ) { + + v1.x = attribute.getX( i ); + v1.y = attribute.getY( i ); + v1.z = attribute.getZ( i ); + + v1.applyMatrix4( this ); + + attribute.setXYZ( i, v1.x, v1.y, v1.z ); + + } + + return attribute; + + }; + + }(), + + determinant: function () { + + var te = this.elements; + + var n11 = te[ 0 ], n12 = te[ 4 ], n13 = te[ 8 ], n14 = te[ 12 ]; + var n21 = te[ 1 ], n22 = te[ 5 ], n23 = te[ 9 ], n24 = te[ 13 ]; + var n31 = te[ 2 ], n32 = te[ 6 ], n33 = te[ 10 ], n34 = te[ 14 ]; + var n41 = te[ 3 ], n42 = te[ 7 ], n43 = te[ 11 ], n44 = te[ 15 ]; + + //TODO: make this more efficient + //( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm ) + + return ( + n41 * ( + + n14 * n23 * n32 + - n13 * n24 * n32 + - n14 * n22 * n33 + + n12 * n24 * n33 + + n13 * n22 * n34 + - n12 * n23 * n34 + ) + + n42 * ( + + n11 * n23 * n34 + - n11 * n24 * n33 + + n14 * n21 * n33 + - n13 * n21 * n34 + + n13 * n24 * n31 + - n14 * n23 * n31 + ) + + n43 * ( + + n11 * n24 * n32 + - n11 * n22 * n34 + - n14 * n21 * n32 + + n12 * n21 * n34 + + n14 * n22 * n31 + - n12 * n24 * n31 + ) + + n44 * ( + - n13 * n22 * n31 + - n11 * n23 * n32 + + n11 * n22 * n33 + + n13 * n21 * n32 + - n12 * n21 * n33 + + n12 * n23 * n31 + ) + + ); + + }, + + transpose: function () { + + var te = this.elements; + var tmp; + + tmp = te[ 1 ]; te[ 1 ] = te[ 4 ]; te[ 4 ] = tmp; + tmp = te[ 2 ]; te[ 2 ] = te[ 8 ]; te[ 8 ] = tmp; + tmp = te[ 6 ]; te[ 6 ] = te[ 9 ]; te[ 9 ] = tmp; + + tmp = te[ 3 ]; te[ 3 ] = te[ 12 ]; te[ 12 ] = tmp; + tmp = te[ 7 ]; te[ 7 ] = te[ 13 ]; te[ 13 ] = tmp; + tmp = te[ 11 ]; te[ 11 ] = te[ 14 ]; te[ 14 ] = tmp; + + return this; + + }, + + setPosition: function ( v ) { + + var te = this.elements; + + te[ 12 ] = v.x; + te[ 13 ] = v.y; + te[ 14 ] = v.z; + + return this; + + }, + + getInverse: function ( m, throwOnDegenerate ) { + + // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm + var te = this.elements, + me = m.elements, + + n11 = me[ 0 ], n21 = me[ 1 ], n31 = me[ 2 ], n41 = me[ 3 ], + n12 = me[ 4 ], n22 = me[ 5 ], n32 = me[ 6 ], n42 = me[ 7 ], + n13 = me[ 8 ], n23 = me[ 9 ], n33 = me[ 10 ], n43 = me[ 11 ], + n14 = me[ 12 ], n24 = me[ 13 ], n34 = me[ 14 ], n44 = me[ 15 ], + + t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, + t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, + t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, + t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; + + var det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; + + if ( det === 0 ) { + + var msg = "THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0"; + + if ( throwOnDegenerate === true ) { + + throw new Error( msg ); + + } else { + + console.warn( msg ); + + } + + return this.identity(); + + } + + var detInv = 1 / det; + + te[ 0 ] = t11 * detInv; + te[ 1 ] = ( n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44 ) * detInv; + te[ 2 ] = ( n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44 ) * detInv; + te[ 3 ] = ( n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43 ) * detInv; + + te[ 4 ] = t12 * detInv; + te[ 5 ] = ( n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44 ) * detInv; + te[ 6 ] = ( n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44 ) * detInv; + te[ 7 ] = ( n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43 ) * detInv; + + te[ 8 ] = t13 * detInv; + te[ 9 ] = ( n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44 ) * detInv; + te[ 10 ] = ( n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44 ) * detInv; + te[ 11 ] = ( n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43 ) * detInv; + + te[ 12 ] = t14 * detInv; + te[ 13 ] = ( n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34 ) * detInv; + te[ 14 ] = ( n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34 ) * detInv; + te[ 15 ] = ( n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33 ) * detInv; + + return this; + + }, + + scale: function ( v ) { + + var te = this.elements; + var x = v.x, y = v.y, z = v.z; + + te[ 0 ] *= x; te[ 4 ] *= y; te[ 8 ] *= z; + te[ 1 ] *= x; te[ 5 ] *= y; te[ 9 ] *= z; + te[ 2 ] *= x; te[ 6 ] *= y; te[ 10 ] *= z; + te[ 3 ] *= x; te[ 7 ] *= y; te[ 11 ] *= z; + + return this; + + }, + + getMaxScaleOnAxis: function () { + + var te = this.elements; + + var scaleXSq = te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] + te[ 2 ] * te[ 2 ]; + var scaleYSq = te[ 4 ] * te[ 4 ] + te[ 5 ] * te[ 5 ] + te[ 6 ] * te[ 6 ]; + var scaleZSq = te[ 8 ] * te[ 8 ] + te[ 9 ] * te[ 9 ] + te[ 10 ] * te[ 10 ]; + + return Math.sqrt( Math.max( scaleXSq, scaleYSq, scaleZSq ) ); + + }, + + makeTranslation: function ( x, y, z ) { + + this.set( + + 1, 0, 0, x, + 0, 1, 0, y, + 0, 0, 1, z, + 0, 0, 0, 1 + + ); + + return this; + + }, + + makeRotationX: function ( theta ) { + + var c = Math.cos( theta ), s = Math.sin( theta ); + + this.set( + + 1, 0, 0, 0, + 0, c, - s, 0, + 0, s, c, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + makeRotationY: function ( theta ) { + + var c = Math.cos( theta ), s = Math.sin( theta ); + + this.set( + + c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + makeRotationZ: function ( theta ) { + + var c = Math.cos( theta ), s = Math.sin( theta ); + + this.set( + + c, - s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + makeRotationAxis: function ( axis, angle ) { + + // Based on http://www.gamedev.net/reference/articles/article1199.asp + + var c = Math.cos( angle ); + var s = Math.sin( angle ); + var t = 1 - c; + var x = axis.x, y = axis.y, z = axis.z; + var tx = t * x, ty = t * y; + + this.set( + + tx * x + c, tx * y - s * z, tx * z + s * y, 0, + tx * y + s * z, ty * y + c, ty * z - s * x, 0, + tx * z - s * y, ty * z + s * x, t * z * z + c, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + makeScale: function ( x, y, z ) { + + this.set( + + x, 0, 0, 0, + 0, y, 0, 0, + 0, 0, z, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + makeShear: function ( x, y, z ) { + + this.set( + + 1, y, z, 0, + x, 1, z, 0, + x, y, 1, 0, + 0, 0, 0, 1 + + ); + + return this; + + }, + + compose: function ( position, quaternion, scale ) { + + this.makeRotationFromQuaternion( quaternion ); + this.scale( scale ); + this.setPosition( position ); + + return this; + + }, + + decompose: function () { + + var vector = new Vector3(); + var matrix = new Matrix4(); + + return function decompose( position, quaternion, scale ) { + + var te = this.elements; + + var sx = vector.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length(); + var sy = vector.set( te[ 4 ], te[ 5 ], te[ 6 ] ).length(); + var sz = vector.set( te[ 8 ], te[ 9 ], te[ 10 ] ).length(); + + // if determine is negative, we need to invert one scale + var det = this.determinant(); + if ( det < 0 ) sx = - sx; + + position.x = te[ 12 ]; + position.y = te[ 13 ]; + position.z = te[ 14 ]; + + // scale the rotation part + matrix.copy( this ); + + var invSX = 1 / sx; + var invSY = 1 / sy; + var invSZ = 1 / sz; + + matrix.elements[ 0 ] *= invSX; + matrix.elements[ 1 ] *= invSX; + matrix.elements[ 2 ] *= invSX; + + matrix.elements[ 4 ] *= invSY; + matrix.elements[ 5 ] *= invSY; + matrix.elements[ 6 ] *= invSY; + + matrix.elements[ 8 ] *= invSZ; + matrix.elements[ 9 ] *= invSZ; + matrix.elements[ 10 ] *= invSZ; + + quaternion.setFromRotationMatrix( matrix ); + + scale.x = sx; + scale.y = sy; + scale.z = sz; + + return this; + + }; + + }(), + + makePerspective: function ( left, right, top, bottom, near, far ) { + + if ( far === undefined ) { + + console.warn( 'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.' ); + + } + + var te = this.elements; + var x = 2 * near / ( right - left ); + var y = 2 * near / ( top - bottom ); + + var a = ( right + left ) / ( right - left ); + var b = ( top + bottom ) / ( top - bottom ); + var c = - ( far + near ) / ( far - near ); + var d = - 2 * far * near / ( far - near ); + + te[ 0 ] = x; te[ 4 ] = 0; te[ 8 ] = a; te[ 12 ] = 0; + te[ 1 ] = 0; te[ 5 ] = y; te[ 9 ] = b; te[ 13 ] = 0; + te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = c; te[ 14 ] = d; + te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = - 1; te[ 15 ] = 0; + + return this; + + }, + + makeOrthographic: function ( left, right, top, bottom, near, far ) { + + var te = this.elements; + var w = 1.0 / ( right - left ); + var h = 1.0 / ( top - bottom ); + var p = 1.0 / ( far - near ); + + var x = ( right + left ) * w; + var y = ( top + bottom ) * h; + var z = ( far + near ) * p; + + te[ 0 ] = 2 * w; te[ 4 ] = 0; te[ 8 ] = 0; te[ 12 ] = - x; + te[ 1 ] = 0; te[ 5 ] = 2 * h; te[ 9 ] = 0; te[ 13 ] = - y; + te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = - 2 * p; te[ 14 ] = - z; + te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = 0; te[ 15 ] = 1; + + return this; + + }, + + equals: function ( matrix ) { + + var te = this.elements; + var me = matrix.elements; + + for ( var i = 0; i < 16; i ++ ) { + + if ( te[ i ] !== me[ i ] ) return false; + + } + + return true; + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + for ( var i = 0; i < 16; i ++ ) { + + this.elements[ i ] = array[ i + offset ]; + + } + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + var te = this.elements; + + array[ offset ] = te[ 0 ]; + array[ offset + 1 ] = te[ 1 ]; + array[ offset + 2 ] = te[ 2 ]; + array[ offset + 3 ] = te[ 3 ]; + + array[ offset + 4 ] = te[ 4 ]; + array[ offset + 5 ] = te[ 5 ]; + array[ offset + 6 ] = te[ 6 ]; + array[ offset + 7 ] = te[ 7 ]; + + array[ offset + 8 ] = te[ 8 ]; + array[ offset + 9 ] = te[ 9 ]; + array[ offset + 10 ] = te[ 10 ]; + array[ offset + 11 ] = te[ 11 ]; + + array[ offset + 12 ] = te[ 12 ]; + array[ offset + 13 ] = te[ 13 ]; + array[ offset + 14 ] = te[ 14 ]; + array[ offset + 15 ] = te[ 15 ]; + + return array; + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function DataTexture( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { + + Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + + this.image = { data: data, width: width, height: height }; + + this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; + this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; + + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + + } + + DataTexture.prototype = Object.create( Texture.prototype ); + DataTexture.prototype.constructor = DataTexture; + + DataTexture.prototype.isDataTexture = true; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { + + images = images !== undefined ? images : []; + mapping = mapping !== undefined ? mapping : CubeReflectionMapping; + + Texture.call( this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + + this.flipY = false; + + } + + CubeTexture.prototype = Object.create( Texture.prototype ); + CubeTexture.prototype.constructor = CubeTexture; + + CubeTexture.prototype.isCubeTexture = true; + + Object.defineProperty( CubeTexture.prototype, 'images', { + + get: function () { + + return this.image; + + }, + + set: function ( value ) { + + this.image = value; + + } + + } ); + + /** + * @author tschw + * + * Uniforms of a program. + * Those form a tree structure with a special top-level container for the root, + * which you get by calling 'new WebGLUniforms( gl, program, renderer )'. + * + * + * Properties of inner nodes including the top-level container: + * + * .seq - array of nested uniforms + * .map - nested uniforms by name + * + * + * Methods of all nodes except the top-level container: + * + * .setValue( gl, value, [renderer] ) + * + * uploads a uniform value(s) + * the 'renderer' parameter is needed for sampler uniforms + * + * + * Static methods of the top-level container (renderer factorizations): + * + * .upload( gl, seq, values, renderer ) + * + * sets uniforms in 'seq' to 'values[id].value' + * + * .seqWithValue( seq, values ) : filteredSeq + * + * filters 'seq' entries with corresponding entry in values + * + * + * Methods of the top-level container (renderer factorizations): + * + * .setValue( gl, name, value ) + * + * sets uniform with name 'name' to 'value' + * + * .set( gl, obj, prop ) + * + * sets uniform from object and property with same name than uniform + * + * .setOptional( gl, obj, prop ) + * + * like .set for an optional property of the object + * + */ + + var emptyTexture = new Texture(); + var emptyCubeTexture = new CubeTexture(); + + // --- Base for inner nodes (including the root) --- + + function UniformContainer() { + + this.seq = []; + this.map = {}; + + } + + // --- Utilities --- + + // Array Caches (provide typed arrays for temporary by size) + + var arrayCacheF32 = []; + var arrayCacheI32 = []; + + // Float32Array caches used for uploading Matrix uniforms + + var mat4array = new Float32Array( 16 ); + var mat3array = new Float32Array( 9 ); + + // Flattening for arrays of vectors and matrices + + function flatten( array, nBlocks, blockSize ) { + + var firstElem = array[ 0 ]; + + if ( firstElem <= 0 || firstElem > 0 ) return array; + // unoptimized: ! isNaN( firstElem ) + // see http://jacksondunstan.com/articles/983 + + var n = nBlocks * blockSize, + r = arrayCacheF32[ n ]; + + if ( r === undefined ) { + + r = new Float32Array( n ); + arrayCacheF32[ n ] = r; + + } + + if ( nBlocks !== 0 ) { + + firstElem.toArray( r, 0 ); + + for ( var i = 1, offset = 0; i !== nBlocks; ++ i ) { + + offset += blockSize; + array[ i ].toArray( r, offset ); + + } + + } + + return r; + + } + + // Texture unit allocation + + function allocTexUnits( renderer, n ) { + + var r = arrayCacheI32[ n ]; + + if ( r === undefined ) { + + r = new Int32Array( n ); + arrayCacheI32[ n ] = r; + + } + + for ( var i = 0; i !== n; ++ i ) + r[ i ] = renderer.allocTextureUnit(); + + return r; + + } + + // --- Setters --- + + // Note: Defining these methods externally, because they come in a bunch + // and this way their names minify. + + // Single scalar + + function setValue1f( gl, v ) { gl.uniform1f( this.addr, v ); } + function setValue1i( gl, v ) { gl.uniform1i( this.addr, v ); } + + // Single float vector (from flat array or THREE.VectorN) + + function setValue2fv( gl, v ) { + + if ( v.x === undefined ) gl.uniform2fv( this.addr, v ); + else gl.uniform2f( this.addr, v.x, v.y ); + + } + + function setValue3fv( gl, v ) { + + if ( v.x !== undefined ) + gl.uniform3f( this.addr, v.x, v.y, v.z ); + else if ( v.r !== undefined ) + gl.uniform3f( this.addr, v.r, v.g, v.b ); + else + gl.uniform3fv( this.addr, v ); + + } + + function setValue4fv( gl, v ) { + + if ( v.x === undefined ) gl.uniform4fv( this.addr, v ); + else gl.uniform4f( this.addr, v.x, v.y, v.z, v.w ); + + } + + // Single matrix (from flat array or MatrixN) + + function setValue2fm( gl, v ) { + + gl.uniformMatrix2fv( this.addr, false, v.elements || v ); + + } + + function setValue3fm( gl, v ) { + + if ( v.elements === undefined ) { + + gl.uniformMatrix3fv( this.addr, false, v ); + + } else { + + mat3array.set( v.elements ); + gl.uniformMatrix3fv( this.addr, false, mat3array ); + + } + + } + + function setValue4fm( gl, v ) { + + if ( v.elements === undefined ) { + + gl.uniformMatrix4fv( this.addr, false, v ); + + } else { + + mat4array.set( v.elements ); + gl.uniformMatrix4fv( this.addr, false, mat4array ); + + } + + } + + // Single texture (2D / Cube) + + function setValueT1( gl, v, renderer ) { + + var unit = renderer.allocTextureUnit(); + gl.uniform1i( this.addr, unit ); + renderer.setTexture2D( v || emptyTexture, unit ); + + } + + function setValueT6( gl, v, renderer ) { + + var unit = renderer.allocTextureUnit(); + gl.uniform1i( this.addr, unit ); + renderer.setTextureCube( v || emptyCubeTexture, unit ); + + } + + // Integer / Boolean vectors or arrays thereof (always flat arrays) + + function setValue2iv( gl, v ) { gl.uniform2iv( this.addr, v ); } + function setValue3iv( gl, v ) { gl.uniform3iv( this.addr, v ); } + function setValue4iv( gl, v ) { gl.uniform4iv( this.addr, v ); } + + // Helper to pick the right setter for the singular case + + function getSingularSetter( type ) { + + switch ( type ) { + + case 0x1406: return setValue1f; // FLOAT + case 0x8b50: return setValue2fv; // _VEC2 + case 0x8b51: return setValue3fv; // _VEC3 + case 0x8b52: return setValue4fv; // _VEC4 + + case 0x8b5a: return setValue2fm; // _MAT2 + case 0x8b5b: return setValue3fm; // _MAT3 + case 0x8b5c: return setValue4fm; // _MAT4 + + case 0x8b5e: return setValueT1; // SAMPLER_2D + case 0x8b60: return setValueT6; // SAMPLER_CUBE + + case 0x1404: case 0x8b56: return setValue1i; // INT, BOOL + case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2 + case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3 + case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4 + + } + + } + + // Array of scalars + + function setValue1fv( gl, v ) { gl.uniform1fv( this.addr, v ); } + function setValue1iv( gl, v ) { gl.uniform1iv( this.addr, v ); } + + // Array of vectors (flat or from THREE classes) + + function setValueV2a( gl, v ) { + + gl.uniform2fv( this.addr, flatten( v, this.size, 2 ) ); + + } + + function setValueV3a( gl, v ) { + + gl.uniform3fv( this.addr, flatten( v, this.size, 3 ) ); + + } + + function setValueV4a( gl, v ) { + + gl.uniform4fv( this.addr, flatten( v, this.size, 4 ) ); + + } + + // Array of matrices (flat or from THREE clases) + + function setValueM2a( gl, v ) { + + gl.uniformMatrix2fv( this.addr, false, flatten( v, this.size, 4 ) ); + + } + + function setValueM3a( gl, v ) { + + gl.uniformMatrix3fv( this.addr, false, flatten( v, this.size, 9 ) ); + + } + + function setValueM4a( gl, v ) { + + gl.uniformMatrix4fv( this.addr, false, flatten( v, this.size, 16 ) ); + + } + + // Array of textures (2D / Cube) + + function setValueT1a( gl, v, renderer ) { + + var n = v.length, + units = allocTexUnits( renderer, n ); + + gl.uniform1iv( this.addr, units ); + + for ( var i = 0; i !== n; ++ i ) { + + renderer.setTexture2D( v[ i ] || emptyTexture, units[ i ] ); + + } + + } + + function setValueT6a( gl, v, renderer ) { + + var n = v.length, + units = allocTexUnits( renderer, n ); + + gl.uniform1iv( this.addr, units ); + + for ( var i = 0; i !== n; ++ i ) { + + renderer.setTextureCube( v[ i ] || emptyCubeTexture, units[ i ] ); + + } + + } + + // Helper to pick the right setter for a pure (bottom-level) array + + function getPureArraySetter( type ) { + + switch ( type ) { + + case 0x1406: return setValue1fv; // FLOAT + case 0x8b50: return setValueV2a; // _VEC2 + case 0x8b51: return setValueV3a; // _VEC3 + case 0x8b52: return setValueV4a; // _VEC4 + + case 0x8b5a: return setValueM2a; // _MAT2 + case 0x8b5b: return setValueM3a; // _MAT3 + case 0x8b5c: return setValueM4a; // _MAT4 + + case 0x8b5e: return setValueT1a; // SAMPLER_2D + case 0x8b60: return setValueT6a; // SAMPLER_CUBE + + case 0x1404: case 0x8b56: return setValue1iv; // INT, BOOL + case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2 + case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3 + case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4 + + } + + } + + // --- Uniform Classes --- + + function SingleUniform( id, activeInfo, addr ) { + + this.id = id; + this.addr = addr; + this.setValue = getSingularSetter( activeInfo.type ); + + // this.path = activeInfo.name; // DEBUG + + } + + function PureArrayUniform( id, activeInfo, addr ) { + + this.id = id; + this.addr = addr; + this.size = activeInfo.size; + this.setValue = getPureArraySetter( activeInfo.type ); + + // this.path = activeInfo.name; // DEBUG + + } + + function StructuredUniform( id ) { + + this.id = id; + + UniformContainer.call( this ); // mix-in + + } + + StructuredUniform.prototype.setValue = function ( gl, value ) { + + // Note: Don't need an extra 'renderer' parameter, since samplers + // are not allowed in structured uniforms. + + var seq = this.seq; + + for ( var i = 0, n = seq.length; i !== n; ++ i ) { + + var u = seq[ i ]; + u.setValue( gl, value[ u.id ] ); + + } + + }; + + // --- Top-level --- + + // Parser - builds up the property tree from the path strings + + var RePathPart = /([\w\d_]+)(\])?(\[|\.)?/g; + + // extracts + // - the identifier (member name or array index) + // - followed by an optional right bracket (found when array index) + // - followed by an optional left bracket or dot (type of subscript) + // + // Note: These portions can be read in a non-overlapping fashion and + // allow straightforward parsing of the hierarchy that WebGL encodes + // in the uniform names. + + function addUniform( container, uniformObject ) { + + container.seq.push( uniformObject ); + container.map[ uniformObject.id ] = uniformObject; + + } + + function parseUniform( activeInfo, addr, container ) { + + var path = activeInfo.name, + pathLength = path.length; + + // reset RegExp object, because of the early exit of a previous run + RePathPart.lastIndex = 0; + + for ( ; ; ) { + + var match = RePathPart.exec( path ), + matchEnd = RePathPart.lastIndex, + + id = match[ 1 ], + idIsIndex = match[ 2 ] === ']', + subscript = match[ 3 ]; + + if ( idIsIndex ) id = id | 0; // convert to integer + + if ( subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength ) { + + // bare name or "pure" bottom-level array "[0]" suffix + + addUniform( container, subscript === undefined ? + new SingleUniform( id, activeInfo, addr ) : + new PureArrayUniform( id, activeInfo, addr ) ); + + break; + + } else { + + // step into inner node / create it in case it doesn't exist + + var map = container.map, next = map[ id ]; + + if ( next === undefined ) { + + next = new StructuredUniform( id ); + addUniform( container, next ); + + } + + container = next; + + } + + } + + } + + // Root Container + + function WebGLUniforms( gl, program, renderer ) { + + UniformContainer.call( this ); + + this.renderer = renderer; + + var n = gl.getProgramParameter( program, gl.ACTIVE_UNIFORMS ); + + for ( var i = 0; i < n; ++ i ) { + + var info = gl.getActiveUniform( program, i ), + path = info.name, + addr = gl.getUniformLocation( program, path ); + + parseUniform( info, addr, this ); + + } + + } + + WebGLUniforms.prototype.setValue = function ( gl, name, value ) { + + var u = this.map[ name ]; + + if ( u !== undefined ) u.setValue( gl, value, this.renderer ); + + }; + + WebGLUniforms.prototype.setOptional = function ( gl, object, name ) { + + var v = object[ name ]; + + if ( v !== undefined ) this.setValue( gl, name, v ); + + }; + + + // Static interface + + WebGLUniforms.upload = function ( gl, seq, values, renderer ) { + + for ( var i = 0, n = seq.length; i !== n; ++ i ) { + + var u = seq[ i ], + v = values[ u.id ]; + + if ( v.needsUpdate !== false ) { + + // note: always updating when .needsUpdate is undefined + u.setValue( gl, v.value, renderer ); + + } + + } + + }; + + WebGLUniforms.seqWithValue = function ( seq, values ) { + + var r = []; + + for ( var i = 0, n = seq.length; i !== n; ++ i ) { + + var u = seq[ i ]; + if ( u.id in values ) r.push( u ); + + } + + return r; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + var ColorKeywords = { 'aliceblue': 0xF0F8FF, 'antiquewhite': 0xFAEBD7, 'aqua': 0x00FFFF, 'aquamarine': 0x7FFFD4, 'azure': 0xF0FFFF, + 'beige': 0xF5F5DC, 'bisque': 0xFFE4C4, 'black': 0x000000, 'blanchedalmond': 0xFFEBCD, 'blue': 0x0000FF, 'blueviolet': 0x8A2BE2, + 'brown': 0xA52A2A, 'burlywood': 0xDEB887, 'cadetblue': 0x5F9EA0, 'chartreuse': 0x7FFF00, 'chocolate': 0xD2691E, 'coral': 0xFF7F50, + 'cornflowerblue': 0x6495ED, 'cornsilk': 0xFFF8DC, 'crimson': 0xDC143C, 'cyan': 0x00FFFF, 'darkblue': 0x00008B, 'darkcyan': 0x008B8B, + 'darkgoldenrod': 0xB8860B, 'darkgray': 0xA9A9A9, 'darkgreen': 0x006400, 'darkgrey': 0xA9A9A9, 'darkkhaki': 0xBDB76B, 'darkmagenta': 0x8B008B, + 'darkolivegreen': 0x556B2F, 'darkorange': 0xFF8C00, 'darkorchid': 0x9932CC, 'darkred': 0x8B0000, 'darksalmon': 0xE9967A, 'darkseagreen': 0x8FBC8F, + 'darkslateblue': 0x483D8B, 'darkslategray': 0x2F4F4F, 'darkslategrey': 0x2F4F4F, 'darkturquoise': 0x00CED1, 'darkviolet': 0x9400D3, + 'deeppink': 0xFF1493, 'deepskyblue': 0x00BFFF, 'dimgray': 0x696969, 'dimgrey': 0x696969, 'dodgerblue': 0x1E90FF, 'firebrick': 0xB22222, + 'floralwhite': 0xFFFAF0, 'forestgreen': 0x228B22, 'fuchsia': 0xFF00FF, 'gainsboro': 0xDCDCDC, 'ghostwhite': 0xF8F8FF, 'gold': 0xFFD700, + 'goldenrod': 0xDAA520, 'gray': 0x808080, 'green': 0x008000, 'greenyellow': 0xADFF2F, 'grey': 0x808080, 'honeydew': 0xF0FFF0, 'hotpink': 0xFF69B4, + 'indianred': 0xCD5C5C, 'indigo': 0x4B0082, 'ivory': 0xFFFFF0, 'khaki': 0xF0E68C, 'lavender': 0xE6E6FA, 'lavenderblush': 0xFFF0F5, 'lawngreen': 0x7CFC00, + 'lemonchiffon': 0xFFFACD, 'lightblue': 0xADD8E6, 'lightcoral': 0xF08080, 'lightcyan': 0xE0FFFF, 'lightgoldenrodyellow': 0xFAFAD2, 'lightgray': 0xD3D3D3, + 'lightgreen': 0x90EE90, 'lightgrey': 0xD3D3D3, 'lightpink': 0xFFB6C1, 'lightsalmon': 0xFFA07A, 'lightseagreen': 0x20B2AA, 'lightskyblue': 0x87CEFA, + 'lightslategray': 0x778899, 'lightslategrey': 0x778899, 'lightsteelblue': 0xB0C4DE, 'lightyellow': 0xFFFFE0, 'lime': 0x00FF00, 'limegreen': 0x32CD32, + 'linen': 0xFAF0E6, 'magenta': 0xFF00FF, 'maroon': 0x800000, 'mediumaquamarine': 0x66CDAA, 'mediumblue': 0x0000CD, 'mediumorchid': 0xBA55D3, + 'mediumpurple': 0x9370DB, 'mediumseagreen': 0x3CB371, 'mediumslateblue': 0x7B68EE, 'mediumspringgreen': 0x00FA9A, 'mediumturquoise': 0x48D1CC, + 'mediumvioletred': 0xC71585, 'midnightblue': 0x191970, 'mintcream': 0xF5FFFA, 'mistyrose': 0xFFE4E1, 'moccasin': 0xFFE4B5, 'navajowhite': 0xFFDEAD, + 'navy': 0x000080, 'oldlace': 0xFDF5E6, 'olive': 0x808000, 'olivedrab': 0x6B8E23, 'orange': 0xFFA500, 'orangered': 0xFF4500, 'orchid': 0xDA70D6, + 'palegoldenrod': 0xEEE8AA, 'palegreen': 0x98FB98, 'paleturquoise': 0xAFEEEE, 'palevioletred': 0xDB7093, 'papayawhip': 0xFFEFD5, 'peachpuff': 0xFFDAB9, + 'peru': 0xCD853F, 'pink': 0xFFC0CB, 'plum': 0xDDA0DD, 'powderblue': 0xB0E0E6, 'purple': 0x800080, 'red': 0xFF0000, 'rosybrown': 0xBC8F8F, + 'royalblue': 0x4169E1, 'saddlebrown': 0x8B4513, 'salmon': 0xFA8072, 'sandybrown': 0xF4A460, 'seagreen': 0x2E8B57, 'seashell': 0xFFF5EE, + 'sienna': 0xA0522D, 'silver': 0xC0C0C0, 'skyblue': 0x87CEEB, 'slateblue': 0x6A5ACD, 'slategray': 0x708090, 'slategrey': 0x708090, 'snow': 0xFFFAFA, + 'springgreen': 0x00FF7F, 'steelblue': 0x4682B4, 'tan': 0xD2B48C, 'teal': 0x008080, 'thistle': 0xD8BFD8, 'tomato': 0xFF6347, 'turquoise': 0x40E0D0, + 'violet': 0xEE82EE, 'wheat': 0xF5DEB3, 'white': 0xFFFFFF, 'whitesmoke': 0xF5F5F5, 'yellow': 0xFFFF00, 'yellowgreen': 0x9ACD32 }; + + function Color( r, g, b ) { + + if ( g === undefined && b === undefined ) { + + // r is THREE.Color, hex or string + return this.set( r ); + + } + + return this.setRGB( r, g, b ); + + } + + Object.assign( Color.prototype, { + + isColor: true, + + r: 1, g: 1, b: 1, + + set: function ( value ) { + + if ( value && value.isColor ) { + + this.copy( value ); + + } else if ( typeof value === 'number' ) { + + this.setHex( value ); + + } else if ( typeof value === 'string' ) { + + this.setStyle( value ); + + } + + return this; + + }, + + setScalar: function ( scalar ) { + + this.r = scalar; + this.g = scalar; + this.b = scalar; + + return this; + + }, + + setHex: function ( hex ) { + + hex = Math.floor( hex ); + + this.r = ( hex >> 16 & 255 ) / 255; + this.g = ( hex >> 8 & 255 ) / 255; + this.b = ( hex & 255 ) / 255; + + return this; + + }, + + setRGB: function ( r, g, b ) { + + this.r = r; + this.g = g; + this.b = b; + + return this; + + }, + + setHSL: function () { + + function hue2rgb( p, q, t ) { + + if ( t < 0 ) t += 1; + if ( t > 1 ) t -= 1; + if ( t < 1 / 6 ) return p + ( q - p ) * 6 * t; + if ( t < 1 / 2 ) return q; + if ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t ); + return p; + + } + + return function setHSL( h, s, l ) { + + // h,s,l ranges are in 0.0 - 1.0 + h = _Math.euclideanModulo( h, 1 ); + s = _Math.clamp( s, 0, 1 ); + l = _Math.clamp( l, 0, 1 ); + + if ( s === 0 ) { + + this.r = this.g = this.b = l; + + } else { + + var p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s ); + var q = ( 2 * l ) - p; + + this.r = hue2rgb( q, p, h + 1 / 3 ); + this.g = hue2rgb( q, p, h ); + this.b = hue2rgb( q, p, h - 1 / 3 ); + + } + + return this; + + }; + + }(), + + setStyle: function ( style ) { + + function handleAlpha( string ) { + + if ( string === undefined ) return; + + if ( parseFloat( string ) < 1 ) { + + console.warn( 'THREE.Color: Alpha component of ' + style + ' will be ignored.' ); + + } + + } + + + var m; + + if ( m = /^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec( style ) ) { + + // rgb / hsl + + var color; + var name = m[ 1 ]; + var components = m[ 2 ]; + + switch ( name ) { + + case 'rgb': + case 'rgba': + + if ( color = /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { + + // rgb(255,0,0) rgba(255,0,0,0.5) + this.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255; + this.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255; + this.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255; + + handleAlpha( color[ 5 ] ); + + return this; + + } + + if ( color = /^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { + + // rgb(100%,0%,0%) rgba(100%,0%,0%,0.5) + this.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100; + this.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100; + this.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100; + + handleAlpha( color[ 5 ] ); + + return this; + + } + + break; + + case 'hsl': + case 'hsla': + + if ( color = /^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { + + // hsl(120,50%,50%) hsla(120,50%,50%,0.5) + var h = parseFloat( color[ 1 ] ) / 360; + var s = parseInt( color[ 2 ], 10 ) / 100; + var l = parseInt( color[ 3 ], 10 ) / 100; + + handleAlpha( color[ 5 ] ); + + return this.setHSL( h, s, l ); + + } + + break; + + } + + } else if ( m = /^\#([A-Fa-f0-9]+)$/.exec( style ) ) { + + // hex color + + var hex = m[ 1 ]; + var size = hex.length; + + if ( size === 3 ) { + + // #ff0 + this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 0 ), 16 ) / 255; + this.g = parseInt( hex.charAt( 1 ) + hex.charAt( 1 ), 16 ) / 255; + this.b = parseInt( hex.charAt( 2 ) + hex.charAt( 2 ), 16 ) / 255; + + return this; + + } else if ( size === 6 ) { + + // #ff0000 + this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 1 ), 16 ) / 255; + this.g = parseInt( hex.charAt( 2 ) + hex.charAt( 3 ), 16 ) / 255; + this.b = parseInt( hex.charAt( 4 ) + hex.charAt( 5 ), 16 ) / 255; + + return this; + + } + + } + + if ( style && style.length > 0 ) { + + // color keywords + var hex = ColorKeywords[ style ]; + + if ( hex !== undefined ) { + + // red + this.setHex( hex ); + + } else { + + // unknown color + console.warn( 'THREE.Color: Unknown color ' + style ); + + } + + } + + return this; + + }, + + clone: function () { + + return new this.constructor( this.r, this.g, this.b ); + + }, + + copy: function ( color ) { + + this.r = color.r; + this.g = color.g; + this.b = color.b; + + return this; + + }, + + copyGammaToLinear: function ( color, gammaFactor ) { + + if ( gammaFactor === undefined ) gammaFactor = 2.0; + + this.r = Math.pow( color.r, gammaFactor ); + this.g = Math.pow( color.g, gammaFactor ); + this.b = Math.pow( color.b, gammaFactor ); + + return this; + + }, + + copyLinearToGamma: function ( color, gammaFactor ) { + + if ( gammaFactor === undefined ) gammaFactor = 2.0; + + var safeInverse = ( gammaFactor > 0 ) ? ( 1.0 / gammaFactor ) : 1.0; + + this.r = Math.pow( color.r, safeInverse ); + this.g = Math.pow( color.g, safeInverse ); + this.b = Math.pow( color.b, safeInverse ); + + return this; + + }, + + convertGammaToLinear: function () { + + var r = this.r, g = this.g, b = this.b; + + this.r = r * r; + this.g = g * g; + this.b = b * b; + + return this; + + }, + + convertLinearToGamma: function () { + + this.r = Math.sqrt( this.r ); + this.g = Math.sqrt( this.g ); + this.b = Math.sqrt( this.b ); + + return this; + + }, + + getHex: function () { + + return ( this.r * 255 ) << 16 ^ ( this.g * 255 ) << 8 ^ ( this.b * 255 ) << 0; + + }, + + getHexString: function () { + + return ( '000000' + this.getHex().toString( 16 ) ).slice( - 6 ); + + }, + + getHSL: function ( optionalTarget ) { + + // h,s,l ranges are in 0.0 - 1.0 + + var hsl = optionalTarget || { h: 0, s: 0, l: 0 }; + + var r = this.r, g = this.g, b = this.b; + + var max = Math.max( r, g, b ); + var min = Math.min( r, g, b ); + + var hue, saturation; + var lightness = ( min + max ) / 2.0; + + if ( min === max ) { + + hue = 0; + saturation = 0; + + } else { + + var delta = max - min; + + saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min ); + + switch ( max ) { + + case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break; + case g: hue = ( b - r ) / delta + 2; break; + case b: hue = ( r - g ) / delta + 4; break; + + } + + hue /= 6; + + } + + hsl.h = hue; + hsl.s = saturation; + hsl.l = lightness; + + return hsl; + + }, + + getStyle: function () { + + return 'rgb(' + ( ( this.r * 255 ) | 0 ) + ',' + ( ( this.g * 255 ) | 0 ) + ',' + ( ( this.b * 255 ) | 0 ) + ')'; + + }, + + offsetHSL: function ( h, s, l ) { + + var hsl = this.getHSL(); + + hsl.h += h; hsl.s += s; hsl.l += l; + + this.setHSL( hsl.h, hsl.s, hsl.l ); + + return this; + + }, + + add: function ( color ) { + + this.r += color.r; + this.g += color.g; + this.b += color.b; + + return this; + + }, + + addColors: function ( color1, color2 ) { + + this.r = color1.r + color2.r; + this.g = color1.g + color2.g; + this.b = color1.b + color2.b; + + return this; + + }, + + addScalar: function ( s ) { + + this.r += s; + this.g += s; + this.b += s; + + return this; + + }, + + sub: function( color ) { + + this.r = Math.max( 0, this.r - color.r ); + this.g = Math.max( 0, this.g - color.g ); + this.b = Math.max( 0, this.b - color.b ); + + return this; + + }, + + multiply: function ( color ) { + + this.r *= color.r; + this.g *= color.g; + this.b *= color.b; + + return this; + + }, + + multiplyScalar: function ( s ) { + + this.r *= s; + this.g *= s; + this.b *= s; + + return this; + + }, + + lerp: function ( color, alpha ) { + + this.r += ( color.r - this.r ) * alpha; + this.g += ( color.g - this.g ) * alpha; + this.b += ( color.b - this.b ) * alpha; + + return this; + + }, + + equals: function ( c ) { + + return ( c.r === this.r ) && ( c.g === this.g ) && ( c.b === this.b ); + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + this.r = array[ offset ]; + this.g = array[ offset + 1 ]; + this.b = array[ offset + 2 ]; + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + array[ offset ] = this.r; + array[ offset + 1 ] = this.g; + array[ offset + 2 ] = this.b; + + return array; + + }, + + toJSON: function () { + + return this.getHex(); + + } + + } ); + + /** + * Uniforms library for shared webgl shaders + */ + + var UniformsLib = { + + common: { + + diffuse: { value: new Color( 0xeeeeee ) }, + opacity: { value: 1.0 }, + + map: { value: null }, + offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) }, + + specularMap: { value: null }, + alphaMap: { value: null }, + + envMap: { value: null }, + flipEnvMap: { value: - 1 }, + reflectivity: { value: 1.0 }, + refractionRatio: { value: 0.98 } + + }, + + 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 Vector2( 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: 0.00025 }, + fogNear: { value: 1 }, + fogFar: { value: 2000 }, + fogColor: { value: new Color( 0xffffff ) } + + }, + + 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: {} + } }, + + pointShadowMap: { value: [] }, + pointShadowMatrix: { value: [] }, + + hemisphereLights: { value: [], properties: { + direction: {}, + skyColor: {}, + groundColor: {} + } }, + + // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src + rectAreaLights: { value: [], properties: { + color: {}, + position: {}, + width: {}, + height: {} + } } + + }, + + points: { + + diffuse: { value: new Color( 0xeeeeee ) }, + opacity: { value: 1.0 }, + size: { value: 1.0 }, + scale: { value: 1.0 }, + map: { value: null }, + offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) } + + } + + }; + + /** + * Uniform Utilities + */ + + var UniformsUtils = { + + merge: function ( uniforms ) { + + var merged = {}; + + for ( var u = 0; u < uniforms.length; u ++ ) { + + var tmp = this.clone( uniforms[ u ] ); + + for ( var p in tmp ) { + + merged[ p ] = tmp[ p ]; + + } + + } + + return merged; + + }, + + clone: function ( uniforms_src ) { + + var uniforms_dst = {}; + + for ( var u in uniforms_src ) { + + uniforms_dst[ u ] = {}; + + for ( var p in uniforms_src[ u ] ) { + + var parameter_src = uniforms_src[ u ][ p ]; + + if ( parameter_src && ( parameter_src.isColor || + parameter_src.isMatrix3 || parameter_src.isMatrix4 || + parameter_src.isVector2 || parameter_src.isVector3 || parameter_src.isVector4 || + parameter_src.isTexture ) ) { + + uniforms_dst[ u ][ p ] = parameter_src.clone(); + + } else if ( Array.isArray( parameter_src ) ) { + + uniforms_dst[ u ][ p ] = parameter_src.slice(); + + } else { + + uniforms_dst[ u ][ p ] = parameter_src; + + } + + } + + } + + return uniforms_dst; + + } + + }; + + var alphamap_fragment = "#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n"; + + var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n"; + + var alphatest_fragment = "#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n"; + + var 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"; + + var aomap_pars_fragment = "#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif"; + + var begin_vertex = "\nvec3 transformed = vec3( position );\n"; + + var beginnormal_vertex = "\nvec3 objectNormal = vec3( normal );\n"; + + var bsdfs = "float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\tif( decayExponent > 0.0 ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\treturn distanceFalloff * maxDistanceCutoffFactor;\n#else\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n#endif\n\t}\n\treturn 1.0;\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 theta = acos( dot( N, V ) );\n\tvec2 uv = vec2(\n\t\tsqrt( saturate( roughness ) ),\n\t\tsaturate( theta / ( 0.5 * PI ) ) );\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.86267 + (0.49788 + 0.01436 * y ) * y;\n\tfloat b = 3.45068 + (4.18814 + y) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = (x > 0.0) ? v : 0.5 * inversesqrt( 1.0 - x * x ) - 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 * transpose( 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\tvec3 result = vec3( LTC_ClippedSphereFormFactor( vectorFormFactor ) );\n\treturn 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"; + + var 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 = dFdx( surf_pos );\n\t\tvec3 vSigmaY = dFdy( surf_pos );\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\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif\n"; + + var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\n\t\tvec4 plane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t\t\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\n\t\t\tvec4 plane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t\n\t#endif\n#endif\n"; + + var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n"; + + var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvarying vec3 vViewPosition;\n#endif\n"; + + var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n"; + + var color_fragment = "#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif"; + + var color_pars_fragment = "#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n"; + + var color_pars_vertex = "#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif"; + + var color_vertex = "#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif"; + + var 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 transpose( const in mat3 v ) {\n\tmat3 tmp;\n\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\n\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\n\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\n\treturn tmp;\n}\n"; + + var 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(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"; + + var defaultnormal_vertex = "#ifdef FLIP_SIDED\n\tobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;\n"; + + var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n"; + + var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n"; + + var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n"; + + var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n"; + + var encodings_fragment = " gl_FragColor = linearToOutputTexel( gl_FragColor );\n"; + + var 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.xyz, vec3( gammaFactor ) ), value.w );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\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.w );\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.w );\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.xyz * value.w * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, 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.x, 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"; + + var 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, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\n\t\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\tvec3 reflectView = flipNormal * 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"; + + var 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\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"; + + var 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"; + + var 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"; + + var fog_vertex = "\n#ifdef USE_FOG\nfogDepth = -mvPosition.z;\n#endif"; + + var fog_pars_vertex = "#ifdef USE_FOG\n varying float fogDepth;\n#endif\n"; + + var 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"; + + var 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"; + + var 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"; + + var lightmap_fragment = "#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n"; + + var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif"; + + var 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\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\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\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\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"; + + var lights_pars = "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};\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 ltcMat;\tuniform sampler2D ltcMag;\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#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( 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(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = saturate( reflectVec.y * 0.5 + 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"; + + var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n"; + + var 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};\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_BlinnPhong( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in BlinnPhongMaterial 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 = BlinnExponentToGGXRoughness( material.specularShininess );\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\tfloat norm = texture2D( ltcMag, uv ).a;\n\t\tvec4 t = texture2D( ltcMat, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( 1, 0, t.y ),\n\t\t\tvec3( 0, t.z, 0 ),\n\t\t\tvec3( t.w, 0, t.x )\n\t\t);\n\t\treflectedLight.directSpecular += lightColor * material.specularColor * norm * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1 ), rectCoords );\n\t}\n#endif\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_Direct_RectArea\t\tRE_Direct_RectArea_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n"; + + var 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"; + + var 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\tfloat norm = texture2D( ltcMag, uv ).a;\n\t\tvec4 t = texture2D( ltcMat, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( 1, 0, t.y ),\n\t\t\tvec3( 0, t.z, 0 ),\n\t\t\tvec3( t.w, 0, t.x )\n\t\t);\n\t\treflectedLight.directSpecular += lightColor * material.specularColor * norm * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1 ), 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"; + + var lights_template = "\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\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 ] ) : 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\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\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\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#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 ( NUM_HEMI_LIGHTS > 0 )\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\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\n\t#endif\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\n\t#ifndef STANDARD\n\t\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\n\t#else\n\t\tvec3 clearCoatRadiance = vec3( 0.0 );\n\t#endif\n\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n"; + + var logdepthbuf_fragment = "#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\n\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\n#endif"; + + var logdepthbuf_pars_fragment = "#ifdef USE_LOGDEPTHBUF\n\tuniform float logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n#endif\n"; + + var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n\tuniform float logDepthBufFC;\n#endif"; + + var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\n\t#endif\n#endif\n"; + + var map_fragment = "#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n"; + + var map_pars_fragment = "#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n"; + + var map_particle_fragment = "#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n"; + + var map_particle_pars_fragment = "#ifdef USE_MAP\n\tuniform vec4 offsetRepeat;\n\tuniform sampler2D map;\n#endif\n"; + + var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n"; + + var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif"; + + var 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"; + + var 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"; + + var 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"; + + var normal_flip = "#ifdef DOUBLE_SIDED\n\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n#else\n\tfloat flipNormal = 1.0;\n#endif\n"; + + var normal_fragment = "#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 ) * flipNormal;\n#endif\n#ifdef USE_NORMALMAP\n\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n"; + + var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\n\t\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif\n"; + + var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 1.0 - 2.0 * rgb.xyz;\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"; + + var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n"; + + var project_vertex = "#ifdef USE_SKINNING\n\tvec4 mvPosition = modelViewMatrix * skinned;\n#else\n\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;\n"; + + var dithering_fragment = "#if defined( DITHERING )\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n"; + + var 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"; + + var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n"; + + var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif"; + + var 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\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\treturn (\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\treturn (\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\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn 1.0;\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 ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\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"; + + var 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"; + + var shadowmap_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\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\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\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n"; + + var 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\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\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\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 ] ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\n"; + + var 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"; + + var 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"; + + var 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\tskinned = bindMatrixInverse * skinned;\n#endif\n"; + + var 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"; + + var 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"; + + var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif"; + + var tonemapping_fragment = "#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n"; + + var tonemapping_pars_fragment = "#define saturate(a) clamp( a, 0.0, 1.0 )\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"; + + var 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"; + + var 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 vec4 offsetRepeat;\n#endif\n"; + + var 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 = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif"; + + var uv2_pars_fragment = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif"; + + var uv2_pars_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif"; + + var uv2_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif"; + + var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n\t#ifdef USE_SKINNING\n\t\tvec4 worldPosition = modelMatrix * skinned;\n\t#else\n\t\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n\t#endif\n#endif\n"; + + var cube_frag = "uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n"; + + var cube_vert = "varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}\n"; + + var 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( gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\n"; + + var 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#include <begin_vertex>\n\t#include <displacementmap_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}\n"; + + var distanceRGBA_frag = "uniform vec3 lightPos;\nvarying vec4 vWorldPosition;\n#include <common>\n#include <packing>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\n}\n"; + + var distanceRGBA_vert = "varying vec4 vWorldPosition;\n#include <common>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <skinbase_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition;\n}\n"; + + var equirect_frag = "uniform sampler2D tEquirect;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldPosition );\n\tvec2 sampleUV;\n\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\n"; + + var equirect_vert = "varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}\n"; + + var 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"; + + var 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"; + + var 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 <normal_flip>\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"; + + var 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"; + + var 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>\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 <normal_flip>\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"; + + var 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>\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"; + + var 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>\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_flip>\n\t#include <normal_fragment>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_template>\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"; + + var 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 <displacementmap_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\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"; + + var 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 <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <lights_pars>\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 <specularmap_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_flip>\n\t#include <normal_fragment>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_template>\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"; + + var 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 <specularmap_pars_fragment>\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 <displacementmap_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\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n"; + + var normal_frag = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_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_flip>\n\t#include <normal_fragment>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}\n"; + + var normal_vert = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_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 <displacementmap_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\n"; + + var points_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <shadowmap_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"; + + var points_vert = "uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <shadowmap_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 <project_vertex>\n\t#ifdef USE_SIZEATTENUATION\n\t\tgl_PointSize = size * ( scale / - mvPosition.z );\n\t#else\n\t\tgl_PointSize = size;\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n"; + + var shadow_frag = "uniform float opacity;\n#include <common>\n#include <packing>\n#include <bsdfs>\n#include <lights_pars>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\n}\n"; + + var shadow_vert = "#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}\n"; + + var ShaderChunk = { + alphamap_fragment: alphamap_fragment, + alphamap_pars_fragment: alphamap_pars_fragment, + alphatest_fragment: alphatest_fragment, + aomap_fragment: aomap_fragment, + aomap_pars_fragment: aomap_pars_fragment, + begin_vertex: begin_vertex, + beginnormal_vertex: beginnormal_vertex, + bsdfs: bsdfs, + bumpmap_pars_fragment: bumpmap_pars_fragment, + clipping_planes_fragment: clipping_planes_fragment, + clipping_planes_pars_fragment: clipping_planes_pars_fragment, + clipping_planes_pars_vertex: clipping_planes_pars_vertex, + clipping_planes_vertex: clipping_planes_vertex, + color_fragment: color_fragment, + color_pars_fragment: color_pars_fragment, + color_pars_vertex: color_pars_vertex, + color_vertex: color_vertex, + common: common, + cube_uv_reflection_fragment: cube_uv_reflection_fragment, + defaultnormal_vertex: defaultnormal_vertex, + displacementmap_pars_vertex: displacementmap_pars_vertex, + displacementmap_vertex: displacementmap_vertex, + emissivemap_fragment: emissivemap_fragment, + emissivemap_pars_fragment: emissivemap_pars_fragment, + encodings_fragment: encodings_fragment, + encodings_pars_fragment: encodings_pars_fragment, + envmap_fragment: envmap_fragment, + envmap_pars_fragment: envmap_pars_fragment, + envmap_pars_vertex: envmap_pars_vertex, + envmap_vertex: envmap_vertex, + fog_vertex: fog_vertex, + fog_pars_vertex: fog_pars_vertex, + fog_fragment: fog_fragment, + fog_pars_fragment: fog_pars_fragment, + gradientmap_pars_fragment: gradientmap_pars_fragment, + lightmap_fragment: lightmap_fragment, + lightmap_pars_fragment: lightmap_pars_fragment, + lights_lambert_vertex: lights_lambert_vertex, + lights_pars: lights_pars, + lights_phong_fragment: lights_phong_fragment, + lights_phong_pars_fragment: lights_phong_pars_fragment, + lights_physical_fragment: lights_physical_fragment, + lights_physical_pars_fragment: lights_physical_pars_fragment, + lights_template: lights_template, + logdepthbuf_fragment: logdepthbuf_fragment, + logdepthbuf_pars_fragment: logdepthbuf_pars_fragment, + logdepthbuf_pars_vertex: logdepthbuf_pars_vertex, + logdepthbuf_vertex: logdepthbuf_vertex, + map_fragment: map_fragment, + map_pars_fragment: map_pars_fragment, + map_particle_fragment: map_particle_fragment, + map_particle_pars_fragment: map_particle_pars_fragment, + metalnessmap_fragment: metalnessmap_fragment, + metalnessmap_pars_fragment: metalnessmap_pars_fragment, + morphnormal_vertex: morphnormal_vertex, + morphtarget_pars_vertex: morphtarget_pars_vertex, + morphtarget_vertex: morphtarget_vertex, + normal_flip: normal_flip, + normal_fragment: normal_fragment, + normalmap_pars_fragment: normalmap_pars_fragment, + packing: packing, + premultiplied_alpha_fragment: premultiplied_alpha_fragment, + project_vertex: project_vertex, + dithering_fragment: dithering_fragment, + dithering_pars_fragment: dithering_pars_fragment, + roughnessmap_fragment: roughnessmap_fragment, + roughnessmap_pars_fragment: roughnessmap_pars_fragment, + shadowmap_pars_fragment: shadowmap_pars_fragment, + shadowmap_pars_vertex: shadowmap_pars_vertex, + shadowmap_vertex: shadowmap_vertex, + shadowmask_pars_fragment: shadowmask_pars_fragment, + skinbase_vertex: skinbase_vertex, + skinning_pars_vertex: skinning_pars_vertex, + skinning_vertex: skinning_vertex, + skinnormal_vertex: skinnormal_vertex, + specularmap_fragment: specularmap_fragment, + specularmap_pars_fragment: specularmap_pars_fragment, + tonemapping_fragment: tonemapping_fragment, + tonemapping_pars_fragment: tonemapping_pars_fragment, + uv_pars_fragment: uv_pars_fragment, + uv_pars_vertex: uv_pars_vertex, + uv_vertex: uv_vertex, + uv2_pars_fragment: uv2_pars_fragment, + uv2_pars_vertex: uv2_pars_vertex, + uv2_vertex: uv2_vertex, + worldpos_vertex: worldpos_vertex, + + cube_frag: cube_frag, + cube_vert: cube_vert, + depth_frag: depth_frag, + depth_vert: depth_vert, + distanceRGBA_frag: distanceRGBA_frag, + distanceRGBA_vert: distanceRGBA_vert, + equirect_frag: equirect_frag, + equirect_vert: equirect_vert, + linedashed_frag: linedashed_frag, + linedashed_vert: linedashed_vert, + meshbasic_frag: meshbasic_frag, + meshbasic_vert: meshbasic_vert, + meshlambert_frag: meshlambert_frag, + meshlambert_vert: meshlambert_vert, + meshphong_frag: meshphong_frag, + meshphong_vert: meshphong_vert, + meshphysical_frag: meshphysical_frag, + meshphysical_vert: meshphysical_vert, + normal_frag: normal_frag, + normal_vert: normal_vert, + points_frag: points_frag, + points_vert: points_vert, + shadow_frag: shadow_frag, + shadow_vert: shadow_vert + }; + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + * @author mikael emtinger / http://gomo.se/ + */ + + var ShaderLib = { + + basic: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.fog + ] ), + + vertexShader: ShaderChunk.meshbasic_vert, + fragmentShader: ShaderChunk.meshbasic_frag + + }, + + lambert: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) } + } + ] ), + + vertexShader: ShaderChunk.meshlambert_vert, + fragmentShader: ShaderChunk.meshlambert_frag + + }, + + phong: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.gradientmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) }, + specular: { value: new Color( 0x111111 ) }, + shininess: { value: 30 } + } + ] ), + + vertexShader: ShaderChunk.meshphong_vert, + fragmentShader: ShaderChunk.meshphong_frag + + }, + + standard: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.roughnessmap, + UniformsLib.metalnessmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) }, + roughness: { value: 0.5 }, + metalness: { value: 0.5 }, + envMapIntensity: { value: 1 } // temporary + } + ] ), + + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + + }, + + points: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.points, + UniformsLib.fog + ] ), + + vertexShader: ShaderChunk.points_vert, + fragmentShader: ShaderChunk.points_frag + + }, + + dashed: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.fog, + { + scale: { value: 1 }, + dashSize: { value: 1 }, + totalSize: { value: 2 } + } + ] ), + + vertexShader: ShaderChunk.linedashed_vert, + fragmentShader: ShaderChunk.linedashed_frag + + }, + + depth: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.displacementmap + ] ), + + vertexShader: ShaderChunk.depth_vert, + fragmentShader: ShaderChunk.depth_frag + + }, + + normal: { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + { + opacity: { value: 1.0 } + } + ] ), + + vertexShader: ShaderChunk.normal_vert, + fragmentShader: ShaderChunk.normal_frag + + }, + + /* ------------------------------------------------------------------------- + // Cube map shader + ------------------------------------------------------------------------- */ + + cube: { + + uniforms: { + tCube: { value: null }, + tFlip: { value: - 1 }, + opacity: { value: 1.0 } + }, + + vertexShader: ShaderChunk.cube_vert, + fragmentShader: ShaderChunk.cube_frag + + }, + + /* ------------------------------------------------------------------------- + // Cube map shader + ------------------------------------------------------------------------- */ + + equirect: { + + uniforms: { + tEquirect: { value: null }, + tFlip: { value: - 1 } + }, + + vertexShader: ShaderChunk.equirect_vert, + fragmentShader: ShaderChunk.equirect_frag + + }, + + distanceRGBA: { + + uniforms: { + lightPos: { value: new Vector3() } + }, + + vertexShader: ShaderChunk.distanceRGBA_vert, + fragmentShader: ShaderChunk.distanceRGBA_frag + + } + + }; + + ShaderLib.physical = { + + uniforms: UniformsUtils.merge( [ + ShaderLib.standard.uniforms, + { + clearCoat: { value: 0 }, + clearCoatRoughness: { value: 0 } + } + ] ), + + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + + }; + + /** + * @author bhouston / http://clara.io + */ + + function Box2( min, max ) { + + this.min = ( min !== undefined ) ? min : new Vector2( + Infinity, + Infinity ); + this.max = ( max !== undefined ) ? max : new Vector2( - Infinity, - Infinity ); + + } + + Object.assign( Box2.prototype, { + + set: function ( min, max ) { + + this.min.copy( min ); + this.max.copy( max ); + + return this; + + }, + + setFromPoints: function ( points ) { + + this.makeEmpty(); + + for ( var i = 0, il = points.length; i < il; i ++ ) { + + this.expandByPoint( points[ i ] ); + + } + + return this; + + }, + + setFromCenterAndSize: function () { + + var v1 = new Vector2(); + + return function setFromCenterAndSize( center, size ) { + + var halfSize = v1.copy( size ).multiplyScalar( 0.5 ); + this.min.copy( center ).sub( halfSize ); + this.max.copy( center ).add( halfSize ); + + return this; + + }; + + }(), + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( box ) { + + this.min.copy( box.min ); + this.max.copy( box.max ); + + return this; + + }, + + makeEmpty: function () { + + this.min.x = this.min.y = + Infinity; + this.max.x = this.max.y = - Infinity; + + return this; + + }, + + isEmpty: function () { + + // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + + return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ); + + }, + + getCenter: function ( optionalTarget ) { + + var result = optionalTarget || new Vector2(); + return this.isEmpty() ? result.set( 0, 0 ) : result.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); + + }, + + getSize: function ( optionalTarget ) { + + var result = optionalTarget || new Vector2(); + return this.isEmpty() ? result.set( 0, 0 ) : result.subVectors( this.max, this.min ); + + }, + + expandByPoint: function ( point ) { + + this.min.min( point ); + this.max.max( point ); + + return this; + + }, + + expandByVector: function ( vector ) { + + this.min.sub( vector ); + this.max.add( vector ); + + return this; + + }, + + expandByScalar: function ( scalar ) { + + this.min.addScalar( - scalar ); + this.max.addScalar( scalar ); + + return this; + + }, + + containsPoint: function ( point ) { + + return point.x < this.min.x || point.x > this.max.x || + point.y < this.min.y || point.y > this.max.y ? false : true; + + }, + + containsBox: function ( box ) { + + return this.min.x <= box.min.x && box.max.x <= this.max.x && + this.min.y <= box.min.y && box.max.y <= this.max.y; + + }, + + getParameter: function ( point, optionalTarget ) { + + // This can potentially have a divide by zero if the box + // has a size dimension of 0. + + var result = optionalTarget || new Vector2(); + + return result.set( + ( point.x - this.min.x ) / ( this.max.x - this.min.x ), + ( point.y - this.min.y ) / ( this.max.y - this.min.y ) + ); + + }, + + intersectsBox: function ( box ) { + + // using 4 splitting planes to rule out intersections + + return box.max.x < this.min.x || box.min.x > this.max.x || + box.max.y < this.min.y || box.min.y > this.max.y ? false : true; + + }, + + clampPoint: function ( point, optionalTarget ) { + + var result = optionalTarget || new Vector2(); + return result.copy( point ).clamp( this.min, this.max ); + + }, + + distanceToPoint: function () { + + var v1 = new Vector2(); + + return function distanceToPoint( point ) { + + var clampedPoint = v1.copy( point ).clamp( this.min, this.max ); + return clampedPoint.sub( point ).length(); + + }; + + }(), + + intersect: function ( box ) { + + this.min.max( box.min ); + this.max.min( box.max ); + + return this; + + }, + + union: function ( box ) { + + this.min.min( box.min ); + this.max.max( box.max ); + + return this; + + }, + + translate: function ( offset ) { + + this.min.add( offset ); + this.max.add( offset ); + + return this; + + }, + + equals: function ( box ) { + + return box.min.equals( this.min ) && box.max.equals( this.max ); + + } + + } ); + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + */ + + function LensFlarePlugin( renderer, flares ) { + + var gl = renderer.context; + var state = renderer.state; + + var vertexBuffer, elementBuffer; + var shader, program, attributes, uniforms; + + var tempTexture, occlusionTexture; + + function init() { + + var vertices = new Float32Array( [ + - 1, - 1, 0, 0, + 1, - 1, 1, 0, + 1, 1, 1, 1, + - 1, 1, 0, 1 + ] ); + + var faces = new Uint16Array( [ + 0, 1, 2, + 0, 2, 3 + ] ); + + // buffers + + vertexBuffer = gl.createBuffer(); + elementBuffer = gl.createBuffer(); + + gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); + gl.bufferData( gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW ); + + gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); + gl.bufferData( gl.ELEMENT_ARRAY_BUFFER, faces, gl.STATIC_DRAW ); + + // textures + + tempTexture = gl.createTexture(); + occlusionTexture = gl.createTexture(); + + state.bindTexture( gl.TEXTURE_2D, tempTexture ); + gl.texImage2D( gl.TEXTURE_2D, 0, gl.RGB, 16, 16, 0, gl.RGB, gl.UNSIGNED_BYTE, null ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); + + state.bindTexture( gl.TEXTURE_2D, occlusionTexture ); + gl.texImage2D( gl.TEXTURE_2D, 0, gl.RGBA, 16, 16, 0, gl.RGBA, gl.UNSIGNED_BYTE, null ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); + gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); + + shader = { + + vertexShader: [ + + "uniform lowp int renderType;", + + "uniform vec3 screenPosition;", + "uniform vec2 scale;", + "uniform float rotation;", + + "uniform sampler2D occlusionMap;", + + "attribute vec2 position;", + "attribute vec2 uv;", + + "varying vec2 vUV;", + "varying float vVisibility;", + + "void main() {", + + "vUV = uv;", + + "vec2 pos = position;", + + "if ( renderType == 2 ) {", + + "vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );", + "visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );", + + "vVisibility = visibility.r / 9.0;", + "vVisibility *= 1.0 - visibility.g / 9.0;", + "vVisibility *= visibility.b / 9.0;", + "vVisibility *= 1.0 - visibility.a / 9.0;", + + "pos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;", + "pos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;", + + "}", + + "gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "uniform lowp int renderType;", + + "uniform sampler2D map;", + "uniform float opacity;", + "uniform vec3 color;", + + "varying vec2 vUV;", + "varying float vVisibility;", + + "void main() {", + + // pink square + + "if ( renderType == 0 ) {", + + "gl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );", + + // restore + + "} else if ( renderType == 1 ) {", + + "gl_FragColor = texture2D( map, vUV );", + + // flare + + "} else {", + + "vec4 texture = texture2D( map, vUV );", + "texture.a *= opacity * vVisibility;", + "gl_FragColor = texture;", + "gl_FragColor.rgb *= color;", + + "}", + + "}" + + ].join( "\n" ) + + }; + + program = createProgram( shader ); + + attributes = { + vertex: gl.getAttribLocation ( program, "position" ), + uv: gl.getAttribLocation ( program, "uv" ) + }; + + uniforms = { + renderType: gl.getUniformLocation( program, "renderType" ), + map: gl.getUniformLocation( program, "map" ), + occlusionMap: gl.getUniformLocation( program, "occlusionMap" ), + opacity: gl.getUniformLocation( program, "opacity" ), + color: gl.getUniformLocation( program, "color" ), + scale: gl.getUniformLocation( program, "scale" ), + rotation: gl.getUniformLocation( program, "rotation" ), + screenPosition: gl.getUniformLocation( program, "screenPosition" ) + }; + + } + + /* + * Render lens flares + * Method: renders 16x16 0xff00ff-colored points scattered over the light source area, + * reads these back and calculates occlusion. + */ + + this.render = function ( scene, camera, viewport ) { + + if ( flares.length === 0 ) return; + + var tempPosition = new Vector3(); + + var invAspect = viewport.w / viewport.z, + halfViewportWidth = viewport.z * 0.5, + halfViewportHeight = viewport.w * 0.5; + + var size = 16 / viewport.w, + scale = new Vector2( size * invAspect, size ); + + var screenPosition = new Vector3( 1, 1, 0 ), + screenPositionPixels = new Vector2( 1, 1 ); + + var validArea = new Box2(); + + validArea.min.set( viewport.x, viewport.y ); + validArea.max.set( viewport.x + ( viewport.z - 16 ), viewport.y + ( viewport.w - 16 ) ); + + if ( program === undefined ) { + + init(); + + } + + gl.useProgram( program ); + + state.initAttributes(); + state.enableAttribute( attributes.vertex ); + state.enableAttribute( attributes.uv ); + state.disableUnusedAttributes(); + + // loop through all lens flares to update their occlusion and positions + // setup gl and common used attribs/uniforms + + gl.uniform1i( uniforms.occlusionMap, 0 ); + gl.uniform1i( uniforms.map, 1 ); + + gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); + gl.vertexAttribPointer( attributes.vertex, 2, gl.FLOAT, false, 2 * 8, 0 ); + gl.vertexAttribPointer( attributes.uv, 2, gl.FLOAT, false, 2 * 8, 8 ); + + gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); + + state.disable( gl.CULL_FACE ); + state.buffers.depth.setMask( false ); + + for ( var i = 0, l = flares.length; i < l; i ++ ) { + + size = 16 / viewport.w; + scale.set( size * invAspect, size ); + + // calc object screen position + + var flare = flares[ i ]; + + tempPosition.set( flare.matrixWorld.elements[ 12 ], flare.matrixWorld.elements[ 13 ], flare.matrixWorld.elements[ 14 ] ); + + tempPosition.applyMatrix4( camera.matrixWorldInverse ); + tempPosition.applyMatrix4( camera.projectionMatrix ); + + // setup arrays for gl programs + + screenPosition.copy( tempPosition ); + + // horizontal and vertical coordinate of the lower left corner of the pixels to copy + + screenPositionPixels.x = viewport.x + ( screenPosition.x * halfViewportWidth ) + halfViewportWidth - 8; + screenPositionPixels.y = viewport.y + ( screenPosition.y * halfViewportHeight ) + halfViewportHeight - 8; + + // screen cull + + if ( validArea.containsPoint( screenPositionPixels ) === true ) { + + // save current RGB to temp texture + + state.activeTexture( gl.TEXTURE0 ); + state.bindTexture( gl.TEXTURE_2D, null ); + state.activeTexture( gl.TEXTURE1 ); + state.bindTexture( gl.TEXTURE_2D, tempTexture ); + gl.copyTexImage2D( gl.TEXTURE_2D, 0, gl.RGB, screenPositionPixels.x, screenPositionPixels.y, 16, 16, 0 ); + + + // render pink quad + + gl.uniform1i( uniforms.renderType, 0 ); + gl.uniform2f( uniforms.scale, scale.x, scale.y ); + gl.uniform3f( uniforms.screenPosition, screenPosition.x, screenPosition.y, screenPosition.z ); + + state.disable( gl.BLEND ); + state.enable( gl.DEPTH_TEST ); + + gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); + + + // copy result to occlusionMap + + state.activeTexture( gl.TEXTURE0 ); + state.bindTexture( gl.TEXTURE_2D, occlusionTexture ); + gl.copyTexImage2D( gl.TEXTURE_2D, 0, gl.RGBA, screenPositionPixels.x, screenPositionPixels.y, 16, 16, 0 ); + + + // restore graphics + + gl.uniform1i( uniforms.renderType, 1 ); + state.disable( gl.DEPTH_TEST ); + + state.activeTexture( gl.TEXTURE1 ); + state.bindTexture( gl.TEXTURE_2D, tempTexture ); + gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); + + + // update object positions + + flare.positionScreen.copy( screenPosition ); + + if ( flare.customUpdateCallback ) { + + flare.customUpdateCallback( flare ); + + } else { + + flare.updateLensFlares(); + + } + + // render flares + + gl.uniform1i( uniforms.renderType, 2 ); + state.enable( gl.BLEND ); + + for ( var j = 0, jl = flare.lensFlares.length; j < jl; j ++ ) { + + var sprite = flare.lensFlares[ j ]; + + if ( sprite.opacity > 0.001 && sprite.scale > 0.001 ) { + + screenPosition.x = sprite.x; + screenPosition.y = sprite.y; + screenPosition.z = sprite.z; + + size = sprite.size * sprite.scale / viewport.w; + + scale.x = size * invAspect; + scale.y = size; + + gl.uniform3f( uniforms.screenPosition, screenPosition.x, screenPosition.y, screenPosition.z ); + gl.uniform2f( uniforms.scale, scale.x, scale.y ); + gl.uniform1f( uniforms.rotation, sprite.rotation ); + + gl.uniform1f( uniforms.opacity, sprite.opacity ); + gl.uniform3f( uniforms.color, sprite.color.r, sprite.color.g, sprite.color.b ); + + state.setBlending( sprite.blending, sprite.blendEquation, sprite.blendSrc, sprite.blendDst ); + renderer.setTexture2D( sprite.texture, 1 ); + + gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); + + } + + } + + } + + } + + // restore gl + + state.enable( gl.CULL_FACE ); + state.enable( gl.DEPTH_TEST ); + state.buffers.depth.setMask( true ); + + renderer.resetGLState(); + + }; + + function createProgram( shader ) { + + var program = gl.createProgram(); + + var fragmentShader = gl.createShader( gl.FRAGMENT_SHADER ); + var vertexShader = gl.createShader( gl.VERTEX_SHADER ); + + var prefix = "precision " + renderer.getPrecision() + " float;\n"; + + gl.shaderSource( fragmentShader, prefix + shader.fragmentShader ); + gl.shaderSource( vertexShader, prefix + shader.vertexShader ); + + gl.compileShader( fragmentShader ); + gl.compileShader( vertexShader ); + + gl.attachShader( program, fragmentShader ); + gl.attachShader( program, vertexShader ); + + gl.linkProgram( program ); + + return program; + + } + + } + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + */ + + function SpritePlugin( renderer, sprites ) { + + var gl = renderer.context; + var state = renderer.state; + + var vertexBuffer, elementBuffer; + var program, attributes, uniforms; + + var texture; + + // decompose matrixWorld + + var spritePosition = new Vector3(); + var spriteRotation = new Quaternion(); + var spriteScale = new Vector3(); + + function init() { + + var vertices = new Float32Array( [ + - 0.5, - 0.5, 0, 0, + 0.5, - 0.5, 1, 0, + 0.5, 0.5, 1, 1, + - 0.5, 0.5, 0, 1 + ] ); + + var faces = new Uint16Array( [ + 0, 1, 2, + 0, 2, 3 + ] ); + + vertexBuffer = gl.createBuffer(); + elementBuffer = gl.createBuffer(); + + gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); + gl.bufferData( gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW ); + + gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); + gl.bufferData( gl.ELEMENT_ARRAY_BUFFER, faces, gl.STATIC_DRAW ); + + program = createProgram(); + + attributes = { + position: gl.getAttribLocation ( program, 'position' ), + uv: gl.getAttribLocation ( program, 'uv' ) + }; + + uniforms = { + uvOffset: gl.getUniformLocation( program, 'uvOffset' ), + uvScale: gl.getUniformLocation( program, 'uvScale' ), + + rotation: gl.getUniformLocation( program, 'rotation' ), + scale: gl.getUniformLocation( program, 'scale' ), + + color: gl.getUniformLocation( program, 'color' ), + map: gl.getUniformLocation( program, 'map' ), + opacity: gl.getUniformLocation( program, 'opacity' ), + + modelViewMatrix: gl.getUniformLocation( program, 'modelViewMatrix' ), + projectionMatrix: gl.getUniformLocation( program, 'projectionMatrix' ), + + fogType: gl.getUniformLocation( program, 'fogType' ), + fogDensity: gl.getUniformLocation( program, 'fogDensity' ), + fogNear: gl.getUniformLocation( program, 'fogNear' ), + fogFar: gl.getUniformLocation( program, 'fogFar' ), + fogColor: gl.getUniformLocation( program, 'fogColor' ), + + alphaTest: gl.getUniformLocation( program, 'alphaTest' ) + }; + + var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); + canvas.width = 8; + canvas.height = 8; + + var context = canvas.getContext( '2d' ); + context.fillStyle = 'white'; + context.fillRect( 0, 0, 8, 8 ); + + texture = new Texture( canvas ); + texture.needsUpdate = true; + + } + + this.render = function ( scene, camera ) { + + if ( sprites.length === 0 ) return; + + // setup gl + + if ( program === undefined ) { + + init(); + + } + + gl.useProgram( program ); + + state.initAttributes(); + state.enableAttribute( attributes.position ); + state.enableAttribute( attributes.uv ); + state.disableUnusedAttributes(); + + state.disable( gl.CULL_FACE ); + state.enable( gl.BLEND ); + + gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); + gl.vertexAttribPointer( attributes.position, 2, gl.FLOAT, false, 2 * 8, 0 ); + gl.vertexAttribPointer( attributes.uv, 2, gl.FLOAT, false, 2 * 8, 8 ); + + gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); + + gl.uniformMatrix4fv( uniforms.projectionMatrix, false, camera.projectionMatrix.elements ); + + state.activeTexture( gl.TEXTURE0 ); + gl.uniform1i( uniforms.map, 0 ); + + var oldFogType = 0; + var sceneFogType = 0; + var fog = scene.fog; + + if ( fog ) { + + gl.uniform3f( uniforms.fogColor, fog.color.r, fog.color.g, fog.color.b ); + + if ( fog.isFog ) { + + gl.uniform1f( uniforms.fogNear, fog.near ); + gl.uniform1f( uniforms.fogFar, fog.far ); + + gl.uniform1i( uniforms.fogType, 1 ); + oldFogType = 1; + sceneFogType = 1; + + } else if ( fog.isFogExp2 ) { + + gl.uniform1f( uniforms.fogDensity, fog.density ); + + gl.uniform1i( uniforms.fogType, 2 ); + oldFogType = 2; + sceneFogType = 2; + + } + + } else { + + gl.uniform1i( uniforms.fogType, 0 ); + oldFogType = 0; + sceneFogType = 0; + + } + + + // update positions and sort + + for ( var i = 0, l = sprites.length; i < l; i ++ ) { + + var sprite = sprites[ i ]; + + sprite.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, sprite.matrixWorld ); + sprite.z = - sprite.modelViewMatrix.elements[ 14 ]; + + } + + sprites.sort( painterSortStable ); + + // render all sprites + + var scale = []; + + for ( var i = 0, l = sprites.length; i < l; i ++ ) { + + var sprite = sprites[ i ]; + var material = sprite.material; + + if ( material.visible === false ) continue; + + gl.uniform1f( uniforms.alphaTest, material.alphaTest ); + gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, sprite.modelViewMatrix.elements ); + + sprite.matrixWorld.decompose( spritePosition, spriteRotation, spriteScale ); + + scale[ 0 ] = spriteScale.x; + scale[ 1 ] = spriteScale.y; + + var fogType = 0; + + if ( scene.fog && material.fog ) { + + fogType = sceneFogType; + + } + + if ( oldFogType !== fogType ) { + + gl.uniform1i( uniforms.fogType, fogType ); + oldFogType = fogType; + + } + + if ( material.map !== null ) { + + gl.uniform2f( uniforms.uvOffset, material.map.offset.x, material.map.offset.y ); + gl.uniform2f( uniforms.uvScale, material.map.repeat.x, material.map.repeat.y ); + + } else { + + gl.uniform2f( uniforms.uvOffset, 0, 0 ); + gl.uniform2f( uniforms.uvScale, 1, 1 ); + + } + + gl.uniform1f( uniforms.opacity, material.opacity ); + gl.uniform3f( uniforms.color, material.color.r, material.color.g, material.color.b ); + + gl.uniform1f( uniforms.rotation, material.rotation ); + gl.uniform2fv( uniforms.scale, scale ); + + state.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst ); + state.buffers.depth.setTest( material.depthTest ); + state.buffers.depth.setMask( material.depthWrite ); + + if ( material.map ) { + + renderer.setTexture2D( material.map, 0 ); + + } else { + + renderer.setTexture2D( texture, 0 ); + + } + + gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); + + } + + // restore gl + + state.enable( gl.CULL_FACE ); + + renderer.resetGLState(); + + }; + + function createProgram() { + + var program = gl.createProgram(); + + var vertexShader = gl.createShader( gl.VERTEX_SHADER ); + var fragmentShader = gl.createShader( gl.FRAGMENT_SHADER ); + + gl.shaderSource( vertexShader, [ + + 'precision ' + renderer.getPrecision() + ' float;', + + 'uniform mat4 modelViewMatrix;', + 'uniform mat4 projectionMatrix;', + 'uniform float rotation;', + 'uniform vec2 scale;', + 'uniform vec2 uvOffset;', + 'uniform vec2 uvScale;', + + 'attribute vec2 position;', + 'attribute vec2 uv;', + + 'varying vec2 vUV;', + + 'void main() {', + + 'vUV = uvOffset + uv * uvScale;', + + 'vec2 alignedPosition = position * scale;', + + 'vec2 rotatedPosition;', + 'rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;', + 'rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;', + + 'vec4 finalPosition;', + + 'finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );', + 'finalPosition.xy += rotatedPosition;', + 'finalPosition = projectionMatrix * finalPosition;', + + 'gl_Position = finalPosition;', + + '}' + + ].join( '\n' ) ); + + gl.shaderSource( fragmentShader, [ + + 'precision ' + renderer.getPrecision() + ' float;', + + 'uniform vec3 color;', + 'uniform sampler2D map;', + 'uniform float opacity;', + + 'uniform int fogType;', + 'uniform vec3 fogColor;', + 'uniform float fogDensity;', + 'uniform float fogNear;', + 'uniform float fogFar;', + 'uniform float alphaTest;', + + 'varying vec2 vUV;', + + 'void main() {', + + 'vec4 texture = texture2D( map, vUV );', + + 'if ( texture.a < alphaTest ) discard;', + + 'gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );', + + 'if ( fogType > 0 ) {', + + 'float depth = gl_FragCoord.z / gl_FragCoord.w;', + 'float fogFactor = 0.0;', + + 'if ( fogType == 1 ) {', + + 'fogFactor = smoothstep( fogNear, fogFar, depth );', + + '} else {', + + 'const float LOG2 = 1.442695;', + 'fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );', + 'fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );', + + '}', + + 'gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );', + + '}', + + '}' + + ].join( '\n' ) ); + + gl.compileShader( vertexShader ); + gl.compileShader( fragmentShader ); + + gl.attachShader( program, vertexShader ); + gl.attachShader( program, fragmentShader ); + + gl.linkProgram( program ); + + return program; + + } + + function painterSortStable( a, b ) { + + if ( a.renderOrder !== b.renderOrder ) { + + return a.renderOrder - b.renderOrder; + + } else if ( a.z !== b.z ) { + + return b.z - a.z; + + } else { + + return b.id - a.id; + + } + + } + + } + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + var materialId = 0; + + function Material() { + + Object.defineProperty( this, 'id', { value: materialId ++ } ); + + this.uuid = _Math.generateUUID(); + + this.name = ''; + this.type = 'Material'; + + this.fog = true; + this.lights = true; + + this.blending = NormalBlending; + this.side = FrontSide; + this.shading = SmoothShading; // THREE.FlatShading, THREE.SmoothShading + this.vertexColors = NoColors; // THREE.NoColors, THREE.VertexColors, THREE.FaceColors + + this.opacity = 1; + this.transparent = false; + + this.blendSrc = SrcAlphaFactor; + this.blendDst = OneMinusSrcAlphaFactor; + this.blendEquation = AddEquation; + this.blendSrcAlpha = null; + this.blendDstAlpha = null; + this.blendEquationAlpha = null; + + this.depthFunc = LessEqualDepth; + this.depthTest = true; + this.depthWrite = true; + + this.clippingPlanes = null; + this.clipIntersection = false; + this.clipShadows = false; + + this.colorWrite = true; + + this.precision = null; // override the renderer's default precision for this material + + this.polygonOffset = false; + this.polygonOffsetFactor = 0; + this.polygonOffsetUnits = 0; + + this.dithering = false; + + this.alphaTest = 0; + this.premultipliedAlpha = false; + + this.overdraw = 0; // Overdrawn pixels (typically between 0 and 1) for fixing antialiasing gaps in CanvasRenderer + + this.visible = true; + + this.needsUpdate = true; + + } + + Object.assign( Material.prototype, EventDispatcher.prototype, { + + isMaterial: true, + + setValues: function ( values ) { + + if ( values === undefined ) return; + + for ( var key in values ) { + + var newValue = values[ key ]; + + if ( newValue === undefined ) { + + console.warn( "THREE.Material: '" + key + "' parameter is undefined." ); + continue; + + } + + var currentValue = this[ key ]; + + if ( currentValue === undefined ) { + + console.warn( "THREE." + this.type + ": '" + key + "' is not a property of this material." ); + continue; + + } + + if ( currentValue && currentValue.isColor ) { + + currentValue.set( newValue ); + + } else if ( ( currentValue && currentValue.isVector3 ) && ( newValue && newValue.isVector3 ) ) { + + currentValue.copy( newValue ); + + } else if ( key === 'overdraw' ) { + + // ensure overdraw is backwards-compatible with legacy boolean type + this[ key ] = Number( newValue ); + + } else { + + this[ key ] = newValue; + + } + + } + + }, + + toJSON: function ( meta ) { + + var isRoot = meta === undefined; + + if ( isRoot ) { + + meta = { + textures: {}, + images: {} + }; + + } + + var data = { + metadata: { + version: 4.5, + type: 'Material', + generator: 'Material.toJSON' + } + }; + + // standard Material serialization + data.uuid = this.uuid; + data.type = this.type; + + if ( this.name !== '' ) data.name = this.name; + + if ( this.color && this.color.isColor ) data.color = this.color.getHex(); + + if ( this.roughness !== undefined ) data.roughness = this.roughness; + if ( this.metalness !== undefined ) data.metalness = this.metalness; + + if ( this.emissive && this.emissive.isColor ) data.emissive = this.emissive.getHex(); + if ( this.specular && this.specular.isColor ) data.specular = this.specular.getHex(); + if ( this.shininess !== undefined ) data.shininess = this.shininess; + if ( this.clearCoat !== undefined ) data.clearCoat = this.clearCoat; + if ( this.clearCoatRoughness !== undefined ) data.clearCoatRoughness = this.clearCoatRoughness; + + if ( this.map && this.map.isTexture ) data.map = this.map.toJSON( meta ).uuid; + if ( this.alphaMap && this.alphaMap.isTexture ) data.alphaMap = this.alphaMap.toJSON( meta ).uuid; + if ( this.lightMap && this.lightMap.isTexture ) data.lightMap = this.lightMap.toJSON( meta ).uuid; + if ( this.bumpMap && this.bumpMap.isTexture ) { + + data.bumpMap = this.bumpMap.toJSON( meta ).uuid; + data.bumpScale = this.bumpScale; + + } + if ( this.normalMap && this.normalMap.isTexture ) { + + data.normalMap = this.normalMap.toJSON( meta ).uuid; + data.normalScale = this.normalScale.toArray(); + + } + if ( this.displacementMap && this.displacementMap.isTexture ) { + + data.displacementMap = this.displacementMap.toJSON( meta ).uuid; + data.displacementScale = this.displacementScale; + data.displacementBias = this.displacementBias; + + } + if ( this.roughnessMap && this.roughnessMap.isTexture ) data.roughnessMap = this.roughnessMap.toJSON( meta ).uuid; + if ( this.metalnessMap && this.metalnessMap.isTexture ) data.metalnessMap = this.metalnessMap.toJSON( meta ).uuid; + + if ( this.emissiveMap && this.emissiveMap.isTexture ) data.emissiveMap = this.emissiveMap.toJSON( meta ).uuid; + if ( this.specularMap && this.specularMap.isTexture ) data.specularMap = this.specularMap.toJSON( meta ).uuid; + + if ( this.envMap && this.envMap.isTexture ) { + + data.envMap = this.envMap.toJSON( meta ).uuid; + data.reflectivity = this.reflectivity; // Scale behind envMap + + } + + if ( this.gradientMap && this.gradientMap.isTexture ) { + + data.gradientMap = this.gradientMap.toJSON( meta ).uuid; + + } + + if ( this.size !== undefined ) data.size = this.size; + if ( this.sizeAttenuation !== undefined ) data.sizeAttenuation = this.sizeAttenuation; + + if ( this.blending !== NormalBlending ) data.blending = this.blending; + if ( this.shading !== SmoothShading ) data.shading = this.shading; + if ( this.side !== FrontSide ) data.side = this.side; + if ( this.vertexColors !== NoColors ) data.vertexColors = this.vertexColors; + + if ( this.opacity < 1 ) data.opacity = this.opacity; + if ( this.transparent === true ) data.transparent = this.transparent; + + data.depthFunc = this.depthFunc; + data.depthTest = this.depthTest; + data.depthWrite = this.depthWrite; + + if ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest; + if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha; + if ( this.wireframe === true ) data.wireframe = this.wireframe; + if ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth; + if ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap; + if ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin; + + data.skinning = this.skinning; + data.morphTargets = this.morphTargets; + + data.dithering = this.dithering; + + // TODO: Copied from Object3D.toJSON + + function extractFromCache( cache ) { + + var values = []; + + for ( var key in cache ) { + + var data = cache[ key ]; + delete data.metadata; + values.push( data ); + + } + + return values; + + } + + if ( isRoot ) { + + var textures = extractFromCache( meta.textures ); + var images = extractFromCache( meta.images ); + + if ( textures.length > 0 ) data.textures = textures; + if ( images.length > 0 ) data.images = images; + + } + + return data; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( source ) { + + this.name = source.name; + + this.fog = source.fog; + this.lights = source.lights; + + this.blending = source.blending; + this.side = source.side; + this.shading = source.shading; + this.vertexColors = source.vertexColors; + + this.opacity = source.opacity; + this.transparent = source.transparent; + + this.blendSrc = source.blendSrc; + this.blendDst = source.blendDst; + this.blendEquation = source.blendEquation; + this.blendSrcAlpha = source.blendSrcAlpha; + this.blendDstAlpha = source.blendDstAlpha; + this.blendEquationAlpha = source.blendEquationAlpha; + + this.depthFunc = source.depthFunc; + this.depthTest = source.depthTest; + this.depthWrite = source.depthWrite; + + this.colorWrite = source.colorWrite; + + this.precision = source.precision; + + this.polygonOffset = source.polygonOffset; + this.polygonOffsetFactor = source.polygonOffsetFactor; + this.polygonOffsetUnits = source.polygonOffsetUnits; + + this.dithering = source.dithering; + + this.alphaTest = source.alphaTest; + + this.premultipliedAlpha = source.premultipliedAlpha; + + this.overdraw = source.overdraw; + + this.visible = source.visible; + this.clipShadows = source.clipShadows; + this.clipIntersection = source.clipIntersection; + + var srcPlanes = source.clippingPlanes, + dstPlanes = null; + + if ( srcPlanes !== null ) { + + var n = srcPlanes.length; + dstPlanes = new Array( n ); + + for ( var i = 0; i !== n; ++ i ) + dstPlanes[ i ] = srcPlanes[ i ].clone(); + + } + + this.clippingPlanes = dstPlanes; + + return this; + + }, + + dispose: function () { + + this.dispatchEvent( { type: 'dispose' } ); + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * defines: { "label" : "value" }, + * uniforms: { "parameter1": { value: 1.0 }, "parameter2": { value2: 2 } }, + * + * fragmentShader: <string>, + * vertexShader: <string>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float>, + * + * lights: <bool>, + * + * skinning: <bool>, + * morphTargets: <bool>, + * morphNormals: <bool> + * } + */ + + function ShaderMaterial( parameters ) { + + Material.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 = false; + this.wireframeLinewidth = 1; + + this.fog = false; // set to use scene fog + this.lights = false; // set to use scene lights + this.clipping = false; // set to use user-defined clipping planes + + this.skinning = false; // set to use skinning attribute streams + this.morphTargets = false; // set to use morph targets + this.morphNormals = false; // set to use morph normals + + this.extensions = { + derivatives: false, // set to use derivatives + fragDepth: false, // set to use fragment depth values + drawBuffers: false, // set to use draw buffers + shaderTextureLOD: false // set to use shader texture LOD + }; + + // When rendered geometry doesn't include these attributes but the material does, + // use these default values in WebGL. This avoids errors when buffer data is missing. + this.defaultAttributeValues = { + 'color': [ 1, 1, 1 ], + 'uv': [ 0, 0 ], + 'uv2': [ 0, 0 ] + }; + + this.index0AttributeName = undefined; + + if ( parameters !== undefined ) { + + if ( parameters.attributes !== undefined ) { + + console.error( 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.' ); + + } + + this.setValues( parameters ); + + } + + } + + ShaderMaterial.prototype = Object.create( Material.prototype ); + ShaderMaterial.prototype.constructor = ShaderMaterial; + + ShaderMaterial.prototype.isShaderMaterial = true; + + ShaderMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.fragmentShader = source.fragmentShader; + this.vertexShader = source.vertexShader; + + this.uniforms = UniformsUtils.clone( source.uniforms ); + + this.defines = source.defines; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + + this.lights = source.lights; + this.clipping = source.clipping; + + this.skinning = source.skinning; + + this.morphTargets = source.morphTargets; + this.morphNormals = source.morphNormals; + + this.extensions = source.extensions; + + return this; + + }; + + ShaderMaterial.prototype.toJSON = function ( meta ) { + + var data = Material.prototype.toJSON.call( this, meta ); + + data.uniforms = this.uniforms; + data.vertexShader = this.vertexShader; + data.fragmentShader = this.fragmentShader; + + return data; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * @author bhouston / https://clara.io + * @author WestLangley / http://github.com/WestLangley + * + * parameters = { + * + * opacity: <float>, + * + * map: new THREE.Texture( <Image> ), + * + * alphaMap: new THREE.Texture( <Image> ), + * + * displacementMap: new THREE.Texture( <Image> ), + * displacementScale: <float>, + * displacementBias: <float>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float> + * } + */ + + function MeshDepthMaterial( parameters ) { + + Material.call( this ); + + this.type = 'MeshDepthMaterial'; + + this.depthPacking = BasicDepthPacking; + + this.skinning = false; + this.morphTargets = false; + + this.map = null; + + this.alphaMap = null; + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.wireframe = false; + this.wireframeLinewidth = 1; + + this.fog = false; + this.lights = false; + + this.setValues( parameters ); + + } + + MeshDepthMaterial.prototype = Object.create( Material.prototype ); + MeshDepthMaterial.prototype.constructor = MeshDepthMaterial; + + MeshDepthMaterial.prototype.isMeshDepthMaterial = true; + + MeshDepthMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.depthPacking = source.depthPacking; + + this.skinning = source.skinning; + this.morphTargets = source.morphTargets; + + this.map = source.map; + + this.alphaMap = source.alphaMap; + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + + return this; + + }; + + /** + * @author bhouston / http://clara.io + * @author WestLangley / http://github.com/WestLangley + */ + + function Box3( min, max ) { + + this.min = ( min !== undefined ) ? min : new Vector3( + Infinity, + Infinity, + Infinity ); + this.max = ( max !== undefined ) ? max : new Vector3( - Infinity, - Infinity, - Infinity ); + + } + + Object.assign( Box3.prototype, { + + isBox3: true, + + set: function ( min, max ) { + + this.min.copy( min ); + this.max.copy( max ); + + return this; + + }, + + setFromArray: function ( array ) { + + var minX = + Infinity; + var minY = + Infinity; + var minZ = + Infinity; + + var maxX = - Infinity; + var maxY = - Infinity; + var maxZ = - Infinity; + + for ( var i = 0, l = array.length; i < l; i += 3 ) { + + var x = array[ i ]; + var y = array[ i + 1 ]; + var z = array[ i + 2 ]; + + if ( x < minX ) minX = x; + if ( y < minY ) minY = y; + if ( z < minZ ) minZ = z; + + if ( x > maxX ) maxX = x; + if ( y > maxY ) maxY = y; + if ( z > maxZ ) maxZ = z; + + } + + this.min.set( minX, minY, minZ ); + this.max.set( maxX, maxY, maxZ ); + + return this; + + }, + + setFromBufferAttribute: function ( attribute ) { + + var minX = + Infinity; + var minY = + Infinity; + var minZ = + Infinity; + + var maxX = - Infinity; + var maxY = - Infinity; + var maxZ = - Infinity; + + for ( var i = 0, l = attribute.count; i < l; i ++ ) { + + var x = attribute.getX( i ); + var y = attribute.getY( i ); + var z = attribute.getZ( i ); + + if ( x < minX ) minX = x; + if ( y < minY ) minY = y; + if ( z < minZ ) minZ = z; + + if ( x > maxX ) maxX = x; + if ( y > maxY ) maxY = y; + if ( z > maxZ ) maxZ = z; + + } + + this.min.set( minX, minY, minZ ); + this.max.set( maxX, maxY, maxZ ); + + return this; + + }, + + setFromPoints: function ( points ) { + + this.makeEmpty(); + + for ( var i = 0, il = points.length; i < il; i ++ ) { + + this.expandByPoint( points[ i ] ); + + } + + return this; + + }, + + setFromCenterAndSize: function () { + + var v1 = new Vector3(); + + return function setFromCenterAndSize( center, size ) { + + var halfSize = v1.copy( size ).multiplyScalar( 0.5 ); + + this.min.copy( center ).sub( halfSize ); + this.max.copy( center ).add( halfSize ); + + return this; + + }; + + }(), + + setFromObject: function ( object ) { + + this.makeEmpty(); + + return this.expandByObject( object ); + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( box ) { + + this.min.copy( box.min ); + this.max.copy( box.max ); + + return this; + + }, + + makeEmpty: function () { + + this.min.x = this.min.y = this.min.z = + Infinity; + this.max.x = this.max.y = this.max.z = - Infinity; + + return this; + + }, + + isEmpty: function () { + + // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + + return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z ); + + }, + + getCenter: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return this.isEmpty() ? result.set( 0, 0, 0 ) : result.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); + + }, + + getSize: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return this.isEmpty() ? result.set( 0, 0, 0 ) : result.subVectors( this.max, this.min ); + + }, + + expandByPoint: function ( point ) { + + this.min.min( point ); + this.max.max( point ); + + return this; + + }, + + expandByVector: function ( vector ) { + + this.min.sub( vector ); + this.max.add( vector ); + + return this; + + }, + + expandByScalar: function ( scalar ) { + + this.min.addScalar( - scalar ); + this.max.addScalar( scalar ); + + return this; + + }, + + expandByObject: function () { + + // Computes the world-axis-aligned bounding box of an object (including its children), + // accounting for both the object's, and children's, world transforms + + var v1 = new Vector3(); + + return function expandByObject( object ) { + + var scope = this; + + object.updateMatrixWorld( true ); + + object.traverse( function ( node ) { + + var i, l; + + var geometry = node.geometry; + + if ( geometry !== undefined ) { + + if ( geometry.isGeometry ) { + + var vertices = geometry.vertices; + + for ( i = 0, l = vertices.length; i < l; i ++ ) { + + v1.copy( vertices[ i ] ); + v1.applyMatrix4( node.matrixWorld ); + + scope.expandByPoint( v1 ); + + } + + } else if ( geometry.isBufferGeometry ) { + + var attribute = geometry.attributes.position; + + if ( attribute !== undefined ) { + + for ( i = 0, l = attribute.count; i < l; i ++ ) { + + v1.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld ); + + scope.expandByPoint( v1 ); + + } + + } + + } + + } + + } ); + + return this; + + }; + + }(), + + containsPoint: function ( point ) { + + return point.x < this.min.x || point.x > this.max.x || + point.y < this.min.y || point.y > this.max.y || + point.z < this.min.z || point.z > this.max.z ? false : true; + + }, + + containsBox: function ( box ) { + + return this.min.x <= box.min.x && box.max.x <= this.max.x && + this.min.y <= box.min.y && box.max.y <= this.max.y && + this.min.z <= box.min.z && box.max.z <= this.max.z; + + }, + + getParameter: function ( point, optionalTarget ) { + + // This can potentially have a divide by zero if the box + // has a size dimension of 0. + + var result = optionalTarget || new Vector3(); + + return result.set( + ( point.x - this.min.x ) / ( this.max.x - this.min.x ), + ( point.y - this.min.y ) / ( this.max.y - this.min.y ), + ( point.z - this.min.z ) / ( this.max.z - this.min.z ) + ); + + }, + + intersectsBox: function ( box ) { + + // using 6 splitting planes to rule out intersections. + return box.max.x < this.min.x || box.min.x > this.max.x || + box.max.y < this.min.y || box.min.y > this.max.y || + box.max.z < this.min.z || box.min.z > this.max.z ? false : true; + + }, + + intersectsSphere: ( function () { + + var closestPoint = new Vector3(); + + return function intersectsSphere( sphere ) { + + // Find the point on the AABB closest to the sphere center. + this.clampPoint( sphere.center, closestPoint ); + + // If that point is inside the sphere, the AABB and sphere intersect. + return closestPoint.distanceToSquared( sphere.center ) <= ( sphere.radius * sphere.radius ); + + }; + + } )(), + + intersectsPlane: function ( plane ) { + + // We compute the minimum and maximum dot product values. If those values + // are on the same side (back or front) of the plane, then there is no intersection. + + var min, max; + + if ( plane.normal.x > 0 ) { + + min = plane.normal.x * this.min.x; + max = plane.normal.x * this.max.x; + + } else { + + min = plane.normal.x * this.max.x; + max = plane.normal.x * this.min.x; + + } + + if ( plane.normal.y > 0 ) { + + min += plane.normal.y * this.min.y; + max += plane.normal.y * this.max.y; + + } else { + + min += plane.normal.y * this.max.y; + max += plane.normal.y * this.min.y; + + } + + if ( plane.normal.z > 0 ) { + + min += plane.normal.z * this.min.z; + max += plane.normal.z * this.max.z; + + } else { + + min += plane.normal.z * this.max.z; + max += plane.normal.z * this.min.z; + + } + + return ( min <= plane.constant && max >= plane.constant ); + + }, + + clampPoint: function ( point, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return result.copy( point ).clamp( this.min, this.max ); + + }, + + distanceToPoint: function () { + + var v1 = new Vector3(); + + return function distanceToPoint( point ) { + + var clampedPoint = v1.copy( point ).clamp( this.min, this.max ); + return clampedPoint.sub( point ).length(); + + }; + + }(), + + getBoundingSphere: function () { + + var v1 = new Vector3(); + + return function getBoundingSphere( optionalTarget ) { + + var result = optionalTarget || new Sphere(); + + this.getCenter( result.center ); + + result.radius = this.getSize( v1 ).length() * 0.5; + + return result; + + }; + + }(), + + intersect: function ( box ) { + + this.min.max( box.min ); + this.max.min( box.max ); + + // ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values. + if( this.isEmpty() ) this.makeEmpty(); + + return this; + + }, + + union: function ( box ) { + + this.min.min( box.min ); + this.max.max( box.max ); + + return this; + + }, + + applyMatrix4: function () { + + var points = [ + new Vector3(), + new Vector3(), + new Vector3(), + new Vector3(), + new Vector3(), + new Vector3(), + new Vector3(), + new Vector3() + ]; + + return function applyMatrix4( matrix ) { + + // transform of empty box is an empty box. + if( this.isEmpty() ) return this; + + // NOTE: I am using a binary pattern to specify all 2^3 combinations below + points[ 0 ].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000 + points[ 1 ].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001 + points[ 2 ].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010 + points[ 3 ].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011 + points[ 4 ].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100 + points[ 5 ].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101 + points[ 6 ].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110 + points[ 7 ].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 111 + + this.setFromPoints( points ); + + return this; + + }; + + }(), + + translate: function ( offset ) { + + this.min.add( offset ); + this.max.add( offset ); + + return this; + + }, + + equals: function ( box ) { + + return box.min.equals( this.min ) && box.max.equals( this.max ); + + } + + } ); + + /** + * @author bhouston / http://clara.io + * @author mrdoob / http://mrdoob.com/ + */ + + function Sphere( center, radius ) { + + this.center = ( center !== undefined ) ? center : new Vector3(); + this.radius = ( radius !== undefined ) ? radius : 0; + + } + + Object.assign( Sphere.prototype, { + + set: function ( center, radius ) { + + this.center.copy( center ); + this.radius = radius; + + return this; + + }, + + setFromPoints: function () { + + var box = new Box3(); + + return function setFromPoints( points, optionalCenter ) { + + var center = this.center; + + if ( optionalCenter !== undefined ) { + + center.copy( optionalCenter ); + + } else { + + box.setFromPoints( points ).getCenter( center ); + + } + + var maxRadiusSq = 0; + + for ( var i = 0, il = points.length; i < il; i ++ ) { + + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) ); + + } + + this.radius = Math.sqrt( maxRadiusSq ); + + return this; + + }; + + }(), + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( sphere ) { + + this.center.copy( sphere.center ); + this.radius = sphere.radius; + + return this; + + }, + + empty: function () { + + return ( this.radius <= 0 ); + + }, + + containsPoint: function ( point ) { + + return ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) ); + + }, + + distanceToPoint: function ( point ) { + + return ( point.distanceTo( this.center ) - this.radius ); + + }, + + intersectsSphere: function ( sphere ) { + + var radiusSum = this.radius + sphere.radius; + + return sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum ); + + }, + + intersectsBox: function ( box ) { + + return box.intersectsSphere( this ); + + }, + + intersectsPlane: function ( plane ) { + + // We use the following equation to compute the signed distance from + // the center of the sphere to the plane. + // + // distance = q * n - d + // + // If this distance is greater than the radius of the sphere, + // then there is no intersection. + + return Math.abs( this.center.dot( plane.normal ) - plane.constant ) <= this.radius; + + }, + + clampPoint: function ( point, optionalTarget ) { + + var deltaLengthSq = this.center.distanceToSquared( point ); + + var result = optionalTarget || new Vector3(); + + result.copy( point ); + + if ( deltaLengthSq > ( this.radius * this.radius ) ) { + + result.sub( this.center ).normalize(); + result.multiplyScalar( this.radius ).add( this.center ); + + } + + return result; + + }, + + getBoundingBox: function ( optionalTarget ) { + + var box = optionalTarget || new Box3(); + + box.set( this.center, this.center ); + box.expandByScalar( this.radius ); + + return box; + + }, + + applyMatrix4: function ( matrix ) { + + this.center.applyMatrix4( matrix ); + this.radius = this.radius * matrix.getMaxScaleOnAxis(); + + return this; + + }, + + translate: function ( offset ) { + + this.center.add( offset ); + + return this; + + }, + + equals: function ( sphere ) { + + return sphere.center.equals( this.center ) && ( sphere.radius === this.radius ); + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author WestLangley / http://github.com/WestLangley + * @author bhouston / http://clara.io + * @author tschw + */ + + function Matrix3() { + + this.elements = [ + + 1, 0, 0, + 0, 1, 0, + 0, 0, 1 + + ]; + + if ( arguments.length > 0 ) { + + console.error( 'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.' ); + + } + + } + + Object.assign( Matrix3.prototype, { + + isMatrix3: true, + + set: function ( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) { + + var te = this.elements; + + te[ 0 ] = n11; te[ 1 ] = n21; te[ 2 ] = n31; + te[ 3 ] = n12; te[ 4 ] = n22; te[ 5 ] = n32; + te[ 6 ] = n13; te[ 7 ] = n23; te[ 8 ] = n33; + + return this; + + }, + + identity: function () { + + this.set( + + 1, 0, 0, + 0, 1, 0, + 0, 0, 1 + + ); + + return this; + + }, + + clone: function () { + + return new this.constructor().fromArray( this.elements ); + + }, + + copy: function ( m ) { + + var te = this.elements; + var me = m.elements; + + te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; + te[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; + te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ]; + + return this; + + }, + + setFromMatrix4: function ( m ) { + + var me = m.elements; + + this.set( + + me[ 0 ], me[ 4 ], me[ 8 ], + me[ 1 ], me[ 5 ], me[ 9 ], + me[ 2 ], me[ 6 ], me[ 10 ] + + ); + + return this; + + }, + + applyToBufferAttribute: function () { + + var v1 = new Vector3(); + + return function applyToBufferAttribute( attribute ) { + + for ( var i = 0, l = attribute.count; i < l; i ++ ) { + + v1.x = attribute.getX( i ); + v1.y = attribute.getY( i ); + v1.z = attribute.getZ( i ); + + v1.applyMatrix3( this ); + + attribute.setXYZ( i, v1.x, v1.y, v1.z ); + + } + + return attribute; + + }; + + }(), + + multiply: function ( m ) { + + return this.multiplyMatrices( this, m ); + + }, + + premultiply: function ( m ) { + + return this.multiplyMatrices( m, this ); + + }, + + multiplyMatrices: function ( a, b ) { + + var ae = a.elements; + var be = b.elements; + var te = this.elements; + + var a11 = ae[ 0 ], a12 = ae[ 3 ], a13 = ae[ 6 ]; + var a21 = ae[ 1 ], a22 = ae[ 4 ], a23 = ae[ 7 ]; + var a31 = ae[ 2 ], a32 = ae[ 5 ], a33 = ae[ 8 ]; + + var b11 = be[ 0 ], b12 = be[ 3 ], b13 = be[ 6 ]; + var b21 = be[ 1 ], b22 = be[ 4 ], b23 = be[ 7 ]; + var b31 = be[ 2 ], b32 = be[ 5 ], b33 = be[ 8 ]; + + te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31; + te[ 3 ] = a11 * b12 + a12 * b22 + a13 * b32; + te[ 6 ] = a11 * b13 + a12 * b23 + a13 * b33; + + te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31; + te[ 4 ] = a21 * b12 + a22 * b22 + a23 * b32; + te[ 7 ] = a21 * b13 + a22 * b23 + a23 * b33; + + te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31; + te[ 5 ] = a31 * b12 + a32 * b22 + a33 * b32; + te[ 8 ] = a31 * b13 + a32 * b23 + a33 * b33; + + return this; + + }, + + multiplyScalar: function ( s ) { + + var te = this.elements; + + te[ 0 ] *= s; te[ 3 ] *= s; te[ 6 ] *= s; + te[ 1 ] *= s; te[ 4 ] *= s; te[ 7 ] *= s; + te[ 2 ] *= s; te[ 5 ] *= s; te[ 8 ] *= s; + + return this; + + }, + + determinant: function () { + + var te = this.elements; + + var a = te[ 0 ], b = te[ 1 ], c = te[ 2 ], + d = te[ 3 ], e = te[ 4 ], f = te[ 5 ], + g = te[ 6 ], h = te[ 7 ], i = te[ 8 ]; + + return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g; + + }, + + getInverse: function ( matrix, throwOnDegenerate ) { + + if ( matrix && matrix.isMatrix4 ) { + + console.error( "THREE.Matrix3.getInverse no longer takes a Matrix4 argument." ); + + } + + var me = matrix.elements, + te = this.elements, + + n11 = me[ 0 ], n21 = me[ 1 ], n31 = me[ 2 ], + n12 = me[ 3 ], n22 = me[ 4 ], n32 = me[ 5 ], + n13 = me[ 6 ], n23 = me[ 7 ], n33 = me[ 8 ], + + t11 = n33 * n22 - n32 * n23, + t12 = n32 * n13 - n33 * n12, + t13 = n23 * n12 - n22 * n13, + + det = n11 * t11 + n21 * t12 + n31 * t13; + + if ( det === 0 ) { + + var msg = "THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0"; + + if ( throwOnDegenerate === true ) { + + throw new Error( msg ); + + } else { + + console.warn( msg ); + + } + + return this.identity(); + + } + + var detInv = 1 / det; + + te[ 0 ] = t11 * detInv; + te[ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv; + te[ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv; + + te[ 3 ] = t12 * detInv; + te[ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv; + te[ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv; + + te[ 6 ] = t13 * detInv; + te[ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv; + te[ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv; + + return this; + + }, + + transpose: function () { + + var tmp, m = this.elements; + + tmp = m[ 1 ]; m[ 1 ] = m[ 3 ]; m[ 3 ] = tmp; + tmp = m[ 2 ]; m[ 2 ] = m[ 6 ]; m[ 6 ] = tmp; + tmp = m[ 5 ]; m[ 5 ] = m[ 7 ]; m[ 7 ] = tmp; + + return this; + + }, + + getNormalMatrix: function ( matrix4 ) { + + return this.setFromMatrix4( matrix4 ).getInverse( this ).transpose(); + + }, + + transposeIntoArray: function ( r ) { + + var m = this.elements; + + r[ 0 ] = m[ 0 ]; + r[ 1 ] = m[ 3 ]; + r[ 2 ] = m[ 6 ]; + r[ 3 ] = m[ 1 ]; + r[ 4 ] = m[ 4 ]; + r[ 5 ] = m[ 7 ]; + r[ 6 ] = m[ 2 ]; + r[ 7 ] = m[ 5 ]; + r[ 8 ] = m[ 8 ]; + + return this; + + }, + + equals: function ( matrix ) { + + var te = this.elements; + var me = matrix.elements; + + for ( var i = 0; i < 9; i ++ ) { + + if ( te[ i ] !== me[ i ] ) return false; + + } + + return true; + + }, + + fromArray: function ( array, offset ) { + + if ( offset === undefined ) offset = 0; + + for ( var i = 0; i < 9; i ++ ) { + + this.elements[ i ] = array[ i + offset ]; + + } + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + var te = this.elements; + + array[ offset ] = te[ 0 ]; + array[ offset + 1 ] = te[ 1 ]; + array[ offset + 2 ] = te[ 2 ]; + + array[ offset + 3 ] = te[ 3 ]; + array[ offset + 4 ] = te[ 4 ]; + array[ offset + 5 ] = te[ 5 ]; + + array[ offset + 6 ] = te[ 6 ]; + array[ offset + 7 ] = te[ 7 ]; + array[ offset + 8 ] = te[ 8 ]; + + return array; + + } + + } ); + + /** + * @author bhouston / http://clara.io + */ + + function Plane( normal, constant ) { + + this.normal = ( normal !== undefined ) ? normal : new Vector3( 1, 0, 0 ); + this.constant = ( constant !== undefined ) ? constant : 0; + + } + + Object.assign( Plane.prototype, { + + set: function ( normal, constant ) { + + this.normal.copy( normal ); + this.constant = constant; + + return this; + + }, + + setComponents: function ( x, y, z, w ) { + + this.normal.set( x, y, z ); + this.constant = w; + + return this; + + }, + + setFromNormalAndCoplanarPoint: function ( normal, point ) { + + this.normal.copy( normal ); + this.constant = - point.dot( this.normal ); // must be this.normal, not normal, as this.normal is normalized + + return this; + + }, + + setFromCoplanarPoints: function () { + + var v1 = new Vector3(); + var v2 = new Vector3(); + + return function setFromCoplanarPoints( a, b, c ) { + + var normal = v1.subVectors( c, b ).cross( v2.subVectors( a, b ) ).normalize(); + + // Q: should an error be thrown if normal is zero (e.g. degenerate plane)? + + this.setFromNormalAndCoplanarPoint( normal, a ); + + return this; + + }; + + }(), + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( plane ) { + + this.normal.copy( plane.normal ); + this.constant = plane.constant; + + return this; + + }, + + normalize: function () { + + // Note: will lead to a divide by zero if the plane is invalid. + + var inverseNormalLength = 1.0 / this.normal.length(); + this.normal.multiplyScalar( inverseNormalLength ); + this.constant *= inverseNormalLength; + + return this; + + }, + + negate: function () { + + this.constant *= - 1; + this.normal.negate(); + + return this; + + }, + + distanceToPoint: function ( point ) { + + return this.normal.dot( point ) + this.constant; + + }, + + distanceToSphere: function ( sphere ) { + + return this.distanceToPoint( sphere.center ) - sphere.radius; + + }, + + projectPoint: function ( point, optionalTarget ) { + + return this.orthoPoint( point, optionalTarget ).sub( point ).negate(); + + }, + + orthoPoint: function ( point, optionalTarget ) { + + var perpendicularMagnitude = this.distanceToPoint( point ); + + var result = optionalTarget || new Vector3(); + return result.copy( this.normal ).multiplyScalar( perpendicularMagnitude ); + + }, + + intersectLine: function () { + + var v1 = new Vector3(); + + return function intersectLine( line, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + var direction = line.delta( v1 ); + + var denominator = this.normal.dot( direction ); + + if ( denominator === 0 ) { + + // line is coplanar, return origin + if ( this.distanceToPoint( line.start ) === 0 ) { + + return result.copy( line.start ); + + } + + // Unsure if this is the correct method to handle this case. + return undefined; + + } + + var t = - ( line.start.dot( this.normal ) + this.constant ) / denominator; + + if ( t < 0 || t > 1 ) { + + return undefined; + + } + + return result.copy( direction ).multiplyScalar( t ).add( line.start ); + + }; + + }(), + + intersectsLine: function ( line ) { + + // Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it. + + var startSign = this.distanceToPoint( line.start ); + var endSign = this.distanceToPoint( line.end ); + + return ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 ); + + }, + + intersectsBox: function ( box ) { + + return box.intersectsPlane( this ); + + }, + + intersectsSphere: function ( sphere ) { + + return sphere.intersectsPlane( this ); + + }, + + coplanarPoint: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return result.copy( this.normal ).multiplyScalar( - this.constant ); + + }, + + applyMatrix4: function () { + + var v1 = new Vector3(); + var m1 = new Matrix3(); + + return function applyMatrix4( matrix, optionalNormalMatrix ) { + + var referencePoint = this.coplanarPoint( v1 ).applyMatrix4( matrix ); + + // transform normal based on theory here: + // http://www.songho.ca/opengl/gl_normaltransform.html + var normalMatrix = optionalNormalMatrix || m1.getNormalMatrix( matrix ); + var normal = this.normal.applyMatrix3( normalMatrix ).normalize(); + + // recalculate constant (like in setFromNormalAndCoplanarPoint) + this.constant = - referencePoint.dot( normal ); + + return this; + + }; + + }(), + + translate: function ( offset ) { + + this.constant = this.constant - offset.dot( this.normal ); + + return this; + + }, + + equals: function ( plane ) { + + return plane.normal.equals( this.normal ) && ( plane.constant === this.constant ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * @author bhouston / http://clara.io + */ + + function Frustum( p0, p1, p2, p3, p4, p5 ) { + + this.planes = [ + + ( p0 !== undefined ) ? p0 : new Plane(), + ( p1 !== undefined ) ? p1 : new Plane(), + ( p2 !== undefined ) ? p2 : new Plane(), + ( p3 !== undefined ) ? p3 : new Plane(), + ( p4 !== undefined ) ? p4 : new Plane(), + ( p5 !== undefined ) ? p5 : new Plane() + + ]; + + } + + Object.assign( Frustum.prototype, { + + set: function ( p0, p1, p2, p3, p4, p5 ) { + + var planes = this.planes; + + planes[ 0 ].copy( p0 ); + planes[ 1 ].copy( p1 ); + planes[ 2 ].copy( p2 ); + planes[ 3 ].copy( p3 ); + planes[ 4 ].copy( p4 ); + planes[ 5 ].copy( p5 ); + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( frustum ) { + + var planes = this.planes; + + for ( var i = 0; i < 6; i ++ ) { + + planes[ i ].copy( frustum.planes[ i ] ); + + } + + return this; + + }, + + setFromMatrix: function ( m ) { + + var planes = this.planes; + var me = m.elements; + var me0 = me[ 0 ], me1 = me[ 1 ], me2 = me[ 2 ], me3 = me[ 3 ]; + var me4 = me[ 4 ], me5 = me[ 5 ], me6 = me[ 6 ], me7 = me[ 7 ]; + var me8 = me[ 8 ], me9 = me[ 9 ], me10 = me[ 10 ], me11 = me[ 11 ]; + var me12 = me[ 12 ], me13 = me[ 13 ], me14 = me[ 14 ], me15 = me[ 15 ]; + + planes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize(); + planes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize(); + planes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize(); + planes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize(); + planes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize(); + planes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize(); + + return this; + + }, + + intersectsObject: function () { + + var sphere = new Sphere(); + + return function intersectsObject( object ) { + + var geometry = object.geometry; + + if ( geometry.boundingSphere === null ) + geometry.computeBoundingSphere(); + + sphere.copy( geometry.boundingSphere ) + .applyMatrix4( object.matrixWorld ); + + return this.intersectsSphere( sphere ); + + }; + + }(), + + intersectsSprite: function () { + + var sphere = new Sphere(); + + return function intersectsSprite( sprite ) { + + sphere.center.set( 0, 0, 0 ); + sphere.radius = 0.7071067811865476; + sphere.applyMatrix4( sprite.matrixWorld ); + + return this.intersectsSphere( sphere ); + + }; + + }(), + + intersectsSphere: function ( sphere ) { + + var planes = this.planes; + var center = sphere.center; + var negRadius = - sphere.radius; + + for ( var i = 0; i < 6; i ++ ) { + + var distance = planes[ i ].distanceToPoint( center ); + + if ( distance < negRadius ) { + + return false; + + } + + } + + return true; + + }, + + intersectsBox: function () { + + var p1 = new Vector3(), + p2 = new Vector3(); + + return function intersectsBox( box ) { + + var planes = this.planes; + + for ( var i = 0; i < 6; i ++ ) { + + var plane = planes[ i ]; + + p1.x = plane.normal.x > 0 ? box.min.x : box.max.x; + p2.x = plane.normal.x > 0 ? box.max.x : box.min.x; + p1.y = plane.normal.y > 0 ? box.min.y : box.max.y; + p2.y = plane.normal.y > 0 ? box.max.y : box.min.y; + p1.z = plane.normal.z > 0 ? box.min.z : box.max.z; + p2.z = plane.normal.z > 0 ? box.max.z : box.min.z; + + var d1 = plane.distanceToPoint( p1 ); + var d2 = plane.distanceToPoint( p2 ); + + // if both outside plane, no intersection + + if ( d1 < 0 && d2 < 0 ) { + + return false; + + } + + } + + return true; + + }; + + }(), + + containsPoint: function ( point ) { + + var planes = this.planes; + + for ( var i = 0; i < 6; i ++ ) { + + if ( planes[ i ].distanceToPoint( point ) < 0 ) { + + return false; + + } + + } + + return true; + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) { + + var _gl = _renderer.context, + _state = _renderer.state, + _frustum = new Frustum(), + _projScreenMatrix = new Matrix4(), + + _lightShadows = _lights.shadows, + + _shadowMapSize = new Vector2(), + _maxShadowMapSize = new Vector2( capabilities.maxTextureSize, capabilities.maxTextureSize ), + + _lookTarget = new Vector3(), + _lightPositionWorld = new Vector3(), + + _MorphingFlag = 1, + _SkinningFlag = 2, + + _NumberOfMaterialVariants = ( _MorphingFlag | _SkinningFlag ) + 1, + + _depthMaterials = new Array( _NumberOfMaterialVariants ), + _distanceMaterials = new Array( _NumberOfMaterialVariants ), + + _materialCache = {}; + + var cubeDirections = [ + new Vector3( 1, 0, 0 ), new Vector3( - 1, 0, 0 ), new Vector3( 0, 0, 1 ), + new Vector3( 0, 0, - 1 ), new Vector3( 0, 1, 0 ), new Vector3( 0, - 1, 0 ) + ]; + + var cubeUps = [ + new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), + new Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ), new Vector3( 0, 0, - 1 ) + ]; + + var cube2DViewPorts = [ + new Vector4(), new Vector4(), new Vector4(), + new Vector4(), new Vector4(), new Vector4() + ]; + + // init + + var depthMaterialTemplate = new MeshDepthMaterial(); + depthMaterialTemplate.depthPacking = RGBADepthPacking; + depthMaterialTemplate.clipping = true; + + var distanceShader = ShaderLib[ "distanceRGBA" ]; + var distanceUniforms = UniformsUtils.clone( distanceShader.uniforms ); + + for ( var i = 0; i !== _NumberOfMaterialVariants; ++ i ) { + + var useMorphing = ( i & _MorphingFlag ) !== 0; + var useSkinning = ( i & _SkinningFlag ) !== 0; + + var depthMaterial = depthMaterialTemplate.clone(); + depthMaterial.morphTargets = useMorphing; + depthMaterial.skinning = useSkinning; + + _depthMaterials[ i ] = depthMaterial; + + var distanceMaterial = new ShaderMaterial( { + defines: { + 'USE_SHADOWMAP': '' + }, + uniforms: distanceUniforms, + vertexShader: distanceShader.vertexShader, + fragmentShader: distanceShader.fragmentShader, + morphTargets: useMorphing, + skinning: useSkinning, + clipping: true + } ); + + _distanceMaterials[ i ] = distanceMaterial; + + } + + // + + var scope = this; + + this.enabled = false; + + this.autoUpdate = true; + this.needsUpdate = false; + + this.type = PCFShadowMap; + + this.renderReverseSided = true; + this.renderSingleSided = true; + + this.render = function ( scene, camera ) { + + if ( scope.enabled === false ) return; + if ( scope.autoUpdate === false && scope.needsUpdate === false ) return; + + if ( _lightShadows.length === 0 ) return; + + // Set GL state for depth map. + _state.disable( _gl.BLEND ); + _state.buffers.color.setClear( 1, 1, 1, 1 ); + _state.buffers.depth.setTest( true ); + _state.setScissorTest( false ); + + // render depth map + + var faceCount, isPointLight; + + for ( var i = 0, il = _lightShadows.length; i < il; i ++ ) { + + var light = _lightShadows[ i ]; + var shadow = light.shadow; + + if ( shadow === undefined ) { + + console.warn( 'THREE.WebGLShadowMap:', light, 'has no shadow.' ); + continue; + + } + + var shadowCamera = shadow.camera; + var shadowMatrix = shadow.matrix; + + _lightPositionWorld.setFromMatrixPosition( light.matrixWorld ); + shadowCamera.position.copy( _lightPositionWorld ); + + _shadowMapSize.copy( shadow.mapSize ); + _shadowMapSize.min( _maxShadowMapSize ); + + if ( light && light.isPointLight ) { + + faceCount = 6; + isPointLight = true; + + var vpWidth = _shadowMapSize.x; + var vpHeight = _shadowMapSize.y; + + // These viewports map a cube-map onto a 2D texture with the + // following orientation: + // + // xzXZ + // y Y + // + // X - Positive x direction + // x - Negative x direction + // Y - Positive y direction + // y - Negative y direction + // Z - Positive z direction + // z - Negative z direction + + // positive X + cube2DViewPorts[ 0 ].set( vpWidth * 2, vpHeight, vpWidth, vpHeight ); + // negative X + cube2DViewPorts[ 1 ].set( 0, vpHeight, vpWidth, vpHeight ); + // positive Z + cube2DViewPorts[ 2 ].set( vpWidth * 3, vpHeight, vpWidth, vpHeight ); + // negative Z + cube2DViewPorts[ 3 ].set( vpWidth, vpHeight, vpWidth, vpHeight ); + // positive Y + cube2DViewPorts[ 4 ].set( vpWidth * 3, 0, vpWidth, vpHeight ); + // negative Y + cube2DViewPorts[ 5 ].set( vpWidth, 0, vpWidth, vpHeight ); + + _shadowMapSize.x *= 4.0; + _shadowMapSize.y *= 2.0; + + + // for point lights we set the shadow matrix to be a translation-only matrix + // equal to inverse of the light's position + + shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z ); + + } else { + + faceCount = 1; + isPointLight = false; + + _lookTarget.setFromMatrixPosition( light.target.matrixWorld ); + shadowCamera.lookAt( _lookTarget ); + shadowCamera.updateMatrixWorld(); + shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld ); + + // compute shadow matrix + + shadowMatrix.set( + 0.5, 0.0, 0.0, 0.5, + 0.0, 0.5, 0.0, 0.5, + 0.0, 0.0, 0.5, 0.5, + 0.0, 0.0, 0.0, 1.0 + ); + + shadowMatrix.multiply( shadowCamera.projectionMatrix ); + shadowMatrix.multiply( shadowCamera.matrixWorldInverse ); + + } + + if ( shadow.map === null ) { + + var pars = { minFilter: NearestFilter, magFilter: NearestFilter, format: RGBAFormat }; + + shadow.map = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars ); + shadow.map.texture.name = light.name + ".shadowMap"; + + shadowCamera.updateProjectionMatrix(); + + } + + if ( shadow.isSpotLightShadow ) { + + shadow.update( light ); + + } + + var shadowMap = shadow.map; + + _renderer.setRenderTarget( shadowMap ); + _renderer.clear(); + + // render shadow map for each cube face (if omni-directional) or + // run a single pass if not + + for ( var face = 0; face < faceCount; face ++ ) { + + if ( isPointLight ) { + + _lookTarget.copy( shadowCamera.position ); + _lookTarget.add( cubeDirections[ face ] ); + shadowCamera.up.copy( cubeUps[ face ] ); + shadowCamera.lookAt( _lookTarget ); + shadowCamera.updateMatrixWorld(); + shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld ); + + var vpDimensions = cube2DViewPorts[ face ]; + _state.viewport( vpDimensions ); + + } + + // update camera matrices and frustum + + _projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse ); + _frustum.setFromMatrix( _projScreenMatrix ); + + // set object matrices & frustum culling + + renderObject( scene, camera, shadowCamera, isPointLight ); + + } + + } + + // Restore GL state. + var clearColor = _renderer.getClearColor(); + var clearAlpha = _renderer.getClearAlpha(); + _renderer.setClearColor( clearColor, clearAlpha ); + + scope.needsUpdate = false; + + }; + + function getDepthMaterial( object, material, isPointLight, lightPositionWorld ) { + + var geometry = object.geometry; + + var result = null; + + var materialVariants = _depthMaterials; + var customMaterial = object.customDepthMaterial; + + if ( isPointLight ) { + + materialVariants = _distanceMaterials; + customMaterial = object.customDistanceMaterial; + + } + + if ( ! customMaterial ) { + + var useMorphing = false; + + if ( material.morphTargets ) { + + if ( geometry && geometry.isBufferGeometry ) { + + useMorphing = geometry.morphAttributes && geometry.morphAttributes.position && geometry.morphAttributes.position.length > 0; + + } else if ( geometry && geometry.isGeometry ) { + + useMorphing = geometry.morphTargets && geometry.morphTargets.length > 0; + + } + + } + + if ( object.isSkinnedMesh && material.skinning === false ) { + + console.warn( 'THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:', object ); + + } + + var useSkinning = object.isSkinnedMesh && material.skinning; + + var variantIndex = 0; + + if ( useMorphing ) variantIndex |= _MorphingFlag; + if ( useSkinning ) variantIndex |= _SkinningFlag; + + result = materialVariants[ variantIndex ]; + + } else { + + result = customMaterial; + + } + + if ( _renderer.localClippingEnabled && + material.clipShadows === true && + material.clippingPlanes.length !== 0 ) { + + // in this case we need a unique material instance reflecting the + // appropriate state + + var keyA = result.uuid, keyB = material.uuid; + + var materialsForVariant = _materialCache[ keyA ]; + + if ( materialsForVariant === undefined ) { + + materialsForVariant = {}; + _materialCache[ keyA ] = materialsForVariant; + + } + + var cachedMaterial = materialsForVariant[ keyB ]; + + if ( cachedMaterial === undefined ) { + + cachedMaterial = result.clone(); + materialsForVariant[ keyB ] = cachedMaterial; + + } + + result = cachedMaterial; + + } + + result.visible = material.visible; + result.wireframe = material.wireframe; + + var side = material.side; + + if ( scope.renderSingleSided && side == DoubleSide ) { + + side = FrontSide; + + } + + if ( scope.renderReverseSided ) { + + if ( side === FrontSide ) side = BackSide; + else if ( side === BackSide ) side = FrontSide; + + } + + result.side = side; + + result.clipShadows = material.clipShadows; + result.clippingPlanes = material.clippingPlanes; + + result.wireframeLinewidth = material.wireframeLinewidth; + result.linewidth = material.linewidth; + + if ( isPointLight && result.uniforms.lightPos !== undefined ) { + + result.uniforms.lightPos.value.copy( lightPositionWorld ); + + } + + return result; + + } + + function renderObject( object, camera, shadowCamera, isPointLight ) { + + if ( object.visible === false ) return; + + var visible = object.layers.test( camera.layers ); + + if ( visible && ( object.isMesh || object.isLine || object.isPoints ) ) { + + if ( object.castShadow && ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) ) { + + object.modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld ); + + var geometry = _objects.update( object ); + var material = object.material; + + if ( Array.isArray( material ) ) { + + var groups = geometry.groups; + + for ( var k = 0, kl = groups.length; k < kl; k ++ ) { + + var group = groups[ k ]; + var groupMaterial = material[ group.materialIndex ]; + + if ( groupMaterial && groupMaterial.visible ) { + + var depthMaterial = getDepthMaterial( object, groupMaterial, isPointLight, _lightPositionWorld ); + _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, group ); + + } + + } + + } else if ( material.visible ) { + + var depthMaterial = getDepthMaterial( object, material, isPointLight, _lightPositionWorld ); + _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, null ); + + } + + } + + } + + var children = object.children; + + for ( var i = 0, l = children.length; i < l; i ++ ) { + + renderObject( children[ i ], camera, shadowCamera, isPointLight ); + + } + + } + + } + + /** + * @author bhouston / http://clara.io + */ + + function Ray( origin, direction ) { + + this.origin = ( origin !== undefined ) ? origin : new Vector3(); + this.direction = ( direction !== undefined ) ? direction : new Vector3(); + + } + + Object.assign( Ray.prototype, { + + set: function ( origin, direction ) { + + this.origin.copy( origin ); + this.direction.copy( direction ); + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( ray ) { + + this.origin.copy( ray.origin ); + this.direction.copy( ray.direction ); + + return this; + + }, + + at: function ( t, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + return result.copy( this.direction ).multiplyScalar( t ).add( this.origin ); + + }, + + lookAt: function ( v ) { + + this.direction.copy( v ).sub( this.origin ).normalize(); + + return this; + + }, + + recast: function () { + + var v1 = new Vector3(); + + return function recast( t ) { + + this.origin.copy( this.at( t, v1 ) ); + + return this; + + }; + + }(), + + closestPointToPoint: function ( point, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + result.subVectors( point, this.origin ); + var directionDistance = result.dot( this.direction ); + + if ( directionDistance < 0 ) { + + return result.copy( this.origin ); + + } + + return result.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); + + }, + + distanceToPoint: function ( point ) { + + return Math.sqrt( this.distanceSqToPoint( point ) ); + + }, + + distanceSqToPoint: function () { + + var v1 = new Vector3(); + + return function distanceSqToPoint( point ) { + + var directionDistance = v1.subVectors( point, this.origin ).dot( this.direction ); + + // point behind the ray + + if ( directionDistance < 0 ) { + + return this.origin.distanceToSquared( point ); + + } + + v1.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); + + return v1.distanceToSquared( point ); + + }; + + }(), + + distanceSqToSegment: function () { + + var segCenter = new Vector3(); + var segDir = new Vector3(); + var diff = new Vector3(); + + return function distanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) { + + // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteDistRaySegment.h + // It returns the min distance between the ray and the segment + // defined by v0 and v1 + // It can also set two optional targets : + // - The closest point on the ray + // - The closest point on the segment + + segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 ); + segDir.copy( v1 ).sub( v0 ).normalize(); + diff.copy( this.origin ).sub( segCenter ); + + var segExtent = v0.distanceTo( v1 ) * 0.5; + var a01 = - this.direction.dot( segDir ); + var b0 = diff.dot( this.direction ); + var b1 = - diff.dot( segDir ); + var c = diff.lengthSq(); + var det = Math.abs( 1 - a01 * a01 ); + var s0, s1, sqrDist, extDet; + + if ( det > 0 ) { + + // The ray and segment are not parallel. + + s0 = a01 * b1 - b0; + s1 = a01 * b0 - b1; + extDet = segExtent * det; + + if ( s0 >= 0 ) { + + if ( s1 >= - extDet ) { + + if ( s1 <= extDet ) { + + // region 0 + // Minimum at interior points of ray and segment. + + var invDet = 1 / det; + s0 *= invDet; + s1 *= invDet; + sqrDist = s0 * ( s0 + a01 * s1 + 2 * b0 ) + s1 * ( a01 * s0 + s1 + 2 * b1 ) + c; + + } else { + + // region 1 + + s1 = segExtent; + s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + } else { + + // region 5 + + s1 = - segExtent; + s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + } else { + + if ( s1 <= - extDet ) { + + // region 4 + + s0 = Math.max( 0, - ( - a01 * segExtent + b0 ) ); + s1 = ( s0 > 0 ) ? - segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } else if ( s1 <= extDet ) { + + // region 3 + + s0 = 0; + s1 = Math.min( Math.max( - segExtent, - b1 ), segExtent ); + sqrDist = s1 * ( s1 + 2 * b1 ) + c; + + } else { + + // region 2 + + s0 = Math.max( 0, - ( a01 * segExtent + b0 ) ); + s1 = ( s0 > 0 ) ? segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + } + + } else { + + // Ray and segment are parallel. + + s1 = ( a01 > 0 ) ? - segExtent : segExtent; + s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + if ( optionalPointOnRay ) { + + optionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin ); + + } + + if ( optionalPointOnSegment ) { + + optionalPointOnSegment.copy( segDir ).multiplyScalar( s1 ).add( segCenter ); + + } + + return sqrDist; + + }; + + }(), + + intersectSphere: function () { + + var v1 = new Vector3(); + + return function intersectSphere( sphere, optionalTarget ) { + + v1.subVectors( sphere.center, this.origin ); + var tca = v1.dot( this.direction ); + var d2 = v1.dot( v1 ) - tca * tca; + var radius2 = sphere.radius * sphere.radius; + + if ( d2 > radius2 ) return null; + + var thc = Math.sqrt( radius2 - d2 ); + + // t0 = first intersect point - entrance on front of sphere + var t0 = tca - thc; + + // t1 = second intersect point - exit point on back of sphere + var t1 = tca + thc; + + // test to see if both t0 and t1 are behind the ray - if so, return null + if ( t0 < 0 && t1 < 0 ) return null; + + // test to see if t0 is behind the ray: + // if it is, the ray is inside the sphere, so return the second exit point scaled by t1, + // in order to always return an intersect point that is in front of the ray. + if ( t0 < 0 ) return this.at( t1, optionalTarget ); + + // else t0 is in front of the ray, so return the first collision point scaled by t0 + return this.at( t0, optionalTarget ); + + }; + + }(), + + intersectsSphere: function ( sphere ) { + + return this.distanceToPoint( sphere.center ) <= sphere.radius; + + }, + + distanceToPlane: function ( plane ) { + + var denominator = plane.normal.dot( this.direction ); + + if ( denominator === 0 ) { + + // line is coplanar, return origin + if ( plane.distanceToPoint( this.origin ) === 0 ) { + + return 0; + + } + + // Null is preferable to undefined since undefined means.... it is undefined + + return null; + + } + + var t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator; + + // Return if the ray never intersects the plane + + return t >= 0 ? t : null; + + }, + + intersectPlane: function ( plane, optionalTarget ) { + + var t = this.distanceToPlane( plane ); + + if ( t === null ) { + + return null; + + } + + return this.at( t, optionalTarget ); + + }, + + intersectsPlane: function ( plane ) { + + // check if the ray lies on the plane first + + var distToPoint = plane.distanceToPoint( this.origin ); + + if ( distToPoint === 0 ) { + + return true; + + } + + var denominator = plane.normal.dot( this.direction ); + + if ( denominator * distToPoint < 0 ) { + + return true; + + } + + // ray origin is behind the plane (and is pointing behind it) + + return false; + + }, + + intersectBox: function ( box, optionalTarget ) { + + var tmin, tmax, tymin, tymax, tzmin, tzmax; + + var invdirx = 1 / this.direction.x, + invdiry = 1 / this.direction.y, + invdirz = 1 / this.direction.z; + + var origin = this.origin; + + if ( invdirx >= 0 ) { + + tmin = ( box.min.x - origin.x ) * invdirx; + tmax = ( box.max.x - origin.x ) * invdirx; + + } else { + + tmin = ( box.max.x - origin.x ) * invdirx; + tmax = ( box.min.x - origin.x ) * invdirx; + + } + + if ( invdiry >= 0 ) { + + tymin = ( box.min.y - origin.y ) * invdiry; + tymax = ( box.max.y - origin.y ) * invdiry; + + } else { + + tymin = ( box.max.y - origin.y ) * invdiry; + tymax = ( box.min.y - origin.y ) * invdiry; + + } + + if ( ( tmin > tymax ) || ( tymin > tmax ) ) return null; + + // These lines also handle the case where tmin or tmax is NaN + // (result of 0 * Infinity). x !== x returns true if x is NaN + + if ( tymin > tmin || tmin !== tmin ) tmin = tymin; + + if ( tymax < tmax || tmax !== tmax ) tmax = tymax; + + if ( invdirz >= 0 ) { + + tzmin = ( box.min.z - origin.z ) * invdirz; + tzmax = ( box.max.z - origin.z ) * invdirz; + + } else { + + tzmin = ( box.max.z - origin.z ) * invdirz; + tzmax = ( box.min.z - origin.z ) * invdirz; + + } + + if ( ( tmin > tzmax ) || ( tzmin > tmax ) ) return null; + + if ( tzmin > tmin || tmin !== tmin ) tmin = tzmin; + + if ( tzmax < tmax || tmax !== tmax ) tmax = tzmax; + + //return point closest to the ray (positive side) + + if ( tmax < 0 ) return null; + + return this.at( tmin >= 0 ? tmin : tmax, optionalTarget ); + + }, + + intersectsBox: ( function () { + + var v = new Vector3(); + + return function intersectsBox( box ) { + + return this.intersectBox( box, v ) !== null; + + }; + + } )(), + + intersectTriangle: function () { + + // Compute the offset origin, edges, and normal. + var diff = new Vector3(); + var edge1 = new Vector3(); + var edge2 = new Vector3(); + var normal = new Vector3(); + + return function intersectTriangle( a, b, c, backfaceCulling, optionalTarget ) { + + // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h + + edge1.subVectors( b, a ); + edge2.subVectors( c, a ); + normal.crossVectors( edge1, edge2 ); + + // Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction, + // E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by + // |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2)) + // |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q)) + // |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N) + var DdN = this.direction.dot( normal ); + var sign; + + if ( DdN > 0 ) { + + if ( backfaceCulling ) return null; + sign = 1; + + } else if ( DdN < 0 ) { + + sign = - 1; + DdN = - DdN; + + } else { + + return null; + + } + + diff.subVectors( this.origin, a ); + var DdQxE2 = sign * this.direction.dot( edge2.crossVectors( diff, edge2 ) ); + + // b1 < 0, no intersection + if ( DdQxE2 < 0 ) { + + return null; + + } + + var DdE1xQ = sign * this.direction.dot( edge1.cross( diff ) ); + + // b2 < 0, no intersection + if ( DdE1xQ < 0 ) { + + return null; + + } + + // b1+b2 > 1, no intersection + if ( DdQxE2 + DdE1xQ > DdN ) { + + return null; + + } + + // Line intersects triangle, check if ray does. + var QdN = - sign * diff.dot( normal ); + + // t < 0, no intersection + if ( QdN < 0 ) { + + return null; + + } + + // Ray intersects triangle. + return this.at( QdN / DdN, optionalTarget ); + + }; + + }(), + + applyMatrix4: function ( matrix4 ) { + + this.direction.add( this.origin ).applyMatrix4( matrix4 ); + this.origin.applyMatrix4( matrix4 ); + this.direction.sub( this.origin ); + this.direction.normalize(); + + return this; + + }, + + equals: function ( ray ) { + + return ray.origin.equals( this.origin ) && ray.direction.equals( this.direction ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author WestLangley / http://github.com/WestLangley + * @author bhouston / http://clara.io + */ + + function Euler( x, y, z, order ) { + + this._x = x || 0; + this._y = y || 0; + this._z = z || 0; + this._order = order || Euler.DefaultOrder; + + } + + Euler.RotationOrders = [ 'XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX' ]; + + Euler.DefaultOrder = 'XYZ'; + + Object.defineProperties( Euler.prototype, { + + x: { + + get: function () { + + return this._x; + + }, + + set: function ( value ) { + + this._x = value; + this.onChangeCallback(); + + } + + }, + + y: { + + get: function () { + + return this._y; + + }, + + set: function ( value ) { + + this._y = value; + this.onChangeCallback(); + + } + + }, + + z: { + + get: function () { + + return this._z; + + }, + + set: function ( value ) { + + this._z = value; + this.onChangeCallback(); + + } + + }, + + order: { + + get: function () { + + return this._order; + + }, + + set: function ( value ) { + + this._order = value; + this.onChangeCallback(); + + } + + } + + } ); + + Object.assign( Euler.prototype, { + + isEuler: true, + + set: function ( x, y, z, order ) { + + this._x = x; + this._y = y; + this._z = z; + this._order = order || this._order; + + this.onChangeCallback(); + + return this; + + }, + + clone: function () { + + return new this.constructor( this._x, this._y, this._z, this._order ); + + }, + + copy: function ( euler ) { + + this._x = euler._x; + this._y = euler._y; + this._z = euler._z; + this._order = euler._order; + + this.onChangeCallback(); + + return this; + + }, + + setFromRotationMatrix: function ( m, order, update ) { + + var clamp = _Math.clamp; + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + var te = m.elements; + var m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ]; + var m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ]; + var m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; + + order = order || this._order; + + if ( order === 'XYZ' ) { + + this._y = Math.asin( clamp( m13, - 1, 1 ) ); + + if ( Math.abs( m13 ) < 0.99999 ) { + + this._x = Math.atan2( - m23, m33 ); + this._z = Math.atan2( - m12, m11 ); + + } else { + + this._x = Math.atan2( m32, m22 ); + this._z = 0; + + } + + } else if ( order === 'YXZ' ) { + + this._x = Math.asin( - clamp( m23, - 1, 1 ) ); + + if ( Math.abs( m23 ) < 0.99999 ) { + + this._y = Math.atan2( m13, m33 ); + this._z = Math.atan2( m21, m22 ); + + } else { + + this._y = Math.atan2( - m31, m11 ); + this._z = 0; + + } + + } else if ( order === 'ZXY' ) { + + this._x = Math.asin( clamp( m32, - 1, 1 ) ); + + if ( Math.abs( m32 ) < 0.99999 ) { + + this._y = Math.atan2( - m31, m33 ); + this._z = Math.atan2( - m12, m22 ); + + } else { + + this._y = 0; + this._z = Math.atan2( m21, m11 ); + + } + + } else if ( order === 'ZYX' ) { + + this._y = Math.asin( - clamp( m31, - 1, 1 ) ); + + if ( Math.abs( m31 ) < 0.99999 ) { + + this._x = Math.atan2( m32, m33 ); + this._z = Math.atan2( m21, m11 ); + + } else { + + this._x = 0; + this._z = Math.atan2( - m12, m22 ); + + } + + } else if ( order === 'YZX' ) { + + this._z = Math.asin( clamp( m21, - 1, 1 ) ); + + if ( Math.abs( m21 ) < 0.99999 ) { + + this._x = Math.atan2( - m23, m22 ); + this._y = Math.atan2( - m31, m11 ); + + } else { + + this._x = 0; + this._y = Math.atan2( m13, m33 ); + + } + + } else if ( order === 'XZY' ) { + + this._z = Math.asin( - clamp( m12, - 1, 1 ) ); + + if ( Math.abs( m12 ) < 0.99999 ) { + + this._x = Math.atan2( m32, m22 ); + this._y = Math.atan2( m13, m11 ); + + } else { + + this._x = Math.atan2( - m23, m33 ); + this._y = 0; + + } + + } else { + + console.warn( 'THREE.Euler: .setFromRotationMatrix() given unsupported order: ' + order ); + + } + + this._order = order; + + if ( update !== false ) this.onChangeCallback(); + + return this; + + }, + + setFromQuaternion: function () { + + var matrix = new Matrix4(); + + return function setFromQuaternion( q, order, update ) { + + matrix.makeRotationFromQuaternion( q ); + + return this.setFromRotationMatrix( matrix, order, update ); + + }; + + }(), + + setFromVector3: function ( v, order ) { + + return this.set( v.x, v.y, v.z, order || this._order ); + + }, + + reorder: function () { + + // WARNING: this discards revolution information -bhouston + + var q = new Quaternion(); + + return function reorder( newOrder ) { + + q.setFromEuler( this ); + + return this.setFromQuaternion( q, newOrder ); + + }; + + }(), + + equals: function ( euler ) { + + return ( euler._x === this._x ) && ( euler._y === this._y ) && ( euler._z === this._z ) && ( euler._order === this._order ); + + }, + + fromArray: function ( array ) { + + this._x = array[ 0 ]; + this._y = array[ 1 ]; + this._z = array[ 2 ]; + if ( array[ 3 ] !== undefined ) this._order = array[ 3 ]; + + this.onChangeCallback(); + + return this; + + }, + + toArray: function ( array, offset ) { + + if ( array === undefined ) array = []; + if ( offset === undefined ) offset = 0; + + array[ offset ] = this._x; + array[ offset + 1 ] = this._y; + array[ offset + 2 ] = this._z; + array[ offset + 3 ] = this._order; + + return array; + + }, + + toVector3: function ( optionalResult ) { + + if ( optionalResult ) { + + return optionalResult.set( this._x, this._y, this._z ); + + } else { + + return new Vector3( this._x, this._y, this._z ); + + } + + }, + + onChange: function ( callback ) { + + this.onChangeCallback = callback; + + return this; + + }, + + onChangeCallback: function () {} + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function Layers() { + + this.mask = 1 | 0; + + } + + Object.assign( Layers.prototype, { + + set: function ( channel ) { + + this.mask = 1 << channel | 0; + + }, + + enable: function ( channel ) { + + this.mask |= 1 << channel | 0; + + }, + + toggle: function ( channel ) { + + this.mask ^= 1 << channel | 0; + + }, + + disable: function ( channel ) { + + this.mask &= ~ ( 1 << channel | 0 ); + + }, + + test: function ( layers ) { + + return ( this.mask & layers.mask ) !== 0; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + * @author WestLangley / http://github.com/WestLangley + * @author elephantatwork / www.elephantatwork.ch + */ + + var object3DId = 0; + + function Object3D() { + + Object.defineProperty( this, 'id', { value: object3DId ++ } ); + + this.uuid = _Math.generateUUID(); + + this.name = ''; + this.type = 'Object3D'; + + this.parent = null; + this.children = []; + + this.up = Object3D.DefaultUp.clone(); + + var position = new Vector3(); + var rotation = new Euler(); + var quaternion = new Quaternion(); + var scale = new Vector3( 1, 1, 1 ); + + function onRotationChange() { + + quaternion.setFromEuler( rotation, false ); + + } + + function onQuaternionChange() { + + rotation.setFromQuaternion( quaternion, undefined, false ); + + } + + rotation.onChange( onRotationChange ); + quaternion.onChange( onQuaternionChange ); + + Object.defineProperties( this, { + position: { + enumerable: true, + value: position + }, + rotation: { + enumerable: true, + value: rotation + }, + quaternion: { + enumerable: true, + value: quaternion + }, + scale: { + enumerable: true, + value: scale + }, + modelViewMatrix: { + value: new Matrix4() + }, + normalMatrix: { + value: new Matrix3() + } + } ); + + this.matrix = new Matrix4(); + this.matrixWorld = new Matrix4(); + + this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate; + this.matrixWorldNeedsUpdate = false; + + this.layers = new Layers(); + this.visible = true; + + this.castShadow = false; + this.receiveShadow = false; + + this.frustumCulled = true; + this.renderOrder = 0; + + this.userData = {}; + + this.onBeforeRender = function () {}; + this.onAfterRender = function () {}; + + } + + Object3D.DefaultUp = new Vector3( 0, 1, 0 ); + Object3D.DefaultMatrixAutoUpdate = true; + + Object.assign( Object3D.prototype, EventDispatcher.prototype, { + + isObject3D: true, + + applyMatrix: function ( matrix ) { + + this.matrix.multiplyMatrices( matrix, this.matrix ); + + this.matrix.decompose( this.position, this.quaternion, this.scale ); + + }, + + setRotationFromAxisAngle: function ( axis, angle ) { + + // assumes axis is normalized + + this.quaternion.setFromAxisAngle( axis, angle ); + + }, + + setRotationFromEuler: function ( euler ) { + + this.quaternion.setFromEuler( euler, true ); + + }, + + setRotationFromMatrix: function ( m ) { + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + this.quaternion.setFromRotationMatrix( m ); + + }, + + setRotationFromQuaternion: function ( q ) { + + // assumes q is normalized + + this.quaternion.copy( q ); + + }, + + rotateOnAxis: function () { + + // rotate object on axis in object space + // axis is assumed to be normalized + + var q1 = new Quaternion(); + + return function rotateOnAxis( axis, angle ) { + + q1.setFromAxisAngle( axis, angle ); + + this.quaternion.multiply( q1 ); + + return this; + + }; + + }(), + + rotateX: function () { + + var v1 = new Vector3( 1, 0, 0 ); + + return function rotateX( angle ) { + + return this.rotateOnAxis( v1, angle ); + + }; + + }(), + + rotateY: function () { + + var v1 = new Vector3( 0, 1, 0 ); + + return function rotateY( angle ) { + + return this.rotateOnAxis( v1, angle ); + + }; + + }(), + + rotateZ: function () { + + var v1 = new Vector3( 0, 0, 1 ); + + return function rotateZ( angle ) { + + return this.rotateOnAxis( v1, angle ); + + }; + + }(), + + translateOnAxis: function () { + + // translate object by distance along axis in object space + // axis is assumed to be normalized + + var v1 = new Vector3(); + + return function translateOnAxis( axis, distance ) { + + v1.copy( axis ).applyQuaternion( this.quaternion ); + + this.position.add( v1.multiplyScalar( distance ) ); + + return this; + + }; + + }(), + + translateX: function () { + + var v1 = new Vector3( 1, 0, 0 ); + + return function translateX( distance ) { + + return this.translateOnAxis( v1, distance ); + + }; + + }(), + + translateY: function () { + + var v1 = new Vector3( 0, 1, 0 ); + + return function translateY( distance ) { + + return this.translateOnAxis( v1, distance ); + + }; + + }(), + + translateZ: function () { + + var v1 = new Vector3( 0, 0, 1 ); + + return function translateZ( distance ) { + + return this.translateOnAxis( v1, distance ); + + }; + + }(), + + localToWorld: function ( vector ) { + + return vector.applyMatrix4( this.matrixWorld ); + + }, + + worldToLocal: function () { + + var m1 = new Matrix4(); + + return function worldToLocal( vector ) { + + return vector.applyMatrix4( m1.getInverse( this.matrixWorld ) ); + + }; + + }(), + + lookAt: function () { + + // This routine does not support objects with rotated and/or translated parent(s) + + var m1 = new Matrix4(); + + return function lookAt( vector ) { + + if ( this.isCamera ) { + + m1.lookAt( this.position, vector, this.up ); + + } else { + + m1.lookAt( vector, this.position, this.up ); + + } + + this.quaternion.setFromRotationMatrix( m1 ); + + }; + + }(), + + add: function ( object ) { + + if ( arguments.length > 1 ) { + + for ( var i = 0; i < arguments.length; i ++ ) { + + this.add( arguments[ i ] ); + + } + + return this; + + } + + if ( object === this ) { + + console.error( "THREE.Object3D.add: object can't be added as a child of itself.", object ); + return this; + + } + + if ( ( object && object.isObject3D ) ) { + + if ( object.parent !== null ) { + + object.parent.remove( object ); + + } + + object.parent = this; + object.dispatchEvent( { type: 'added' } ); + + this.children.push( object ); + + } else { + + console.error( "THREE.Object3D.add: object not an instance of THREE.Object3D.", object ); + + } + + return this; + + }, + + remove: function ( object ) { + + if ( arguments.length > 1 ) { + + for ( var i = 0; i < arguments.length; i ++ ) { + + this.remove( arguments[ i ] ); + + } + + } + + var index = this.children.indexOf( object ); + + if ( index !== - 1 ) { + + object.parent = null; + + object.dispatchEvent( { type: 'removed' } ); + + this.children.splice( index, 1 ); + + } + + }, + + getObjectById: function ( id ) { + + return this.getObjectByProperty( 'id', id ); + + }, + + getObjectByName: function ( name ) { + + return this.getObjectByProperty( 'name', name ); + + }, + + getObjectByProperty: function ( name, value ) { + + if ( this[ name ] === value ) return this; + + for ( var i = 0, l = this.children.length; i < l; i ++ ) { + + var child = this.children[ i ]; + var object = child.getObjectByProperty( name, value ); + + if ( object !== undefined ) { + + return object; + + } + + } + + return undefined; + + }, + + getWorldPosition: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + this.updateMatrixWorld( true ); + + return result.setFromMatrixPosition( this.matrixWorld ); + + }, + + getWorldQuaternion: function () { + + var position = new Vector3(); + var scale = new Vector3(); + + return function getWorldQuaternion( optionalTarget ) { + + var result = optionalTarget || new Quaternion(); + + this.updateMatrixWorld( true ); + + this.matrixWorld.decompose( position, result, scale ); + + return result; + + }; + + }(), + + getWorldRotation: function () { + + var quaternion = new Quaternion(); + + return function getWorldRotation( optionalTarget ) { + + var result = optionalTarget || new Euler(); + + this.getWorldQuaternion( quaternion ); + + return result.setFromQuaternion( quaternion, this.rotation.order, false ); + + }; + + }(), + + getWorldScale: function () { + + var position = new Vector3(); + var quaternion = new Quaternion(); + + return function getWorldScale( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + this.updateMatrixWorld( true ); + + this.matrixWorld.decompose( position, quaternion, result ); + + return result; + + }; + + }(), + + getWorldDirection: function () { + + var quaternion = new Quaternion(); + + return function getWorldDirection( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + this.getWorldQuaternion( quaternion ); + + return result.set( 0, 0, 1 ).applyQuaternion( quaternion ); + + }; + + }(), + + raycast: function () {}, + + traverse: function ( callback ) { + + callback( this ); + + var children = this.children; + + for ( var i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].traverse( callback ); + + } + + }, + + traverseVisible: function ( callback ) { + + if ( this.visible === false ) return; + + callback( this ); + + var children = this.children; + + for ( var i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].traverseVisible( callback ); + + } + + }, + + traverseAncestors: function ( callback ) { + + var parent = this.parent; + + if ( parent !== null ) { + + callback( parent ); + + parent.traverseAncestors( callback ); + + } + + }, + + updateMatrix: function () { + + this.matrix.compose( this.position, this.quaternion, this.scale ); + + this.matrixWorldNeedsUpdate = true; + + }, + + updateMatrixWorld: function ( force ) { + + if ( this.matrixAutoUpdate ) this.updateMatrix(); + + if ( this.matrixWorldNeedsUpdate || force ) { + + if ( this.parent === null ) { + + this.matrixWorld.copy( this.matrix ); + + } else { + + this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix ); + + } + + this.matrixWorldNeedsUpdate = false; + + force = true; + + } + + // update children + + var children = this.children; + + for ( var i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].updateMatrixWorld( force ); + + } + + }, + + toJSON: function ( meta ) { + + // meta is '' when called from JSON.stringify + var isRootObject = ( meta === undefined || meta === '' ); + + var output = {}; + + // meta is a hash used to collect geometries, materials. + // not providing it implies that this is the root object + // being serialized. + if ( isRootObject ) { + + // initialize meta obj + meta = { + geometries: {}, + materials: {}, + textures: {}, + images: {} + }; + + output.metadata = { + version: 4.5, + type: 'Object', + generator: 'Object3D.toJSON' + }; + + } + + // standard Object3D serialization + + var object = {}; + + object.uuid = this.uuid; + object.type = this.type; + + if ( this.name !== '' ) object.name = this.name; + if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData; + if ( this.castShadow === true ) object.castShadow = true; + if ( this.receiveShadow === true ) object.receiveShadow = true; + if ( this.visible === false ) object.visible = false; + + object.matrix = this.matrix.toArray(); + + // + + function serialize( library, element ) { + + if ( library[ element.uuid ] === undefined ) { + + library[ element.uuid ] = element.toJSON( meta ); + + } + + return element.uuid; + + } + + if ( this.geometry !== undefined ) { + + object.geometry = serialize( meta.geometries, this.geometry ); + + } + + if ( this.material !== undefined ) { + + if ( Array.isArray( this.material ) ) { + + var uuids = []; + + for ( var i = 0, l = this.material.length; i < l; i ++ ) { + + uuids.push( serialize( meta.materials, this.material[ i ] ) ); + + } + + object.material = uuids; + + } else { + + object.material = serialize( meta.materials, this.material ); + + } + + } + + // + + if ( this.children.length > 0 ) { + + object.children = []; + + for ( var i = 0; i < this.children.length; i ++ ) { + + object.children.push( this.children[ i ].toJSON( meta ).object ); + + } + + } + + if ( isRootObject ) { + + var geometries = extractFromCache( meta.geometries ); + var materials = extractFromCache( meta.materials ); + var textures = extractFromCache( meta.textures ); + var images = extractFromCache( meta.images ); + + if ( geometries.length > 0 ) output.geometries = geometries; + if ( materials.length > 0 ) output.materials = materials; + if ( textures.length > 0 ) output.textures = textures; + if ( images.length > 0 ) output.images = images; + + } + + output.object = object; + + return output; + + // extract data from the cache hash + // remove metadata on each item + // and return as array + function extractFromCache( cache ) { + + var values = []; + for ( var key in cache ) { + + var data = cache[ key ]; + delete data.metadata; + values.push( data ); + + } + return values; + + } + + }, + + clone: function ( recursive ) { + + return new this.constructor().copy( this, recursive ); + + }, + + copy: function ( source, recursive ) { + + if ( recursive === undefined ) recursive = true; + + this.name = source.name; + + this.up.copy( source.up ); + + this.position.copy( source.position ); + this.quaternion.copy( source.quaternion ); + this.scale.copy( source.scale ); + + this.matrix.copy( source.matrix ); + this.matrixWorld.copy( source.matrixWorld ); + + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; + + this.layers.mask = source.layers.mask; + this.visible = source.visible; + + this.castShadow = source.castShadow; + this.receiveShadow = source.receiveShadow; + + this.frustumCulled = source.frustumCulled; + this.renderOrder = source.renderOrder; + + this.userData = JSON.parse( JSON.stringify( source.userData ) ); + + if ( recursive === true ) { + + for ( var i = 0; i < source.children.length; i ++ ) { + + var child = source.children[ i ]; + this.add( child.clone() ); + + } + + } + + return this; + + } + + } ); + + /** + * @author bhouston / http://clara.io + */ + + function Line3( start, end ) { + + this.start = ( start !== undefined ) ? start : new Vector3(); + this.end = ( end !== undefined ) ? end : new Vector3(); + + } + + Object.assign( Line3.prototype, { + + set: function ( start, end ) { + + this.start.copy( start ); + this.end.copy( end ); + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( line ) { + + this.start.copy( line.start ); + this.end.copy( line.end ); + + return this; + + }, + + getCenter: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return result.addVectors( this.start, this.end ).multiplyScalar( 0.5 ); + + }, + + delta: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return result.subVectors( this.end, this.start ); + + }, + + distanceSq: function () { + + return this.start.distanceToSquared( this.end ); + + }, + + distance: function () { + + return this.start.distanceTo( this.end ); + + }, + + at: function ( t, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + return this.delta( result ).multiplyScalar( t ).add( this.start ); + + }, + + closestPointToPointParameter: function () { + + var startP = new Vector3(); + var startEnd = new Vector3(); + + return function closestPointToPointParameter( point, clampToLine ) { + + startP.subVectors( point, this.start ); + startEnd.subVectors( this.end, this.start ); + + var startEnd2 = startEnd.dot( startEnd ); + var startEnd_startP = startEnd.dot( startP ); + + var t = startEnd_startP / startEnd2; + + if ( clampToLine ) { + + t = _Math.clamp( t, 0, 1 ); + + } + + return t; + + }; + + }(), + + closestPointToPoint: function ( point, clampToLine, optionalTarget ) { + + var t = this.closestPointToPointParameter( point, clampToLine ); + + var result = optionalTarget || new Vector3(); + + return this.delta( result ).multiplyScalar( t ).add( this.start ); + + }, + + applyMatrix4: function ( matrix ) { + + this.start.applyMatrix4( matrix ); + this.end.applyMatrix4( matrix ); + + return this; + + }, + + equals: function ( line ) { + + return line.start.equals( this.start ) && line.end.equals( this.end ); + + } + + } ); + + /** + * @author bhouston / http://clara.io + * @author mrdoob / http://mrdoob.com/ + */ + + function Triangle( a, b, c ) { + + this.a = ( a !== undefined ) ? a : new Vector3(); + this.b = ( b !== undefined ) ? b : new Vector3(); + this.c = ( c !== undefined ) ? c : new Vector3(); + + } + + Object.assign( Triangle, { + + normal: function () { + + var v0 = new Vector3(); + + return function normal( a, b, c, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + result.subVectors( c, b ); + v0.subVectors( a, b ); + result.cross( v0 ); + + var resultLengthSq = result.lengthSq(); + if ( resultLengthSq > 0 ) { + + return result.multiplyScalar( 1 / Math.sqrt( resultLengthSq ) ); + + } + + return result.set( 0, 0, 0 ); + + }; + + }(), + + // static/instance method to calculate barycentric coordinates + // based on: http://www.blackpawn.com/texts/pointinpoly/default.html + barycoordFromPoint: function () { + + var v0 = new Vector3(); + var v1 = new Vector3(); + var v2 = new Vector3(); + + return function barycoordFromPoint( point, a, b, c, optionalTarget ) { + + v0.subVectors( c, a ); + v1.subVectors( b, a ); + v2.subVectors( point, a ); + + var dot00 = v0.dot( v0 ); + var dot01 = v0.dot( v1 ); + var dot02 = v0.dot( v2 ); + var dot11 = v1.dot( v1 ); + var dot12 = v1.dot( v2 ); + + var denom = ( dot00 * dot11 - dot01 * dot01 ); + + var result = optionalTarget || new Vector3(); + + // collinear or singular triangle + if ( denom === 0 ) { + + // arbitrary location outside of triangle? + // not sure if this is the best idea, maybe should be returning undefined + return result.set( - 2, - 1, - 1 ); + + } + + var invDenom = 1 / denom; + var u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom; + var v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom; + + // barycentric coordinates must always sum to 1 + return result.set( 1 - u - v, v, u ); + + }; + + }(), + + containsPoint: function () { + + var v1 = new Vector3(); + + return function containsPoint( point, a, b, c ) { + + var result = Triangle.barycoordFromPoint( point, a, b, c, v1 ); + + return ( result.x >= 0 ) && ( result.y >= 0 ) && ( ( result.x + result.y ) <= 1 ); + + }; + + }() + + } ); + + Object.assign( Triangle.prototype, { + + set: function ( a, b, c ) { + + this.a.copy( a ); + this.b.copy( b ); + this.c.copy( c ); + + return this; + + }, + + setFromPointsAndIndices: function ( points, i0, i1, i2 ) { + + this.a.copy( points[ i0 ] ); + this.b.copy( points[ i1 ] ); + this.c.copy( points[ i2 ] ); + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( triangle ) { + + this.a.copy( triangle.a ); + this.b.copy( triangle.b ); + this.c.copy( triangle.c ); + + return this; + + }, + + area: function () { + + var v0 = new Vector3(); + var v1 = new Vector3(); + + return function area() { + + v0.subVectors( this.c, this.b ); + v1.subVectors( this.a, this.b ); + + return v0.cross( v1 ).length() * 0.5; + + }; + + }(), + + midpoint: function ( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + return result.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 ); + + }, + + normal: function ( optionalTarget ) { + + return Triangle.normal( this.a, this.b, this.c, optionalTarget ); + + }, + + plane: function ( optionalTarget ) { + + var result = optionalTarget || new Plane(); + + return result.setFromCoplanarPoints( this.a, this.b, this.c ); + + }, + + barycoordFromPoint: function ( point, optionalTarget ) { + + return Triangle.barycoordFromPoint( point, this.a, this.b, this.c, optionalTarget ); + + }, + + containsPoint: function ( point ) { + + return Triangle.containsPoint( point, this.a, this.b, this.c ); + + }, + + closestPointToPoint: function () { + + var plane = new Plane(); + var edgeList = [ new Line3(), new Line3(), new Line3() ]; + var projectedPoint = new Vector3(); + var closestPoint = new Vector3(); + + return function closestPointToPoint( point, optionalTarget ) { + + var result = optionalTarget || new Vector3(); + var minDistance = Infinity; + + // project the point onto the plane of the triangle + + plane.setFromCoplanarPoints( this.a, this.b, this.c ); + plane.projectPoint( point, projectedPoint ); + + // check if the projection lies within the triangle + + if( this.containsPoint( projectedPoint ) === true ) { + + // if so, this is the closest point + + result.copy( projectedPoint ); + + } else { + + // if not, the point falls outside the triangle. the result is the closest point to the triangle's edges or vertices + + edgeList[ 0 ].set( this.a, this.b ); + edgeList[ 1 ].set( this.b, this.c ); + edgeList[ 2 ].set( this.c, this.a ); + + for( var i = 0; i < edgeList.length; i ++ ) { + + edgeList[ i ].closestPointToPoint( projectedPoint, true, closestPoint ); + + var distance = projectedPoint.distanceToSquared( closestPoint ); + + if( distance < minDistance ) { + + minDistance = distance; + + result.copy( closestPoint ); + + } + + } + + } + + return result; + + }; + + }(), + + equals: function ( triangle ) { + + return triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + function Face3( a, b, c, normal, color, materialIndex ) { + + this.a = a; + this.b = b; + this.c = c; + + this.normal = ( normal && normal.isVector3 ) ? normal : new Vector3(); + this.vertexNormals = Array.isArray( normal ) ? normal : []; + + this.color = ( color && color.isColor ) ? color : new Color(); + this.vertexColors = Array.isArray( color ) ? color : []; + + this.materialIndex = materialIndex !== undefined ? materialIndex : 0; + + } + + Object.assign( Face3.prototype, { + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( source ) { + + this.a = source.a; + this.b = source.b; + this.c = source.c; + + this.normal.copy( source.normal ); + this.color.copy( source.color ); + + this.materialIndex = source.materialIndex; + + for ( var i = 0, il = source.vertexNormals.length; i < il; i ++ ) { + + this.vertexNormals[ i ] = source.vertexNormals[ i ].clone(); + + } + + for ( var i = 0, il = source.vertexColors.length; i < il; i ++ ) { + + this.vertexColors[ i ] = source.vertexColors[ i ].clone(); + + } + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * opacity: <float>, + * map: new THREE.Texture( <Image> ), + * + * lightMap: new THREE.Texture( <Image> ), + * lightMapIntensity: <float> + * + * aoMap: new THREE.Texture( <Image> ), + * aoMapIntensity: <float> + * + * specularMap: new THREE.Texture( <Image> ), + * + * alphaMap: new THREE.Texture( <Image> ), + * + * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: <float>, + * refractionRatio: <float>, + * + * shading: THREE.SmoothShading, + * depthTest: <bool>, + * depthWrite: <bool>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float>, + * + * skinning: <bool>, + * morphTargets: <bool> + * } + */ + + function MeshBasicMaterial( parameters ) { + + Material.call( this ); + + this.type = 'MeshBasicMaterial'; + + this.color = new Color( 0xffffff ); // emissive + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.specularMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.skinning = false; + this.morphTargets = false; + + this.lights = false; + + this.setValues( parameters ); + + } + + MeshBasicMaterial.prototype = Object.create( Material.prototype ); + MeshBasicMaterial.prototype.constructor = MeshBasicMaterial; + + MeshBasicMaterial.prototype.isMeshBasicMaterial = true; + + MeshBasicMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.specularMap = source.specularMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + this.skinning = source.skinning; + this.morphTargets = source.morphTargets; + + return this; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function BufferAttribute( array, itemSize, normalized ) { + + if ( Array.isArray( array ) ) { + + throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); + + } + + this.uuid = _Math.generateUUID(); + + this.array = array; + this.itemSize = itemSize; + this.count = array !== undefined ? array.length / itemSize : 0; + this.normalized = normalized === true; + + this.dynamic = false; + this.updateRange = { offset: 0, count: - 1 }; + + this.onUploadCallback = function () {}; + + this.version = 0; + + } + + Object.defineProperty( BufferAttribute.prototype, 'needsUpdate', { + + set: function ( value ) { + + if ( value === true ) this.version ++; + + } + + } ); + + Object.assign( BufferAttribute.prototype, { + + isBufferAttribute: true, + + setArray: function ( array ) { + + if ( Array.isArray( array ) ) { + + throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); + + } + + this.count = array !== undefined ? array.length / this.itemSize : 0; + this.array = array; + + }, + + setDynamic: function ( value ) { + + this.dynamic = value; + + return this; + + }, + + copy: function ( source ) { + + this.array = new source.array.constructor( source.array ); + this.itemSize = source.itemSize; + this.count = source.count; + this.normalized = source.normalized; + + this.dynamic = source.dynamic; + + return this; + + }, + + copyAt: function ( index1, attribute, index2 ) { + + index1 *= this.itemSize; + index2 *= attribute.itemSize; + + for ( var i = 0, l = this.itemSize; i < l; i ++ ) { + + this.array[ index1 + i ] = attribute.array[ index2 + i ]; + + } + + return this; + + }, + + copyArray: function ( array ) { + + this.array.set( array ); + + return this; + + }, + + copyColorsArray: function ( colors ) { + + var array = this.array, offset = 0; + + for ( var i = 0, l = colors.length; i < l; i ++ ) { + + var color = colors[ i ]; + + if ( color === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyColorsArray(): color is undefined', i ); + color = new Color(); + + } + + array[ offset ++ ] = color.r; + array[ offset ++ ] = color.g; + array[ offset ++ ] = color.b; + + } + + return this; + + }, + + copyIndicesArray: function ( indices ) { + + var array = this.array, offset = 0; + + for ( var i = 0, l = indices.length; i < l; i ++ ) { + + var index = indices[ i ]; + + array[ offset ++ ] = index.a; + array[ offset ++ ] = index.b; + array[ offset ++ ] = index.c; + + } + + return this; + + }, + + copyVector2sArray: function ( vectors ) { + + var array = this.array, offset = 0; + + for ( var i = 0, l = vectors.length; i < l; i ++ ) { + + var vector = vectors[ i ]; + + if ( vector === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i ); + vector = new Vector2(); + + } + + array[ offset ++ ] = vector.x; + array[ offset ++ ] = vector.y; + + } + + return this; + + }, + + copyVector3sArray: function ( vectors ) { + + var array = this.array, offset = 0; + + for ( var i = 0, l = vectors.length; i < l; i ++ ) { + + var vector = vectors[ i ]; + + if ( vector === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i ); + vector = new Vector3(); + + } + + array[ offset ++ ] = vector.x; + array[ offset ++ ] = vector.y; + array[ offset ++ ] = vector.z; + + } + + return this; + + }, + + copyVector4sArray: function ( vectors ) { + + var array = this.array, offset = 0; + + for ( var i = 0, l = vectors.length; i < l; i ++ ) { + + var vector = vectors[ i ]; + + if ( vector === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i ); + vector = new Vector4(); + + } + + array[ offset ++ ] = vector.x; + array[ offset ++ ] = vector.y; + array[ offset ++ ] = vector.z; + array[ offset ++ ] = vector.w; + + } + + return this; + + }, + + set: function ( value, offset ) { + + if ( offset === undefined ) offset = 0; + + this.array.set( value, offset ); + + return this; + + }, + + getX: function ( index ) { + + return this.array[ index * this.itemSize ]; + + }, + + setX: function ( index, x ) { + + this.array[ index * this.itemSize ] = x; + + return this; + + }, + + getY: function ( index ) { + + return this.array[ index * this.itemSize + 1 ]; + + }, + + setY: function ( index, y ) { + + this.array[ index * this.itemSize + 1 ] = y; + + return this; + + }, + + getZ: function ( index ) { + + return this.array[ index * this.itemSize + 2 ]; + + }, + + setZ: function ( index, z ) { + + this.array[ index * this.itemSize + 2 ] = z; + + return this; + + }, + + getW: function ( index ) { + + return this.array[ index * this.itemSize + 3 ]; + + }, + + setW: function ( index, w ) { + + this.array[ index * this.itemSize + 3 ] = w; + + return this; + + }, + + setXY: function ( index, x, y ) { + + index *= this.itemSize; + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + + return this; + + }, + + setXYZ: function ( index, x, y, z ) { + + index *= this.itemSize; + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + this.array[ index + 2 ] = z; + + return this; + + }, + + setXYZW: function ( index, x, y, z, w ) { + + index *= this.itemSize; + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + this.array[ index + 2 ] = z; + this.array[ index + 3 ] = w; + + return this; + + }, + + onUpload: function ( callback ) { + + this.onUploadCallback = callback; + + return this; + + }, + + clone: function () { + + return new this.constructor( this.array, this.itemSize ).copy( this ); + + } + + } ); + + // + + function Int8BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Int8Array( array ), itemSize ); + + } + + Int8BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Int8BufferAttribute.prototype.constructor = Int8BufferAttribute; + + + function Uint8BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Uint8Array( array ), itemSize ); + + } + + Uint8BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Uint8BufferAttribute.prototype.constructor = Uint8BufferAttribute; + + + function Uint8ClampedBufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Uint8ClampedArray( array ), itemSize ); + + } + + Uint8ClampedBufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Uint8ClampedBufferAttribute.prototype.constructor = Uint8ClampedBufferAttribute; + + + function Int16BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Int16Array( array ), itemSize ); + + } + + Int16BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Int16BufferAttribute.prototype.constructor = Int16BufferAttribute; + + + function Uint16BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Uint16Array( array ), itemSize ); + + } + + Uint16BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Uint16BufferAttribute.prototype.constructor = Uint16BufferAttribute; + + + function Int32BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Int32Array( array ), itemSize ); + + } + + Int32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Int32BufferAttribute.prototype.constructor = Int32BufferAttribute; + + + function Uint32BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Uint32Array( array ), itemSize ); + + } + + Uint32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Uint32BufferAttribute.prototype.constructor = Uint32BufferAttribute; + + + function Float32BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Float32Array( array ), itemSize ); + + } + + Float32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Float32BufferAttribute.prototype.constructor = Float32BufferAttribute; + + + function Float64BufferAttribute( array, itemSize ) { + + BufferAttribute.call( this, new Float64Array( array ), itemSize ); + + } + + Float64BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); + Float64BufferAttribute.prototype.constructor = Float64BufferAttribute; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function DirectGeometry() { + + this.indices = []; + this.vertices = []; + this.normals = []; + this.colors = []; + this.uvs = []; + this.uvs2 = []; + + this.groups = []; + + this.morphTargets = {}; + + this.skinWeights = []; + this.skinIndices = []; + + // this.lineDistances = []; + + this.boundingBox = null; + this.boundingSphere = null; + + // update flags + + this.verticesNeedUpdate = false; + this.normalsNeedUpdate = false; + this.colorsNeedUpdate = false; + this.uvsNeedUpdate = false; + this.groupsNeedUpdate = false; + + } + + Object.assign( DirectGeometry.prototype, { + + computeGroups: function ( geometry ) { + + var group; + var groups = []; + var materialIndex = undefined; + + var faces = geometry.faces; + + for ( var i = 0; i < faces.length; i ++ ) { + + var face = faces[ i ]; + + // materials + + if ( face.materialIndex !== materialIndex ) { + + materialIndex = face.materialIndex; + + if ( group !== undefined ) { + + group.count = ( i * 3 ) - group.start; + groups.push( group ); + + } + + group = { + start: i * 3, + materialIndex: materialIndex + }; + + } + + } + + if ( group !== undefined ) { + + group.count = ( i * 3 ) - group.start; + groups.push( group ); + + } + + this.groups = groups; + + }, + + fromGeometry: function ( geometry ) { + + var faces = geometry.faces; + var vertices = geometry.vertices; + var faceVertexUvs = geometry.faceVertexUvs; + + var hasFaceVertexUv = faceVertexUvs[ 0 ] && faceVertexUvs[ 0 ].length > 0; + var hasFaceVertexUv2 = faceVertexUvs[ 1 ] && faceVertexUvs[ 1 ].length > 0; + + // morphs + + var morphTargets = geometry.morphTargets; + var morphTargetsLength = morphTargets.length; + + var morphTargetsPosition; + + if ( morphTargetsLength > 0 ) { + + morphTargetsPosition = []; + + for ( var i = 0; i < morphTargetsLength; i ++ ) { + + morphTargetsPosition[ i ] = []; + + } + + this.morphTargets.position = morphTargetsPosition; + + } + + var morphNormals = geometry.morphNormals; + var morphNormalsLength = morphNormals.length; + + var morphTargetsNormal; + + if ( morphNormalsLength > 0 ) { + + morphTargetsNormal = []; + + for ( var i = 0; i < morphNormalsLength; i ++ ) { + + morphTargetsNormal[ i ] = []; + + } + + this.morphTargets.normal = morphTargetsNormal; + + } + + // skins + + var skinIndices = geometry.skinIndices; + var skinWeights = geometry.skinWeights; + + var hasSkinIndices = skinIndices.length === vertices.length; + var hasSkinWeights = skinWeights.length === vertices.length; + + // + + for ( var i = 0; i < faces.length; i ++ ) { + + var face = faces[ i ]; + + this.vertices.push( vertices[ face.a ], vertices[ face.b ], vertices[ face.c ] ); + + var vertexNormals = face.vertexNormals; + + if ( vertexNormals.length === 3 ) { + + this.normals.push( vertexNormals[ 0 ], vertexNormals[ 1 ], vertexNormals[ 2 ] ); + + } else { + + var normal = face.normal; + + this.normals.push( normal, normal, normal ); + + } + + var vertexColors = face.vertexColors; + + if ( vertexColors.length === 3 ) { + + this.colors.push( vertexColors[ 0 ], vertexColors[ 1 ], vertexColors[ 2 ] ); + + } else { + + var color = face.color; + + this.colors.push( color, color, color ); + + } + + if ( hasFaceVertexUv === true ) { + + var vertexUvs = faceVertexUvs[ 0 ][ i ]; + + if ( vertexUvs !== undefined ) { + + this.uvs.push( vertexUvs[ 0 ], vertexUvs[ 1 ], vertexUvs[ 2 ] ); + + } else { + + console.warn( 'THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ', i ); + + this.uvs.push( new Vector2(), new Vector2(), new Vector2() ); + + } + + } + + if ( hasFaceVertexUv2 === true ) { + + var vertexUvs = faceVertexUvs[ 1 ][ i ]; + + if ( vertexUvs !== undefined ) { + + this.uvs2.push( vertexUvs[ 0 ], vertexUvs[ 1 ], vertexUvs[ 2 ] ); + + } else { + + console.warn( 'THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ', i ); + + this.uvs2.push( new Vector2(), new Vector2(), new Vector2() ); + + } + + } + + // morphs + + for ( var j = 0; j < morphTargetsLength; j ++ ) { + + var morphTarget = morphTargets[ j ].vertices; + + morphTargetsPosition[ j ].push( morphTarget[ face.a ], morphTarget[ face.b ], morphTarget[ face.c ] ); + + } + + for ( var j = 0; j < morphNormalsLength; j ++ ) { + + var morphNormal = morphNormals[ j ].vertexNormals[ i ]; + + morphTargetsNormal[ j ].push( morphNormal.a, morphNormal.b, morphNormal.c ); + + } + + // skins + + if ( hasSkinIndices ) { + + this.skinIndices.push( skinIndices[ face.a ], skinIndices[ face.b ], skinIndices[ face.c ] ); + + } + + if ( hasSkinWeights ) { + + this.skinWeights.push( skinWeights[ face.a ], skinWeights[ face.b ], skinWeights[ face.c ] ); + + } + + } + + this.computeGroups( geometry ); + + this.verticesNeedUpdate = geometry.verticesNeedUpdate; + this.normalsNeedUpdate = geometry.normalsNeedUpdate; + this.colorsNeedUpdate = geometry.colorsNeedUpdate; + this.uvsNeedUpdate = geometry.uvsNeedUpdate; + this.groupsNeedUpdate = geometry.groupsNeedUpdate; + + return this; + + } + + } ); + + function arrayMax( array ) { + + if ( array.length === 0 ) return - Infinity; + + var max = array[ 0 ]; + + for ( var i = 1, l = array.length; i < l; ++ i ) { + + if ( array[ i ] > max ) max = array[ i ]; + + } + + return max; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + * @author kile / http://kile.stravaganza.org/ + * @author alteredq / http://alteredqualia.com/ + * @author mikael emtinger / http://gomo.se/ + * @author zz85 / http://www.lab4games.net/zz85/blog + * @author bhouston / http://clara.io + */ + + var count = 0; + function GeometryIdCount() { return count++; } + + function Geometry() { + + Object.defineProperty( this, 'id', { value: GeometryIdCount() } ); + + this.uuid = _Math.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; + + // update flags + + this.elementsNeedUpdate = false; + this.verticesNeedUpdate = false; + this.uvsNeedUpdate = false; + this.normalsNeedUpdate = false; + this.colorsNeedUpdate = false; + this.lineDistancesNeedUpdate = false; + this.groupsNeedUpdate = false; + + } + + Object.assign( Geometry.prototype, EventDispatcher.prototype, { + + isGeometry: true, + + applyMatrix: function ( matrix ) { + + var normalMatrix = new Matrix3().getNormalMatrix( matrix ); + + for ( var i = 0, il = this.vertices.length; i < il; i ++ ) { + + var vertex = this.vertices[ i ]; + vertex.applyMatrix4( matrix ); + + } + + for ( var i = 0, il = this.faces.length; i < il; i ++ ) { + + var face = this.faces[ i ]; + face.normal.applyMatrix3( normalMatrix ).normalize(); + + for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) { + + face.vertexNormals[ j ].applyMatrix3( normalMatrix ).normalize(); + + } + + } + + if ( this.boundingBox !== null ) { + + this.computeBoundingBox(); + + } + + if ( this.boundingSphere !== null ) { + + this.computeBoundingSphere(); + + } + + this.verticesNeedUpdate = true; + this.normalsNeedUpdate = true; + + return this; + + }, + + rotateX: function () { + + // rotate geometry around world x-axis + + var m1 = new Matrix4(); + + return function rotateX( angle ) { + + m1.makeRotationX( angle ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + rotateY: function () { + + // rotate geometry around world y-axis + + var m1 = new Matrix4(); + + return function rotateY( angle ) { + + m1.makeRotationY( angle ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + rotateZ: function () { + + // rotate geometry around world z-axis + + var m1 = new Matrix4(); + + return function rotateZ( angle ) { + + m1.makeRotationZ( angle ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + translate: function () { + + // translate geometry + + var m1 = new Matrix4(); + + return function translate( x, y, z ) { + + m1.makeTranslation( x, y, z ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + scale: function () { + + // scale geometry + + var m1 = new Matrix4(); + + return function scale( x, y, z ) { + + m1.makeScale( x, y, z ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + lookAt: function () { + + var obj = new Object3D(); + + return function lookAt( vector ) { + + obj.lookAt( vector ); + + obj.updateMatrix(); + + this.applyMatrix( obj.matrix ); + + }; + + }(), + + fromBufferGeometry: function ( geometry ) { + + var scope = this; + + var indices = geometry.index !== null ? geometry.index.array : undefined; + var attributes = geometry.attributes; + + var positions = attributes.position.array; + var normals = attributes.normal !== undefined ? attributes.normal.array : undefined; + var colors = attributes.color !== undefined ? attributes.color.array : undefined; + var uvs = attributes.uv !== undefined ? attributes.uv.array : undefined; + var uvs2 = attributes.uv2 !== undefined ? attributes.uv2.array : undefined; + + if ( uvs2 !== undefined ) this.faceVertexUvs[ 1 ] = []; + + var tempNormals = []; + var tempUVs = []; + var tempUVs2 = []; + + for ( var i = 0, j = 0; i < positions.length; i += 3, j += 2 ) { + + scope.vertices.push( new Vector3( positions[ i ], positions[ i + 1 ], positions[ i + 2 ] ) ); + + if ( normals !== undefined ) { + + tempNormals.push( new Vector3( normals[ i ], normals[ i + 1 ], normals[ i + 2 ] ) ); + + } + + if ( colors !== undefined ) { + + scope.colors.push( new Color( colors[ i ], colors[ i + 1 ], colors[ i + 2 ] ) ); + + } + + if ( uvs !== undefined ) { + + tempUVs.push( new Vector2( uvs[ j ], uvs[ j + 1 ] ) ); + + } + + if ( uvs2 !== undefined ) { + + tempUVs2.push( new Vector2( uvs2[ j ], uvs2[ j + 1 ] ) ); + + } + + } + + function addFace( a, b, c, materialIndex ) { + + var vertexNormals = normals !== undefined ? [ tempNormals[ a ].clone(), tempNormals[ b ].clone(), tempNormals[ c ].clone() ] : []; + var vertexColors = colors !== undefined ? [ scope.colors[ a ].clone(), scope.colors[ b ].clone(), scope.colors[ c ].clone() ] : []; + + var face = new Face3( a, b, c, vertexNormals, vertexColors, materialIndex ); + + scope.faces.push( face ); + + if ( uvs !== undefined ) { + + scope.faceVertexUvs[ 0 ].push( [ tempUVs[ a ].clone(), tempUVs[ b ].clone(), tempUVs[ c ].clone() ] ); + + } + + if ( uvs2 !== undefined ) { + + scope.faceVertexUvs[ 1 ].push( [ tempUVs2[ a ].clone(), tempUVs2[ b ].clone(), tempUVs2[ c ].clone() ] ); + + } + + } + + var groups = geometry.groups; + + if ( groups.length > 0 ) { + + for ( var i = 0; i < groups.length; i ++ ) { + + var group = groups[ i ]; + + var start = group.start; + var count = group.count; + + for ( var j = start, jl = start + count; j < jl; j += 3 ) { + + if ( indices !== undefined ) { + + addFace( indices[ j ], indices[ j + 1 ], indices[ j + 2 ], group.materialIndex ); + + } else { + + addFace( j, j + 1, j + 2, group.materialIndex ); + + } + + } + + } + + } else { + + if ( indices !== undefined ) { + + for ( var i = 0; i < indices.length; i += 3 ) { + + addFace( indices[ i ], indices[ i + 1 ], indices[ i + 2 ] ); + + } + + } else { + + for ( var i = 0; i < positions.length / 3; i += 3 ) { + + addFace( i, i + 1, i + 2 ); + + } + + } + + } + + this.computeFaceNormals(); + + if ( geometry.boundingBox !== null ) { + + this.boundingBox = geometry.boundingBox.clone(); + + } + + if ( geometry.boundingSphere !== null ) { + + this.boundingSphere = geometry.boundingSphere.clone(); + + } + + return this; + + }, + + center: function () { + + this.computeBoundingBox(); + + var offset = this.boundingBox.getCenter().negate(); + + this.translate( offset.x, offset.y, offset.z ); + + return offset; + + }, + + normalize: function () { + + this.computeBoundingSphere(); + + var center = this.boundingSphere.center; + var radius = this.boundingSphere.radius; + + var s = radius === 0 ? 1 : 1.0 / radius; + + var matrix = new Matrix4(); + matrix.set( + s, 0, 0, - s * center.x, + 0, s, 0, - s * center.y, + 0, 0, s, - s * center.z, + 0, 0, 0, 1 + ); + + this.applyMatrix( matrix ); + + return this; + + }, + + computeFaceNormals: function () { + + var cb = new Vector3(), ab = new Vector3(); + + for ( var f = 0, fl = this.faces.length; f < fl; f ++ ) { + + var face = this.faces[ f ]; + + var vA = this.vertices[ face.a ]; + var vB = this.vertices[ face.b ]; + var vC = this.vertices[ face.c ]; + + cb.subVectors( vC, vB ); + ab.subVectors( vA, vB ); + cb.cross( ab ); + + cb.normalize(); + + face.normal.copy( cb ); + + } + + }, + + computeVertexNormals: function ( areaWeighted ) { + + if ( areaWeighted === undefined ) areaWeighted = true; + + var v, vl, f, fl, face, vertices; + + vertices = new Array( this.vertices.length ); + + for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) { + + vertices[ v ] = new Vector3(); + + } + + if ( areaWeighted ) { + + // vertex normals weighted by triangle areas + // http://www.iquilezles.org/www/articles/normals/normals.htm + + var vA, vB, vC; + var cb = new Vector3(), ab = new Vector3(); + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + vA = this.vertices[ face.a ]; + vB = this.vertices[ face.b ]; + vC = this.vertices[ face.c ]; + + cb.subVectors( vC, vB ); + ab.subVectors( vA, vB ); + cb.cross( ab ); + + vertices[ face.a ].add( cb ); + vertices[ face.b ].add( cb ); + vertices[ face.c ].add( cb ); + + } + + } else { + + this.computeFaceNormals(); + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + vertices[ face.a ].add( face.normal ); + vertices[ face.b ].add( face.normal ); + vertices[ face.c ].add( face.normal ); + + } + + } + + for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) { + + vertices[ v ].normalize(); + + } + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + var vertexNormals = face.vertexNormals; + + if ( vertexNormals.length === 3 ) { + + vertexNormals[ 0 ].copy( vertices[ face.a ] ); + vertexNormals[ 1 ].copy( vertices[ face.b ] ); + vertexNormals[ 2 ].copy( vertices[ face.c ] ); + + } else { + + vertexNormals[ 0 ] = vertices[ face.a ].clone(); + vertexNormals[ 1 ] = vertices[ face.b ].clone(); + vertexNormals[ 2 ] = vertices[ face.c ].clone(); + + } + + } + + if ( this.faces.length > 0 ) { + + this.normalsNeedUpdate = true; + + } + + }, + + computeFlatVertexNormals: function () { + + var f, fl, face; + + this.computeFaceNormals(); + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + var vertexNormals = face.vertexNormals; + + if ( vertexNormals.length === 3 ) { + + vertexNormals[ 0 ].copy( face.normal ); + vertexNormals[ 1 ].copy( face.normal ); + vertexNormals[ 2 ].copy( face.normal ); + + } else { + + vertexNormals[ 0 ] = face.normal.clone(); + vertexNormals[ 1 ] = face.normal.clone(); + vertexNormals[ 2 ] = face.normal.clone(); + + } + + } + + if ( this.faces.length > 0 ) { + + this.normalsNeedUpdate = true; + + } + + }, + + computeMorphNormals: function () { + + var i, il, f, fl, face; + + // save original normals + // - create temp variables on first access + // otherwise just copy (for faster repeated calls) + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + if ( ! face.__originalFaceNormal ) { + + face.__originalFaceNormal = face.normal.clone(); + + } else { + + face.__originalFaceNormal.copy( face.normal ); + + } + + if ( ! face.__originalVertexNormals ) face.__originalVertexNormals = []; + + for ( i = 0, il = face.vertexNormals.length; i < il; i ++ ) { + + if ( ! face.__originalVertexNormals[ i ] ) { + + face.__originalVertexNormals[ i ] = face.vertexNormals[ i ].clone(); + + } else { + + face.__originalVertexNormals[ i ].copy( face.vertexNormals[ i ] ); + + } + + } + + } + + // use temp geometry to compute face and vertex normals for each morph + + var tmpGeo = new Geometry(); + tmpGeo.faces = this.faces; + + for ( i = 0, il = this.morphTargets.length; i < il; i ++ ) { + + // create on first access + + if ( ! this.morphNormals[ i ] ) { + + this.morphNormals[ i ] = {}; + this.morphNormals[ i ].faceNormals = []; + this.morphNormals[ i ].vertexNormals = []; + + var dstNormalsFace = this.morphNormals[ i ].faceNormals; + var dstNormalsVertex = this.morphNormals[ i ].vertexNormals; + + var faceNormal, vertexNormals; + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + faceNormal = new Vector3(); + vertexNormals = { a: new Vector3(), b: new Vector3(), c: new Vector3() }; + + dstNormalsFace.push( faceNormal ); + dstNormalsVertex.push( vertexNormals ); + + } + + } + + var morphNormals = this.morphNormals[ i ]; + + // set vertices to morph target + + tmpGeo.vertices = this.morphTargets[ i ].vertices; + + // compute morph normals + + tmpGeo.computeFaceNormals(); + tmpGeo.computeVertexNormals(); + + // store morph normals + + var faceNormal, vertexNormals; + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + faceNormal = morphNormals.faceNormals[ f ]; + vertexNormals = morphNormals.vertexNormals[ f ]; + + faceNormal.copy( face.normal ); + + vertexNormals.a.copy( face.vertexNormals[ 0 ] ); + vertexNormals.b.copy( face.vertexNormals[ 1 ] ); + vertexNormals.c.copy( face.vertexNormals[ 2 ] ); + + } + + } + + // restore original normals + + for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { + + face = this.faces[ f ]; + + face.normal = face.__originalFaceNormal; + face.vertexNormals = face.__originalVertexNormals; + + } + + }, + + computeLineDistances: function () { + + var d = 0; + var vertices = this.vertices; + + for ( var i = 0, il = vertices.length; i < il; i ++ ) { + + if ( i > 0 ) { + + d += vertices[ i ].distanceTo( vertices[ i - 1 ] ); + + } + + this.lineDistances[ i ] = d; + + } + + }, + + computeBoundingBox: function () { + + if ( this.boundingBox === null ) { + + this.boundingBox = new Box3(); + + } + + this.boundingBox.setFromPoints( this.vertices ); + + }, + + computeBoundingSphere: function () { + + if ( this.boundingSphere === null ) { + + this.boundingSphere = new Sphere(); + + } + + this.boundingSphere.setFromPoints( this.vertices ); + + }, + + merge: function ( geometry, matrix, materialIndexOffset ) { + + if ( ( geometry && geometry.isGeometry ) === false ) { + + console.error( 'THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.', geometry ); + return; + + } + + var normalMatrix, + vertexOffset = this.vertices.length, + vertices1 = this.vertices, + vertices2 = geometry.vertices, + faces1 = this.faces, + faces2 = geometry.faces, + uvs1 = this.faceVertexUvs[ 0 ], + uvs2 = geometry.faceVertexUvs[ 0 ], + colors1 = this.colors, + colors2 = geometry.colors; + + if ( materialIndexOffset === undefined ) materialIndexOffset = 0; + + if ( matrix !== undefined ) { + + normalMatrix = new Matrix3().getNormalMatrix( matrix ); + + } + + // vertices + + for ( var i = 0, il = vertices2.length; i < il; i ++ ) { + + var vertex = vertices2[ i ]; + + var vertexCopy = vertex.clone(); + + if ( matrix !== undefined ) vertexCopy.applyMatrix4( matrix ); + + vertices1.push( vertexCopy ); + + } + + // colors + + for ( var i = 0, il = colors2.length; i < il; i ++ ) { + + colors1.push( colors2[ i ].clone() ); + + } + + // faces + + for ( i = 0, il = faces2.length; i < il; i ++ ) { + + var face = faces2[ i ], faceCopy, normal, color, + faceVertexNormals = face.vertexNormals, + faceVertexColors = face.vertexColors; + + faceCopy = new Face3( face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset ); + faceCopy.normal.copy( face.normal ); + + if ( normalMatrix !== undefined ) { + + faceCopy.normal.applyMatrix3( normalMatrix ).normalize(); + + } + + for ( var j = 0, jl = faceVertexNormals.length; j < jl; j ++ ) { + + normal = faceVertexNormals[ j ].clone(); + + if ( normalMatrix !== undefined ) { + + normal.applyMatrix3( normalMatrix ).normalize(); + + } + + faceCopy.vertexNormals.push( normal ); + + } + + faceCopy.color.copy( face.color ); + + for ( var j = 0, jl = faceVertexColors.length; j < jl; j ++ ) { + + color = faceVertexColors[ j ]; + faceCopy.vertexColors.push( color.clone() ); + + } + + faceCopy.materialIndex = face.materialIndex + materialIndexOffset; + + faces1.push( faceCopy ); + + } + + // uvs + + for ( i = 0, il = uvs2.length; i < il; i ++ ) { + + var uv = uvs2[ i ], uvCopy = []; + + if ( uv === undefined ) { + + continue; + + } + + for ( var j = 0, jl = uv.length; j < jl; j ++ ) { + + uvCopy.push( uv[ j ].clone() ); + + } + + uvs1.push( uvCopy ); + + } + + }, + + mergeMesh: function ( mesh ) { + + if ( ( mesh && mesh.isMesh ) === false ) { + + console.error( 'THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.', mesh ); + return; + + } + + mesh.matrixAutoUpdate && mesh.updateMatrix(); + + this.merge( mesh.geometry, mesh.matrix ); + + }, + + /* + * Checks for duplicate vertices with hashmap. + * Duplicated vertices are removed + * and faces' vertices are updated. + */ + + mergeVertices: function () { + + var verticesMap = {}; // Hashmap for looking up vertices by position coordinates (and making sure they are unique) + var unique = [], changes = []; + + var v, key; + var precisionPoints = 4; // number of decimal points, e.g. 4 for epsilon of 0.0001 + var precision = Math.pow( 10, precisionPoints ); + var i, il, face; + var indices, j, jl; + + for ( i = 0, il = this.vertices.length; i < il; i ++ ) { + + v = this.vertices[ i ]; + key = Math.round( v.x * precision ) + '_' + Math.round( v.y * precision ) + '_' + Math.round( v.z * precision ); + + if ( verticesMap[ key ] === undefined ) { + + verticesMap[ key ] = i; + unique.push( this.vertices[ i ] ); + changes[ i ] = unique.length - 1; + + } else { + + //console.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]); + changes[ i ] = changes[ verticesMap[ key ] ]; + + } + + } + + + // if faces are completely degenerate after merging vertices, we + // have to remove them from the geometry. + var faceIndicesToRemove = []; + + for ( i = 0, il = this.faces.length; i < il; i ++ ) { + + face = this.faces[ i ]; + + face.a = changes[ face.a ]; + face.b = changes[ face.b ]; + face.c = changes[ face.c ]; + + indices = [ face.a, face.b, face.c ]; + + // if any duplicate vertices are found in a Face3 + // we have to remove the face as nothing can be saved + for ( var n = 0; n < 3; n ++ ) { + + if ( indices[ n ] === indices[ ( n + 1 ) % 3 ] ) { + + faceIndicesToRemove.push( i ); + break; + + } + + } + + } + + for ( i = faceIndicesToRemove.length - 1; i >= 0; i -- ) { + + var idx = faceIndicesToRemove[ i ]; + + this.faces.splice( idx, 1 ); + + for ( j = 0, jl = this.faceVertexUvs.length; j < jl; j ++ ) { + + this.faceVertexUvs[ j ].splice( idx, 1 ); + + } + + } + + // Use unique set of vertices + + var diff = this.vertices.length - unique.length; + this.vertices = unique; + return diff; + + }, + + sortFacesByMaterialIndex: function () { + + var faces = this.faces; + var length = faces.length; + + // tag faces + + for ( var i = 0; i < length; i ++ ) { + + faces[ i ]._id = i; + + } + + // sort faces + + function materialIndexSort( a, b ) { + + return a.materialIndex - b.materialIndex; + + } + + faces.sort( materialIndexSort ); + + // sort uvs + + var uvs1 = this.faceVertexUvs[ 0 ]; + var uvs2 = this.faceVertexUvs[ 1 ]; + + var newUvs1, newUvs2; + + if ( uvs1 && uvs1.length === length ) newUvs1 = []; + if ( uvs2 && uvs2.length === length ) newUvs2 = []; + + for ( var i = 0; i < length; i ++ ) { + + var id = faces[ i ]._id; + + if ( newUvs1 ) newUvs1.push( uvs1[ id ] ); + if ( newUvs2 ) newUvs2.push( uvs2[ id ] ); + + } + + if ( newUvs1 ) this.faceVertexUvs[ 0 ] = newUvs1; + if ( newUvs2 ) this.faceVertexUvs[ 1 ] = newUvs2; + + }, + + toJSON: function () { + + var data = { + metadata: { + version: 4.5, + type: 'Geometry', + generator: 'Geometry.toJSON' + } + }; + + // standard Geometry serialization + + data.uuid = this.uuid; + data.type = this.type; + if ( this.name !== '' ) data.name = this.name; + + if ( this.parameters !== undefined ) { + + var parameters = this.parameters; + + for ( var key in parameters ) { + + if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; + + } + + return data; + + } + + var vertices = []; + + for ( var i = 0; i < this.vertices.length; i ++ ) { + + var vertex = this.vertices[ i ]; + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + var faces = []; + var normals = []; + var normalsHash = {}; + var colors = []; + var colorsHash = {}; + var uvs = []; + var uvsHash = {}; + + for ( var i = 0; i < this.faces.length; i ++ ) { + + var face = this.faces[ i ]; + + var hasMaterial = true; + var hasFaceUv = false; // deprecated + var hasFaceVertexUv = this.faceVertexUvs[ 0 ][ i ] !== undefined; + var hasFaceNormal = face.normal.length() > 0; + var hasFaceVertexNormal = face.vertexNormals.length > 0; + var hasFaceColor = face.color.r !== 1 || face.color.g !== 1 || face.color.b !== 1; + var hasFaceVertexColor = face.vertexColors.length > 0; + + var faceType = 0; + + faceType = setBit( faceType, 0, 0 ); // isQuad + faceType = setBit( faceType, 1, hasMaterial ); + faceType = setBit( faceType, 2, hasFaceUv ); + faceType = setBit( faceType, 3, hasFaceVertexUv ); + faceType = setBit( faceType, 4, hasFaceNormal ); + faceType = setBit( faceType, 5, hasFaceVertexNormal ); + faceType = setBit( faceType, 6, hasFaceColor ); + faceType = setBit( faceType, 7, hasFaceVertexColor ); + + faces.push( faceType ); + faces.push( face.a, face.b, face.c ); + faces.push( face.materialIndex ); + + if ( hasFaceVertexUv ) { + + var faceVertexUvs = this.faceVertexUvs[ 0 ][ i ]; + + faces.push( + getUvIndex( faceVertexUvs[ 0 ] ), + getUvIndex( faceVertexUvs[ 1 ] ), + getUvIndex( faceVertexUvs[ 2 ] ) + ); + + } + + if ( hasFaceNormal ) { + + faces.push( getNormalIndex( face.normal ) ); + + } + + if ( hasFaceVertexNormal ) { + + var vertexNormals = face.vertexNormals; + + faces.push( + getNormalIndex( vertexNormals[ 0 ] ), + getNormalIndex( vertexNormals[ 1 ] ), + getNormalIndex( vertexNormals[ 2 ] ) + ); + + } + + if ( hasFaceColor ) { + + faces.push( getColorIndex( face.color ) ); + + } + + if ( hasFaceVertexColor ) { + + var vertexColors = face.vertexColors; + + faces.push( + getColorIndex( vertexColors[ 0 ] ), + getColorIndex( vertexColors[ 1 ] ), + getColorIndex( vertexColors[ 2 ] ) + ); + + } + + } + + function setBit( value, position, enabled ) { + + return enabled ? value | ( 1 << position ) : value & ( ~ ( 1 << position ) ); + + } + + function getNormalIndex( normal ) { + + var hash = normal.x.toString() + normal.y.toString() + normal.z.toString(); + + if ( normalsHash[ hash ] !== undefined ) { + + return normalsHash[ hash ]; + + } + + normalsHash[ hash ] = normals.length / 3; + normals.push( normal.x, normal.y, normal.z ); + + return normalsHash[ hash ]; + + } + + function getColorIndex( color ) { + + var hash = color.r.toString() + color.g.toString() + color.b.toString(); + + if ( colorsHash[ hash ] !== undefined ) { + + return colorsHash[ hash ]; + + } + + colorsHash[ hash ] = colors.length; + colors.push( color.getHex() ); + + return colorsHash[ hash ]; + + } + + function getUvIndex( uv ) { + + var hash = uv.x.toString() + uv.y.toString(); + + if ( uvsHash[ hash ] !== undefined ) { + + return uvsHash[ hash ]; + + } + + uvsHash[ hash ] = uvs.length / 2; + uvs.push( uv.x, uv.y ); + + return uvsHash[ hash ]; + + } + + data.data = {}; + + data.data.vertices = vertices; + data.data.normals = normals; + if ( colors.length > 0 ) data.data.colors = colors; + if ( uvs.length > 0 ) data.data.uvs = [ uvs ]; // temporal backward compatibility + data.data.faces = faces; + + return data; + + }, + + clone: function () { + + /* + // Handle primitives + + var parameters = this.parameters; + + if ( parameters !== undefined ) { + + var values = []; + + for ( var key in parameters ) { + + values.push( parameters[ key ] ); + + } + + var geometry = Object.create( this.constructor.prototype ); + this.constructor.apply( geometry, values ); + return geometry; + + } + + return new this.constructor().copy( this ); + */ + + return new Geometry().copy( this ); + + }, + + copy: function ( source ) { + + var i, il, j, jl, k, kl; + + // reset + + this.vertices = []; + this.colors = []; + this.faces = []; + this.faceVertexUvs = [[]]; + this.morphTargets = []; + this.morphNormals = []; + this.skinWeights = []; + this.skinIndices = []; + this.lineDistances = []; + this.boundingBox = null; + this.boundingSphere = null; + + // name + + this.name = source.name; + + // vertices + + var vertices = source.vertices; + + for ( i = 0, il = vertices.length; i < il; i ++ ) { + + this.vertices.push( vertices[ i ].clone() ); + + } + + // colors + + var colors = source.colors; + + for ( i = 0, il = colors.length; i < il; i ++ ) { + + this.colors.push( colors[ i ].clone() ); + + } + + // faces + + var faces = source.faces; + + for ( i = 0, il = faces.length; i < il; i ++ ) { + + this.faces.push( faces[ i ].clone() ); + + } + + // face vertex uvs + + for ( i = 0, il = source.faceVertexUvs.length; i < il; i ++ ) { + + var faceVertexUvs = source.faceVertexUvs[ i ]; + + if ( this.faceVertexUvs[ i ] === undefined ) { + + this.faceVertexUvs[ i ] = []; + + } + + for ( j = 0, jl = faceVertexUvs.length; j < jl; j ++ ) { + + var uvs = faceVertexUvs[ j ], uvsCopy = []; + + for ( k = 0, kl = uvs.length; k < kl; k ++ ) { + + var uv = uvs[ k ]; + + uvsCopy.push( uv.clone() ); + + } + + this.faceVertexUvs[ i ].push( uvsCopy ); + + } + + } + + // morph targets + + var morphTargets = source.morphTargets; + + for ( i = 0, il = morphTargets.length; i < il; i ++ ) { + + var morphTarget = {}; + morphTarget.name = morphTargets[ i ].name; + + // vertices + + if ( morphTargets[ i ].vertices !== undefined ) { + + morphTarget.vertices = []; + + for ( j = 0, jl = morphTargets[ i ].vertices.length; j < jl; j ++ ) { + + morphTarget.vertices.push( morphTargets[ i ].vertices[ j ].clone() ); + + } + + } + + // normals + + if ( morphTargets[ i ].normals !== undefined ) { + + morphTarget.normals = []; + + for ( j = 0, jl = morphTargets[ i ].normals.length; j < jl; j ++ ) { + + morphTarget.normals.push( morphTargets[ i ].normals[ j ].clone() ); + + } + + } + + this.morphTargets.push( morphTarget ); + + } + + // morph normals + + var morphNormals = source.morphNormals; + + for ( i = 0, il = morphNormals.length; i < il; i ++ ) { + + var morphNormal = {}; + + // vertex normals + + if ( morphNormals[ i ].vertexNormals !== undefined ) { + + morphNormal.vertexNormals = []; + + for ( j = 0, jl = morphNormals[ i ].vertexNormals.length; j < jl; j ++ ) { + + var srcVertexNormal = morphNormals[ i ].vertexNormals[ j ]; + var destVertexNormal = {}; + + destVertexNormal.a = srcVertexNormal.a.clone(); + destVertexNormal.b = srcVertexNormal.b.clone(); + destVertexNormal.c = srcVertexNormal.c.clone(); + + morphNormal.vertexNormals.push( destVertexNormal ); + + } + + } + + // face normals + + if ( morphNormals[ i ].faceNormals !== undefined ) { + + morphNormal.faceNormals = []; + + for ( j = 0, jl = morphNormals[ i ].faceNormals.length; j < jl; j ++ ) { + + morphNormal.faceNormals.push( morphNormals[ i ].faceNormals[ j ].clone() ); + + } + + } + + this.morphNormals.push( morphNormal ); + + } + + // skin weights + + var skinWeights = source.skinWeights; + + for ( i = 0, il = skinWeights.length; i < il; i ++ ) { + + this.skinWeights.push( skinWeights[ i ].clone() ); + + } + + // skin indices + + var skinIndices = source.skinIndices; + + for ( i = 0, il = skinIndices.length; i < il; i ++ ) { + + this.skinIndices.push( skinIndices[ i ].clone() ); + + } + + // line distances + + var lineDistances = source.lineDistances; + + for ( i = 0, il = lineDistances.length; i < il; i ++ ) { + + this.lineDistances.push( lineDistances[ i ] ); + + } + + // bounding box + + var boundingBox = source.boundingBox; + + if ( boundingBox !== null ) { + + this.boundingBox = boundingBox.clone(); + + } + + // bounding sphere + + var boundingSphere = source.boundingSphere; + + if ( boundingSphere !== null ) { + + this.boundingSphere = boundingSphere.clone(); + + } + + // update flags + + this.elementsNeedUpdate = source.elementsNeedUpdate; + this.verticesNeedUpdate = source.verticesNeedUpdate; + this.uvsNeedUpdate = source.uvsNeedUpdate; + this.normalsNeedUpdate = source.normalsNeedUpdate; + this.colorsNeedUpdate = source.colorsNeedUpdate; + this.lineDistancesNeedUpdate = source.lineDistancesNeedUpdate; + this.groupsNeedUpdate = source.groupsNeedUpdate; + + return this; + + }, + + dispose: function () { + + this.dispatchEvent( { type: 'dispose' } ); + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + */ + + function BufferGeometry() { + + Object.defineProperty( this, 'id', { value: GeometryIdCount() } ); + + this.uuid = _Math.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: Infinity }; + + } + + BufferGeometry.MaxIndex = 65535; + + Object.assign( BufferGeometry.prototype, EventDispatcher.prototype, { + + isBufferGeometry: true, + + getIndex: function () { + + return this.index; + + }, + + setIndex: function ( index ) { + + if ( Array.isArray( index ) ) { + + this.index = new ( arrayMax( index ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( index, 1 ); + + } else { + + this.index = index; + + } + + }, + + addAttribute: function ( name, attribute ) { + + if ( ( attribute && attribute.isBufferAttribute ) === false && ( attribute && attribute.isInterleavedBufferAttribute ) === false ) { + + console.warn( 'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).' ); + + this.addAttribute( name, new BufferAttribute( arguments[ 1 ], arguments[ 2 ] ) ); + + return; + + } + + if ( name === 'index' ) { + + console.warn( 'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.' ); + this.setIndex( attribute ); + + return; + + } + + this.attributes[ name ] = attribute; + + return this; + + }, + + getAttribute: function ( name ) { + + return this.attributes[ name ]; + + }, + + removeAttribute: function ( name ) { + + delete this.attributes[ name ]; + + return this; + + }, + + addGroup: function ( start, count, materialIndex ) { + + this.groups.push( { + + start: start, + count: count, + materialIndex: materialIndex !== undefined ? materialIndex : 0 + + } ); + + }, + + clearGroups: function () { + + this.groups = []; + + }, + + setDrawRange: function ( start, count ) { + + this.drawRange.start = start; + this.drawRange.count = count; + + }, + + applyMatrix: function ( matrix ) { + + var position = this.attributes.position; + + if ( position !== undefined ) { + + matrix.applyToBufferAttribute( position ); + position.needsUpdate = true; + + } + + var normal = this.attributes.normal; + + if ( normal !== undefined ) { + + var normalMatrix = new Matrix3().getNormalMatrix( matrix ); + + normalMatrix.applyToBufferAttribute( normal ); + normal.needsUpdate = true; + + } + + if ( this.boundingBox !== null ) { + + this.computeBoundingBox(); + + } + + if ( this.boundingSphere !== null ) { + + this.computeBoundingSphere(); + + } + + return this; + + }, + + rotateX: function () { + + // rotate geometry around world x-axis + + var m1 = new Matrix4(); + + return function rotateX( angle ) { + + m1.makeRotationX( angle ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + rotateY: function () { + + // rotate geometry around world y-axis + + var m1 = new Matrix4(); + + return function rotateY( angle ) { + + m1.makeRotationY( angle ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + rotateZ: function () { + + // rotate geometry around world z-axis + + var m1 = new Matrix4(); + + return function rotateZ( angle ) { + + m1.makeRotationZ( angle ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + translate: function () { + + // translate geometry + + var m1 = new Matrix4(); + + return function translate( x, y, z ) { + + m1.makeTranslation( x, y, z ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + scale: function () { + + // scale geometry + + var m1 = new Matrix4(); + + return function scale( x, y, z ) { + + m1.makeScale( x, y, z ); + + this.applyMatrix( m1 ); + + return this; + + }; + + }(), + + lookAt: function () { + + var obj = new Object3D(); + + return function lookAt( vector ) { + + obj.lookAt( vector ); + + obj.updateMatrix(); + + this.applyMatrix( obj.matrix ); + + }; + + }(), + + center: function () { + + this.computeBoundingBox(); + + var offset = this.boundingBox.getCenter().negate(); + + this.translate( offset.x, offset.y, offset.z ); + + return offset; + + }, + + setFromObject: function ( object ) { + + // console.log( 'THREE.BufferGeometry.setFromObject(). Converting', object, this ); + + var geometry = object.geometry; + + if ( object.isPoints || object.isLine ) { + + var positions = new Float32BufferAttribute( geometry.vertices.length * 3, 3 ); + var colors = new Float32BufferAttribute( geometry.colors.length * 3, 3 ); + + this.addAttribute( 'position', positions.copyVector3sArray( geometry.vertices ) ); + this.addAttribute( 'color', colors.copyColorsArray( geometry.colors ) ); + + if ( geometry.lineDistances && geometry.lineDistances.length === geometry.vertices.length ) { + + var lineDistances = new Float32BufferAttribute( geometry.lineDistances.length, 1 ); + + this.addAttribute( 'lineDistance', lineDistances.copyArray( geometry.lineDistances ) ); + + } + + if ( geometry.boundingSphere !== null ) { + + this.boundingSphere = geometry.boundingSphere.clone(); + + } + + if ( geometry.boundingBox !== null ) { + + this.boundingBox = geometry.boundingBox.clone(); + + } + + } else if ( object.isMesh ) { + + if ( geometry && geometry.isGeometry ) { + + this.fromGeometry( geometry ); + + } + + } + + return this; + + }, + + updateFromObject: function ( object ) { + + var geometry = object.geometry; + + if ( object.isMesh ) { + + var direct = geometry.__directGeometry; + + if ( geometry.elementsNeedUpdate === true ) { + + direct = undefined; + geometry.elementsNeedUpdate = false; + + } + + if ( direct === undefined ) { + + return this.fromGeometry( geometry ); + + } + + direct.verticesNeedUpdate = geometry.verticesNeedUpdate; + direct.normalsNeedUpdate = geometry.normalsNeedUpdate; + direct.colorsNeedUpdate = geometry.colorsNeedUpdate; + direct.uvsNeedUpdate = geometry.uvsNeedUpdate; + direct.groupsNeedUpdate = geometry.groupsNeedUpdate; + + geometry.verticesNeedUpdate = false; + geometry.normalsNeedUpdate = false; + geometry.colorsNeedUpdate = false; + geometry.uvsNeedUpdate = false; + geometry.groupsNeedUpdate = false; + + geometry = direct; + + } + + var attribute; + + if ( geometry.verticesNeedUpdate === true ) { + + attribute = this.attributes.position; + + if ( attribute !== undefined ) { + + attribute.copyVector3sArray( geometry.vertices ); + attribute.needsUpdate = true; + + } + + geometry.verticesNeedUpdate = false; + + } + + if ( geometry.normalsNeedUpdate === true ) { + + attribute = this.attributes.normal; + + if ( attribute !== undefined ) { + + attribute.copyVector3sArray( geometry.normals ); + attribute.needsUpdate = true; + + } + + geometry.normalsNeedUpdate = false; + + } + + if ( geometry.colorsNeedUpdate === true ) { + + attribute = this.attributes.color; + + if ( attribute !== undefined ) { + + attribute.copyColorsArray( geometry.colors ); + attribute.needsUpdate = true; + + } + + geometry.colorsNeedUpdate = false; + + } + + if ( geometry.uvsNeedUpdate ) { + + attribute = this.attributes.uv; + + if ( attribute !== undefined ) { + + attribute.copyVector2sArray( geometry.uvs ); + attribute.needsUpdate = true; + + } + + geometry.uvsNeedUpdate = false; + + } + + if ( geometry.lineDistancesNeedUpdate ) { + + attribute = this.attributes.lineDistance; + + if ( attribute !== undefined ) { + + attribute.copyArray( geometry.lineDistances ); + attribute.needsUpdate = true; + + } + + geometry.lineDistancesNeedUpdate = false; + + } + + if ( geometry.groupsNeedUpdate ) { + + geometry.computeGroups( object.geometry ); + this.groups = geometry.groups; + + geometry.groupsNeedUpdate = false; + + } + + return this; + + }, + + fromGeometry: function ( geometry ) { + + geometry.__directGeometry = new DirectGeometry().fromGeometry( geometry ); + + return this.fromDirectGeometry( geometry.__directGeometry ); + + }, + + fromDirectGeometry: function ( geometry ) { + + var positions = new Float32Array( geometry.vertices.length * 3 ); + this.addAttribute( 'position', new BufferAttribute( positions, 3 ).copyVector3sArray( geometry.vertices ) ); + + if ( geometry.normals.length > 0 ) { + + var normals = new Float32Array( geometry.normals.length * 3 ); + this.addAttribute( 'normal', new BufferAttribute( normals, 3 ).copyVector3sArray( geometry.normals ) ); + + } + + if ( geometry.colors.length > 0 ) { + + var colors = new Float32Array( geometry.colors.length * 3 ); + this.addAttribute( 'color', new BufferAttribute( colors, 3 ).copyColorsArray( geometry.colors ) ); + + } + + if ( geometry.uvs.length > 0 ) { + + var uvs = new Float32Array( geometry.uvs.length * 2 ); + this.addAttribute( 'uv', new BufferAttribute( uvs, 2 ).copyVector2sArray( geometry.uvs ) ); + + } + + if ( geometry.uvs2.length > 0 ) { + + var uvs2 = new Float32Array( geometry.uvs2.length * 2 ); + this.addAttribute( 'uv2', new BufferAttribute( uvs2, 2 ).copyVector2sArray( geometry.uvs2 ) ); + + } + + if ( geometry.indices.length > 0 ) { + + var TypeArray = arrayMax( geometry.indices ) > 65535 ? Uint32Array : Uint16Array; + var indices = new TypeArray( geometry.indices.length * 3 ); + this.setIndex( new BufferAttribute( indices, 1 ).copyIndicesArray( geometry.indices ) ); + + } + + // groups + + this.groups = geometry.groups; + + // morphs + + for ( var name in geometry.morphTargets ) { + + var array = []; + var morphTargets = geometry.morphTargets[ name ]; + + for ( var i = 0, l = morphTargets.length; i < l; i ++ ) { + + var morphTarget = morphTargets[ i ]; + + var attribute = new Float32BufferAttribute( morphTarget.length * 3, 3 ); + + array.push( attribute.copyVector3sArray( morphTarget ) ); + + } + + this.morphAttributes[ name ] = array; + + } + + // skinning + + if ( geometry.skinIndices.length > 0 ) { + + var skinIndices = new Float32BufferAttribute( geometry.skinIndices.length * 4, 4 ); + this.addAttribute( 'skinIndex', skinIndices.copyVector4sArray( geometry.skinIndices ) ); + + } + + if ( geometry.skinWeights.length > 0 ) { + + var skinWeights = new Float32BufferAttribute( geometry.skinWeights.length * 4, 4 ); + this.addAttribute( 'skinWeight', skinWeights.copyVector4sArray( geometry.skinWeights ) ); + + } + + // + + if ( geometry.boundingSphere !== null ) { + + this.boundingSphere = geometry.boundingSphere.clone(); + + } + + if ( geometry.boundingBox !== null ) { + + this.boundingBox = geometry.boundingBox.clone(); + + } + + return this; + + }, + + computeBoundingBox: function () { + + if ( this.boundingBox === null ) { + + this.boundingBox = new Box3(); + + } + + var position = this.attributes.position; + + if ( position !== undefined ) { + + this.boundingBox.setFromBufferAttribute( position ); + + } else { + + this.boundingBox.makeEmpty(); + + } + + if ( 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 box = new Box3(); + var vector = new Vector3(); + + return function computeBoundingSphere() { + + if ( this.boundingSphere === null ) { + + this.boundingSphere = new Sphere(); + + } + + var position = this.attributes.position; + + if ( position ) { + + var center = this.boundingSphere.center; + + box.setFromBufferAttribute( position ); + box.getCenter( center ); + + // hoping to find a boundingSphere with a radius smaller than the + // boundingSphere of the boundingBox: sqrt(3) smaller in the best case + + var maxRadiusSq = 0; + + for ( var i = 0, il = position.count; i < il; i ++ ) { + + vector.x = position.getX( i ); + vector.y = position.getY( i ); + vector.z = position.getZ( i ); + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) ); + + } + + this.boundingSphere.radius = Math.sqrt( maxRadiusSq ); + + if ( 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 () { + + // backwards compatibility + + }, + + computeVertexNormals: function () { + + var index = this.index; + var attributes = this.attributes; + var groups = this.groups; + + if ( attributes.position ) { + + var positions = attributes.position.array; + + if ( attributes.normal === undefined ) { + + this.addAttribute( 'normal', new BufferAttribute( new Float32Array( positions.length ), 3 ) ); + + } else { + + // reset existing normals to zero + + var array = attributes.normal.array; + + for ( var i = 0, il = array.length; i < il; i ++ ) { + + array[ i ] = 0; + + } + + } + + var normals = attributes.normal.array; + + var vA, vB, vC; + var pA = new Vector3(), pB = new Vector3(), pC = new Vector3(); + var cb = new Vector3(), ab = new Vector3(); + + // indexed elements + + if ( index ) { + + var indices = index.array; + + if ( groups.length === 0 ) { + + this.addGroup( 0, indices.length ); + + } + + for ( var j = 0, jl = groups.length; j < jl; ++ j ) { + + var group = groups[ j ]; + + var start = group.start; + var count = group.count; + + for ( var i = start, il = start + count; i < il; i += 3 ) { + + vA = indices[ i + 0 ] * 3; + vB = indices[ i + 1 ] * 3; + vC = indices[ i + 2 ] * 3; + + pA.fromArray( positions, vA ); + pB.fromArray( positions, vB ); + pC.fromArray( positions, vC ); + + cb.subVectors( pC, pB ); + ab.subVectors( pA, pB ); + cb.cross( ab ); + + normals[ vA ] += cb.x; + normals[ vA + 1 ] += cb.y; + normals[ vA + 2 ] += cb.z; + + normals[ vB ] += cb.x; + normals[ vB + 1 ] += cb.y; + normals[ vB + 2 ] += cb.z; + + normals[ vC ] += cb.x; + normals[ vC + 1 ] += cb.y; + normals[ vC + 2 ] += cb.z; + + } + + } + + } else { + + // non-indexed elements (unconnected triangle soup) + + for ( var i = 0, il = positions.length; i < il; i += 9 ) { + + pA.fromArray( positions, i ); + pB.fromArray( positions, i + 3 ); + pC.fromArray( positions, i + 6 ); + + cb.subVectors( pC, pB ); + ab.subVectors( pA, pB ); + cb.cross( ab ); + + normals[ i ] = cb.x; + normals[ i + 1 ] = cb.y; + normals[ i + 2 ] = cb.z; + + normals[ i + 3 ] = cb.x; + normals[ i + 4 ] = cb.y; + normals[ i + 5 ] = cb.z; + + normals[ i + 6 ] = cb.x; + normals[ i + 7 ] = cb.y; + normals[ i + 8 ] = cb.z; + + } + + } + + this.normalizeNormals(); + + attributes.normal.needsUpdate = true; + + } + + }, + + merge: function ( geometry, offset ) { + + if ( ( geometry && geometry.isBufferGeometry ) === false ) { + + console.error( 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry ); + return; + + } + + if ( offset === undefined ) offset = 0; + + var attributes = this.attributes; + + for ( var key in attributes ) { + + if ( geometry.attributes[ key ] === undefined ) continue; + + var attribute1 = attributes[ key ]; + var attributeArray1 = attribute1.array; + + var attribute2 = geometry.attributes[ key ]; + var attributeArray2 = attribute2.array; + + var attributeSize = attribute2.itemSize; + + for ( var i = 0, j = attributeSize * offset; i < attributeArray2.length; i ++, j ++ ) { + + attributeArray1[ j ] = attributeArray2[ i ]; + + } + + } + + return this; + + }, + + normalizeNormals: function () { + + var normals = this.attributes.normal; + + var x, y, z, n; + + for ( var i = 0, il = normals.count; i < il; i ++ ) { + + x = normals.getX( i ); + y = normals.getY( i ); + z = normals.getZ( i ); + + n = 1.0 / Math.sqrt( x * x + y * y + z * z ); + + normals.setXYZ( i, x * n, y * n, z * n ); + + } + + }, + + toNonIndexed: function () { + + if ( this.index === null ) { + + console.warn( 'THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed.' ); + return this; + + } + + var geometry2 = new BufferGeometry(); + + var indices = this.index.array; + var attributes = this.attributes; + + for ( var name in attributes ) { + + var attribute = attributes[ name ]; + + var array = attribute.array; + var itemSize = attribute.itemSize; + + var array2 = new array.constructor( indices.length * itemSize ); + + var index = 0, index2 = 0; + + for ( var i = 0, l = indices.length; i < l; i ++ ) { + + index = indices[ i ] * itemSize; + + for ( var j = 0; j < itemSize; j ++ ) { + + array2[ index2 ++ ] = array[ index ++ ]; + + } + + } + + geometry2.addAttribute( name, new BufferAttribute( array2, itemSize ) ); + + } + + return geometry2; + + }, + + toJSON: function () { + + var data = { + metadata: { + version: 4.5, + type: 'BufferGeometry', + generator: 'BufferGeometry.toJSON' + } + }; + + // standard BufferGeometry serialization + + data.uuid = this.uuid; + data.type = this.type; + if ( this.name !== '' ) data.name = this.name; + + if ( this.parameters !== undefined ) { + + var parameters = this.parameters; + + for ( var key in parameters ) { + + if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; + + } + + return data; + + } + + data.data = { attributes: {} }; + + var index = this.index; + + if ( index !== null ) { + + var array = Array.prototype.slice.call( index.array ); + + data.data.index = { + type: index.array.constructor.name, + array: array + }; + + } + + var attributes = this.attributes; + + for ( var key in attributes ) { + + var attribute = attributes[ key ]; + + var array = Array.prototype.slice.call( attribute.array ); + + data.data.attributes[ key ] = { + itemSize: attribute.itemSize, + type: attribute.array.constructor.name, + array: array, + normalized: attribute.normalized + }; + + } + + var groups = this.groups; + + if ( groups.length > 0 ) { + + data.data.groups = JSON.parse( JSON.stringify( groups ) ); + + } + + var boundingSphere = this.boundingSphere; + + if ( boundingSphere !== null ) { + + data.data.boundingSphere = { + center: boundingSphere.center.toArray(), + radius: boundingSphere.radius + }; + + } + + return data; + + }, + + clone: function () { + + /* + // Handle primitives + + var parameters = this.parameters; + + if ( parameters !== undefined ) { + + var values = []; + + for ( var key in parameters ) { + + values.push( parameters[ key ] ); + + } + + var geometry = Object.create( this.constructor.prototype ); + this.constructor.apply( geometry, values ); + return geometry; + + } + + return new this.constructor().copy( this ); + */ + + return new BufferGeometry().copy( this ); + + }, + + copy: function ( source ) { + + var name, i, l; + + // reset + + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + + // name + + this.name = source.name; + + // index + + var index = source.index; + + if ( index !== null ) { + + this.setIndex( index.clone() ); + + } + + // attributes + + var attributes = source.attributes; + + for ( name in attributes ) { + + var attribute = attributes[ name ]; + this.addAttribute( name, attribute.clone() ); + + } + + // morph attributes + + var morphAttributes = source.morphAttributes; + + for ( name in morphAttributes ) { + + var array = []; + var morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes + + for ( i = 0, l = morphAttribute.length; i < l; i ++ ) { + + array.push( morphAttribute[ i ].clone() ); + + } + + this.morphAttributes[ name ] = array; + + } + + // groups + + var groups = source.groups; + + for ( i = 0, l = groups.length; i < l; i ++ ) { + + var group = groups[ i ]; + this.addGroup( group.start, group.count, group.materialIndex ); + + } + + // bounding box + + var boundingBox = source.boundingBox; + + if ( boundingBox !== null ) { + + this.boundingBox = boundingBox.clone(); + + } + + // bounding sphere + + var boundingSphere = source.boundingSphere; + + if ( boundingSphere !== null ) { + + this.boundingSphere = boundingSphere.clone(); + + } + + // draw range + + this.drawRange.start = source.drawRange.start; + this.drawRange.count = source.drawRange.count; + + return this; + + }, + + dispose: function () { + + this.dispatchEvent( { type: 'dispose' } ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * @author mikael emtinger / http://gomo.se/ + * @author jonobr1 / http://jonobr1.com/ + */ + + function Mesh( geometry, material ) { + + Object3D.call( this ); + + this.type = 'Mesh'; + + this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); + this.material = material !== undefined ? material : new MeshBasicMaterial( { color: Math.random() * 0xffffff } ); + + this.drawMode = TrianglesDrawMode; + + this.updateMorphTargets(); + + } + + Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Mesh, + + isMesh: true, + + setDrawMode: function ( value ) { + + this.drawMode = value; + + }, + + copy: function ( source ) { + + Object3D.prototype.copy.call( this, source ); + + this.drawMode = source.drawMode; + + return this; + + }, + + updateMorphTargets: function () { + + var morphTargets = this.geometry.morphTargets; + + if ( morphTargets !== undefined && morphTargets.length > 0 ) { + + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + + for ( var m = 0, ml = morphTargets.length; m < ml; m ++ ) { + + this.morphTargetInfluences.push( 0 ); + this.morphTargetDictionary[ morphTargets[ m ].name ] = m; + + } + + } + + }, + + raycast: ( function () { + + var inverseMatrix = new Matrix4(); + var ray = new Ray(); + var sphere = new Sphere(); + + var vA = new Vector3(); + var vB = new Vector3(); + var vC = new Vector3(); + + var tempA = new Vector3(); + var tempB = new Vector3(); + var tempC = new Vector3(); + + var uvA = new Vector2(); + var uvB = new Vector2(); + var uvC = new Vector2(); + + var barycoord = new Vector3(); + + var intersectionPoint = new Vector3(); + var intersectionPointWorld = new Vector3(); + + function uvIntersection( point, p1, p2, p3, uv1, uv2, uv3 ) { + + Triangle.barycoordFromPoint( point, p1, p2, p3, barycoord ); + + uv1.multiplyScalar( barycoord.x ); + uv2.multiplyScalar( barycoord.y ); + uv3.multiplyScalar( barycoord.z ); + + uv1.add( uv2 ).add( uv3 ); + + return uv1.clone(); + + } + + function checkIntersection( object, raycaster, ray, pA, pB, pC, point ) { + + var intersect; + var material = object.material; + + if ( material.side === BackSide ) { + + intersect = ray.intersectTriangle( pC, pB, pA, true, point ); + + } else { + + intersect = ray.intersectTriangle( pA, pB, pC, material.side !== DoubleSide, point ); + + } + + if ( intersect === null ) return null; + + intersectionPointWorld.copy( point ); + intersectionPointWorld.applyMatrix4( object.matrixWorld ); + + var distance = raycaster.ray.origin.distanceTo( intersectionPointWorld ); + + if ( distance < raycaster.near || distance > raycaster.far ) return null; + + return { + distance: distance, + point: intersectionPointWorld.clone(), + object: object + }; + + } + + function checkBufferGeometryIntersection( object, raycaster, ray, position, uv, a, b, c ) { + + vA.fromBufferAttribute( position, a ); + vB.fromBufferAttribute( position, b ); + vC.fromBufferAttribute( position, c ); + + var intersection = checkIntersection( object, raycaster, ray, vA, vB, vC, intersectionPoint ); + + if ( intersection ) { + + if ( uv ) { + + uvA.fromBufferAttribute( uv, a ); + uvB.fromBufferAttribute( uv, b ); + uvC.fromBufferAttribute( uv, c ); + + intersection.uv = uvIntersection( intersectionPoint, vA, vB, vC, uvA, uvB, uvC ); + + } + + intersection.face = new Face3( a, b, c, Triangle.normal( vA, vB, vC ) ); + intersection.faceIndex = a; + + } + + return intersection; + + } + + return function raycast( raycaster, intersects ) { + + var geometry = this.geometry; + var material = this.material; + var matrixWorld = this.matrixWorld; + + if ( material === undefined ) return; + + // Checking boundingSphere distance to ray + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + sphere.copy( geometry.boundingSphere ); + sphere.applyMatrix4( matrixWorld ); + + if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; + + // + + inverseMatrix.getInverse( matrixWorld ); + ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); + + // Check boundingBox before continuing + + if ( geometry.boundingBox !== null ) { + + if ( ray.intersectsBox( geometry.boundingBox ) === false ) return; + + } + + var intersection; + + if ( geometry.isBufferGeometry ) { + + var a, b, c; + var index = geometry.index; + var position = geometry.attributes.position; + var uv = geometry.attributes.uv; + var i, l; + + if ( index !== null ) { + + // indexed buffer geometry + + for ( i = 0, l = index.count; i < l; i += 3 ) { + + a = index.getX( i ); + b = index.getX( i + 1 ); + c = index.getX( i + 2 ); + + intersection = checkBufferGeometryIntersection( this, raycaster, ray, position, uv, a, b, c ); + + if ( intersection ) { + + intersection.faceIndex = Math.floor( i / 3 ); // triangle number in indices buffer semantics + intersects.push( intersection ); + + } + + } + + } else { + + // non-indexed buffer geometry + + for ( i = 0, l = position.count; i < l; i += 3 ) { + + a = i; + b = i + 1; + c = i + 2; + + intersection = checkBufferGeometryIntersection( this, raycaster, ray, position, uv, a, b, c ); + + if ( intersection ) { + + intersection.index = a; // triangle number in positions buffer semantics + intersects.push( intersection ); + + } + + } + + } + + } else if ( geometry.isGeometry ) { + + var fvA, fvB, fvC; + var isMultiMaterial = Array.isArray( material ); + + var vertices = geometry.vertices; + var faces = geometry.faces; + var uvs; + + var faceVertexUvs = geometry.faceVertexUvs[ 0 ]; + if ( faceVertexUvs.length > 0 ) uvs = faceVertexUvs; + + for ( var f = 0, fl = faces.length; f < fl; f ++ ) { + + var face = faces[ f ]; + var faceMaterial = isMultiMaterial ? material[ face.materialIndex ] : material; + + if ( faceMaterial === undefined ) continue; + + fvA = vertices[ face.a ]; + fvB = vertices[ face.b ]; + fvC = vertices[ face.c ]; + + if ( faceMaterial.morphTargets === true ) { + + var morphTargets = geometry.morphTargets; + var morphInfluences = this.morphTargetInfluences; + + vA.set( 0, 0, 0 ); + vB.set( 0, 0, 0 ); + vC.set( 0, 0, 0 ); + + for ( var t = 0, tl = morphTargets.length; t < tl; t ++ ) { + + var influence = morphInfluences[ t ]; + + if ( influence === 0 ) continue; + + var targets = morphTargets[ t ].vertices; + + vA.addScaledVector( tempA.subVectors( targets[ face.a ], fvA ), influence ); + vB.addScaledVector( tempB.subVectors( targets[ face.b ], fvB ), influence ); + vC.addScaledVector( tempC.subVectors( targets[ face.c ], fvC ), influence ); + + } + + vA.add( fvA ); + vB.add( fvB ); + vC.add( fvC ); + + fvA = vA; + fvB = vB; + fvC = vC; + + } + + intersection = checkIntersection( this, raycaster, ray, fvA, fvB, fvC, intersectionPoint ); + + if ( intersection ) { + + if ( uvs && uvs[ f ] ) { + + var uvs_f = uvs[ f ]; + uvA.copy( uvs_f[ 0 ] ); + uvB.copy( uvs_f[ 1 ] ); + uvC.copy( uvs_f[ 2 ] ); + + intersection.uv = uvIntersection( intersectionPoint, fvA, fvB, fvC, uvA, uvB, uvC ); + + } + + intersection.face = face; + intersection.faceIndex = f; + intersects.push( intersection ); + + } + + } + + } + + }; + + }() ), + + clone: function () { + + return new this.constructor( this.geometry, this.material ).copy( this ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / https://github.com/Mugen87 + */ + + // BoxGeometry + + function BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) { + + Geometry.call( this ); + + this.type = 'BoxGeometry'; + + this.parameters = { + width: width, + height: height, + depth: depth, + widthSegments: widthSegments, + heightSegments: heightSegments, + depthSegments: depthSegments + }; + + this.fromBufferGeometry( new BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) ); + this.mergeVertices(); + + } + + BoxGeometry.prototype = Object.create( Geometry.prototype ); + BoxGeometry.prototype.constructor = BoxGeometry; + + // BoxBufferGeometry + + function BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) { + + BufferGeometry.call( this ); + + this.type = 'BoxBufferGeometry'; + + this.parameters = { + width: width, + height: height, + depth: depth, + widthSegments: widthSegments, + heightSegments: heightSegments, + depthSegments: depthSegments + }; + + var scope = this; + + // segments + + widthSegments = Math.floor( widthSegments ) || 1; + heightSegments = Math.floor( heightSegments ) || 1; + depthSegments = Math.floor( depthSegments ) || 1; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // helper variables + + var numberOfVertices = 0; + var groupStart = 0; + + // build each side of the box geometry + + buildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px + buildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx + buildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py + buildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny + buildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz + buildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + function buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) { + + var segmentWidth = width / gridX; + var segmentHeight = height / gridY; + + var widthHalf = width / 2; + var heightHalf = height / 2; + var depthHalf = depth / 2; + + var gridX1 = gridX + 1; + var gridY1 = gridY + 1; + + var vertexCounter = 0; + var groupCount = 0; + + var ix, iy; + + var vector = new Vector3(); + + // generate vertices, normals and uvs + + for ( iy = 0; iy < gridY1; iy ++ ) { + + var y = iy * segmentHeight - heightHalf; + + for ( ix = 0; ix < gridX1; ix ++ ) { + + var x = ix * segmentWidth - widthHalf; + + // set values to correct vector component + + vector[ u ] = x * udir; + vector[ v ] = y * vdir; + vector[ w ] = depthHalf; + + // now apply vector to vertex buffer + + vertices.push( vector.x, vector.y, vector.z ); + + // set values to correct vector component + + vector[ u ] = 0; + vector[ v ] = 0; + vector[ w ] = depth > 0 ? 1 : - 1; + + // now apply vector to normal buffer + + normals.push( vector.x, vector.y, vector.z ); + + // uvs + + uvs.push( ix / gridX ); + uvs.push( 1 - ( iy / gridY ) ); + + // counters + + vertexCounter += 1; + + } + + } + + // indices + + // 1. you need three indices to draw a single face + // 2. a single segment consists of two faces + // 3. so we need to generate six (2*3) indices per segment + + for ( iy = 0; iy < gridY; iy ++ ) { + + for ( ix = 0; ix < gridX; ix ++ ) { + + var a = numberOfVertices + ix + gridX1 * iy; + var b = numberOfVertices + ix + gridX1 * ( iy + 1 ); + var c = numberOfVertices + ( ix + 1 ) + gridX1 * ( iy + 1 ); + var d = numberOfVertices + ( ix + 1 ) + gridX1 * iy; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + // increase counter + + groupCount += 6; + + } + + } + + // add a group to the geometry. this will ensure multi material support + + scope.addGroup( groupStart, groupCount, materialIndex ); + + // calculate new start value for groups + + groupStart += groupCount; + + // update total number of vertices + + numberOfVertices += vertexCounter; + + } + + } + + BoxBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + BoxBufferGeometry.prototype.constructor = BoxBufferGeometry; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / https://github.com/Mugen87 + */ + + // PlaneGeometry + + function PlaneGeometry( width, height, widthSegments, heightSegments ) { + + Geometry.call( this ); + + this.type = 'PlaneGeometry'; + + this.parameters = { + width: width, + height: height, + widthSegments: widthSegments, + heightSegments: heightSegments + }; + + this.fromBufferGeometry( new PlaneBufferGeometry( width, height, widthSegments, heightSegments ) ); + this.mergeVertices(); + + } + + PlaneGeometry.prototype = Object.create( Geometry.prototype ); + PlaneGeometry.prototype.constructor = PlaneGeometry; + + // PlaneBufferGeometry + + function PlaneBufferGeometry( width, height, widthSegments, heightSegments ) { + + BufferGeometry.call( this ); + + this.type = 'PlaneBufferGeometry'; + + this.parameters = { + width: width, + height: height, + widthSegments: widthSegments, + heightSegments: heightSegments + }; + + var width_half = width / 2; + var height_half = height / 2; + + var gridX = Math.floor( widthSegments ) || 1; + var gridY = Math.floor( heightSegments ) || 1; + + var gridX1 = gridX + 1; + var gridY1 = gridY + 1; + + var segment_width = width / gridX; + var segment_height = height / gridY; + + var ix, iy; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // generate vertices, normals and uvs + + for ( iy = 0; iy < gridY1; iy ++ ) { + + var y = iy * segment_height - height_half; + + for ( ix = 0; ix < gridX1; ix ++ ) { + + var x = ix * segment_width - width_half; + + vertices.push( x, - y, 0 ); + + normals.push( 0, 0, 1 ); + + uvs.push( ix / gridX ); + uvs.push( 1 - ( iy / gridY ) ); + + } + + } + + // indices + + for ( iy = 0; iy < gridY; iy ++ ) { + + for ( ix = 0; ix < gridX; ix ++ ) { + + var a = ix + gridX1 * iy; + var b = ix + gridX1 * ( iy + 1 ); + var c = ( ix + 1 ) + gridX1 * ( iy + 1 ); + var d = ( ix + 1 ) + gridX1 * iy; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + PlaneBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + PlaneBufferGeometry.prototype.constructor = PlaneBufferGeometry; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author mikael emtinger / http://gomo.se/ + * @author WestLangley / http://github.com/WestLangley + */ + + function Camera() { + + Object3D.call( this ); + + this.type = 'Camera'; + + this.matrixWorldInverse = new Matrix4(); + this.projectionMatrix = new Matrix4(); + + } + + Camera.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Camera, + + isCamera: true, + + copy: function ( source ) { + + Object3D.prototype.copy.call( this, source ); + + this.matrixWorldInverse.copy( source.matrixWorldInverse ); + this.projectionMatrix.copy( source.projectionMatrix ); + + return this; + + }, + + getWorldDirection: function () { + + var quaternion = new Quaternion(); + + return function getWorldDirection( optionalTarget ) { + + var result = optionalTarget || new Vector3(); + + this.getWorldQuaternion( quaternion ); + + return result.set( 0, 0, - 1 ).applyQuaternion( quaternion ); + + }; + + }(), + + clone: function () { + + return new this.constructor().copy( this ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author greggman / http://games.greggman.com/ + * @author zz85 / http://www.lab4games.net/zz85/blog + * @author tschw + */ + + function PerspectiveCamera( fov, aspect, near, far ) { + + Camera.call( this ); + + this.type = 'PerspectiveCamera'; + + this.fov = fov !== undefined ? fov : 50; + this.zoom = 1; + + this.near = near !== undefined ? near : 0.1; + this.far = far !== undefined ? far : 2000; + this.focus = 10; + + this.aspect = aspect !== undefined ? aspect : 1; + this.view = null; + + this.filmGauge = 35; // width of the film (default in millimeters) + this.filmOffset = 0; // horizontal film offset (same unit as gauge) + + this.updateProjectionMatrix(); + + } + + PerspectiveCamera.prototype = Object.assign( Object.create( Camera.prototype ), { + + constructor: PerspectiveCamera, + + isPerspectiveCamera: true, + + copy: function ( source ) { + + Camera.prototype.copy.call( this, source ); + + this.fov = source.fov; + this.zoom = source.zoom; + + this.near = source.near; + this.far = source.far; + this.focus = source.focus; + + this.aspect = source.aspect; + this.view = source.view === null ? null : Object.assign( {}, source.view ); + + this.filmGauge = source.filmGauge; + this.filmOffset = source.filmOffset; + + return this; + + }, + + /** + * Sets the FOV by focal length in respect to the current .filmGauge. + * + * The default film gauge is 35, so that the focal length can be specified for + * a 35mm (full frame) camera. + * + * Values for focal length and film gauge must have the same unit. + */ + setFocalLength: function ( focalLength ) { + + // see http://www.bobatkins.com/photography/technical/field_of_view.html + var vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; + + this.fov = _Math.RAD2DEG * 2 * Math.atan( vExtentSlope ); + this.updateProjectionMatrix(); + + }, + + /** + * Calculates the focal length from the current .fov and .filmGauge. + */ + getFocalLength: function () { + + var vExtentSlope = Math.tan( _Math.DEG2RAD * 0.5 * this.fov ); + + return 0.5 * this.getFilmHeight() / vExtentSlope; + + }, + + getEffectiveFOV: function () { + + return _Math.RAD2DEG * 2 * Math.atan( + Math.tan( _Math.DEG2RAD * 0.5 * this.fov ) / this.zoom ); + + }, + + getFilmWidth: function () { + + // film not completely covered in portrait format (aspect < 1) + return this.filmGauge * Math.min( this.aspect, 1 ); + + }, + + getFilmHeight: function () { + + // film not completely covered in landscape format (aspect > 1) + return this.filmGauge / Math.max( this.aspect, 1 ); + + }, + + /** + * Sets an offset in a larger frustum. This is useful for multi-window or + * multi-monitor/multi-machine setups. + * + * For example, if you have 3x2 monitors and each monitor is 1920x1080 and + * the monitors are in grid like this + * + * +---+---+---+ + * | A | B | C | + * +---+---+---+ + * | D | E | F | + * +---+---+---+ + * + * then for each monitor you would call it like this + * + * var w = 1920; + * var h = 1080; + * var fullWidth = w * 3; + * var fullHeight = h * 2; + * + * --A-- + * camera.setOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); + * --B-- + * camera.setOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); + * --C-- + * camera.setOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); + * --D-- + * camera.setOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); + * --E-- + * camera.setOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); + * --F-- + * camera.setOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); + * + * Note there is no reason monitors have to be the same size or in a grid. + */ + setViewOffset: function ( fullWidth, fullHeight, x, y, width, height ) { + + this.aspect = fullWidth / fullHeight; + + this.view = { + fullWidth: fullWidth, + fullHeight: fullHeight, + offsetX: x, + offsetY: y, + width: width, + height: height + }; + + this.updateProjectionMatrix(); + + }, + + clearViewOffset: function () { + + this.view = null; + this.updateProjectionMatrix(); + + }, + + updateProjectionMatrix: function () { + + var near = this.near, + top = near * Math.tan( + _Math.DEG2RAD * 0.5 * this.fov ) / this.zoom, + height = 2 * top, + width = this.aspect * height, + left = - 0.5 * width, + view = this.view; + + if ( view !== null ) { + + var fullWidth = view.fullWidth, + fullHeight = view.fullHeight; + + left += view.offsetX * width / fullWidth; + top -= view.offsetY * height / fullHeight; + width *= view.width / fullWidth; + height *= view.height / fullHeight; + + } + + var skew = this.filmOffset; + if ( skew !== 0 ) left += near * skew / this.getFilmWidth(); + + this.projectionMatrix.makePerspective( left, left + width, top, top - height, near, this.far ); + + }, + + toJSON: function ( meta ) { + + var data = Object3D.prototype.toJSON.call( this, meta ); + + data.object.fov = this.fov; + data.object.zoom = this.zoom; + + data.object.near = this.near; + data.object.far = this.far; + data.object.focus = this.focus; + + data.object.aspect = this.aspect; + + if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); + + data.object.filmGauge = this.filmGauge; + data.object.filmOffset = this.filmOffset; + + return data; + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author arose / http://github.com/arose + */ + + function OrthographicCamera( left, right, top, bottom, near, far ) { + + Camera.call( this ); + + this.type = 'OrthographicCamera'; + + this.zoom = 1; + this.view = null; + + this.left = left; + this.right = right; + this.top = top; + this.bottom = bottom; + + this.near = ( near !== undefined ) ? near : 0.1; + this.far = ( far !== undefined ) ? far : 2000; + + this.updateProjectionMatrix(); + + } + + OrthographicCamera.prototype = Object.assign( Object.create( Camera.prototype ), { + + constructor: OrthographicCamera, + + isOrthographicCamera: true, + + copy: function ( source ) { + + Camera.prototype.copy.call( this, source ); + + this.left = source.left; + this.right = source.right; + this.top = source.top; + this.bottom = source.bottom; + this.near = source.near; + this.far = source.far; + + this.zoom = source.zoom; + this.view = source.view === null ? null : Object.assign( {}, source.view ); + + return this; + + }, + + setViewOffset: function( fullWidth, fullHeight, x, y, width, height ) { + + this.view = { + fullWidth: fullWidth, + fullHeight: fullHeight, + offsetX: x, + offsetY: y, + width: width, + height: height + }; + + this.updateProjectionMatrix(); + + }, + + clearViewOffset: function() { + + this.view = null; + this.updateProjectionMatrix(); + + }, + + updateProjectionMatrix: function () { + + var dx = ( this.right - this.left ) / ( 2 * this.zoom ); + var dy = ( this.top - this.bottom ) / ( 2 * this.zoom ); + var cx = ( this.right + this.left ) / 2; + var cy = ( this.top + this.bottom ) / 2; + + var left = cx - dx; + var right = cx + dx; + var top = cy + dy; + var bottom = cy - dy; + + if ( this.view !== null ) { + + var zoomW = this.zoom / ( this.view.width / this.view.fullWidth ); + var zoomH = this.zoom / ( this.view.height / this.view.fullHeight ); + var scaleW = ( this.right - this.left ) / this.view.width; + var scaleH = ( this.top - this.bottom ) / this.view.height; + + left += scaleW * ( this.view.offsetX / zoomW ); + right = left + scaleW * ( this.view.width / zoomW ); + top -= scaleH * ( this.view.offsetY / zoomH ); + bottom = top - scaleH * ( this.view.height / zoomH ); + + } + + this.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far ); + + }, + + toJSON: function ( meta ) { + + var data = Object3D.prototype.toJSON.call( this, meta ); + + data.object.zoom = this.zoom; + data.object.left = this.left; + data.object.right = this.right; + data.object.top = this.top; + data.object.bottom = this.bottom; + data.object.near = this.near; + data.object.far = this.far; + + if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); + + return data; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLAttributes( gl ) { + + var buffers = {}; + + function createBuffer( attribute, bufferType ) { + + var array = attribute.array; + var usage = attribute.dynamic ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW; + + var buffer = gl.createBuffer(); + + gl.bindBuffer( bufferType, buffer ); + gl.bufferData( bufferType, array, usage ); + + attribute.onUploadCallback(); + + var type = gl.FLOAT; + + if ( array instanceof Float32Array ) { + + type = gl.FLOAT; + + } else if ( array instanceof Float64Array ) { + + console.warn( "Unsupported data buffer format: Float64Array" ); + + } else if ( array instanceof Uint16Array ) { + + type = gl.UNSIGNED_SHORT; + + } else if ( array instanceof Int16Array ) { + + type = gl.SHORT; + + } else if ( array instanceof Uint32Array ) { + + type = gl.UNSIGNED_INT; + + } else if ( array instanceof Int32Array ) { + + type = gl.INT; + + } else if ( array instanceof Int8Array ) { + + type = gl.BYTE; + + } else if ( array instanceof Uint8Array ) { + + type = gl.UNSIGNED_BYTE; + + } + + return { + buffer: buffer, + type: type, + bytesPerElement: array.BYTES_PER_ELEMENT, + version: attribute.version + }; + + } + + function updateBuffer( buffer, attribute, bufferType ) { + + var array = attribute.array; + var updateRange = attribute.updateRange; + + gl.bindBuffer( bufferType, buffer ); + + if ( attribute.dynamic === false ) { + + gl.bufferData( bufferType, array, gl.STATIC_DRAW ); + + } else if ( updateRange.count === - 1 ) { + + // Not using update ranges + + gl.bufferSubData( bufferType, 0, array ); + + } else if ( updateRange.count === 0 ) { + + 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.' ); + + } else { + + gl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, + array.subarray( updateRange.offset, updateRange.offset + updateRange.count ) ); + + updateRange.count = 0; // reset range + + } + + } + + // + + function get( attribute ) { + + if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; + + return buffers[ attribute.uuid ]; + + } + + function remove( attribute ) { + + var data = buffers[ attribute.uuid ]; + + if ( data ) { + + gl.deleteBuffer( data.buffer ); + + delete buffers[ attribute.uuid ]; + + } + + } + + function update( attribute, bufferType ) { + + if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; + + var data = buffers[ attribute.uuid ]; + + if ( data === undefined ) { + + buffers[ attribute.uuid ] = createBuffer( attribute, bufferType ); + + } else if ( data.version < attribute.version ) { + + updateBuffer( data.buffer, attribute, bufferType ); + + data.version = attribute.version; + + } + + } + + return { + + get: get, + remove: remove, + update: update + + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function painterSortStable( a, b ) { + + if ( a.renderOrder !== b.renderOrder ) { + + return a.renderOrder - b.renderOrder; + + } else if ( a.program && b.program && a.program !== b.program ) { + + return a.program.id - b.program.id; + + } else if ( a.material.id !== b.material.id ) { + + return a.material.id - b.material.id; + + } else if ( a.z !== b.z ) { + + return a.z - b.z; + + } else { + + return a.id - b.id; + + } + + } + + function reversePainterSortStable( a, b ) { + + if ( a.renderOrder !== b.renderOrder ) { + + return a.renderOrder - b.renderOrder; + + } if ( a.z !== b.z ) { + + return b.z - a.z; + + } else { + + return a.id - b.id; + + } + + } + + function WebGLRenderList() { + + var opaque = []; + var opaqueLastIndex = - 1; + + var transparent = []; + var transparentLastIndex = - 1; + + function init() { + + opaqueLastIndex = - 1; + transparentLastIndex = - 1; + + } + + function push( object, geometry, material, z, group ) { + + var array, index; + + // allocate the next position in the appropriate array + + if ( material.transparent ) { + + array = transparent; + index = ++ transparentLastIndex; + + } else { + + array = opaque; + index = ++ opaqueLastIndex; + + } + + // recycle existing render item or grow the array + + var renderItem = array[ index ]; + + if ( renderItem ) { + + renderItem.id = object.id; + renderItem.object = object; + renderItem.geometry = geometry; + renderItem.material = material; + renderItem.program = material.program; + renderItem.renderOrder = object.renderOrder; + renderItem.z = z; + renderItem.group = group; + + } else { + + renderItem = { + id: object.id, + object: object, + geometry: geometry, + material: material, + program: material.program, + renderOrder: object.renderOrder, + z: z, + group: group + }; + + // assert( index === array.length ); + array.push( renderItem ); + + } + + } + + function finish() { + + opaque.length = opaqueLastIndex + 1; + transparent.length = transparentLastIndex + 1; + + } + + function sort() { + + opaque.sort( painterSortStable ); + transparent.sort( reversePainterSortStable ); + + } + + return { + opaque: opaque, + transparent: transparent, + + init: init, + push: push, + finish: finish, + + sort: sort + }; + + } + + function WebGLRenderLists() { + + var lists = {}; + + function get( scene, camera ) { + + var hash = scene.id + ',' + camera.id; + var list = lists[ hash ]; + + if ( list === undefined ) { + + // console.log( 'THREE.WebGLRenderLists:', hash ); + + list = new WebGLRenderList(); + lists[ hash ] = list; + + } + + return list; + + } + + function dispose() { + + lists = {}; + + } + + return { + get: get, + dispose: dispose + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLIndexedBufferRenderer( gl, extensions, infoRender ) { + + var mode; + + function setMode( value ) { + + mode = value; + + } + + var type, size; + + function setIndex( index ) { + + if ( index.array instanceof Uint32Array && extensions.get( 'OES_element_index_uint' ) ) { + + type = gl.UNSIGNED_INT; + size = 4; + + } else if ( index.array instanceof Uint16Array ) { + + type = gl.UNSIGNED_SHORT; + size = 2; + + } else { + + type = gl.UNSIGNED_BYTE; + size = 1; + + } + + } + + function render( start, count ) { + + gl.drawElements( mode, count, type, start * size ); + + infoRender.calls ++; + infoRender.vertices += count; + + if ( mode === gl.TRIANGLES ) infoRender.faces += count / 3; + + } + + function renderInstances( geometry, start, count ) { + + var extension = extensions.get( 'ANGLE_instanced_arrays' ); + + if ( extension === null ) { + + console.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); + return; + + } + + extension.drawElementsInstancedANGLE( mode, count, type, start * size, geometry.maxInstancedCount ); + + infoRender.calls ++; + infoRender.vertices += count * geometry.maxInstancedCount; + + if ( mode === gl.TRIANGLES ) infoRender.faces += geometry.maxInstancedCount * count / 3; + + } + + // + + this.setMode = setMode; + this.setIndex = setIndex; + this.render = render; + this.renderInstances = renderInstances; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLBufferRenderer( gl, extensions, infoRender ) { + + var mode; + + function setMode( value ) { + + mode = value; + + } + + function render( start, count ) { + + gl.drawArrays( mode, start, count ); + + infoRender.calls ++; + infoRender.vertices += count; + + if ( mode === gl.TRIANGLES ) infoRender.faces += count / 3; + + } + + function renderInstances( geometry, start, count ) { + + var extension = extensions.get( 'ANGLE_instanced_arrays' ); + + if ( extension === null ) { + + console.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); + return; + + } + + var position = geometry.attributes.position; + + if ( position.isInterleavedBufferAttribute ) { + + count = position.data.count; + + extension.drawArraysInstancedANGLE( mode, 0, count, geometry.maxInstancedCount ); + + } else { + + extension.drawArraysInstancedANGLE( mode, start, count, geometry.maxInstancedCount ); + + } + + infoRender.calls ++; + infoRender.vertices += count * geometry.maxInstancedCount; + + if ( mode === gl.TRIANGLES ) infoRender.faces += geometry.maxInstancedCount * count / 3; + + } + + // + + this.setMode = setMode; + this.render = render; + this.renderInstances = renderInstances; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLGeometries( gl, attributes, infoMemory ) { + + var geometries = {}; + var wireframeAttributes = {}; + + function onGeometryDispose( event ) { + + var geometry = event.target; + var buffergeometry = geometries[ geometry.id ]; + + if ( buffergeometry.index !== null ) { + + attributes.remove( buffergeometry.index ); + + } + + for ( var name in buffergeometry.attributes ) { + + attributes.remove( buffergeometry.attributes[ name ] ); + + } + + geometry.removeEventListener( 'dispose', onGeometryDispose ); + + delete geometries[ geometry.id ]; + + // TODO Remove duplicate code + + var attribute = wireframeAttributes[ geometry.id ]; + + if ( attribute ) { + + attributes.remove( attribute ); + delete wireframeAttributes[ geometry.id ]; + + } + + attribute = wireframeAttributes[ buffergeometry.id ]; + + if ( attribute ) { + + attributes.remove( attribute ); + delete wireframeAttributes[ buffergeometry.id ]; + + } + + // + + infoMemory.geometries --; + + } + + function get( object, geometry ) { + + var buffergeometry = geometries[ geometry.id ]; + + if ( buffergeometry ) return buffergeometry; + + geometry.addEventListener( 'dispose', onGeometryDispose ); + + if ( geometry.isBufferGeometry ) { + + buffergeometry = geometry; + + } else if ( geometry.isGeometry ) { + + if ( geometry._bufferGeometry === undefined ) { + + geometry._bufferGeometry = new BufferGeometry().setFromObject( object ); + + } + + buffergeometry = geometry._bufferGeometry; + + } + + geometries[ geometry.id ] = buffergeometry; + + infoMemory.geometries ++; + + return buffergeometry; + + } + + function update( geometry ) { + + var index = geometry.index; + var geometryAttributes = geometry.attributes; + + if ( index !== null ) { + + attributes.update( index, gl.ELEMENT_ARRAY_BUFFER ); + + } + + for ( var name in geometryAttributes ) { + + attributes.update( geometryAttributes[ name ], gl.ARRAY_BUFFER ); + + } + + // morph targets + + var morphAttributes = geometry.morphAttributes; + + for ( var name in morphAttributes ) { + + var array = morphAttributes[ name ]; + + for ( var i = 0, l = array.length; i < l; i ++ ) { + + attributes.update( array[ i ], gl.ARRAY_BUFFER ); + + } + + } + + } + + function getWireframeAttribute( geometry ) { + + var attribute = wireframeAttributes[ geometry.id ]; + + if ( attribute ) return attribute; + + var indices = []; + + var geometryIndex = geometry.index; + var geometryAttributes = geometry.attributes; + + // console.time( 'wireframe' ); + + if ( geometryIndex !== null ) { + + var array = geometryIndex.array; + + for ( var i = 0, l = array.length; i < l; i += 3 ) { + + var a = array[ i + 0 ]; + var b = array[ i + 1 ]; + var c = array[ i + 2 ]; + + indices.push( a, b, b, c, c, a ); + + } + + } else { + + var array = geometryAttributes.position.array; + + for ( var i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) { + + var a = i + 0; + var b = i + 1; + var c = i + 2; + + indices.push( a, b, b, c, c, a ); + + } + + } + + // console.timeEnd( 'wireframe' ); + + attribute = new ( arrayMax( indices ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 ); + + attributes.update( attribute, gl.ELEMENT_ARRAY_BUFFER ); + + wireframeAttributes[ geometry.id ] = attribute; + + return attribute; + + } + + return { + + get: get, + update: update, + + getWireframeAttribute: getWireframeAttribute + + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLLights() { + + var lights = {}; + + return { + + get: function ( light ) { + + if ( lights[ light.id ] !== undefined ) { + + return lights[ light.id ]; + + } + + var uniforms; + + switch ( light.type ) { + + case 'DirectionalLight': + uniforms = { + direction: new Vector3(), + color: new Color(), + + shadow: false, + shadowBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + + case 'SpotLight': + uniforms = { + position: new Vector3(), + direction: new Vector3(), + color: new Color(), + distance: 0, + coneCos: 0, + penumbraCos: 0, + decay: 0, + + shadow: false, + shadowBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + + case 'PointLight': + uniforms = { + position: new Vector3(), + color: new Color(), + distance: 0, + decay: 0, + + shadow: false, + shadowBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + + case 'HemisphereLight': + uniforms = { + direction: new Vector3(), + skyColor: new Color(), + groundColor: new Color() + }; + break; + + case 'RectAreaLight': + uniforms = { + color: new Color(), + position: new Vector3(), + halfWidth: new Vector3(), + halfHeight: new Vector3() + // TODO (abelnation): set RectAreaLight shadow uniforms + }; + break; + + } + + lights[ light.id ] = uniforms; + + return uniforms; + + } + + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLObjects( gl, geometries, infoRender ) { + + var updateList = {}; + + function update( object ) { + + var frame = infoRender.frame; + + var geometry = object.geometry; + var buffergeometry = geometries.get( object, geometry ); + + // Update once per frame + + if ( updateList[ buffergeometry.id ] !== frame ) { + + if ( geometry.isGeometry ) { + + buffergeometry.updateFromObject( object ); + + } + + geometries.update( buffergeometry ); + + updateList[ buffergeometry.id ] = frame; + + } + + return buffergeometry; + + } + + function clear() { + + updateList = {}; + + } + + return { + + update: update, + clear: clear + + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function addLineNumbers( string ) { + + var lines = string.split( '\n' ); + + for ( var i = 0; i < lines.length; i ++ ) { + + lines[ i ] = ( i + 1 ) + ': ' + lines[ i ]; + + } + + return lines.join( '\n' ); + + } + + function WebGLShader( gl, type, string ) { + + var shader = gl.createShader( type ); + + gl.shaderSource( shader, string ); + gl.compileShader( shader ); + + if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) { + + console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' ); + + } + + if ( gl.getShaderInfoLog( shader ) !== '' ) { + + console.warn( 'THREE.WebGLShader: gl.getShaderInfoLog()', type === gl.VERTEX_SHADER ? 'vertex' : 'fragment', gl.getShaderInfoLog( shader ), addLineNumbers( string ) ); + + } + + // --enable-privileged-webgl-extension + // console.log( type, gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); + + return shader; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + var programIdCount = 0; + + function getEncodingComponents( encoding ) { + + switch ( encoding ) { + + case LinearEncoding: + return [ 'Linear','( value )' ]; + case sRGBEncoding: + return [ 'sRGB','( value )' ]; + case RGBEEncoding: + return [ 'RGBE','( value )' ]; + case RGBM7Encoding: + return [ 'RGBM','( value, 7.0 )' ]; + case RGBM16Encoding: + return [ 'RGBM','( value, 16.0 )' ]; + case RGBDEncoding: + return [ 'RGBD','( value, 256.0 )' ]; + case GammaEncoding: + return [ 'Gamma','( value, float( GAMMA_FACTOR ) )' ]; + default: + throw new Error( 'unsupported encoding: ' + encoding ); + + } + + } + + function getTexelDecodingFunction( functionName, encoding ) { + + var components = getEncodingComponents( encoding ); + return "vec4 " + functionName + "( vec4 value ) { return " + components[ 0 ] + "ToLinear" + components[ 1 ] + "; }"; + + } + + function getTexelEncodingFunction( functionName, encoding ) { + + var components = getEncodingComponents( encoding ); + return "vec4 " + functionName + "( vec4 value ) { return LinearTo" + components[ 0 ] + components[ 1 ] + "; }"; + + } + + function getToneMappingFunction( functionName, toneMapping ) { + + var toneMappingName; + + switch ( toneMapping ) { + + case LinearToneMapping: + toneMappingName = "Linear"; + break; + + case ReinhardToneMapping: + toneMappingName = "Reinhard"; + break; + + case Uncharted2ToneMapping: + toneMappingName = "Uncharted2"; + break; + + case CineonToneMapping: + toneMappingName = "OptimizedCineon"; + break; + + default: + throw new Error( 'unsupported toneMapping: ' + toneMapping ); + + } + + return "vec3 " + functionName + "( vec3 color ) { return " + toneMappingName + "ToneMapping( color ); }"; + + } + + function generateExtensions( extensions, parameters, rendererExtensions ) { + + extensions = extensions || {}; + + var chunks = [ + ( extensions.derivatives || parameters.envMapCubeUV || parameters.bumpMap || parameters.normalMap || parameters.flatShading ) ? '#extension GL_OES_standard_derivatives : enable' : '', + ( extensions.fragDepth || parameters.logarithmicDepthBuffer ) && rendererExtensions.get( 'EXT_frag_depth' ) ? '#extension GL_EXT_frag_depth : enable' : '', + ( extensions.drawBuffers ) && rendererExtensions.get( 'WEBGL_draw_buffers' ) ? '#extension GL_EXT_draw_buffers : require' : '', + ( extensions.shaderTextureLOD || parameters.envMap ) && rendererExtensions.get( 'EXT_shader_texture_lod' ) ? '#extension GL_EXT_shader_texture_lod : enable' : '' + ]; + + return chunks.filter( filterEmptyLine ).join( '\n' ); + + } + + function generateDefines( defines ) { + + var chunks = []; + + for ( var name in defines ) { + + var value = defines[ name ]; + + if ( value === false ) continue; + + chunks.push( '#define ' + name + ' ' + value ); + + } + + return chunks.join( '\n' ); + + } + + function fetchAttributeLocations( gl, program, identifiers ) { + + var attributes = {}; + + var n = gl.getProgramParameter( program, gl.ACTIVE_ATTRIBUTES ); + + for ( var i = 0; i < n; i ++ ) { + + var info = gl.getActiveAttrib( program, i ); + var name = info.name; + + // console.log("THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:", name, i ); + + attributes[ name ] = gl.getAttribLocation( program, name ); + + } + + return attributes; + + } + + function filterEmptyLine( string ) { + + return string !== ''; + + } + + function replaceLightNums( string, parameters ) { + + return string + .replace( /NUM_DIR_LIGHTS/g, parameters.numDirLights ) + .replace( /NUM_SPOT_LIGHTS/g, parameters.numSpotLights ) + .replace( /NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights ) + .replace( /NUM_POINT_LIGHTS/g, parameters.numPointLights ) + .replace( /NUM_HEMI_LIGHTS/g, parameters.numHemiLights ); + + } + + function parseIncludes( string ) { + + var pattern = /^[ \t]*#include +<([\w\d.]+)>/gm; + + function replace( match, include ) { + + var replace = ShaderChunk[ include ]; + + if ( replace === undefined ) { + + throw new Error( 'Can not resolve #include <' + include + '>' ); + + } + + return parseIncludes( replace ); + + } + + return string.replace( pattern, replace ); + + } + + function unrollLoops( string ) { + + var pattern = /for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g; + + function replace( match, start, end, snippet ) { + + var unroll = ''; + + for ( var i = parseInt( start ); i < parseInt( end ); i ++ ) { + + unroll += snippet.replace( /\[ i \]/g, '[ ' + i + ' ]' ); + + } + + return unroll; + + } + + return string.replace( pattern, replace ); + + } + + function WebGLProgram( renderer, code, material, parameters ) { + + var gl = renderer.context; + + var extensions = material.extensions; + var defines = material.defines; + + var vertexShader = material.__webglShader.vertexShader; + var fragmentShader = material.__webglShader.fragmentShader; + + var shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC'; + + if ( parameters.shadowMapType === PCFShadowMap ) { + + shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF'; + + } else if ( parameters.shadowMapType === PCFSoftShadowMap ) { + + shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF_SOFT'; + + } + + var envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; + var envMapModeDefine = 'ENVMAP_MODE_REFLECTION'; + var envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; + + if ( parameters.envMap ) { + + switch ( material.envMap.mapping ) { + + case CubeReflectionMapping: + case CubeRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; + break; + + case CubeUVReflectionMapping: + case CubeUVRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_CUBE_UV'; + break; + + case EquirectangularReflectionMapping: + case EquirectangularRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_EQUIREC'; + break; + + case SphericalReflectionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_SPHERE'; + break; + + } + + switch ( material.envMap.mapping ) { + + case CubeRefractionMapping: + case EquirectangularRefractionMapping: + envMapModeDefine = 'ENVMAP_MODE_REFRACTION'; + break; + + } + + switch ( material.combine ) { + + case MultiplyOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; + break; + + case MixOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_MIX'; + break; + + case AddOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_ADD'; + break; + + } + + } + + var gammaFactorDefine = ( renderer.gammaFactor > 0 ) ? renderer.gammaFactor : 1.0; + + // console.log( 'building new program ' ); + + // + + var customExtensions = generateExtensions( extensions, parameters, renderer.extensions ); + + var customDefines = generateDefines( defines ); + + // + + var program = gl.createProgram(); + + var prefixVertex, prefixFragment; + + if ( material.isRawShaderMaterial ) { + + prefixVertex = [ + + customDefines, + + '\n' + + ].filter( filterEmptyLine ).join( '\n' ); + + prefixFragment = [ + + customExtensions, + customDefines, + + '\n' + + ].filter( filterEmptyLine ).join( '\n' ); + + } else { + + prefixVertex = [ + + 'precision ' + parameters.precision + ' float;', + 'precision ' + parameters.precision + ' int;', + + '#define SHADER_NAME ' + material.__webglShader.name, + + customDefines, + + parameters.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', + + '#define GAMMA_FACTOR ' + gammaFactorDefine, + + '#define MAX_BONES ' + parameters.maxBones, + ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', + ( parameters.useFog && parameters.fogExp ) ? '#define FOG_EXP2' : '', + + parameters.map ? '#define USE_MAP' : '', + parameters.envMap ? '#define USE_ENVMAP' : '', + parameters.envMap ? '#define ' + envMapModeDefine : '', + parameters.lightMap ? '#define USE_LIGHTMAP' : '', + parameters.aoMap ? '#define USE_AOMAP' : '', + parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', + parameters.bumpMap ? '#define USE_BUMPMAP' : '', + parameters.normalMap ? '#define USE_NORMALMAP' : '', + parameters.displacementMap && parameters.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '', + parameters.specularMap ? '#define USE_SPECULARMAP' : '', + parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', + parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', + parameters.alphaMap ? '#define USE_ALPHAMAP' : '', + parameters.vertexColors ? '#define USE_COLOR' : '', + + parameters.flatShading ? '#define FLAT_SHADED' : '', + + parameters.skinning ? '#define USE_SKINNING' : '', + parameters.useVertexTexture ? '#define BONE_TEXTURE' : '', + + parameters.morphTargets ? '#define USE_MORPHTARGETS' : '', + parameters.morphNormals && parameters.flatShading === false ? '#define USE_MORPHNORMALS' : '', + parameters.doubleSided ? '#define DOUBLE_SIDED' : '', + parameters.flipSided ? '#define FLIP_SIDED' : '', + + '#define NUM_CLIPPING_PLANES ' + parameters.numClippingPlanes, + + parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', + parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', + + parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '', + + parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', + parameters.logarithmicDepthBuffer && renderer.extensions.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', + + ' attribute vec3 color;', + + '#endif', + + '#ifdef USE_MORPHTARGETS', + + ' attribute vec3 morphTarget0;', + ' attribute vec3 morphTarget1;', + ' attribute vec3 morphTarget2;', + ' attribute vec3 morphTarget3;', + + ' #ifdef USE_MORPHNORMALS', + + ' attribute vec3 morphNormal0;', + ' attribute vec3 morphNormal1;', + ' attribute vec3 morphNormal2;', + ' attribute vec3 morphNormal3;', + + ' #else', + + ' attribute vec3 morphTarget4;', + ' attribute vec3 morphTarget5;', + ' attribute vec3 morphTarget6;', + ' attribute vec3 morphTarget7;', + + ' #endif', + + '#endif', + + '#ifdef USE_SKINNING', + + ' attribute vec4 skinIndex;', + ' attribute vec4 skinWeight;', + + '#endif', + + '\n' + + ].filter( filterEmptyLine ).join( '\n' ); + + prefixFragment = [ + + customExtensions, + + 'precision ' + parameters.precision + ' float;', + 'precision ' + parameters.precision + ' int;', + + '#define SHADER_NAME ' + material.__webglShader.name, + + customDefines, + + parameters.alphaTest ? '#define ALPHATEST ' + parameters.alphaTest : '', + + '#define GAMMA_FACTOR ' + gammaFactorDefine, + + ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', + ( parameters.useFog && parameters.fogExp ) ? '#define FOG_EXP2' : '', + + parameters.map ? '#define USE_MAP' : '', + parameters.envMap ? '#define USE_ENVMAP' : '', + parameters.envMap ? '#define ' + envMapTypeDefine : '', + parameters.envMap ? '#define ' + envMapModeDefine : '', + parameters.envMap ? '#define ' + envMapBlendingDefine : '', + parameters.lightMap ? '#define USE_LIGHTMAP' : '', + parameters.aoMap ? '#define USE_AOMAP' : '', + parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', + parameters.bumpMap ? '#define USE_BUMPMAP' : '', + parameters.normalMap ? '#define USE_NORMALMAP' : '', + parameters.specularMap ? '#define USE_SPECULARMAP' : '', + parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', + parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', + parameters.alphaMap ? '#define USE_ALPHAMAP' : '', + parameters.vertexColors ? '#define USE_COLOR' : '', + + parameters.gradientMap ? '#define USE_GRADIENTMAP' : '', + + parameters.flatShading ? '#define FLAT_SHADED' : '', + + parameters.doubleSided ? '#define DOUBLE_SIDED' : '', + parameters.flipSided ? '#define FLIP_SIDED' : '', + + '#define NUM_CLIPPING_PLANES ' + parameters.numClippingPlanes, + '#define UNION_CLIPPING_PLANES ' + (parameters.numClippingPlanes - parameters.numClipIntersection), + + parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', + parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', + + parameters.premultipliedAlpha ? "#define PREMULTIPLIED_ALPHA" : '', + + parameters.physicallyCorrectLights ? "#define PHYSICALLY_CORRECT_LIGHTS" : '', + + parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', + parameters.logarithmicDepthBuffer && renderer.extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '', + + parameters.envMap && renderer.extensions.get( 'EXT_shader_texture_lod' ) ? '#define TEXTURE_LOD_EXT' : '', + + 'uniform mat4 viewMatrix;', + 'uniform vec3 cameraPosition;', + + ( parameters.toneMapping !== NoToneMapping ) ? "#define TONE_MAPPING" : '', + ( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below + ( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( "toneMapping", parameters.toneMapping ) : '', + + parameters.dithering ? '#define DITHERING' : '', + + ( parameters.outputEncoding || parameters.mapEncoding || parameters.envMapEncoding || parameters.emissiveMapEncoding ) ? ShaderChunk[ 'encodings_pars_fragment' ] : '', // this code is required here because it is used by the various encoding/decoding function defined below + parameters.mapEncoding ? getTexelDecodingFunction( 'mapTexelToLinear', parameters.mapEncoding ) : '', + parameters.envMapEncoding ? getTexelDecodingFunction( 'envMapTexelToLinear', parameters.envMapEncoding ) : '', + parameters.emissiveMapEncoding ? getTexelDecodingFunction( 'emissiveMapTexelToLinear', parameters.emissiveMapEncoding ) : '', + parameters.outputEncoding ? getTexelEncodingFunction( "linearToOutputTexel", parameters.outputEncoding ) : '', + + parameters.depthPacking ? "#define DEPTH_PACKING " + material.depthPacking : '', + + '\n' + + ].filter( filterEmptyLine ).join( '\n' ); + + } + + vertexShader = parseIncludes( vertexShader, parameters ); + vertexShader = replaceLightNums( vertexShader, parameters ); + + fragmentShader = parseIncludes( fragmentShader, parameters ); + fragmentShader = replaceLightNums( fragmentShader, parameters ); + + if ( ! material.isShaderMaterial ) { + + vertexShader = unrollLoops( vertexShader ); + fragmentShader = unrollLoops( fragmentShader ); + + } + + var vertexGlsl = prefixVertex + vertexShader; + var fragmentGlsl = prefixFragment + fragmentShader; + + // console.log( '*VERTEX*', vertexGlsl ); + // console.log( '*FRAGMENT*', fragmentGlsl ); + + var glVertexShader = WebGLShader( gl, gl.VERTEX_SHADER, vertexGlsl ); + var glFragmentShader = WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentGlsl ); + + gl.attachShader( program, glVertexShader ); + gl.attachShader( program, glFragmentShader ); + + // Force a particular attribute to index 0. + + if ( material.index0AttributeName !== undefined ) { + + gl.bindAttribLocation( program, 0, material.index0AttributeName ); + + } else if ( parameters.morphTargets === true ) { + + // programs with morphTargets displace position out of attribute 0 + gl.bindAttribLocation( program, 0, 'position' ); + + } + + gl.linkProgram( program ); + + var programLog = gl.getProgramInfoLog( program ); + var vertexLog = gl.getShaderInfoLog( glVertexShader ); + var fragmentLog = gl.getShaderInfoLog( glFragmentShader ); + + var runnable = true; + var haveDiagnostics = true; + + // console.log( '**VERTEX**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glVertexShader ) ); + // console.log( '**FRAGMENT**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glFragmentShader ) ); + + if ( gl.getProgramParameter( program, gl.LINK_STATUS ) === false ) { + + runnable = false; + + console.error( 'THREE.WebGLProgram: shader error: ', gl.getError(), 'gl.VALIDATE_STATUS', gl.getProgramParameter( program, gl.VALIDATE_STATUS ), 'gl.getProgramInfoLog', programLog, vertexLog, fragmentLog ); + + } else if ( programLog !== '' ) { + + console.warn( 'THREE.WebGLProgram: gl.getProgramInfoLog()', programLog ); + + } else if ( vertexLog === '' || fragmentLog === '' ) { + + haveDiagnostics = false; + + } + + if ( haveDiagnostics ) { + + this.diagnostics = { + + runnable: runnable, + material: material, + + programLog: programLog, + + vertexShader: { + + log: vertexLog, + prefix: prefixVertex + + }, + + fragmentShader: { + + log: fragmentLog, + prefix: prefixFragment + + } + + }; + + } + + // clean up + + gl.deleteShader( glVertexShader ); + gl.deleteShader( glFragmentShader ); + + // set up caching for uniform locations + + var cachedUniforms; + + this.getUniforms = function() { + + if ( cachedUniforms === undefined ) { + + cachedUniforms = + new WebGLUniforms( gl, program, renderer ); + + } + + return cachedUniforms; + + }; + + // set up caching for attribute locations + + var cachedAttributes; + + this.getAttributes = function() { + + if ( cachedAttributes === undefined ) { + + cachedAttributes = fetchAttributeLocations( gl, program ); + + } + + return cachedAttributes; + + }; + + // free resource + + this.destroy = function() { + + gl.deleteProgram( program ); + this.program = undefined; + + }; + + // DEPRECATED + + Object.defineProperties( this, { + + uniforms: { + get: function() { + + console.warn( 'THREE.WebGLProgram: .uniforms is now .getUniforms().' ); + return this.getUniforms(); + + } + }, + + attributes: { + get: function() { + + console.warn( 'THREE.WebGLProgram: .attributes is now .getAttributes().' ); + return this.getAttributes(); + + } + } + + } ); + + + // + + this.id = programIdCount ++; + this.code = code; + this.usedTimes = 1; + this.program = program; + this.vertexShader = glVertexShader; + this.fragmentShader = glFragmentShader; + + return this; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLPrograms( renderer, capabilities ) { + + var programs = []; + + var shaderIDs = { + MeshDepthMaterial: 'depth', + MeshNormalMaterial: 'normal', + MeshBasicMaterial: 'basic', + MeshLambertMaterial: 'lambert', + MeshPhongMaterial: 'phong', + MeshToonMaterial: 'phong', + MeshStandardMaterial: 'physical', + MeshPhysicalMaterial: 'physical', + LineBasicMaterial: 'basic', + LineDashedMaterial: 'dashed', + PointsMaterial: 'points' + }; + + var parameterNames = [ + "precision", "supportsVertexTextures", "map", "mapEncoding", "envMap", "envMapMode", "envMapEncoding", + "lightMap", "aoMap", "emissiveMap", "emissiveMapEncoding", "bumpMap", "normalMap", "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 allocateBones( object ) { + + var skeleton = object.skeleton; + var bones = skeleton.bones; + + if ( capabilities.floatVertexTextures ) { + + return 1024; + + } else { + + // default for when object is not specified + // ( for example when prebuilding shader to be used with multiple objects ) + // + // - leave some extra space for other uniforms + // - limit here is ANGLE's 254 max uniform vectors + // (up to 54 should be safe) + + var nVertexUniforms = capabilities.maxVertexUniforms; + var nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 ); + + var maxBones = Math.min( nVertexMatrices, bones.length ); + + if ( maxBones < bones.length ) { + + console.warn( 'THREE.WebGLRenderer: Skeleton has ' + bones.length + ' bones. This GPU supports ' + maxBones + '.' ); + return 0; + + } + + return maxBones; + + } + + } + + function getTextureEncodingFromMap( map, gammaOverrideLinear ) { + + var encoding; + + if ( ! map ) { + + encoding = LinearEncoding; + + } else if ( map.isTexture ) { + + encoding = map.encoding; + + } else if ( map.isWebGLRenderTarget ) { + + console.warn( "THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead." ); + encoding = map.texture.encoding; + + } + + // add backwards compatibility for WebGLRenderer.gammaInput/gammaOutput parameter, should probably be removed at some point. + if ( encoding === LinearEncoding && gammaOverrideLinear ) { + + encoding = GammaEncoding; + + } + + return encoding; + + } + + this.getParameters = function ( material, lights, fog, nClipPlanes, nClipIntersection, object ) { + + var shaderID = shaderIDs[ material.type ]; + + // heuristics to create shader parameters according to lights in the scene + // (not to blow over maxLights budget) + + var maxBones = object.isSkinnedMesh ? allocateBones( object ) : 0; + var precision = renderer.getPrecision(); + + if ( material.precision !== null ) { + + precision = capabilities.getMaxPrecision( material.precision ); + + if ( precision !== material.precision ) { + + console.warn( 'THREE.WebGLProgram.getParameters:', material.precision, 'not supported, using', precision, 'instead.' ); + + } + + } + + var currentRenderTarget = renderer.getRenderTarget(); + + var parameters = { + + shaderID: shaderID, + + precision: precision, + supportsVertexTextures: capabilities.vertexTextures, + outputEncoding: getTextureEncodingFromMap( ( ! currentRenderTarget ) ? null : currentRenderTarget.texture, renderer.gammaOutput ), + map: !! material.map, + mapEncoding: getTextureEncodingFromMap( material.map, renderer.gammaInput ), + envMap: !! material.envMap, + envMapMode: material.envMap && material.envMap.mapping, + envMapEncoding: getTextureEncodingFromMap( material.envMap, renderer.gammaInput ), + envMapCubeUV: ( !! material.envMap ) && ( ( material.envMap.mapping === CubeUVReflectionMapping ) || ( material.envMap.mapping === CubeUVRefractionMapping ) ), + lightMap: !! material.lightMap, + aoMap: !! material.aoMap, + emissiveMap: !! material.emissiveMap, + emissiveMapEncoding: getTextureEncodingFromMap( material.emissiveMap, renderer.gammaInput ), + bumpMap: !! material.bumpMap, + normalMap: !! material.normalMap, + displacementMap: !! material.displacementMap, + roughnessMap: !! material.roughnessMap, + metalnessMap: !! material.metalnessMap, + specularMap: !! material.specularMap, + alphaMap: !! material.alphaMap, + + gradientMap: !! material.gradientMap, + + combine: material.combine, + + vertexColors: material.vertexColors, + + fog: !! fog, + useFog: material.fog, + fogExp: ( fog && fog.isFogExp2 ), + + flatShading: material.shading === FlatShading, + + sizeAttenuation: material.sizeAttenuation, + logarithmicDepthBuffer: capabilities.logarithmicDepthBuffer, + + skinning: material.skinning && maxBones > 0, + maxBones: maxBones, + useVertexTexture: capabilities.floatVertexTextures, + + morphTargets: material.morphTargets, + morphNormals: material.morphNormals, + maxMorphTargets: renderer.maxMorphTargets, + maxMorphNormals: renderer.maxMorphNormals, + + numDirLights: lights.directional.length, + numPointLights: lights.point.length, + numSpotLights: lights.spot.length, + numRectAreaLights: lights.rectArea.length, + numHemiLights: lights.hemi.length, + + numClippingPlanes: nClipPlanes, + numClipIntersection: nClipIntersection, + + dithering: material.dithering, + + shadowMapEnabled: renderer.shadowMap.enabled && object.receiveShadow && lights.shadows.length > 0, + shadowMapType: renderer.shadowMap.type, + + toneMapping: renderer.toneMapping, + physicallyCorrectLights: renderer.physicallyCorrectLights, + + premultipliedAlpha: material.premultipliedAlpha, + + alphaTest: material.alphaTest, + doubleSided: material.side === DoubleSide, + flipSided: material.side === BackSide, + + depthPacking: ( material.depthPacking !== undefined ) ? material.depthPacking : false + + }; + + return parameters; + + }; + + this.getProgramCode = function ( material, parameters ) { + + var array = []; + + if ( parameters.shaderID ) { + + array.push( parameters.shaderID ); + + } else { + + array.push( material.fragmentShader ); + array.push( material.vertexShader ); + + } + + if ( material.defines !== undefined ) { + + for ( var name in material.defines ) { + + array.push( name ); + array.push( material.defines[ name ] ); + + } + + } + + for ( var i = 0; i < parameterNames.length; i ++ ) { + + array.push( parameters[ parameterNames[ i ] ] ); + + } + + return array.join(); + + }; + + this.acquireProgram = function ( material, parameters, code ) { + + var program; + + // Check if code has been already compiled + for ( var p = 0, pl = programs.length; p < pl; p ++ ) { + + var programInfo = programs[ p ]; + + if ( programInfo.code === code ) { + + program = programInfo; + ++ program.usedTimes; + + break; + + } + + } + + if ( program === undefined ) { + + program = new WebGLProgram( renderer, code, material, parameters ); + programs.push( program ); + + } + + return program; + + }; + + this.releaseProgram = function ( program ) { + + if ( -- program.usedTimes === 0 ) { + + // Remove from unordered set + var i = programs.indexOf( program ); + programs[ i ] = programs[ programs.length - 1 ]; + programs.pop(); + + // Free WebGL resources + program.destroy(); + + } + + }; + + // Exposed for resource monitoring & error feedback via renderer.info: + this.programs = programs; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLTextures( _gl, extensions, state, properties, capabilities, paramThreeToGL, infoMemory ) { + + var _isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && _gl instanceof WebGL2RenderingContext ); + + // + + function clampToMaxSize( image, maxSize ) { + + if ( image.width > maxSize || image.height > maxSize ) { + + // Warning: Scaling through the canvas will only work with images that use + // premultiplied alpha. + + var scale = maxSize / Math.max( image.width, image.height ); + + var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); + canvas.width = Math.floor( image.width * scale ); + canvas.height = Math.floor( image.height * scale ); + + var context = canvas.getContext( '2d' ); + context.drawImage( image, 0, 0, image.width, image.height, 0, 0, canvas.width, canvas.height ); + + console.warn( 'THREE.WebGLRenderer: image is too big (' + image.width + 'x' + image.height + '). Resized to ' + canvas.width + 'x' + canvas.height, image ); + + return canvas; + + } + + return image; + + } + + function isPowerOfTwo( image ) { + + return _Math.isPowerOfTwo( image.width ) && _Math.isPowerOfTwo( image.height ); + + } + + function makePowerOfTwo( image ) { + + if ( image instanceof HTMLImageElement || image instanceof HTMLCanvasElement ) { + + var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); + canvas.width = _Math.nearestPowerOfTwo( image.width ); + canvas.height = _Math.nearestPowerOfTwo( image.height ); + + var context = canvas.getContext( '2d' ); + context.drawImage( image, 0, 0, canvas.width, canvas.height ); + + console.warn( 'THREE.WebGLRenderer: image is not power of two (' + image.width + 'x' + image.height + '). Resized to ' + canvas.width + 'x' + canvas.height, image ); + + return canvas; + + } + + return image; + + } + + function textureNeedsPowerOfTwo( texture ) { + + return ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) || + ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ); + + } + + // Fallback filters for non-power-of-2 textures + + function filterFallback( f ) { + + if ( f === NearestFilter || f === NearestMipMapNearestFilter || f === NearestMipMapLinearFilter ) { + + return _gl.NEAREST; + + } + + return _gl.LINEAR; + + } + + // + + function onTextureDispose( event ) { + + var texture = event.target; + + texture.removeEventListener( 'dispose', onTextureDispose ); + + deallocateTexture( texture ); + + infoMemory.textures --; + + + } + + function onRenderTargetDispose( event ) { + + var renderTarget = event.target; + + renderTarget.removeEventListener( 'dispose', onRenderTargetDispose ); + + deallocateRenderTarget( renderTarget ); + + infoMemory.textures --; + + } + + // + + function deallocateTexture( texture ) { + + var textureProperties = properties.get( texture ); + + if ( texture.image && textureProperties.__image__webglTextureCube ) { + + // cube texture + + _gl.deleteTexture( textureProperties.__image__webglTextureCube ); + + } else { + + // 2D texture + + if ( textureProperties.__webglInit === undefined ) return; + + _gl.deleteTexture( textureProperties.__webglTexture ); + + } + + // remove all webgl properties + properties.remove( texture ); + + } + + function deallocateRenderTarget( renderTarget ) { + + var renderTargetProperties = properties.get( renderTarget ); + var textureProperties = properties.get( renderTarget.texture ); + + if ( ! renderTarget ) return; + + if ( textureProperties.__webglTexture !== undefined ) { + + _gl.deleteTexture( textureProperties.__webglTexture ); + + } + + if ( renderTarget.depthTexture ) { + + renderTarget.depthTexture.dispose(); + + } + + if ( renderTarget.isWebGLRenderTargetCube ) { + + for ( var i = 0; i < 6; i ++ ) { + + _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer[ i ] ); + if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer[ i ] ); + + } + + } else { + + _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer ); + if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer ); + + } + + properties.remove( renderTarget.texture ); + properties.remove( renderTarget ); + + } + + // + + + + function setTexture2D( texture, slot ) { + + var textureProperties = properties.get( texture ); + + if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + + var image = texture.image; + + if ( image === undefined ) { + + console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is undefined', texture ); + + } else if ( image.complete === false ) { + + console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is incomplete', texture ); + + } else { + + uploadTexture( textureProperties, texture, slot ); + return; + + } + + } + + state.activeTexture( _gl.TEXTURE0 + slot ); + state.bindTexture( _gl.TEXTURE_2D, textureProperties.__webglTexture ); + + } + + function setTextureCube( texture, slot ) { + + var textureProperties = properties.get( texture ); + + if ( texture.image.length === 6 ) { + + if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + + if ( ! textureProperties.__image__webglTextureCube ) { + + texture.addEventListener( 'dispose', onTextureDispose ); + + textureProperties.__image__webglTextureCube = _gl.createTexture(); + + infoMemory.textures ++; + + } + + state.activeTexture( _gl.TEXTURE0 + slot ); + state.bindTexture( _gl.TEXTURE_CUBE_MAP, textureProperties.__image__webglTextureCube ); + + _gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, texture.flipY ); + + var isCompressed = ( texture && texture.isCompressedTexture ); + var isDataTexture = ( texture.image[ 0 ] && texture.image[ 0 ].isDataTexture ); + + var cubeImage = []; + + for ( var i = 0; i < 6; i ++ ) { + + if ( ! isCompressed && ! isDataTexture ) { + + cubeImage[ i ] = clampToMaxSize( texture.image[ i ], capabilities.maxCubemapSize ); + + } else { + + cubeImage[ i ] = isDataTexture ? texture.image[ i ].image : texture.image[ i ]; + + } + + } + + var image = cubeImage[ 0 ], + isPowerOfTwoImage = isPowerOfTwo( image ), + glFormat = paramThreeToGL( texture.format ), + glType = paramThreeToGL( texture.type ); + + setTextureParameters( _gl.TEXTURE_CUBE_MAP, texture, isPowerOfTwoImage ); + + for ( var i = 0; i < 6; i ++ ) { + + if ( ! isCompressed ) { + + if ( isDataTexture ) { + + state.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glFormat, cubeImage[ i ].width, cubeImage[ i ].height, 0, glFormat, glType, cubeImage[ i ].data ); + + } else { + + state.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glFormat, glFormat, glType, cubeImage[ i ] ); + + } + + } else { + + var mipmap, mipmaps = cubeImage[ i ].mipmaps; + + for ( var j = 0, jl = mipmaps.length; j < jl; j ++ ) { + + mipmap = mipmaps[ j ]; + + if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { + + if ( state.getCompressedTextureFormats().indexOf( glFormat ) > - 1 ) { + + state.compressedTexImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glFormat, mipmap.width, mipmap.height, 0, mipmap.data ); + + } else { + + console.warn( "THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()" ); + + } + + } else { + + state.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); + + } + + } + + } + + } + + if ( texture.generateMipmaps && isPowerOfTwoImage ) { + + _gl.generateMipmap( _gl.TEXTURE_CUBE_MAP ); + + } + + textureProperties.__version = texture.version; + + if ( texture.onUpdate ) texture.onUpdate( texture ); + + } else { + + state.activeTexture( _gl.TEXTURE0 + slot ); + state.bindTexture( _gl.TEXTURE_CUBE_MAP, textureProperties.__image__webglTextureCube ); + + } + + } + + } + + function setTextureCubeDynamic( texture, slot ) { + + state.activeTexture( _gl.TEXTURE0 + slot ); + state.bindTexture( _gl.TEXTURE_CUBE_MAP, properties.get( texture ).__webglTexture ); + + } + + function setTextureParameters( textureType, texture, isPowerOfTwoImage ) { + + var extension; + + if ( isPowerOfTwoImage ) { + + _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrapS ) ); + _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrapT ) ); + + _gl.texParameteri( textureType, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.magFilter ) ); + _gl.texParameteri( textureType, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.minFilter ) ); + + } else { + + _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE ); + _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE ); + + if ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) { + + console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.', texture ); + + } + + _gl.texParameteri( textureType, _gl.TEXTURE_MAG_FILTER, filterFallback( texture.magFilter ) ); + _gl.texParameteri( textureType, _gl.TEXTURE_MIN_FILTER, filterFallback( texture.minFilter ) ); + + if ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) { + + console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.', texture ); + + } + + } + + extension = extensions.get( 'EXT_texture_filter_anisotropic' ); + + if ( extension ) { + + if ( texture.type === FloatType && extensions.get( 'OES_texture_float_linear' ) === null ) return; + if ( texture.type === HalfFloatType && extensions.get( 'OES_texture_half_float_linear' ) === null ) return; + + if ( texture.anisotropy > 1 || properties.get( texture ).__currentAnisotropy ) { + + _gl.texParameterf( textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min( texture.anisotropy, capabilities.getMaxAnisotropy() ) ); + properties.get( texture ).__currentAnisotropy = texture.anisotropy; + + } + + } + + } + + function uploadTexture( textureProperties, texture, slot ) { + + if ( textureProperties.__webglInit === undefined ) { + + textureProperties.__webglInit = true; + + texture.addEventListener( 'dispose', onTextureDispose ); + + textureProperties.__webglTexture = _gl.createTexture(); + + infoMemory.textures ++; + + } + + state.activeTexture( _gl.TEXTURE0 + slot ); + state.bindTexture( _gl.TEXTURE_2D, textureProperties.__webglTexture ); + + _gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, texture.flipY ); + _gl.pixelStorei( _gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha ); + _gl.pixelStorei( _gl.UNPACK_ALIGNMENT, texture.unpackAlignment ); + + var image = clampToMaxSize( texture.image, capabilities.maxTextureSize ); + + if ( textureNeedsPowerOfTwo( texture ) && isPowerOfTwo( image ) === false ) { + + image = makePowerOfTwo( image ); + + } + + var isPowerOfTwoImage = isPowerOfTwo( image ), + glFormat = paramThreeToGL( texture.format ), + glType = paramThreeToGL( texture.type ); + + setTextureParameters( _gl.TEXTURE_2D, texture, isPowerOfTwoImage ); + + var mipmap, mipmaps = texture.mipmaps; + + if ( texture.isDepthTexture ) { + + // populate depth texture with dummy data + + var internalFormat = _gl.DEPTH_COMPONENT; + + if ( texture.type === FloatType ) { + + if ( !_isWebGL2 ) throw new Error('Float Depth Texture only supported in WebGL2.0'); + internalFormat = _gl.DEPTH_COMPONENT32F; + + } else if ( _isWebGL2 ) { + + // WebGL 2.0 requires signed internalformat for glTexImage2D + internalFormat = _gl.DEPTH_COMPONENT16; + + } + + if ( texture.format === DepthFormat && internalFormat === _gl.DEPTH_COMPONENT ) { + + // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are + // DEPTH_COMPONENT and type is not UNSIGNED_SHORT or UNSIGNED_INT + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + if ( texture.type !== UnsignedShortType && texture.type !== UnsignedIntType ) { + + console.warn( 'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.' ); + + texture.type = UnsignedShortType; + glType = paramThreeToGL( texture.type ); + + } + + } + + // Depth stencil textures need the DEPTH_STENCIL internal format + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + if ( texture.format === DepthStencilFormat ) { + + internalFormat = _gl.DEPTH_STENCIL; + + // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are + // DEPTH_STENCIL and type is not UNSIGNED_INT_24_8_WEBGL. + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + if ( texture.type !== UnsignedInt248Type ) { + + console.warn( 'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.' ); + + texture.type = UnsignedInt248Type; + glType = paramThreeToGL( texture.type ); + + } + + } + + state.texImage2D( _gl.TEXTURE_2D, 0, internalFormat, image.width, image.height, 0, glFormat, glType, null ); + + } else if ( texture.isDataTexture ) { + + // use manually created mipmaps if available + // if there are no manual mipmaps + // set 0 level mipmap and then use GL to generate other mipmap levels + + if ( mipmaps.length > 0 && isPowerOfTwoImage ) { + + for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { + + mipmap = mipmaps[ i ]; + state.texImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); + + } + + texture.generateMipmaps = false; + + } else { + + state.texImage2D( _gl.TEXTURE_2D, 0, glFormat, image.width, image.height, 0, glFormat, glType, image.data ); + + } + + } else if ( texture.isCompressedTexture ) { + + for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { + + mipmap = mipmaps[ i ]; + + if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { + + if ( state.getCompressedTextureFormats().indexOf( glFormat ) > - 1 ) { + + state.compressedTexImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, mipmap.data ); + + } else { + + console.warn( "THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()" ); + + } + + } else { + + state.texImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); + + } + + } + + } else { + + // regular Texture (image, video, canvas) + + // use manually created mipmaps if available + // if there are no manual mipmaps + // set 0 level mipmap and then use GL to generate other mipmap levels + + if ( mipmaps.length > 0 && isPowerOfTwoImage ) { + + for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { + + mipmap = mipmaps[ i ]; + state.texImage2D( _gl.TEXTURE_2D, i, glFormat, glFormat, glType, mipmap ); + + } + + texture.generateMipmaps = false; + + } else { + + state.texImage2D( _gl.TEXTURE_2D, 0, glFormat, glFormat, glType, image ); + + } + + } + + if ( texture.generateMipmaps && isPowerOfTwoImage ) _gl.generateMipmap( _gl.TEXTURE_2D ); + + textureProperties.__version = texture.version; + + if ( texture.onUpdate ) texture.onUpdate( texture ); + + } + + // Render targets + + // Setup storage for target texture and bind it to correct framebuffer + function setupFrameBufferTexture( framebuffer, renderTarget, attachment, textureTarget ) { + + var glFormat = paramThreeToGL( renderTarget.texture.format ); + var glType = paramThreeToGL( renderTarget.texture.type ); + state.texImage2D( textureTarget, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null ); + _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); + _gl.framebufferTexture2D( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( renderTarget.texture ).__webglTexture, 0 ); + _gl.bindFramebuffer( _gl.FRAMEBUFFER, null ); + + } + + // Setup storage for internal depth/stencil buffers and bind to correct framebuffer + function setupRenderBufferStorage( renderbuffer, renderTarget ) { + + _gl.bindRenderbuffer( _gl.RENDERBUFFER, renderbuffer ); + + if ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) { + + _gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.DEPTH_COMPONENT16, renderTarget.width, renderTarget.height ); + _gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer ); + + } else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) { + + _gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.DEPTH_STENCIL, renderTarget.width, renderTarget.height ); + _gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer ); + + } else { + + // FIXME: We don't support !depth !stencil + _gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.RGBA4, renderTarget.width, renderTarget.height ); + + } + + _gl.bindRenderbuffer( _gl.RENDERBUFFER, null ); + + } + + // Setup resources for a Depth Texture for a FBO (needs an extension) + function setupDepthTexture( framebuffer, renderTarget ) { + + var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube ); + if ( isCube ) throw new Error('Depth Texture with cube render targets is not supported!'); + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); + + if ( !( renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture ) ) { + + throw new Error('renderTarget.depthTexture must be an instance of THREE.DepthTexture'); + + } + + // upload an empty depth texture with framebuffer size + if ( !properties.get( renderTarget.depthTexture ).__webglTexture || + renderTarget.depthTexture.image.width !== renderTarget.width || + renderTarget.depthTexture.image.height !== renderTarget.height ) { + renderTarget.depthTexture.image.width = renderTarget.width; + renderTarget.depthTexture.image.height = renderTarget.height; + renderTarget.depthTexture.needsUpdate = true; + } + + setTexture2D( renderTarget.depthTexture, 0 ); + + var webglDepthTexture = properties.get( renderTarget.depthTexture ).__webglTexture; + + if ( renderTarget.depthTexture.format === DepthFormat ) { + + _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0 ); + + } else if ( renderTarget.depthTexture.format === DepthStencilFormat ) { + + _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0 ); + + } else { + + throw new Error('Unknown depthTexture format') + + } + + } + + // Setup GL resources for a non-texture depth buffer + function setupDepthRenderbuffer( renderTarget ) { + + var renderTargetProperties = properties.get( renderTarget ); + + var isCube = ( renderTarget.isWebGLRenderTargetCube === true ); + + if ( renderTarget.depthTexture ) { + + if ( isCube ) throw new Error('target.depthTexture not supported in Cube render targets'); + + setupDepthTexture( renderTargetProperties.__webglFramebuffer, renderTarget ); + + } else { + + if ( isCube ) { + + renderTargetProperties.__webglDepthbuffer = []; + + for ( var i = 0; i < 6; i ++ ) { + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer[ i ] ); + renderTargetProperties.__webglDepthbuffer[ i ] = _gl.createRenderbuffer(); + setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer[ i ], renderTarget ); + + } + + } else { + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer ); + renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer, renderTarget ); + + } + + } + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, null ); + + } + + // Set up GL resources for the render target + function setupRenderTarget( renderTarget ) { + + var renderTargetProperties = properties.get( renderTarget ); + var textureProperties = properties.get( renderTarget.texture ); + + renderTarget.addEventListener( 'dispose', onRenderTargetDispose ); + + textureProperties.__webglTexture = _gl.createTexture(); + + infoMemory.textures ++; + + var isCube = ( renderTarget.isWebGLRenderTargetCube === true ); + var isTargetPowerOfTwo = isPowerOfTwo( renderTarget ); + + // Setup framebuffer + + if ( isCube ) { + + renderTargetProperties.__webglFramebuffer = []; + + for ( var i = 0; i < 6; i ++ ) { + + renderTargetProperties.__webglFramebuffer[ i ] = _gl.createFramebuffer(); + + } + + } else { + + renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); + + } + + // Setup color buffer + + if ( isCube ) { + + state.bindTexture( _gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture ); + setTextureParameters( _gl.TEXTURE_CUBE_MAP, renderTarget.texture, isTargetPowerOfTwo ); + + for ( var i = 0; i < 6; i ++ ) { + + setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer[ i ], renderTarget, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i ); + + } + + if ( renderTarget.texture.generateMipmaps && isTargetPowerOfTwo ) _gl.generateMipmap( _gl.TEXTURE_CUBE_MAP ); + state.bindTexture( _gl.TEXTURE_CUBE_MAP, null ); + + } else { + + state.bindTexture( _gl.TEXTURE_2D, textureProperties.__webglTexture ); + setTextureParameters( _gl.TEXTURE_2D, renderTarget.texture, isTargetPowerOfTwo ); + setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D ); + + if ( renderTarget.texture.generateMipmaps && isTargetPowerOfTwo ) _gl.generateMipmap( _gl.TEXTURE_2D ); + state.bindTexture( _gl.TEXTURE_2D, null ); + + } + + // Setup depth and stencil buffers + + if ( renderTarget.depthBuffer ) { + + setupDepthRenderbuffer( renderTarget ); + + } + + } + + function updateRenderTargetMipmap( renderTarget ) { + + var texture = renderTarget.texture; + + if ( texture.generateMipmaps && isPowerOfTwo( renderTarget ) && + texture.minFilter !== NearestFilter && + texture.minFilter !== LinearFilter ) { + + var target = (renderTarget && renderTarget.isWebGLRenderTargetCube) ? _gl.TEXTURE_CUBE_MAP : _gl.TEXTURE_2D; + var webglTexture = properties.get( texture ).__webglTexture; + + state.bindTexture( target, webglTexture ); + _gl.generateMipmap( target ); + state.bindTexture( target, null ); + + } + + } + + this.setTexture2D = setTexture2D; + this.setTextureCube = setTextureCube; + this.setTextureCubeDynamic = setTextureCubeDynamic; + this.setupRenderTarget = setupRenderTarget; + this.updateRenderTargetMipmap = updateRenderTargetMipmap; + + } + + /** + * @author fordacious / fordacious.github.io + */ + + function WebGLProperties() { + + var properties = {}; + + function get( object ) { + + var uuid = object.uuid; + var map = properties[ uuid ]; + + if ( map === undefined ) { + + map = {}; + properties[ uuid ] = map; + + } + + return map; + + } + + function remove( object ) { + + delete properties[ object.uuid ]; + + } + + function clear() { + + properties = {}; + + } + + return { + get: get, + remove: remove, + clear: clear + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLState( gl, extensions, paramThreeToGL ) { + + function ColorBuffer() { + + var locked = false; + + var color = new Vector4(); + var currentColorMask = null; + var currentColorClear = new Vector4(); + + return { + + setMask: function ( colorMask ) { + + if ( currentColorMask !== colorMask && ! locked ) { + + gl.colorMask( colorMask, colorMask, colorMask, colorMask ); + currentColorMask = colorMask; + + } + + }, + + setLocked: function ( lock ) { + + locked = lock; + + }, + + setClear: function ( r, g, b, a, premultipliedAlpha ) { + + if ( premultipliedAlpha === true ) { + + r *= a; g *= a; b *= a; + + } + + color.set( r, g, b, a ); + + if ( currentColorClear.equals( color ) === false ) { + + gl.clearColor( r, g, b, a ); + currentColorClear.copy( color ); + + } + + }, + + reset: function () { + + locked = false; + + currentColorMask = null; + currentColorClear.set( 0, 0, 0, 1 ); + + } + + }; + + } + + function DepthBuffer() { + + var locked = false; + + var currentDepthMask = null; + var currentDepthFunc = null; + var currentDepthClear = null; + + return { + + setTest: function ( depthTest ) { + + if ( depthTest ) { + + enable( gl.DEPTH_TEST ); + + } else { + + disable( gl.DEPTH_TEST ); + + } + + }, + + setMask: function ( depthMask ) { + + if ( currentDepthMask !== depthMask && ! locked ) { + + gl.depthMask( depthMask ); + currentDepthMask = depthMask; + + } + + }, + + setFunc: function ( depthFunc ) { + + if ( currentDepthFunc !== depthFunc ) { + + if ( depthFunc ) { + + switch ( depthFunc ) { + + case NeverDepth: + + gl.depthFunc( gl.NEVER ); + break; + + case AlwaysDepth: + + gl.depthFunc( gl.ALWAYS ); + break; + + case LessDepth: + + gl.depthFunc( gl.LESS ); + break; + + case LessEqualDepth: + + gl.depthFunc( gl.LEQUAL ); + break; + + case EqualDepth: + + gl.depthFunc( gl.EQUAL ); + break; + + case GreaterEqualDepth: + + gl.depthFunc( gl.GEQUAL ); + break; + + case GreaterDepth: + + gl.depthFunc( gl.GREATER ); + break; + + case NotEqualDepth: + + gl.depthFunc( gl.NOTEQUAL ); + break; + + default: + + gl.depthFunc( gl.LEQUAL ); + + } + + } else { + + gl.depthFunc( gl.LEQUAL ); + + } + + currentDepthFunc = depthFunc; + + } + + }, + + setLocked: function ( lock ) { + + locked = lock; + + }, + + setClear: function ( depth ) { + + if ( currentDepthClear !== depth ) { + + gl.clearDepth( depth ); + currentDepthClear = depth; + + } + + }, + + reset: function () { + + locked = false; + + currentDepthMask = null; + currentDepthFunc = null; + currentDepthClear = null; + + } + + }; + + } + + function StencilBuffer() { + + var locked = false; + + var currentStencilMask = null; + var currentStencilFunc = null; + var currentStencilRef = null; + var currentStencilFuncMask = null; + var currentStencilFail = null; + var currentStencilZFail = null; + var currentStencilZPass = null; + var currentStencilClear = null; + + return { + + setTest: function ( stencilTest ) { + + if ( stencilTest ) { + + enable( gl.STENCIL_TEST ); + + } else { + + disable( gl.STENCIL_TEST ); + + } + + }, + + setMask: function ( stencilMask ) { + + if ( currentStencilMask !== stencilMask && ! locked ) { + + gl.stencilMask( stencilMask ); + currentStencilMask = stencilMask; + + } + + }, + + setFunc: function ( stencilFunc, stencilRef, stencilMask ) { + + if ( currentStencilFunc !== stencilFunc || + currentStencilRef !== stencilRef || + currentStencilFuncMask !== stencilMask ) { + + gl.stencilFunc( stencilFunc, stencilRef, stencilMask ); + + currentStencilFunc = stencilFunc; + currentStencilRef = stencilRef; + currentStencilFuncMask = stencilMask; + + } + + }, + + setOp: function ( stencilFail, stencilZFail, stencilZPass ) { + + if ( currentStencilFail !== stencilFail || + currentStencilZFail !== stencilZFail || + currentStencilZPass !== stencilZPass ) { + + gl.stencilOp( stencilFail, stencilZFail, stencilZPass ); + + currentStencilFail = stencilFail; + currentStencilZFail = stencilZFail; + currentStencilZPass = stencilZPass; + + } + + }, + + setLocked: function ( lock ) { + + locked = lock; + + }, + + setClear: function ( stencil ) { + + if ( currentStencilClear !== stencil ) { + + gl.clearStencil( stencil ); + currentStencilClear = stencil; + + } + + }, + + reset: function () { + + locked = false; + + currentStencilMask = null; + currentStencilFunc = null; + currentStencilRef = null; + currentStencilFuncMask = null; + currentStencilFail = null; + currentStencilZFail = null; + currentStencilZPass = null; + currentStencilClear = null; + + } + + }; + + } + + // + + var colorBuffer = new ColorBuffer(); + var depthBuffer = new DepthBuffer(); + var stencilBuffer = new StencilBuffer(); + + var maxVertexAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS ); + var newAttributes = new Uint8Array( maxVertexAttributes ); + var enabledAttributes = new Uint8Array( maxVertexAttributes ); + var attributeDivisors = new Uint8Array( maxVertexAttributes ); + + var capabilities = {}; + + var compressedTextureFormats = null; + + var currentBlending = null; + var currentBlendEquation = null; + var currentBlendSrc = null; + var currentBlendDst = null; + var currentBlendEquationAlpha = null; + var currentBlendSrcAlpha = null; + var currentBlendDstAlpha = null; + var currentPremultipledAlpha = false; + + var currentFlipSided = null; + var currentCullFace = null; + + var currentLineWidth = null; + + var currentPolygonOffsetFactor = null; + var currentPolygonOffsetUnits = null; + + var currentScissorTest = null; + + var maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS ); + + var version = parseFloat( /^WebGL\ ([0-9])/.exec( gl.getParameter( gl.VERSION ) )[ 1 ] ); + var lineWidthAvailable = parseFloat( version ) >= 1.0; + + var currentTextureSlot = null; + var currentBoundTextures = {}; + + var currentScissor = new Vector4(); + var currentViewport = new Vector4(); + + function createTexture( type, target, count ) { + + var data = new Uint8Array( 4 ); // 4 is required to match default unpack alignment of 4. + var texture = gl.createTexture(); + + gl.bindTexture( type, texture ); + gl.texParameteri( type, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); + gl.texParameteri( type, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); + + for ( var i = 0; i < count; i ++ ) { + + gl.texImage2D( target + i, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data ); + + } + + return texture; + + } + + var emptyTextures = {}; + emptyTextures[ gl.TEXTURE_2D ] = createTexture( gl.TEXTURE_2D, gl.TEXTURE_2D, 1 ); + emptyTextures[ gl.TEXTURE_CUBE_MAP ] = createTexture( gl.TEXTURE_CUBE_MAP, gl.TEXTURE_CUBE_MAP_POSITIVE_X, 6 ); + + // + + function init() { + + colorBuffer.setClear( 0, 0, 0, 1 ); + depthBuffer.setClear( 1 ); + stencilBuffer.setClear( 0 ); + + enable( gl.DEPTH_TEST ); + depthBuffer.setFunc( LessEqualDepth ); + + setFlipSided( false ); + setCullFace( CullFaceBack ); + enable( gl.CULL_FACE ); + + enable( gl.BLEND ); + setBlending( NormalBlending ); + + } + + function initAttributes() { + + for ( var i = 0, l = newAttributes.length; i < l; i ++ ) { + + newAttributes[ i ] = 0; + + } + + } + + function enableAttribute( attribute ) { + + newAttributes[ attribute ] = 1; + + if ( enabledAttributes[ attribute ] === 0 ) { + + gl.enableVertexAttribArray( attribute ); + enabledAttributes[ attribute ] = 1; + + } + + if ( attributeDivisors[ attribute ] !== 0 ) { + + var extension = extensions.get( 'ANGLE_instanced_arrays' ); + + extension.vertexAttribDivisorANGLE( attribute, 0 ); + attributeDivisors[ attribute ] = 0; + + } + + } + + function enableAttributeAndDivisor( attribute, meshPerAttribute ) { + + newAttributes[ attribute ] = 1; + + if ( enabledAttributes[ attribute ] === 0 ) { + + gl.enableVertexAttribArray( attribute ); + enabledAttributes[ attribute ] = 1; + + } + + if ( attributeDivisors[ attribute ] !== meshPerAttribute ) { + + var extension = extensions.get( 'ANGLE_instanced_arrays' ); + + extension.vertexAttribDivisorANGLE( attribute, meshPerAttribute ); + attributeDivisors[ attribute ] = meshPerAttribute; + + } + + } + + function disableUnusedAttributes() { + + for ( var i = 0, l = enabledAttributes.length; i !== l; ++ i ) { + + if ( enabledAttributes[ i ] !== newAttributes[ i ] ) { + + gl.disableVertexAttribArray( i ); + enabledAttributes[ i ] = 0; + + } + + } + + } + + function enable( id ) { + + if ( capabilities[ id ] !== true ) { + + gl.enable( id ); + capabilities[ id ] = true; + + } + + } + + function disable( id ) { + + if ( capabilities[ id ] !== false ) { + + gl.disable( id ); + capabilities[ id ] = false; + + } + + } + + function getCompressedTextureFormats() { + + if ( compressedTextureFormats === null ) { + + compressedTextureFormats = []; + + if ( extensions.get( 'WEBGL_compressed_texture_pvrtc' ) || + extensions.get( 'WEBGL_compressed_texture_s3tc' ) || + extensions.get( 'WEBGL_compressed_texture_etc1' ) ) { + + var formats = gl.getParameter( gl.COMPRESSED_TEXTURE_FORMATS ); + + for ( var i = 0; i < formats.length; i ++ ) { + + compressedTextureFormats.push( formats[ i ] ); + + } + + } + + } + + return compressedTextureFormats; + + } + + function setBlending( blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha ) { + + if ( blending !== NoBlending ) { + + enable( gl.BLEND ); + + } else { + + disable( gl.BLEND ); + + } + + if ( blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha ) { + + if ( blending === AdditiveBlending ) { + + if ( premultipliedAlpha ) { + + gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); + gl.blendFuncSeparate( gl.ONE, gl.ONE, gl.ONE, gl.ONE ); + + } else { + + gl.blendEquation( gl.FUNC_ADD ); + gl.blendFunc( gl.SRC_ALPHA, gl.ONE ); + + } + + } else if ( blending === SubtractiveBlending ) { + + if ( premultipliedAlpha ) { + + gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); + gl.blendFuncSeparate( gl.ZERO, gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ONE_MINUS_SRC_ALPHA ); + + } else { + + gl.blendEquation( gl.FUNC_ADD ); + gl.blendFunc( gl.ZERO, gl.ONE_MINUS_SRC_COLOR ); + + } + + } else if ( blending === MultiplyBlending ) { + + if ( premultipliedAlpha ) { + + gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); + gl.blendFuncSeparate( gl.ZERO, gl.SRC_COLOR, gl.ZERO, gl.SRC_ALPHA ); + + } else { + + gl.blendEquation( gl.FUNC_ADD ); + gl.blendFunc( gl.ZERO, gl.SRC_COLOR ); + + } + + } else { + + if ( premultipliedAlpha ) { + + gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); + gl.blendFuncSeparate( gl.ONE, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA ); + + } else { + + gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); + gl.blendFuncSeparate( gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA ); + + } + + } + + currentBlending = blending; + currentPremultipledAlpha = premultipliedAlpha; + + } + + if ( blending === CustomBlending ) { + + blendEquationAlpha = blendEquationAlpha || blendEquation; + blendSrcAlpha = blendSrcAlpha || blendSrc; + blendDstAlpha = blendDstAlpha || blendDst; + + if ( blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha ) { + + gl.blendEquationSeparate( paramThreeToGL( blendEquation ), paramThreeToGL( blendEquationAlpha ) ); + + currentBlendEquation = blendEquation; + currentBlendEquationAlpha = blendEquationAlpha; + + } + + if ( blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha ) { + + gl.blendFuncSeparate( paramThreeToGL( blendSrc ), paramThreeToGL( blendDst ), paramThreeToGL( blendSrcAlpha ), paramThreeToGL( blendDstAlpha ) ); + + currentBlendSrc = blendSrc; + currentBlendDst = blendDst; + currentBlendSrcAlpha = blendSrcAlpha; + currentBlendDstAlpha = blendDstAlpha; + + } + + } else { + + currentBlendEquation = null; + currentBlendSrc = null; + currentBlendDst = null; + currentBlendEquationAlpha = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + + } + + } + + function setMaterial( material ) { + + material.side === DoubleSide + ? disable( gl.CULL_FACE ) + : enable( gl.CULL_FACE ); + + setFlipSided( material.side === BackSide ); + + material.transparent === true + ? setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha ) + : setBlending( NoBlending ); + + depthBuffer.setFunc( material.depthFunc ); + depthBuffer.setTest( material.depthTest ); + depthBuffer.setMask( material.depthWrite ); + colorBuffer.setMask( material.colorWrite ); + + setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits ); + + } + + // + + function setFlipSided( flipSided ) { + + if ( currentFlipSided !== flipSided ) { + + if ( flipSided ) { + + gl.frontFace( gl.CW ); + + } else { + + gl.frontFace( gl.CCW ); + + } + + currentFlipSided = flipSided; + + } + + } + + function setCullFace( cullFace ) { + + if ( cullFace !== CullFaceNone ) { + + enable( gl.CULL_FACE ); + + if ( cullFace !== currentCullFace ) { + + if ( cullFace === CullFaceBack ) { + + gl.cullFace( gl.BACK ); + + } else if ( cullFace === CullFaceFront ) { + + gl.cullFace( gl.FRONT ); + + } else { + + gl.cullFace( gl.FRONT_AND_BACK ); + + } + + } + + } else { + + disable( gl.CULL_FACE ); + + } + + currentCullFace = cullFace; + + } + + function setLineWidth( width ) { + + if ( width !== currentLineWidth ) { + + if ( lineWidthAvailable ) gl.lineWidth( width ); + + currentLineWidth = width; + + } + + } + + function setPolygonOffset( polygonOffset, factor, units ) { + + if ( polygonOffset ) { + + enable( gl.POLYGON_OFFSET_FILL ); + + if ( currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units ) { + + gl.polygonOffset( factor, units ); + + currentPolygonOffsetFactor = factor; + currentPolygonOffsetUnits = units; + + } + + } else { + + disable( gl.POLYGON_OFFSET_FILL ); + + } + + } + + function getScissorTest() { + + return currentScissorTest; + + } + + function setScissorTest( scissorTest ) { + + currentScissorTest = scissorTest; + + if ( scissorTest ) { + + enable( gl.SCISSOR_TEST ); + + } else { + + disable( gl.SCISSOR_TEST ); + + } + + } + + // texture + + function activeTexture( webglSlot ) { + + if ( webglSlot === undefined ) webglSlot = gl.TEXTURE0 + maxTextures - 1; + + if ( currentTextureSlot !== webglSlot ) { + + gl.activeTexture( webglSlot ); + currentTextureSlot = webglSlot; + + } + + } + + function bindTexture( webglType, webglTexture ) { + + if ( currentTextureSlot === null ) { + + activeTexture(); + + } + + var boundTexture = currentBoundTextures[ currentTextureSlot ]; + + if ( boundTexture === undefined ) { + + boundTexture = { type: undefined, texture: undefined }; + currentBoundTextures[ currentTextureSlot ] = boundTexture; + + } + + if ( boundTexture.type !== webglType || boundTexture.texture !== webglTexture ) { + + gl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] ); + + boundTexture.type = webglType; + boundTexture.texture = webglTexture; + + } + + } + + function compressedTexImage2D() { + + try { + + gl.compressedTexImage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( error ); + + } + + } + + function texImage2D() { + + try { + + gl.texImage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( error ); + + } + + } + + // + + function scissor( scissor ) { + + if ( currentScissor.equals( scissor ) === false ) { + + gl.scissor( scissor.x, scissor.y, scissor.z, scissor.w ); + currentScissor.copy( scissor ); + + } + + } + + function viewport( viewport ) { + + if ( currentViewport.equals( viewport ) === false ) { + + gl.viewport( viewport.x, viewport.y, viewport.z, viewport.w ); + currentViewport.copy( viewport ); + + } + + } + + // + + function reset() { + + for ( var i = 0; i < enabledAttributes.length; i ++ ) { + + if ( enabledAttributes[ i ] === 1 ) { + + gl.disableVertexAttribArray( i ); + enabledAttributes[ i ] = 0; + + } + + } + + capabilities = {}; + + compressedTextureFormats = null; + + currentTextureSlot = null; + currentBoundTextures = {}; + + currentBlending = null; + + currentFlipSided = null; + currentCullFace = null; + + colorBuffer.reset(); + depthBuffer.reset(); + stencilBuffer.reset(); + + } + + return { + + buffers: { + color: colorBuffer, + depth: depthBuffer, + stencil: stencilBuffer + }, + + init: init, + initAttributes: initAttributes, + enableAttribute: enableAttribute, + enableAttributeAndDivisor: enableAttributeAndDivisor, + disableUnusedAttributes: disableUnusedAttributes, + enable: enable, + disable: disable, + getCompressedTextureFormats: getCompressedTextureFormats, + + setBlending: setBlending, + setMaterial: setMaterial, + + setFlipSided: setFlipSided, + setCullFace: setCullFace, + + setLineWidth: setLineWidth, + setPolygonOffset: setPolygonOffset, + + getScissorTest: getScissorTest, + setScissorTest: setScissorTest, + + activeTexture: activeTexture, + bindTexture: bindTexture, + compressedTexImage2D: compressedTexImage2D, + texImage2D: texImage2D, + + scissor: scissor, + viewport: viewport, + + reset: reset + + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLCapabilities( gl, extensions, parameters ) { + + var maxAnisotropy; + + function getMaxAnisotropy() { + + if ( maxAnisotropy !== undefined ) return maxAnisotropy; + + var extension = extensions.get( 'EXT_texture_filter_anisotropic' ); + + if ( extension !== null ) { + + maxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT ); + + } else { + + maxAnisotropy = 0; + + } + + return maxAnisotropy; + + } + + function getMaxPrecision( precision ) { + + if ( precision === 'highp' ) { + + if ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 && + gl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0 ) { + + return 'highp'; + + } + + precision = 'mediump'; + + } + + if ( precision === 'mediump' ) { + + if ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 && + gl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0 ) { + + return 'mediump'; + + } + + } + + return 'lowp'; + + } + + var precision = parameters.precision !== undefined ? parameters.precision : 'highp'; + var maxPrecision = getMaxPrecision( precision ); + + if ( maxPrecision !== precision ) { + + console.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' ); + precision = maxPrecision; + + } + + var logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true && !! extensions.get( 'EXT_frag_depth' ); + + var maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS ); + var maxVertexTextures = gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS ); + var maxTextureSize = gl.getParameter( gl.MAX_TEXTURE_SIZE ); + var maxCubemapSize = gl.getParameter( gl.MAX_CUBE_MAP_TEXTURE_SIZE ); + + var maxAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS ); + var maxVertexUniforms = gl.getParameter( gl.MAX_VERTEX_UNIFORM_VECTORS ); + var maxVaryings = gl.getParameter( gl.MAX_VARYING_VECTORS ); + var maxFragmentUniforms = gl.getParameter( gl.MAX_FRAGMENT_UNIFORM_VECTORS ); + + var vertexTextures = maxVertexTextures > 0; + var floatFragmentTextures = !! extensions.get( 'OES_texture_float' ); + var floatVertexTextures = vertexTextures && floatFragmentTextures; + + return { + + getMaxAnisotropy: getMaxAnisotropy, + getMaxPrecision: getMaxPrecision, + + precision: precision, + logarithmicDepthBuffer: logarithmicDepthBuffer, + + maxTextures: maxTextures, + maxVertexTextures: maxVertexTextures, + maxTextureSize: maxTextureSize, + maxCubemapSize: maxCubemapSize, + + maxAttributes: maxAttributes, + maxVertexUniforms: maxVertexUniforms, + maxVaryings: maxVaryings, + maxFragmentUniforms: maxFragmentUniforms, + + vertexTextures: vertexTextures, + floatFragmentTextures: floatFragmentTextures, + floatVertexTextures: floatVertexTextures + + }; + + } + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function WebGLExtensions( gl ) { + + var extensions = {}; + + return { + + get: function ( name ) { + + if ( extensions[ name ] !== undefined ) { + + return extensions[ name ]; + + } + + var extension; + + switch ( name ) { + + case 'WEBGL_depth_texture': + extension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' ); + break; + + case 'EXT_texture_filter_anisotropic': + extension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' ); + break; + + case 'WEBGL_compressed_texture_s3tc': + extension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' ); + break; + + case 'WEBGL_compressed_texture_pvrtc': + extension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' ); + break; + + case 'WEBGL_compressed_texture_etc1': + extension = gl.getExtension( 'WEBGL_compressed_texture_etc1' ); + break; + + default: + extension = gl.getExtension( name ); + + } + + if ( extension === null ) { + + console.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' ); + + } + + extensions[ name ] = extension; + + return extension; + + } + + }; + + } + + /** + * @author tschw + */ + + function WebGLClipping() { + + var scope = this, + + globalState = null, + numGlobalPlanes = 0, + localClippingEnabled = false, + renderingShadows = false, + + plane = new Plane(), + viewNormalMatrix = new Matrix3(), + + uniform = { value: null, needsUpdate: false }; + + this.uniform = uniform; + this.numPlanes = 0; + this.numIntersection = 0; + + this.init = function( planes, enableLocalClipping, camera ) { + + var enabled = + planes.length !== 0 || + enableLocalClipping || + // enable state of previous frame - the clipping code has to + // run another frame in order to reset the state: + numGlobalPlanes !== 0 || + localClippingEnabled; + + localClippingEnabled = enableLocalClipping; + + globalState = projectPlanes( planes, camera, 0 ); + numGlobalPlanes = planes.length; + + return enabled; + + }; + + this.beginShadows = function() { + + renderingShadows = true; + projectPlanes( null ); + + }; + + this.endShadows = function() { + + renderingShadows = false; + resetGlobalState(); + + }; + + this.setState = function( planes, clipIntersection, clipShadows, camera, cache, fromCache ) { + + if ( ! localClippingEnabled || + planes === null || planes.length === 0 || + renderingShadows && ! clipShadows ) { + // there's no local clipping + + if ( renderingShadows ) { + // there's no global clipping + + projectPlanes( null ); + + } else { + + resetGlobalState(); + } + + } else { + + var nGlobal = renderingShadows ? 0 : numGlobalPlanes, + lGlobal = nGlobal * 4, + + dstArray = cache.clippingState || null; + + uniform.value = dstArray; // ensure unique state + + dstArray = projectPlanes( planes, camera, lGlobal, fromCache ); + + for ( var i = 0; i !== lGlobal; ++ i ) { + + dstArray[ i ] = globalState[ i ]; + + } + + cache.clippingState = dstArray; + this.numIntersection = clipIntersection ? this.numPlanes : 0; + this.numPlanes += nGlobal; + + } + + + }; + + function resetGlobalState() { + + if ( uniform.value !== globalState ) { + + uniform.value = globalState; + uniform.needsUpdate = numGlobalPlanes > 0; + + } + + scope.numPlanes = numGlobalPlanes; + scope.numIntersection = 0; + + } + + function projectPlanes( planes, camera, dstOffset, skipTransform ) { + + var nPlanes = planes !== null ? planes.length : 0, + dstArray = null; + + if ( nPlanes !== 0 ) { + + dstArray = uniform.value; + + if ( skipTransform !== true || dstArray === null ) { + + var flatSize = dstOffset + nPlanes * 4, + viewMatrix = camera.matrixWorldInverse; + + viewNormalMatrix.getNormalMatrix( viewMatrix ); + + if ( dstArray === null || dstArray.length < flatSize ) { + + dstArray = new Float32Array( flatSize ); + + } + + for ( var i = 0, i4 = dstOffset; + i !== nPlanes; ++ i, i4 += 4 ) { + + plane.copy( planes[ i ] ). + applyMatrix4( viewMatrix, viewNormalMatrix ); + + plane.normal.toArray( dstArray, i4 ); + dstArray[ i4 + 3 ] = plane.constant; + + } + + } + + uniform.value = dstArray; + uniform.needsUpdate = true; + + } + + scope.numPlanes = nPlanes; + + return dstArray; + + } + + } + + // import { Sphere } from '../math/Sphere'; + /** + * @author supereggbert / http://www.paulbrunt.co.uk/ + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * @author szimek / https://github.com/szimek/ + * @author tschw + */ + + function WebGLRenderer( parameters ) { + + console.log( 'THREE.WebGLRenderer', REVISION ); + + parameters = parameters || {}; + + var _canvas = parameters.canvas !== undefined ? parameters.canvas : document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ), + _context = parameters.context !== undefined ? parameters.context : null, + + _alpha = parameters.alpha !== undefined ? parameters.alpha : false, + _depth = parameters.depth !== undefined ? parameters.depth : true, + _stencil = parameters.stencil !== undefined ? parameters.stencil : true, + _antialias = parameters.antialias !== undefined ? parameters.antialias : false, + _premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true, + _preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false; + + var lights = []; + + var currentRenderList = null; + + var morphInfluences = new Float32Array( 8 ); + + var sprites = []; + var lensFlares = []; + + // public properties + + this.domElement = _canvas; + this.context = null; + + // clearing + + this.autoClear = true; + this.autoClearColor = true; + this.autoClearDepth = true; + this.autoClearStencil = true; + + // scene graph + + this.sortObjects = true; + + // user-defined clipping + + this.clippingPlanes = []; + this.localClippingEnabled = false; + + // physically based shading + + this.gammaFactor = 2.0; // for backwards compatibility + this.gammaInput = false; + this.gammaOutput = false; + + // physical lights + + this.physicallyCorrectLights = false; + + // tone mapping + + this.toneMapping = LinearToneMapping; + this.toneMappingExposure = 1.0; + this.toneMappingWhitePoint = 1.0; + + // morphs + + this.maxMorphTargets = 8; + this.maxMorphNormals = 4; + + // internal properties + + var _this = this, + + // internal state cache + + _currentProgram = null, + _currentRenderTarget = null, + _currentFramebuffer = null, + _currentMaterialId = - 1, + _currentGeometryProgram = '', + _currentCamera = null, + + _currentScissor = new Vector4(), + _currentScissorTest = null, + + _currentViewport = new Vector4(), + + // + + _usedTextureUnits = 0, + + // + + _clearColor = new Color( 0x000000 ), + _clearAlpha = 0, + + _width = _canvas.width, + _height = _canvas.height, + + _pixelRatio = 1, + + _scissor = new Vector4( 0, 0, _width, _height ), + _scissorTest = false, + + _viewport = new Vector4( 0, 0, _width, _height ), + + // frustum + + _frustum = new Frustum(), + + // clipping + + _clipping = new WebGLClipping(), + _clippingEnabled = false, + _localClippingEnabled = false, + + // camera matrices cache + + _projScreenMatrix = new Matrix4(), + + _vector3 = new Vector3(), + _matrix4 = new Matrix4(), + _matrix42 = new Matrix4(), + + // light arrays cache + + _lights = { + + hash: '', + + ambient: [ 0, 0, 0 ], + directional: [], + directionalShadowMap: [], + directionalShadowMatrix: [], + spot: [], + spotShadowMap: [], + spotShadowMatrix: [], + rectArea: [], + point: [], + pointShadowMap: [], + pointShadowMatrix: [], + hemi: [], + + shadows: [] + + }, + + // info + + _infoMemory = { + geometries: 0, + textures: 0 + }, + + _infoRender = { + + frame: 0, + calls: 0, + vertices: 0, + faces: 0, + points: 0 + + }; + + this.info = { + + render: _infoRender, + memory: _infoMemory, + programs: null + + }; + + + // initialize + + var _gl; + + try { + + var contextAttributes = { + alpha: _alpha, + depth: _depth, + stencil: _stencil, + antialias: _antialias, + premultipliedAlpha: _premultipliedAlpha, + preserveDrawingBuffer: _preserveDrawingBuffer + }; + + _gl = _context || _canvas.getContext( 'webgl', contextAttributes ) || _canvas.getContext( 'experimental-webgl', contextAttributes ); + + if ( _gl === null ) { + + if ( _canvas.getContext( 'webgl' ) !== null ) { + + throw 'Error creating WebGL context with your selected attributes.'; + + } else { + + throw 'Error creating WebGL context.'; + + } + + } + + // Some experimental-webgl implementations do not have getShaderPrecisionFormat + + if ( _gl.getShaderPrecisionFormat === undefined ) { + + _gl.getShaderPrecisionFormat = function () { + + return { 'rangeMin': 1, 'rangeMax': 1, 'precision': 1 }; + + }; + + } + + _canvas.addEventListener( 'webglcontextlost', onContextLost, false ); + + } catch ( error ) { + + console.error( 'THREE.WebGLRenderer: ' + error ); + + } + + var extensions = new WebGLExtensions( _gl ); + + extensions.get( 'WEBGL_depth_texture' ); + extensions.get( 'OES_texture_float' ); + extensions.get( 'OES_texture_float_linear' ); + extensions.get( 'OES_texture_half_float' ); + extensions.get( 'OES_texture_half_float_linear' ); + extensions.get( 'OES_standard_derivatives' ); + extensions.get( 'ANGLE_instanced_arrays' ); + + if ( extensions.get( 'OES_element_index_uint' ) ) { + + BufferGeometry.MaxIndex = 4294967296; + + } + + var capabilities = new WebGLCapabilities( _gl, extensions, parameters ); + + var state = new WebGLState( _gl, extensions, paramThreeToGL ); + + var properties = new WebGLProperties(); + var textures = new WebGLTextures( _gl, extensions, state, properties, capabilities, paramThreeToGL, _infoMemory ); + var attributes = new WebGLAttributes( _gl ); + var geometries = new WebGLGeometries( _gl, attributes, _infoMemory ); + var objects = new WebGLObjects( _gl, geometries, _infoRender ); + var programCache = new WebGLPrograms( this, capabilities ); + var lightCache = new WebGLLights(); + var renderLists = new WebGLRenderLists(); + + this.info.programs = programCache.programs; + + var bufferRenderer = new WebGLBufferRenderer( _gl, extensions, _infoRender ); + var indexedBufferRenderer = new WebGLIndexedBufferRenderer( _gl, extensions, _infoRender ); + + // + + var backgroundPlaneCamera, backgroundPlaneMesh; + var backgroundBoxCamera, backgroundBoxMesh; + + // + + function getTargetPixelRatio() { + + return _currentRenderTarget === null ? _pixelRatio : 1; + + } + + function setDefaultGLState() { + + state.init(); + + state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) ); + state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) ); + + state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha ); + + } + + function resetGLState() { + + _currentProgram = null; + _currentCamera = null; + + _currentGeometryProgram = ''; + _currentMaterialId = - 1; + + state.reset(); + + } + + setDefaultGLState(); + + this.context = _gl; + this.capabilities = capabilities; + this.extensions = extensions; + this.properties = properties; + this.state = state; + + // shadow map + + var shadowMap = new WebGLShadowMap( this, _lights, objects, capabilities ); + + this.shadowMap = shadowMap; + + + // Plugins + + var spritePlugin = new SpritePlugin( this, sprites ); + var lensFlarePlugin = new LensFlarePlugin( this, lensFlares ); + + // API + + this.getContext = function () { + + return _gl; + + }; + + this.getContextAttributes = function () { + + return _gl.getContextAttributes(); + + }; + + this.forceContextLoss = function () { + + var extension = extensions.get( 'WEBGL_lose_context' ); + if ( extension ) extension.loseContext(); + + }; + + this.getMaxAnisotropy = function () { + + return capabilities.getMaxAnisotropy(); + + }; + + this.getPrecision = function () { + + return capabilities.precision; + + }; + + this.getPixelRatio = function () { + + return _pixelRatio; + + }; + + this.setPixelRatio = function ( value ) { + + if ( value === undefined ) return; + + _pixelRatio = value; + + this.setSize( _viewport.z, _viewport.w, false ); + + }; + + this.getSize = function () { + + return { + width: _width, + height: _height + }; + + }; + + this.setSize = function ( width, height, updateStyle ) { + + _width = width; + _height = height; + + _canvas.width = width * _pixelRatio; + _canvas.height = height * _pixelRatio; + + if ( updateStyle !== false ) { + + _canvas.style.width = width + 'px'; + _canvas.style.height = height + 'px'; + + } + + this.setViewport( 0, 0, width, height ); + + }; + + this.setViewport = function ( x, y, width, height ) { + + state.viewport( _viewport.set( x, y, width, height ) ); + + }; + + this.setScissor = function ( x, y, width, height ) { + + state.scissor( _scissor.set( x, y, width, height ) ); + + }; + + this.setScissorTest = function ( boolean ) { + + state.setScissorTest( _scissorTest = boolean ); + + }; + + // Clearing + + this.getClearColor = function () { + + return _clearColor; + + }; + + this.setClearColor = function ( color, alpha ) { + + _clearColor.set( color ); + + _clearAlpha = alpha !== undefined ? alpha : 1; + + state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha ); + + }; + + this.getClearAlpha = function () { + + return _clearAlpha; + + }; + + this.setClearAlpha = function ( alpha ) { + + _clearAlpha = alpha; + + state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha ); + + }; + + this.clear = function ( color, depth, stencil ) { + + var bits = 0; + + if ( color === undefined || color ) bits |= _gl.COLOR_BUFFER_BIT; + if ( depth === undefined || depth ) bits |= _gl.DEPTH_BUFFER_BIT; + if ( stencil === undefined || stencil ) bits |= _gl.STENCIL_BUFFER_BIT; + + _gl.clear( bits ); + + }; + + this.clearColor = function () { + + this.clear( true, false, false ); + + }; + + this.clearDepth = function () { + + this.clear( false, true, false ); + + }; + + this.clearStencil = function () { + + this.clear( false, false, true ); + + }; + + this.clearTarget = function ( renderTarget, color, depth, stencil ) { + + this.setRenderTarget( renderTarget ); + this.clear( color, depth, stencil ); + + }; + + // Reset + + this.resetGLState = resetGLState; + + this.dispose = function () { + + _canvas.removeEventListener( 'webglcontextlost', onContextLost, false ); + + renderLists.dispose(); + + }; + + // Events + + function onContextLost( event ) { + + event.preventDefault(); + + resetGLState(); + setDefaultGLState(); + + properties.clear(); + objects.clear(); + + } + + function onMaterialDispose( event ) { + + var material = event.target; + + material.removeEventListener( 'dispose', onMaterialDispose ); + + deallocateMaterial( material ); + + } + + // Buffer deallocation + + function deallocateMaterial( material ) { + + releaseMaterialProgramReference( material ); + + properties.remove( material ); + + } + + + function releaseMaterialProgramReference( material ) { + + var programInfo = properties.get( material ).program; + + material.program = undefined; + + if ( programInfo !== undefined ) { + + programCache.releaseProgram( programInfo ); + + } + + } + + // Buffer rendering + + function renderObjectImmediate( object, program, material ) { + + object.render( function ( object ) { + + _this.renderBufferImmediate( object, program, material ); + + } ); + + } + + this.renderBufferImmediate = function ( object, program, material ) { + + state.initAttributes(); + + var buffers = properties.get( object ); + + if ( object.hasPositions && ! buffers.position ) buffers.position = _gl.createBuffer(); + if ( object.hasNormals && ! buffers.normal ) buffers.normal = _gl.createBuffer(); + if ( object.hasUvs && ! buffers.uv ) buffers.uv = _gl.createBuffer(); + if ( object.hasColors && ! buffers.color ) buffers.color = _gl.createBuffer(); + + var programAttributes = program.getAttributes(); + + if ( object.hasPositions ) { + + _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.position ); + _gl.bufferData( _gl.ARRAY_BUFFER, object.positionArray, _gl.DYNAMIC_DRAW ); + + state.enableAttribute( programAttributes.position ); + _gl.vertexAttribPointer( programAttributes.position, 3, _gl.FLOAT, false, 0, 0 ); + + } + + if ( object.hasNormals ) { + + _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.normal ); + + if ( ! material.isMeshPhongMaterial && + ! material.isMeshStandardMaterial && + ! material.isMeshNormalMaterial && + material.shading === FlatShading ) { + + for ( var i = 0, l = object.count * 3; i < l; i += 9 ) { + + var array = object.normalArray; + + var nx = ( array[ i + 0 ] + array[ i + 3 ] + array[ i + 6 ] ) / 3; + var ny = ( array[ i + 1 ] + array[ i + 4 ] + array[ i + 7 ] ) / 3; + var nz = ( array[ i + 2 ] + array[ i + 5 ] + array[ i + 8 ] ) / 3; + + array[ i + 0 ] = nx; + array[ i + 1 ] = ny; + array[ i + 2 ] = nz; + + array[ i + 3 ] = nx; + array[ i + 4 ] = ny; + array[ i + 5 ] = nz; + + array[ i + 6 ] = nx; + array[ i + 7 ] = ny; + array[ i + 8 ] = nz; + + } + + } + + _gl.bufferData( _gl.ARRAY_BUFFER, object.normalArray, _gl.DYNAMIC_DRAW ); + + state.enableAttribute( programAttributes.normal ); + + _gl.vertexAttribPointer( programAttributes.normal, 3, _gl.FLOAT, false, 0, 0 ); + + } + + if ( object.hasUvs && material.map ) { + + _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.uv ); + _gl.bufferData( _gl.ARRAY_BUFFER, object.uvArray, _gl.DYNAMIC_DRAW ); + + state.enableAttribute( programAttributes.uv ); + + _gl.vertexAttribPointer( attributes.uv, 2, _gl.FLOAT, false, 0, 0 ); + + } + + if ( object.hasColors && material.vertexColors !== NoColors ) { + + _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.color ); + _gl.bufferData( _gl.ARRAY_BUFFER, object.colorArray, _gl.DYNAMIC_DRAW ); + + state.enableAttribute( programAttributes.color ); + + _gl.vertexAttribPointer( programAttributes.color, 3, _gl.FLOAT, false, 0, 0 ); + + } + + state.disableUnusedAttributes(); + + _gl.drawArrays( _gl.TRIANGLES, 0, object.count ); + + object.count = 0; + + }; + + function absNumericalSort( a, b ) { + + return Math.abs( b[ 0 ] ) - Math.abs( a[ 0 ] ); + + } + + this.renderBufferDirect = function ( camera, fog, geometry, material, object, group ) { + + state.setMaterial( material ); + + var program = setProgram( camera, fog, material, object ); + var geometryProgram = geometry.id + '_' + program.id + '_' + ( material.wireframe === true ); + + var updateBuffers = false; + + if ( geometryProgram !== _currentGeometryProgram ) { + + _currentGeometryProgram = geometryProgram; + updateBuffers = true; + + } + + // morph targets + + var morphTargetInfluences = object.morphTargetInfluences; + + if ( morphTargetInfluences !== undefined ) { + + // TODO Remove allocations + + var activeInfluences = []; + + for ( var i = 0, l = morphTargetInfluences.length; i < l; i ++ ) { + + var influence = morphTargetInfluences[ i ]; + activeInfluences.push( [ influence, i ] ); + + } + + activeInfluences.sort( absNumericalSort ); + + if ( activeInfluences.length > 8 ) { + + activeInfluences.length = 8; + + } + + var morphAttributes = geometry.morphAttributes; + + for ( var i = 0, l = activeInfluences.length; i < l; i ++ ) { + + var influence = activeInfluences[ i ]; + morphInfluences[ i ] = influence[ 0 ]; + + if ( influence[ 0 ] !== 0 ) { + + var index = influence[ 1 ]; + + if ( material.morphTargets === true && morphAttributes.position ) geometry.addAttribute( 'morphTarget' + i, morphAttributes.position[ index ] ); + if ( material.morphNormals === true && morphAttributes.normal ) geometry.addAttribute( 'morphNormal' + i, morphAttributes.normal[ index ] ); + + } else { + + if ( material.morphTargets === true ) geometry.removeAttribute( 'morphTarget' + i ); + if ( material.morphNormals === true ) geometry.removeAttribute( 'morphNormal' + i ); + + } + + } + + for ( var i = activeInfluences.length, il = morphInfluences.length; i < il; i ++ ) { + + morphInfluences[ i ] = 0.0; + + } + + program.getUniforms().setValue( _gl, 'morphTargetInfluences', morphInfluences ); + + updateBuffers = true; + + } + + // + + var index = geometry.index; + var position = geometry.attributes.position; + var rangeFactor = 1; + + if ( material.wireframe === true ) { + + index = geometries.getWireframeAttribute( geometry ); + rangeFactor = 2; + + } + + var renderer = bufferRenderer; + + if ( index !== null ) { + + renderer = indexedBufferRenderer; + renderer.setIndex( index ); + + } + + if ( updateBuffers ) { + + setupVertexAttributes( material, program, geometry ); + + if ( index !== null ) { + + _gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, attributes.get( index ).buffer ); + + } + + } + + // + + var dataCount = 0; + + if ( index !== null ) { + + dataCount = index.count; + + } else if ( position !== undefined ) { + + dataCount = position.count; + + } + + var rangeStart = geometry.drawRange.start * rangeFactor; + var rangeCount = geometry.drawRange.count * rangeFactor; + + var groupStart = group !== null ? group.start * rangeFactor : 0; + var groupCount = group !== null ? group.count * rangeFactor : Infinity; + + var drawStart = Math.max( rangeStart, groupStart ); + var drawEnd = Math.min( dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1; + + var drawCount = Math.max( 0, drawEnd - drawStart + 1 ); + + if ( drawCount === 0 ) return; + + // + + if ( object.isMesh ) { + + if ( material.wireframe === true ) { + + state.setLineWidth( material.wireframeLinewidth * getTargetPixelRatio() ); + renderer.setMode( _gl.LINES ); + + } else { + + switch ( object.drawMode ) { + + case TrianglesDrawMode: + renderer.setMode( _gl.TRIANGLES ); + break; + + case TriangleStripDrawMode: + renderer.setMode( _gl.TRIANGLE_STRIP ); + break; + + case TriangleFanDrawMode: + renderer.setMode( _gl.TRIANGLE_FAN ); + break; + + } + + } + + + } else if ( object.isLine ) { + + var lineWidth = material.linewidth; + + if ( lineWidth === undefined ) lineWidth = 1; // Not using Line*Material + + state.setLineWidth( lineWidth * getTargetPixelRatio() ); + + if ( object.isLineSegments ) { + + renderer.setMode( _gl.LINES ); + + } else if ( object.isLineLoop ) { + + renderer.setMode( _gl.LINE_LOOP ); + + } else { + + renderer.setMode( _gl.LINE_STRIP ); + + } + + } else if ( object.isPoints ) { + + renderer.setMode( _gl.POINTS ); + + } + + if ( geometry && geometry.isInstancedBufferGeometry ) { + + if ( geometry.maxInstancedCount > 0 ) { + + renderer.renderInstances( geometry, drawStart, drawCount ); + + } + + } else { + + renderer.render( drawStart, drawCount ); + + } + + }; + + function setupVertexAttributes( material, program, geometry, startIndex ) { + + if ( geometry && geometry.isInstancedBufferGeometry ) { + + if ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) { + + console.error( 'THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); + return; + + } + + } + + if ( startIndex === undefined ) startIndex = 0; + + state.initAttributes(); + + var geometryAttributes = geometry.attributes; + + var programAttributes = program.getAttributes(); + + var materialDefaultAttributeValues = material.defaultAttributeValues; + + for ( var name in programAttributes ) { + + var programAttribute = programAttributes[ name ]; + + if ( programAttribute >= 0 ) { + + var geometryAttribute = geometryAttributes[ name ]; + + if ( geometryAttribute !== undefined ) { + + var normalized = geometryAttribute.normalized; + var size = geometryAttribute.itemSize; + + var attributeProperties = attributes.get( geometryAttribute ); + + var buffer = attributeProperties.buffer; + var type = attributeProperties.type; + var bytesPerElement = attributeProperties.bytesPerElement; + + if ( geometryAttribute.isInterleavedBufferAttribute ) { + + var data = geometryAttribute.data; + var stride = data.stride; + var offset = geometryAttribute.offset; + + if ( data && data.isInstancedInterleavedBuffer ) { + + state.enableAttributeAndDivisor( programAttribute, data.meshPerAttribute ); + + if ( geometry.maxInstancedCount === undefined ) { + + geometry.maxInstancedCount = data.meshPerAttribute * data.count; + + } + + } else { + + state.enableAttribute( programAttribute ); + + } + + _gl.bindBuffer( _gl.ARRAY_BUFFER, buffer ); + _gl.vertexAttribPointer( programAttribute, size, type, normalized, stride * bytesPerElement, ( startIndex * stride + offset ) * bytesPerElement ); + + } else { + + if ( geometryAttribute.isInstancedBufferAttribute ) { + + state.enableAttributeAndDivisor( programAttribute, geometryAttribute.meshPerAttribute ); + + if ( geometry.maxInstancedCount === undefined ) { + + geometry.maxInstancedCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; + + } + + } else { + + state.enableAttribute( programAttribute ); + + } + + _gl.bindBuffer( _gl.ARRAY_BUFFER, buffer ); + _gl.vertexAttribPointer( programAttribute, size, type, normalized, 0, startIndex * size * bytesPerElement ); + + } + + } else if ( materialDefaultAttributeValues !== undefined ) { + + var value = materialDefaultAttributeValues[ name ]; + + if ( value !== undefined ) { + + switch ( value.length ) { + + case 2: + _gl.vertexAttrib2fv( programAttribute, value ); + break; + + case 3: + _gl.vertexAttrib3fv( programAttribute, value ); + break; + + case 4: + _gl.vertexAttrib4fv( programAttribute, value ); + break; + + default: + _gl.vertexAttrib1fv( programAttribute, value ); + + } + + } + + } + + } + + } + + state.disableUnusedAttributes(); + + } + + // Compile + + this.compile = function ( scene, camera ) { + + lights = []; + + scene.traverse( function ( object ) { + + if ( object.isLight ) { + + lights.push( object ); + + } + + } ); + + setupLights( lights, camera ); + + scene.traverse( function ( object ) { + + if ( object.material ) { + + if ( Array.isArray( object.material ) ) { + + for ( var i = 0; i < object.material.length; i ++ ) { + + initMaterial( object.material[ i ], scene.fog, object ); + + } + + } else { + + initMaterial( object.material, scene.fog, object ); + + } + + } + + } ); + + }; + + // Rendering + + this.render = function ( scene, camera, renderTarget, forceClear ) { + + if ( camera !== undefined && camera.isCamera !== true ) { + + console.error( 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.' ); + return; + + } + + // reset caching for this frame + + _currentGeometryProgram = ''; + _currentMaterialId = - 1; + _currentCamera = null; + + // update scene graph + + if ( scene.autoUpdate === true ) scene.updateMatrixWorld(); + + // update camera matrices and frustum + + camera.onBeforeRender( _this ); + + if ( camera.parent === null ) camera.updateMatrixWorld(); + + camera.matrixWorldInverse.getInverse( camera.matrixWorld ); + + _projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse ); + _frustum.setFromMatrix( _projScreenMatrix ); + + lights.length = 0; + sprites.length = 0; + lensFlares.length = 0; + + _localClippingEnabled = this.localClippingEnabled; + _clippingEnabled = _clipping.init( this.clippingPlanes, _localClippingEnabled, camera ); + + currentRenderList = renderLists.get( scene, camera ); + currentRenderList.init(); + + projectObject( scene, camera, _this.sortObjects ); + + currentRenderList.finish(); + + if ( _this.sortObjects === true ) { + + currentRenderList.sort(); + + } + + // + + if ( _clippingEnabled ) _clipping.beginShadows(); + + setupShadows( lights ); + + shadowMap.render( scene, camera ); + + setupLights( lights, camera ); + + if ( _clippingEnabled ) _clipping.endShadows(); + + // + + _infoRender.frame ++; + _infoRender.calls = 0; + _infoRender.vertices = 0; + _infoRender.faces = 0; + _infoRender.points = 0; + + if ( renderTarget === undefined ) { + + renderTarget = null; + + } + + this.setRenderTarget( renderTarget ); + + // + + var background = scene.background; + + if ( background === null ) { + + state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha ); + + } else if ( background && background.isColor ) { + + state.buffers.color.setClear( background.r, background.g, background.b, 1, _premultipliedAlpha ); + forceClear = true; + + } + + if ( this.autoClear || forceClear ) { + + this.clear( this.autoClearColor, this.autoClearDepth, this.autoClearStencil ); + + } + + if ( background && background.isCubeTexture ) { + + if ( backgroundBoxCamera === undefined ) { + + backgroundBoxCamera = new PerspectiveCamera(); + + backgroundBoxMesh = new Mesh( + new BoxBufferGeometry( 5, 5, 5 ), + new ShaderMaterial( { + uniforms: ShaderLib.cube.uniforms, + vertexShader: ShaderLib.cube.vertexShader, + fragmentShader: ShaderLib.cube.fragmentShader, + side: BackSide, + depthTest: false, + depthWrite: false, + fog: false + } ) + ); + + } + + backgroundBoxCamera.projectionMatrix.copy( camera.projectionMatrix ); + + backgroundBoxCamera.matrixWorld.extractRotation( camera.matrixWorld ); + backgroundBoxCamera.matrixWorldInverse.getInverse( backgroundBoxCamera.matrixWorld ); + + + backgroundBoxMesh.material.uniforms[ "tCube" ].value = background; + backgroundBoxMesh.modelViewMatrix.multiplyMatrices( backgroundBoxCamera.matrixWorldInverse, backgroundBoxMesh.matrixWorld ); + + objects.update( backgroundBoxMesh ); + + _this.renderBufferDirect( backgroundBoxCamera, null, backgroundBoxMesh.geometry, backgroundBoxMesh.material, backgroundBoxMesh, null ); + + } else if ( background && background.isTexture ) { + + if ( backgroundPlaneCamera === undefined ) { + + backgroundPlaneCamera = new OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); + + backgroundPlaneMesh = new Mesh( + new PlaneBufferGeometry( 2, 2 ), + new MeshBasicMaterial( { depthTest: false, depthWrite: false, fog: false } ) + ); + + } + + backgroundPlaneMesh.material.map = background; + + objects.update( backgroundPlaneMesh ); + + _this.renderBufferDirect( backgroundPlaneCamera, null, backgroundPlaneMesh.geometry, backgroundPlaneMesh.material, backgroundPlaneMesh, null ); + + } + + // + + var opaqueObjects = currentRenderList.opaque; + var transparentObjects = currentRenderList.transparent; + + if ( scene.overrideMaterial ) { + + var overrideMaterial = scene.overrideMaterial; + + if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera, overrideMaterial ); + if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera, overrideMaterial ); + + } else { + + // opaque pass (front-to-back order) + + if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera ); + + // transparent pass (back-to-front order) + + if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera ); + + } + + // custom render plugins (post pass) + + spritePlugin.render( scene, camera ); + lensFlarePlugin.render( scene, camera, _currentViewport ); + + // Generate mipmap if we're using any kind of mipmap filtering + + if ( renderTarget ) { + + textures.updateRenderTargetMipmap( renderTarget ); + + } + + // Ensure depth buffer writing is enabled so it can be cleared on next render + + state.buffers.depth.setTest( true ); + state.buffers.depth.setMask( true ); + state.buffers.color.setMask( true ); + + if ( camera.isArrayCamera && camera.enabled ) { + + _this.setScissorTest( false ); + + } + + camera.onAfterRender( _this ); + + // _gl.finish(); + + }; + + /* + // TODO Duplicated code (Frustum) + + var _sphere = new Sphere(); + + function isObjectViewable( object ) { + + var geometry = object.geometry; + + if ( geometry.boundingSphere === null ) + geometry.computeBoundingSphere(); + + _sphere.copy( geometry.boundingSphere ). + applyMatrix4( object.matrixWorld ); + + return isSphereViewable( _sphere ); + + } + + function isSpriteViewable( sprite ) { + + _sphere.center.set( 0, 0, 0 ); + _sphere.radius = 0.7071067811865476; + _sphere.applyMatrix4( sprite.matrixWorld ); + + return isSphereViewable( _sphere ); + + } + + function isSphereViewable( sphere ) { + + if ( ! _frustum.intersectsSphere( sphere ) ) return false; + + var numPlanes = _clipping.numPlanes; + + if ( numPlanes === 0 ) return true; + + var planes = _this.clippingPlanes, + + center = sphere.center, + negRad = - sphere.radius, + i = 0; + + do { + + // out when deeper than radius in the negative halfspace + if ( planes[ i ].distanceToPoint( center ) < negRad ) return false; + + } while ( ++ i !== numPlanes ); + + return true; + + } + */ + + function projectObject( object, camera, sortObjects ) { + + if ( ! object.visible ) return; + + var visible = object.layers.test( camera.layers ); + + if ( visible ) { + + if ( object.isLight ) { + + lights.push( object ); + + } else if ( object.isSprite ) { + + if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) { + + sprites.push( object ); + + } + + } else if ( object.isLensFlare ) { + + lensFlares.push( object ); + + } else if ( object.isImmediateRenderObject ) { + + if ( sortObjects ) { + + _vector3.setFromMatrixPosition( object.matrixWorld ) + .applyMatrix4( _projScreenMatrix ); + + } + + currentRenderList.push( object, null, object.material, _vector3.z, null ); + + } else if ( object.isMesh || object.isLine || object.isPoints ) { + + if ( object.isSkinnedMesh ) { + + object.skeleton.update(); + + } + + if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) { + + if ( sortObjects ) { + + _vector3.setFromMatrixPosition( object.matrixWorld ) + .applyMatrix4( _projScreenMatrix ); + + } + + var geometry = objects.update( object ); + var material = object.material; + + if ( Array.isArray( material ) ) { + + var groups = geometry.groups; + + for ( var i = 0, l = groups.length; i < l; i ++ ) { + + var group = groups[ i ]; + var groupMaterial = material[ group.materialIndex ]; + + if ( groupMaterial && groupMaterial.visible ) { + + currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group ); + + } + + } + + } else if ( material.visible ) { + + currentRenderList.push( object, geometry, material, _vector3.z, null ); + + } + + } + + } + + } + + var children = object.children; + + for ( var i = 0, l = children.length; i < l; i ++ ) { + + projectObject( children[ i ], camera, sortObjects ); + + } + + } + + function renderObjects( renderList, scene, camera, overrideMaterial ) { + + for ( var i = 0, l = renderList.length; i < l; i ++ ) { + + var renderItem = renderList[ i ]; + + var object = renderItem.object; + var geometry = renderItem.geometry; + var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial; + var group = renderItem.group; + + object.onBeforeRender( _this, scene, camera, geometry, material, group ); + + if ( camera.isArrayCamera && camera.enabled ) { + + var cameras = camera.cameras; + + for ( var j = 0, jl = cameras.length; j < jl; j ++ ) { + + var camera2 = cameras[ j ]; + var bounds = camera2.bounds; + + _this.setViewport( + bounds.x * _width * _pixelRatio, bounds.y * _height * _pixelRatio, + bounds.z * _width * _pixelRatio, bounds.w * _height * _pixelRatio + ); + _this.setScissor( + bounds.x * _width * _pixelRatio, bounds.y * _height * _pixelRatio, + bounds.z * _width * _pixelRatio, bounds.w * _height * _pixelRatio + ); + _this.setScissorTest( true ); + + renderObject( object, scene, camera2, geometry, material, group ); + + } + + } else { + + renderObject( object, scene, camera, geometry, material, group ); + + } + + object.onAfterRender( _this, scene, camera, geometry, material, group ); + + } + + } + + function renderObject( object, scene, camera, geometry, material, group ) { + + object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld ); + object.normalMatrix.getNormalMatrix( object.modelViewMatrix ); + + if ( object.isImmediateRenderObject ) { + + state.setMaterial( material ); + + var program = setProgram( camera, scene.fog, material, object ); + + _currentGeometryProgram = ''; + + renderObjectImmediate( object, program, material ); + + } else { + + _this.renderBufferDirect( camera, scene.fog, geometry, material, object, group ); + + } + + } + + function initMaterial( material, fog, object ) { + + var materialProperties = properties.get( material ); + + var parameters = programCache.getParameters( + material, _lights, fog, _clipping.numPlanes, _clipping.numIntersection, object ); + + var code = programCache.getProgramCode( material, parameters ); + + var program = materialProperties.program; + var programChange = true; + + if ( program === undefined ) { + + // new material + material.addEventListener( 'dispose', onMaterialDispose ); + + } else if ( program.code !== code ) { + + // changed glsl or parameters + releaseMaterialProgramReference( material ); + + } else if ( parameters.shaderID !== undefined ) { + + // same glsl and uniform list + return; + + } else { + + // only rebuild uniform list + programChange = false; + + } + + if ( programChange ) { + + if ( parameters.shaderID ) { + + var shader = ShaderLib[ parameters.shaderID ]; + + materialProperties.__webglShader = { + name: material.type, + uniforms: UniformsUtils.clone( shader.uniforms ), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + }; + + } else { + + materialProperties.__webglShader = { + name: material.type, + uniforms: material.uniforms, + vertexShader: material.vertexShader, + fragmentShader: material.fragmentShader + }; + + } + + material.__webglShader = materialProperties.__webglShader; + + program = programCache.acquireProgram( material, parameters, code ); + + materialProperties.program = program; + material.program = program; + + } + + var programAttributes = program.getAttributes(); + + if ( material.morphTargets ) { + + material.numSupportedMorphTargets = 0; + + for ( var i = 0; i < _this.maxMorphTargets; i ++ ) { + + if ( programAttributes[ 'morphTarget' + i ] >= 0 ) { + + material.numSupportedMorphTargets ++; + + } + + } + + } + + if ( material.morphNormals ) { + + material.numSupportedMorphNormals = 0; + + for ( var i = 0; i < _this.maxMorphNormals; i ++ ) { + + if ( programAttributes[ 'morphNormal' + i ] >= 0 ) { + + material.numSupportedMorphNormals ++; + + } + + } + + } + + var uniforms = materialProperties.__webglShader.uniforms; + + if ( ! material.isShaderMaterial && + ! material.isRawShaderMaterial || + material.clipping === true ) { + + materialProperties.numClippingPlanes = _clipping.numPlanes; + materialProperties.numIntersection = _clipping.numIntersection; + uniforms.clippingPlanes = _clipping.uniform; + + } + + materialProperties.fog = fog; + + // store the light setup it was created for + + materialProperties.lightsHash = _lights.hash; + + if ( material.lights ) { + + // wire up the material to this renderer's lighting state + + uniforms.ambientLightColor.value = _lights.ambient; + uniforms.directionalLights.value = _lights.directional; + uniforms.spotLights.value = _lights.spot; + uniforms.rectAreaLights.value = _lights.rectArea; + uniforms.pointLights.value = _lights.point; + uniforms.hemisphereLights.value = _lights.hemi; + + uniforms.directionalShadowMap.value = _lights.directionalShadowMap; + uniforms.directionalShadowMatrix.value = _lights.directionalShadowMatrix; + uniforms.spotShadowMap.value = _lights.spotShadowMap; + uniforms.spotShadowMatrix.value = _lights.spotShadowMatrix; + uniforms.pointShadowMap.value = _lights.pointShadowMap; + uniforms.pointShadowMatrix.value = _lights.pointShadowMatrix; + // TODO (abelnation): add area lights shadow info to uniforms + + } + + var progUniforms = materialProperties.program.getUniforms(), + uniformsList = + WebGLUniforms.seqWithValue( progUniforms.seq, uniforms ); + + materialProperties.uniformsList = uniformsList; + + } + + function setProgram( camera, fog, material, object ) { + + _usedTextureUnits = 0; + + var materialProperties = properties.get( material ); + + if ( _clippingEnabled ) { + + if ( _localClippingEnabled || camera !== _currentCamera ) { + + var useCache = + camera === _currentCamera && + material.id === _currentMaterialId; + + // we might want to call this function with some ClippingGroup + // object instead of the material, once it becomes feasible + // (#8465, #8379) + _clipping.setState( + material.clippingPlanes, material.clipIntersection, material.clipShadows, + camera, materialProperties, useCache ); + + } + + } + + if ( material.needsUpdate === false ) { + + if ( materialProperties.program === undefined ) { + + material.needsUpdate = true; + + } else if ( material.fog && materialProperties.fog !== fog ) { + + material.needsUpdate = true; + + } else if ( material.lights && materialProperties.lightsHash !== _lights.hash ) { + + material.needsUpdate = true; + + } else if ( materialProperties.numClippingPlanes !== undefined && + ( materialProperties.numClippingPlanes !== _clipping.numPlanes || + materialProperties.numIntersection !== _clipping.numIntersection ) ) { + + material.needsUpdate = true; + + } + + } + + if ( material.needsUpdate ) { + + initMaterial( material, fog, object ); + material.needsUpdate = false; + + } + + var refreshProgram = false; + var refreshMaterial = false; + var refreshLights = false; + + var program = materialProperties.program, + p_uniforms = program.getUniforms(), + m_uniforms = materialProperties.__webglShader.uniforms; + + if ( program.id !== _currentProgram ) { + + _gl.useProgram( program.program ); + _currentProgram = program.id; + + refreshProgram = true; + refreshMaterial = true; + refreshLights = true; + + } + + if ( material.id !== _currentMaterialId ) { + + _currentMaterialId = material.id; + + refreshMaterial = true; + + } + + if ( refreshProgram || camera !== _currentCamera ) { + + p_uniforms.setValue( _gl, 'projectionMatrix', camera.projectionMatrix ); + + if ( capabilities.logarithmicDepthBuffer ) { + + p_uniforms.setValue( _gl, 'logDepthBufFC', + 2.0 / ( Math.log( camera.far + 1.0 ) / Math.LN2 ) ); + + } + + + if ( camera !== _currentCamera ) { + + _currentCamera = camera; + + // lighting uniforms depend on the camera so enforce an update + // now, in case this material supports lights - or later, when + // the next material that does gets activated: + + refreshMaterial = true; // set to true on material change + refreshLights = true; // remains set until update done + + } + + // load material specific uniforms + // (shader material also gets them for the sake of genericity) + + if ( material.isShaderMaterial || + material.isMeshPhongMaterial || + material.isMeshStandardMaterial || + material.envMap ) { + + var uCamPos = p_uniforms.map.cameraPosition; + + if ( uCamPos !== undefined ) { + + uCamPos.setValue( _gl, + _vector3.setFromMatrixPosition( camera.matrixWorld ) ); + + } + + } + + if ( material.isMeshPhongMaterial || + material.isMeshLambertMaterial || + material.isMeshBasicMaterial || + material.isMeshStandardMaterial || + material.isShaderMaterial || + material.skinning ) { + + p_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse ); + + } + + p_uniforms.setValue( _gl, 'toneMappingExposure', _this.toneMappingExposure ); + p_uniforms.setValue( _gl, 'toneMappingWhitePoint', _this.toneMappingWhitePoint ); + + } + + // skinning uniforms must be set even if material didn't change + // auto-setting of texture unit for bone texture must go before other textures + // not sure why, but otherwise weird things happen + + if ( material.skinning ) { + + p_uniforms.setOptional( _gl, object, 'bindMatrix' ); + p_uniforms.setOptional( _gl, object, 'bindMatrixInverse' ); + + var skeleton = object.skeleton; + + if ( skeleton ) { + + var bones = skeleton.bones; + + if ( capabilities.floatVertexTextures ) { + + if ( skeleton.boneTexture === undefined ) { + + // layout (1 matrix = 4 pixels) + // RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4) + // with 8x8 pixel texture max 16 bones * 4 pixels = (8 * 8) + // 16x16 pixel texture max 64 bones * 4 pixels = (16 * 16) + // 32x32 pixel texture max 256 bones * 4 pixels = (32 * 32) + // 64x64 pixel texture max 1024 bones * 4 pixels = (64 * 64) + + + var size = Math.sqrt( bones.length * 4 ); // 4 pixels needed for 1 matrix + size = _Math.nextPowerOfTwo( Math.ceil( size ) ); + size = Math.max( size, 4 ); + + var boneMatrices = new Float32Array( size * size * 4 ); // 4 floats per RGBA pixel + boneMatrices.set( skeleton.boneMatrices ); // copy current values + + var boneTexture = new DataTexture( boneMatrices, size, size, RGBAFormat, FloatType ); + + skeleton.boneMatrices = boneMatrices; + skeleton.boneTexture = boneTexture; + skeleton.boneTextureSize = size; + + } + + p_uniforms.setValue( _gl, 'boneTexture', skeleton.boneTexture ); + p_uniforms.setValue( _gl, 'boneTextureSize', skeleton.boneTextureSize ); + + } else { + + p_uniforms.setOptional( _gl, skeleton, 'boneMatrices' ); + + } + + } + + } + + if ( refreshMaterial ) { + + if ( material.lights ) { + + // the current material requires lighting info + + // note: all lighting uniforms are always set correctly + // they simply reference the renderer's state for their + // values + // + // use the current material's .needsUpdate flags to set + // the GL state when required + + markUniformsLightsNeedsUpdate( m_uniforms, refreshLights ); + + } + + // refresh uniforms common to several materials + + if ( fog && material.fog ) { + + refreshUniformsFog( m_uniforms, fog ); + + } + + if ( material.isMeshBasicMaterial || + material.isMeshLambertMaterial || + material.isMeshPhongMaterial || + material.isMeshStandardMaterial || + material.isMeshNormalMaterial || + material.isMeshDepthMaterial ) { + + refreshUniformsCommon( m_uniforms, material ); + + } + + // refresh single material specific uniforms + + if ( material.isLineBasicMaterial ) { + + refreshUniformsLine( m_uniforms, material ); + + } else if ( material.isLineDashedMaterial ) { + + refreshUniformsLine( m_uniforms, material ); + refreshUniformsDash( m_uniforms, material ); + + } else if ( material.isPointsMaterial ) { + + refreshUniformsPoints( m_uniforms, material ); + + } else if ( material.isMeshLambertMaterial ) { + + refreshUniformsLambert( m_uniforms, material ); + + } else if ( material.isMeshToonMaterial ) { + + refreshUniformsToon( m_uniforms, material ); + + } else if ( material.isMeshPhongMaterial ) { + + refreshUniformsPhong( m_uniforms, material ); + + } else if ( material.isMeshPhysicalMaterial ) { + + refreshUniformsPhysical( m_uniforms, material ); + + } else if ( material.isMeshStandardMaterial ) { + + refreshUniformsStandard( m_uniforms, material ); + + } else if ( material.isMeshDepthMaterial ) { + + if ( material.displacementMap ) { + + m_uniforms.displacementMap.value = material.displacementMap; + m_uniforms.displacementScale.value = material.displacementScale; + m_uniforms.displacementBias.value = material.displacementBias; + + } + + } else if ( material.isMeshNormalMaterial ) { + + refreshUniformsNormal( m_uniforms, material ); + + } + + // RectAreaLight Texture + // TODO (mrdoob): Find a nicer implementation + + if ( m_uniforms.ltcMat !== undefined ) m_uniforms.ltcMat.value = UniformsLib.LTC_MAT_TEXTURE; + if ( m_uniforms.ltcMag !== undefined ) m_uniforms.ltcMag.value = UniformsLib.LTC_MAG_TEXTURE; + + WebGLUniforms.upload( + _gl, materialProperties.uniformsList, m_uniforms, _this ); + + } + + + // common matrices + + p_uniforms.setValue( _gl, 'modelViewMatrix', object.modelViewMatrix ); + p_uniforms.setValue( _gl, 'normalMatrix', object.normalMatrix ); + p_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld ); + + return program; + + } + + // Uniforms (refresh uniforms objects) + + function refreshUniformsCommon( uniforms, material ) { + + uniforms.opacity.value = material.opacity; + + uniforms.diffuse.value = material.color; + + if ( material.emissive ) { + + uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); + + } + + uniforms.map.value = material.map; + uniforms.specularMap.value = material.specularMap; + uniforms.alphaMap.value = material.alphaMap; + + if ( material.lightMap ) { + + uniforms.lightMap.value = material.lightMap; + uniforms.lightMapIntensity.value = material.lightMapIntensity; + + } + + if ( material.aoMap ) { + + uniforms.aoMap.value = material.aoMap; + uniforms.aoMapIntensity.value = material.aoMapIntensity; + + } + + // uv repeat and offset setting priorities + // 1. color map + // 2. specular map + // 3. normal map + // 4. bump map + // 5. alpha map + // 6. emissive map + + var uvScaleMap; + + if ( material.map ) { + + uvScaleMap = material.map; + + } else if ( material.specularMap ) { + + uvScaleMap = material.specularMap; + + } else if ( material.displacementMap ) { + + uvScaleMap = material.displacementMap; + + } else if ( material.normalMap ) { + + uvScaleMap = material.normalMap; + + } else if ( material.bumpMap ) { + + uvScaleMap = material.bumpMap; + + } else if ( material.roughnessMap ) { + + uvScaleMap = material.roughnessMap; + + } else if ( material.metalnessMap ) { + + uvScaleMap = material.metalnessMap; + + } else if ( material.alphaMap ) { + + uvScaleMap = material.alphaMap; + + } else if ( material.emissiveMap ) { + + uvScaleMap = material.emissiveMap; + + } + + if ( uvScaleMap !== undefined ) { + + // backwards compatibility + if ( uvScaleMap.isWebGLRenderTarget ) { + + uvScaleMap = uvScaleMap.texture; + + } + + var offset = uvScaleMap.offset; + var repeat = uvScaleMap.repeat; + + uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y ); + + } + + uniforms.envMap.value = material.envMap; + + // don't flip CubeTexture envMaps, flip everything else: + // WebGLRenderTargetCube will be flipped for backwards compatibility + // WebGLRenderTargetCube.texture will be flipped because it's a Texture and NOT a CubeTexture + // this check must be handled differently, or removed entirely, if WebGLRenderTargetCube uses a CubeTexture in the future + uniforms.flipEnvMap.value = ( ! ( material.envMap && material.envMap.isCubeTexture ) ) ? 1 : - 1; + + uniforms.reflectivity.value = material.reflectivity; + uniforms.refractionRatio.value = material.refractionRatio; + + } + + function refreshUniformsLine( uniforms, material ) { + + uniforms.diffuse.value = material.color; + uniforms.opacity.value = material.opacity; + + } + + function refreshUniformsDash( uniforms, material ) { + + uniforms.dashSize.value = material.dashSize; + uniforms.totalSize.value = material.dashSize + material.gapSize; + uniforms.scale.value = material.scale; + + } + + function refreshUniformsPoints( uniforms, material ) { + + uniforms.diffuse.value = material.color; + uniforms.opacity.value = material.opacity; + uniforms.size.value = material.size * _pixelRatio; + uniforms.scale.value = _height * 0.5; + + uniforms.map.value = material.map; + + if ( material.map !== null ) { + + var offset = material.map.offset; + var repeat = material.map.repeat; + + uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y ); + + } + + } + + function refreshUniformsFog( uniforms, fog ) { + + uniforms.fogColor.value = fog.color; + + if ( fog.isFog ) { + + uniforms.fogNear.value = fog.near; + uniforms.fogFar.value = fog.far; + + } else if ( fog.isFogExp2 ) { + + uniforms.fogDensity.value = fog.density; + + } + + } + + function refreshUniformsLambert( uniforms, material ) { + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + } + + function refreshUniformsPhong( uniforms, material ) { + + uniforms.specular.value = material.specular; + uniforms.shininess.value = Math.max( material.shininess, 1e-4 ); // to prevent pow( 0.0, 0.0 ) + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + function refreshUniformsToon( uniforms, material ) { + + refreshUniformsPhong( uniforms, material ); + + if ( material.gradientMap ) { + + uniforms.gradientMap.value = material.gradientMap; + + } + + } + + function refreshUniformsStandard( uniforms, material ) { + + uniforms.roughness.value = material.roughness; + uniforms.metalness.value = material.metalness; + + if ( material.roughnessMap ) { + + uniforms.roughnessMap.value = material.roughnessMap; + + } + + if ( material.metalnessMap ) { + + uniforms.metalnessMap.value = material.metalnessMap; + + } + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + if ( material.envMap ) { + + //uniforms.envMap.value = material.envMap; // part of uniforms common + uniforms.envMapIntensity.value = material.envMapIntensity; + + } + + } + + function refreshUniformsPhysical( uniforms, material ) { + + uniforms.clearCoat.value = material.clearCoat; + uniforms.clearCoatRoughness.value = material.clearCoatRoughness; + + refreshUniformsStandard( uniforms, material ); + + } + + function refreshUniformsNormal( uniforms, material ) { + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + // If uniforms are marked as clean, they don't need to be loaded to the GPU. + + function markUniformsLightsNeedsUpdate( uniforms, value ) { + + uniforms.ambientLightColor.needsUpdate = value; + + uniforms.directionalLights.needsUpdate = value; + uniforms.pointLights.needsUpdate = value; + uniforms.spotLights.needsUpdate = value; + uniforms.rectAreaLights.needsUpdate = value; + uniforms.hemisphereLights.needsUpdate = value; + + } + + // Lighting + + function setupShadows( lights ) { + + var lightShadowsLength = 0; + + for ( var i = 0, l = lights.length; i < l; i ++ ) { + + var light = lights[ i ]; + + if ( light.castShadow ) { + + _lights.shadows[ lightShadowsLength ] = light; + lightShadowsLength ++; + + } + + } + + _lights.shadows.length = lightShadowsLength; + + } + + function setupLights( lights, camera ) { + + var l, ll, light, shadow, + r = 0, g = 0, b = 0, + color, + intensity, + distance, + shadowMap, + + viewMatrix = camera.matrixWorldInverse, + + directionalLength = 0, + pointLength = 0, + spotLength = 0, + rectAreaLength = 0, + hemiLength = 0; + + for ( l = 0, ll = lights.length; l < ll; l ++ ) { + + light = lights[ l ]; + + color = light.color; + intensity = light.intensity; + distance = light.distance; + + shadowMap = ( light.shadow && light.shadow.map ) ? light.shadow.map.texture : null; + + if ( light.isAmbientLight ) { + + r += color.r * intensity; + g += color.g * intensity; + b += color.b * intensity; + + } else if ( light.isDirectionalLight ) { + + var uniforms = lightCache.get( light ); + + uniforms.color.copy( light.color ).multiplyScalar( light.intensity ); + uniforms.direction.setFromMatrixPosition( light.matrixWorld ); + _vector3.setFromMatrixPosition( light.target.matrixWorld ); + uniforms.direction.sub( _vector3 ); + uniforms.direction.transformDirection( viewMatrix ); + + uniforms.shadow = light.castShadow; + + if ( light.castShadow ) { + + shadow = light.shadow; + + uniforms.shadowBias = shadow.bias; + uniforms.shadowRadius = shadow.radius; + uniforms.shadowMapSize = shadow.mapSize; + + } + + _lights.directionalShadowMap[ directionalLength ] = shadowMap; + _lights.directionalShadowMatrix[ directionalLength ] = light.shadow.matrix; + _lights.directional[ directionalLength ] = uniforms; + + directionalLength ++; + + } else if ( light.isSpotLight ) { + + var uniforms = lightCache.get( light ); + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + uniforms.position.applyMatrix4( viewMatrix ); + + uniforms.color.copy( color ).multiplyScalar( intensity ); + uniforms.distance = distance; + + uniforms.direction.setFromMatrixPosition( light.matrixWorld ); + _vector3.setFromMatrixPosition( light.target.matrixWorld ); + uniforms.direction.sub( _vector3 ); + uniforms.direction.transformDirection( viewMatrix ); + + uniforms.coneCos = Math.cos( light.angle ); + uniforms.penumbraCos = Math.cos( light.angle * ( 1 - light.penumbra ) ); + uniforms.decay = ( light.distance === 0 ) ? 0.0 : light.decay; + + uniforms.shadow = light.castShadow; + + if ( light.castShadow ) { + + shadow = light.shadow; + + uniforms.shadowBias = shadow.bias; + uniforms.shadowRadius = shadow.radius; + uniforms.shadowMapSize = shadow.mapSize; + + } + + _lights.spotShadowMap[ spotLength ] = shadowMap; + _lights.spotShadowMatrix[ spotLength ] = light.shadow.matrix; + _lights.spot[ spotLength ] = uniforms; + + spotLength ++; + + } else if ( light.isRectAreaLight ) { + + var uniforms = lightCache.get( light ); + + // (a) intensity controls irradiance of entire light + uniforms.color + .copy( color ) + .multiplyScalar( intensity / ( light.width * light.height ) ); + + // (b) intensity controls the radiance per light area + // uniforms.color.copy( color ).multiplyScalar( intensity ); + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + uniforms.position.applyMatrix4( viewMatrix ); + + // extract local rotation of light to derive width/height half vectors + _matrix42.identity(); + _matrix4.copy( light.matrixWorld ); + _matrix4.premultiply( viewMatrix ); + _matrix42.extractRotation( _matrix4 ); + + uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 ); + uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 ); + + uniforms.halfWidth.applyMatrix4( _matrix42 ); + uniforms.halfHeight.applyMatrix4( _matrix42 ); + + // TODO (abelnation): RectAreaLight distance? + // uniforms.distance = distance; + + _lights.rectArea[ rectAreaLength ] = uniforms; + + rectAreaLength ++; + + } else if ( light.isPointLight ) { + + var uniforms = lightCache.get( light ); + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + uniforms.position.applyMatrix4( viewMatrix ); + + uniforms.color.copy( light.color ).multiplyScalar( light.intensity ); + uniforms.distance = light.distance; + uniforms.decay = ( light.distance === 0 ) ? 0.0 : light.decay; + + uniforms.shadow = light.castShadow; + + if ( light.castShadow ) { + + shadow = light.shadow; + + uniforms.shadowBias = shadow.bias; + uniforms.shadowRadius = shadow.radius; + uniforms.shadowMapSize = shadow.mapSize; + + } + + _lights.pointShadowMap[ pointLength ] = shadowMap; + _lights.pointShadowMatrix[ pointLength ] = light.shadow.matrix; + _lights.point[ pointLength ] = uniforms; + + pointLength ++; + + } else if ( light.isHemisphereLight ) { + + var uniforms = lightCache.get( light ); + + uniforms.direction.setFromMatrixPosition( light.matrixWorld ); + uniforms.direction.transformDirection( viewMatrix ); + uniforms.direction.normalize(); + + uniforms.skyColor.copy( light.color ).multiplyScalar( intensity ); + uniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity ); + + _lights.hemi[ hemiLength ] = uniforms; + + hemiLength ++; + + } + + } + + _lights.ambient[ 0 ] = r; + _lights.ambient[ 1 ] = g; + _lights.ambient[ 2 ] = b; + + _lights.directional.length = directionalLength; + _lights.spot.length = spotLength; + _lights.rectArea.length = rectAreaLength; + _lights.point.length = pointLength; + _lights.hemi.length = hemiLength; + + // TODO (sam-g-steel) why aren't we using join + _lights.hash = directionalLength + ',' + pointLength + ',' + spotLength + ',' + rectAreaLength + ',' + hemiLength + ',' + _lights.shadows.length; + + } + + // GL state setting + + this.setFaceCulling = function ( cullFace, frontFaceDirection ) { + + state.setCullFace( cullFace ); + state.setFlipSided( frontFaceDirection === FrontFaceDirectionCW ); + + }; + + // Textures + + function allocTextureUnit() { + + var textureUnit = _usedTextureUnits; + + if ( textureUnit >= capabilities.maxTextures ) { + + console.warn( 'WebGLRenderer: trying to use ' + textureUnit + ' texture units while this GPU supports only ' + capabilities.maxTextures ); + + } + + _usedTextureUnits += 1; + + return textureUnit; + + } + + this.allocTextureUnit = allocTextureUnit; + + // this.setTexture2D = setTexture2D; + this.setTexture2D = ( function () { + + var warned = false; + + // backwards compatibility: peel texture.texture + return function setTexture2D( texture, slot ) { + + if ( texture && texture.isWebGLRenderTarget ) { + + if ( ! warned ) { + + console.warn( "THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead." ); + warned = true; + + } + + texture = texture.texture; + + } + + textures.setTexture2D( texture, slot ); + + }; + + }() ); + + this.setTexture = ( function () { + + var warned = false; + + return function setTexture( texture, slot ) { + + if ( ! warned ) { + + console.warn( "THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead." ); + warned = true; + + } + + textures.setTexture2D( texture, slot ); + + }; + + }() ); + + this.setTextureCube = ( function () { + + var warned = false; + + return function setTextureCube( texture, slot ) { + + // backwards compatibility: peel texture.texture + if ( texture && texture.isWebGLRenderTargetCube ) { + + if ( ! warned ) { + + console.warn( "THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead." ); + warned = true; + + } + + texture = texture.texture; + + } + + // currently relying on the fact that WebGLRenderTargetCube.texture is a Texture and NOT a CubeTexture + // TODO: unify these code paths + if ( ( texture && texture.isCubeTexture ) || + ( Array.isArray( texture.image ) && texture.image.length === 6 ) ) { + + // CompressedTexture can have Array in image :/ + + // this function alone should take care of cube textures + textures.setTextureCube( texture, slot ); + + } else { + + // assumed: texture property of THREE.WebGLRenderTargetCube + + textures.setTextureCubeDynamic( texture, slot ); + + } + + }; + + }() ); + + this.getRenderTarget = function () { + + return _currentRenderTarget; + + }; + + this.setRenderTarget = function ( renderTarget ) { + + _currentRenderTarget = renderTarget; + + if ( renderTarget && properties.get( renderTarget ).__webglFramebuffer === undefined ) { + + textures.setupRenderTarget( renderTarget ); + + } + + var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube ); + var framebuffer; + + if ( renderTarget ) { + + var renderTargetProperties = properties.get( renderTarget ); + + if ( isCube ) { + + framebuffer = renderTargetProperties.__webglFramebuffer[ renderTarget.activeCubeFace ]; + + } else { + + framebuffer = renderTargetProperties.__webglFramebuffer; + + } + + _currentScissor.copy( renderTarget.scissor ); + _currentScissorTest = renderTarget.scissorTest; + + _currentViewport.copy( renderTarget.viewport ); + + } else { + + framebuffer = null; + + _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ); + _currentScissorTest = _scissorTest; + + _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ); + + } + + if ( _currentFramebuffer !== framebuffer ) { + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); + _currentFramebuffer = framebuffer; + + } + + state.scissor( _currentScissor ); + state.setScissorTest( _currentScissorTest ); + + state.viewport( _currentViewport ); + + if ( isCube ) { + + var textureProperties = properties.get( renderTarget.texture ); + _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + renderTarget.activeCubeFace, textureProperties.__webglTexture, renderTarget.activeMipMapLevel ); + + } + + }; + + this.readRenderTargetPixels = function ( renderTarget, x, y, width, height, buffer ) { + + if ( ( renderTarget && renderTarget.isWebGLRenderTarget ) === false ) { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.' ); + return; + + } + + var framebuffer = properties.get( renderTarget ).__webglFramebuffer; + + if ( framebuffer ) { + + var restore = false; + + if ( framebuffer !== _currentFramebuffer ) { + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); + + restore = true; + + } + + try { + + var texture = renderTarget.texture; + var textureFormat = texture.format; + var textureType = texture.type; + + if ( textureFormat !== RGBAFormat && paramThreeToGL( textureFormat ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_FORMAT ) ) { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' ); + return; + + } + + if ( textureType !== UnsignedByteType && paramThreeToGL( textureType ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_TYPE ) && // IE11, Edge and Chrome Mac < 52 (#9513) + ! ( textureType === FloatType && ( extensions.get( 'OES_texture_float' ) || extensions.get( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox + ! ( textureType === HalfFloatType && extensions.get( 'EXT_color_buffer_half_float' ) ) ) { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' ); + return; + + } + + if ( _gl.checkFramebufferStatus( _gl.FRAMEBUFFER ) === _gl.FRAMEBUFFER_COMPLETE ) { + + // the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604) + + if ( ( x >= 0 && x <= ( renderTarget.width - width ) ) && ( y >= 0 && y <= ( renderTarget.height - height ) ) ) { + + _gl.readPixels( x, y, width, height, paramThreeToGL( textureFormat ), paramThreeToGL( textureType ), buffer ); + + } + + } else { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.' ); + + } + + } finally { + + if ( restore ) { + + _gl.bindFramebuffer( _gl.FRAMEBUFFER, _currentFramebuffer ); + + } + + } + + } + + }; + + // Map three.js constants to WebGL constants + + function paramThreeToGL( p ) { + + var extension; + + if ( p === RepeatWrapping ) return _gl.REPEAT; + if ( p === ClampToEdgeWrapping ) return _gl.CLAMP_TO_EDGE; + if ( p === MirroredRepeatWrapping ) return _gl.MIRRORED_REPEAT; + + if ( p === NearestFilter ) return _gl.NEAREST; + if ( p === NearestMipMapNearestFilter ) return _gl.NEAREST_MIPMAP_NEAREST; + if ( p === NearestMipMapLinearFilter ) return _gl.NEAREST_MIPMAP_LINEAR; + + if ( p === LinearFilter ) return _gl.LINEAR; + if ( p === LinearMipMapNearestFilter ) return _gl.LINEAR_MIPMAP_NEAREST; + if ( p === LinearMipMapLinearFilter ) return _gl.LINEAR_MIPMAP_LINEAR; + + if ( p === UnsignedByteType ) return _gl.UNSIGNED_BYTE; + if ( p === UnsignedShort4444Type ) return _gl.UNSIGNED_SHORT_4_4_4_4; + if ( p === UnsignedShort5551Type ) return _gl.UNSIGNED_SHORT_5_5_5_1; + if ( p === UnsignedShort565Type ) return _gl.UNSIGNED_SHORT_5_6_5; + + if ( p === ByteType ) return _gl.BYTE; + if ( p === ShortType ) return _gl.SHORT; + if ( p === UnsignedShortType ) return _gl.UNSIGNED_SHORT; + if ( p === IntType ) return _gl.INT; + if ( p === UnsignedIntType ) return _gl.UNSIGNED_INT; + if ( p === FloatType ) return _gl.FLOAT; + + if ( p === HalfFloatType ) { + + extension = extensions.get( 'OES_texture_half_float' ); + + if ( extension !== null ) return extension.HALF_FLOAT_OES; + + } + + if ( p === AlphaFormat ) return _gl.ALPHA; + if ( p === RGBFormat ) return _gl.RGB; + if ( p === RGBAFormat ) return _gl.RGBA; + if ( p === LuminanceFormat ) return _gl.LUMINANCE; + if ( p === LuminanceAlphaFormat ) return _gl.LUMINANCE_ALPHA; + if ( p === DepthFormat ) return _gl.DEPTH_COMPONENT; + if ( p === DepthStencilFormat ) return _gl.DEPTH_STENCIL; + + if ( p === AddEquation ) return _gl.FUNC_ADD; + if ( p === SubtractEquation ) return _gl.FUNC_SUBTRACT; + if ( p === ReverseSubtractEquation ) return _gl.FUNC_REVERSE_SUBTRACT; + + if ( p === ZeroFactor ) return _gl.ZERO; + if ( p === OneFactor ) return _gl.ONE; + if ( p === SrcColorFactor ) return _gl.SRC_COLOR; + if ( p === OneMinusSrcColorFactor ) return _gl.ONE_MINUS_SRC_COLOR; + if ( p === SrcAlphaFactor ) return _gl.SRC_ALPHA; + if ( p === OneMinusSrcAlphaFactor ) return _gl.ONE_MINUS_SRC_ALPHA; + if ( p === DstAlphaFactor ) return _gl.DST_ALPHA; + if ( p === OneMinusDstAlphaFactor ) return _gl.ONE_MINUS_DST_ALPHA; + + if ( p === DstColorFactor ) return _gl.DST_COLOR; + if ( p === OneMinusDstColorFactor ) return _gl.ONE_MINUS_DST_COLOR; + if ( p === SrcAlphaSaturateFactor ) return _gl.SRC_ALPHA_SATURATE; + + if ( p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || + p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_s3tc' ); + + if ( extension !== null ) { + + if ( p === RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; + if ( p === RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; + if ( p === RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; + if ( p === RGBA_S3TC_DXT5_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; + + } + + } + + if ( p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || + p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_pvrtc' ); + + if ( extension !== null ) { + + if ( p === RGB_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + if ( p === RGB_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + if ( p === RGBA_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; + if ( p === RGBA_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + + } + + } + + if ( p === RGB_ETC1_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_etc1' ); + + if ( extension !== null ) return extension.COMPRESSED_RGB_ETC1_WEBGL; + + } + + if ( p === MinEquation || p === MaxEquation ) { + + extension = extensions.get( 'EXT_blend_minmax' ); + + if ( extension !== null ) { + + if ( p === MinEquation ) return extension.MIN_EXT; + if ( p === MaxEquation ) return extension.MAX_EXT; + + } + + } + + if ( p === UnsignedInt248Type ) { + + extension = extensions.get( 'WEBGL_depth_texture' ); + + if ( extension !== null ) return extension.UNSIGNED_INT_24_8_WEBGL; + + } + + return 0; + + } + + } + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + function FogExp2 ( color, density ) { + + this.name = ''; + + this.color = new Color( color ); + this.density = ( density !== undefined ) ? density : 0.00025; + + } + + FogExp2.prototype.isFogExp2 = true; + + FogExp2.prototype.clone = function () { + + return new FogExp2( this.color.getHex(), this.density ); + + }; + + FogExp2.prototype.toJSON = function ( meta ) { + + return { + type: 'FogExp2', + color: this.color.getHex(), + density: this.density + }; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + function Fog ( color, near, far ) { + + this.name = ''; + + this.color = new Color( color ); + + this.near = ( near !== undefined ) ? near : 1; + this.far = ( far !== undefined ) ? far : 1000; + + } + + Fog.prototype.isFog = true; + + Fog.prototype.clone = function () { + + return new Fog( this.color.getHex(), this.near, this.far ); + + }; + + Fog.prototype.toJSON = function ( meta ) { + + return { + type: 'Fog', + color: this.color.getHex(), + near: this.near, + far: this.far + }; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function Scene () { + + Object3D.call( this ); + + this.type = 'Scene'; + + this.background = null; + this.fog = null; + this.overrideMaterial = null; + + this.autoUpdate = true; // checked by the renderer + + } + + Scene.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Scene, + + copy: function ( source, recursive ) { + + Object3D.prototype.copy.call( this, source, recursive ); + + if ( source.background !== null ) this.background = source.background.clone(); + if ( source.fog !== null ) this.fog = source.fog.clone(); + if ( source.overrideMaterial !== null ) this.overrideMaterial = source.overrideMaterial.clone(); + + this.autoUpdate = source.autoUpdate; + this.matrixAutoUpdate = source.matrixAutoUpdate; + + return this; + + }, + + toJSON: function ( meta ) { + + var data = Object3D.prototype.toJSON.call( this, meta ); + + if ( this.background !== null ) data.object.background = this.background.toJSON( meta ); + if ( this.fog !== null ) data.object.fog = this.fog.toJSON(); + + return data; + + } + + } ); + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + */ + + function LensFlare( texture, size, distance, blending, color ) { + + Object3D.call( this ); + + this.lensFlares = []; + + this.positionScreen = new Vector3(); + this.customUpdateCallback = undefined; + + if ( texture !== undefined ) { + + this.add( texture, size, distance, blending, color ); + + } + + } + + LensFlare.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: LensFlare, + + isLensFlare: true, + + copy: function ( source ) { + + Object3D.prototype.copy.call( this, source ); + + this.positionScreen.copy( source.positionScreen ); + this.customUpdateCallback = source.customUpdateCallback; + + for ( var i = 0, l = source.lensFlares.length; i < l; i ++ ) { + + this.lensFlares.push( source.lensFlares[ i ] ); + + } + + return this; + + }, + + add: function ( texture, size, distance, blending, color, opacity ) { + + if ( size === undefined ) size = - 1; + if ( distance === undefined ) distance = 0; + if ( opacity === undefined ) opacity = 1; + if ( color === undefined ) color = new Color( 0xffffff ); + if ( blending === undefined ) blending = NormalBlending; + + distance = Math.min( distance, Math.max( 0, distance ) ); + + this.lensFlares.push( { + texture: texture, // THREE.Texture + size: size, // size in pixels (-1 = use texture.width) + distance: distance, // distance (0-1) from light source (0=at light source) + x: 0, y: 0, z: 0, // screen position (-1 => 1) z = 0 is in front z = 1 is back + scale: 1, // scale + rotation: 0, // rotation + opacity: opacity, // opacity + color: color, // color + blending: blending // blending + } ); + + }, + + /* + * Update lens flares update positions on all flares based on the screen position + * Set myLensFlare.customUpdateCallback to alter the flares in your project specific way. + */ + + updateLensFlares: function () { + + var f, fl = this.lensFlares.length; + var flare; + var vecX = - this.positionScreen.x * 2; + var vecY = - this.positionScreen.y * 2; + + for ( f = 0; f < fl; f ++ ) { + + flare = this.lensFlares[ f ]; + + flare.x = this.positionScreen.x + vecX * flare.distance; + flare.y = this.positionScreen.y + vecY * flare.distance; + + flare.wantedRotation = flare.x * Math.PI * 0.25; + flare.rotation += ( flare.wantedRotation - flare.rotation ) * 0.25; + + } + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * opacity: <float>, + * map: new THREE.Texture( <Image> ), + * + * uvOffset: new THREE.Vector2(), + * uvScale: new THREE.Vector2() + * } + */ + + function SpriteMaterial( parameters ) { + + Material.call( this ); + + this.type = 'SpriteMaterial'; + + this.color = new Color( 0xffffff ); + this.map = null; + + this.rotation = 0; + + this.fog = false; + this.lights = false; + + this.setValues( parameters ); + + } + + SpriteMaterial.prototype = Object.create( Material.prototype ); + SpriteMaterial.prototype.constructor = SpriteMaterial; + SpriteMaterial.prototype.isSpriteMaterial = true; + + SpriteMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + this.map = source.map; + + this.rotation = source.rotation; + + return this; + + }; + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + */ + + function Sprite( material ) { + + Object3D.call( this ); + + this.type = 'Sprite'; + + this.material = ( material !== undefined ) ? material : new SpriteMaterial(); + + } + + Sprite.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Sprite, + + isSprite: true, + + raycast: ( function () { + + var intersectPoint = new Vector3(); + var worldPosition = new Vector3(); + var worldScale = new Vector3(); + + return function raycast( raycaster, intersects ) { + + worldPosition.setFromMatrixPosition( this.matrixWorld ); + raycaster.ray.closestPointToPoint( worldPosition, intersectPoint ); + + worldScale.setFromMatrixScale( this.matrixWorld ); + var guessSizeSq = worldScale.x * worldScale.y / 4; + + if ( worldPosition.distanceToSquared( intersectPoint ) > guessSizeSq ) return; + + var distance = raycaster.ray.origin.distanceTo( intersectPoint ); + + if ( distance < raycaster.near || distance > raycaster.far ) return; + + intersects.push( { + + distance: distance, + point: intersectPoint.clone(), + face: null, + object: this + + } ); + + }; + + }() ), + + clone: function () { + + return new this.constructor( this.material ).copy( this ); + + } + + } ); + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + */ + + function LOD() { + + Object3D.call( this ); + + this.type = 'LOD'; + + Object.defineProperties( this, { + levels: { + enumerable: true, + value: [] + } + } ); + + } + + LOD.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: LOD, + + copy: function ( source ) { + + Object3D.prototype.copy.call( this, source, false ); + + var levels = source.levels; + + for ( var i = 0, l = levels.length; i < l; i ++ ) { + + var level = levels[ i ]; + + this.addLevel( level.object.clone(), level.distance ); + + } + + return this; + + }, + + addLevel: function ( object, distance ) { + + if ( distance === undefined ) distance = 0; + + distance = Math.abs( distance ); + + var levels = this.levels; + + for ( var l = 0; l < levels.length; l ++ ) { + + if ( distance < levels[ l ].distance ) { + + break; + + } + + } + + levels.splice( l, 0, { distance: distance, object: object } ); + + this.add( object ); + + }, + + getObjectForDistance: function ( distance ) { + + var levels = this.levels; + + for ( var i = 1, l = levels.length; i < l; i ++ ) { + + if ( distance < levels[ i ].distance ) { + + break; + + } + + } + + return levels[ i - 1 ].object; + + }, + + raycast: ( function () { + + var matrixPosition = new Vector3(); + + return function raycast( raycaster, intersects ) { + + matrixPosition.setFromMatrixPosition( this.matrixWorld ); + + var distance = raycaster.ray.origin.distanceTo( matrixPosition ); + + this.getObjectForDistance( distance ).raycast( raycaster, intersects ); + + }; + + }() ), + + update: function () { + + var v1 = new Vector3(); + var v2 = new Vector3(); + + return function update( camera ) { + + var levels = this.levels; + + if ( levels.length > 1 ) { + + v1.setFromMatrixPosition( camera.matrixWorld ); + v2.setFromMatrixPosition( this.matrixWorld ); + + var distance = v1.distanceTo( v2 ); + + levels[ 0 ].object.visible = true; + + for ( var i = 1, l = levels.length; i < l; i ++ ) { + + if ( distance >= levels[ i ].distance ) { + + levels[ i - 1 ].object.visible = false; + levels[ i ].object.visible = true; + + } else { + + break; + + } + + } + + for ( ; i < l; i ++ ) { + + levels[ i ].object.visible = false; + + } + + } + + }; + + }(), + + toJSON: function ( meta ) { + + var data = Object3D.prototype.toJSON.call( this, meta ); + + data.object.levels = []; + + var levels = this.levels; + + for ( var i = 0, l = levels.length; i < l; i ++ ) { + + var level = levels[ i ]; + + data.object.levels.push( { + object: level.object.uuid, + distance: level.distance + } ); + + } + + return data; + + } + + } ); + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + * @author michael guerrero / http://realitymeltdown.com + * @author ikerr / http://verold.com + */ + + function Skeleton( bones, boneInverses ) { + + // copy the bone array + + bones = bones || []; + + this.bones = bones.slice( 0 ); + this.boneMatrices = new Float32Array( this.bones.length * 16 ); + + // use the supplied bone inverses or calculate the inverses + + if ( boneInverses === undefined ) { + + this.calculateInverses(); + + } else { + + if ( this.bones.length === boneInverses.length ) { + + this.boneInverses = boneInverses.slice( 0 ); + + } else { + + console.warn( 'THREE.Skeleton boneInverses is the wrong length.' ); + + this.boneInverses = []; + + for ( var i = 0, il = this.bones.length; i < il; i ++ ) { + + this.boneInverses.push( new Matrix4() ); + + } + + } + + } + + } + + Object.assign( Skeleton.prototype, { + + calculateInverses: function () { + + this.boneInverses = []; + + for ( var i = 0, il = this.bones.length; i < il; i ++ ) { + + var inverse = new Matrix4(); + + if ( this.bones[ i ] ) { + + inverse.getInverse( this.bones[ i ].matrixWorld ); + + } + + this.boneInverses.push( inverse ); + + } + + }, + + pose: function () { + + var bone, i, il; + + // recover the bind-time world matrices + + for ( i = 0, il = this.bones.length; i < il; i ++ ) { + + bone = this.bones[ i ]; + + if ( bone ) { + + bone.matrixWorld.getInverse( this.boneInverses[ i ] ); + + } + + } + + // compute the local matrices, positions, rotations and scales + + for ( i = 0, il = this.bones.length; i < il; i ++ ) { + + bone = this.bones[ i ]; + + if ( bone ) { + + if ( bone.parent && bone.parent.isBone ) { + + bone.matrix.getInverse( bone.parent.matrixWorld ); + bone.matrix.multiply( bone.matrixWorld ); + + } else { + + bone.matrix.copy( bone.matrixWorld ); + + } + + bone.matrix.decompose( bone.position, bone.quaternion, bone.scale ); + + } + + } + + }, + + update: ( function () { + + var offsetMatrix = new Matrix4(); + var identityMatrix = new Matrix4(); + + return function update() { + + var bones = this.bones; + var boneInverses = this.boneInverses; + var boneMatrices = this.boneMatrices; + var boneTexture = this.boneTexture; + + // flatten bone matrices to array + + for ( var i = 0, il = bones.length; i < il; i ++ ) { + + // compute the offset between the current and the original transform + + var matrix = bones[ i ] ? bones[ i ].matrixWorld : identityMatrix; + + offsetMatrix.multiplyMatrices( matrix, boneInverses[ i ] ); + offsetMatrix.toArray( boneMatrices, i * 16 ); + + } + + if ( boneTexture !== undefined ) { + + boneTexture.needsUpdate = true; + + } + + }; + + } )(), + + clone: function () { + + return new Skeleton( this.bones, this.boneInverses ); + + } + + } ); + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + * @author ikerr / http://verold.com + */ + + function Bone() { + + Object3D.call( this ); + + this.type = 'Bone'; + + } + + Bone.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Bone, + + isBone: true + + } ); + + /** + * @author mikael emtinger / http://gomo.se/ + * @author alteredq / http://alteredqualia.com/ + * @author ikerr / http://verold.com + */ + + function SkinnedMesh( geometry, material ) { + + Mesh.call( this, geometry, material ); + + this.type = 'SkinnedMesh'; + + this.bindMode = 'attached'; + this.bindMatrix = new Matrix4(); + this.bindMatrixInverse = new Matrix4(); + + var bones = this.initBones(); + var skeleton = new Skeleton( bones ); + + this.bind( skeleton, this.matrixWorld ); + + this.normalizeSkinWeights(); + + } + + SkinnedMesh.prototype = Object.assign( Object.create( Mesh.prototype ), { + + constructor: SkinnedMesh, + + isSkinnedMesh: true, + + initBones: function () { + + var bones = [], bone, gbone; + var i, il; + + if ( this.geometry && this.geometry.bones !== undefined ) { + + // first, create array of 'Bone' objects from geometry data + + for ( i = 0, il = this.geometry.bones.length; i < il; i ++ ) { + + gbone = this.geometry.bones[ i ]; + + // create new 'Bone' object + + bone = new Bone(); + bones.push( bone ); + + // apply values + + bone.name = gbone.name; + bone.position.fromArray( gbone.pos ); + bone.quaternion.fromArray( gbone.rotq ); + if ( gbone.scl !== undefined ) bone.scale.fromArray( gbone.scl ); + + } + + // second, create bone hierarchy + + for ( i = 0, il = this.geometry.bones.length; i < il; i ++ ) { + + gbone = this.geometry.bones[ i ]; + + if ( ( gbone.parent !== - 1 ) && ( gbone.parent !== null ) && ( bones[ gbone.parent ] !== undefined ) ) { + + // subsequent bones in the hierarchy + + bones[ gbone.parent ].add( bones[ i ] ); + + } else { + + // topmost bone, immediate child of the skinned mesh + + this.add( bones[ i ] ); + + } + + } + + } + + // now the bones are part of the scene graph and children of the skinned mesh. + // let's update the corresponding matrices + + this.updateMatrixWorld( true ); + + return bones; + + }, + + bind: function ( skeleton, bindMatrix ) { + + this.skeleton = skeleton; + + if ( bindMatrix === undefined ) { + + this.updateMatrixWorld( true ); + + this.skeleton.calculateInverses(); + + bindMatrix = this.matrixWorld; + + } + + this.bindMatrix.copy( bindMatrix ); + this.bindMatrixInverse.getInverse( bindMatrix ); + + }, + + pose: function () { + + this.skeleton.pose(); + + }, + + normalizeSkinWeights: function () { + + var scale, i; + + if ( this.geometry && this.geometry.isGeometry ) { + + for ( i = 0; i < this.geometry.skinWeights.length; i ++ ) { + + var sw = this.geometry.skinWeights[ i ]; + + scale = 1.0 / sw.lengthManhattan(); + + if ( scale !== Infinity ) { + + sw.multiplyScalar( scale ); + + } else { + + sw.set( 1, 0, 0, 0 ); // do something reasonable + + } + + } + + } else if ( this.geometry && this.geometry.isBufferGeometry ) { + + var vec = new Vector4(); + + var skinWeight = this.geometry.attributes.skinWeight; + + for ( i = 0; i < skinWeight.count; i ++ ) { + + vec.x = skinWeight.getX( i ); + vec.y = skinWeight.getY( i ); + vec.z = skinWeight.getZ( i ); + vec.w = skinWeight.getW( i ); + + scale = 1.0 / vec.lengthManhattan(); + + if ( scale !== Infinity ) { + + vec.multiplyScalar( scale ); + + } else { + + vec.set( 1, 0, 0, 0 ); // do something reasonable + + } + + skinWeight.setXYZW( i, vec.x, vec.y, vec.z, vec.w ); + + } + + } + + }, + + updateMatrixWorld: function ( force ) { + + Mesh.prototype.updateMatrixWorld.call( this, force ); + + if ( this.bindMode === 'attached' ) { + + this.bindMatrixInverse.getInverse( this.matrixWorld ); + + } else if ( this.bindMode === 'detached' ) { + + this.bindMatrixInverse.getInverse( this.bindMatrix ); + + } else { + + console.warn( 'THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode ); + + } + + }, + + clone: function () { + + return new this.constructor( this.geometry, this.material ).copy( this ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * opacity: <float>, + * + * linewidth: <float>, + * linecap: "round", + * linejoin: "round" + * } + */ + + function LineBasicMaterial( parameters ) { + + Material.call( this ); + + this.type = 'LineBasicMaterial'; + + this.color = new Color( 0xffffff ); + + this.linewidth = 1; + this.linecap = 'round'; + this.linejoin = 'round'; + + this.lights = false; + + this.setValues( parameters ); + + } + + LineBasicMaterial.prototype = Object.create( Material.prototype ); + LineBasicMaterial.prototype.constructor = LineBasicMaterial; + + LineBasicMaterial.prototype.isLineBasicMaterial = true; + + LineBasicMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + + this.linewidth = source.linewidth; + this.linecap = source.linecap; + this.linejoin = source.linejoin; + + return this; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function Line( geometry, material, mode ) { + + if ( mode === 1 ) { + + console.warn( 'THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead.' ); + return new LineSegments( geometry, material ); + + } + + Object3D.call( this ); + + this.type = 'Line'; + + this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); + this.material = material !== undefined ? material : new LineBasicMaterial( { color: Math.random() * 0xffffff } ); + + } + + Line.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Line, + + isLine: true, + + raycast: ( function () { + + var inverseMatrix = new Matrix4(); + var ray = new Ray(); + var sphere = new Sphere(); + + return function raycast( raycaster, intersects ) { + + var precision = raycaster.linePrecision; + var precisionSq = precision * precision; + + var geometry = this.geometry; + var matrixWorld = this.matrixWorld; + + // Checking boundingSphere distance to ray + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + sphere.copy( geometry.boundingSphere ); + sphere.applyMatrix4( matrixWorld ); + + if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; + + // + + inverseMatrix.getInverse( matrixWorld ); + ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); + + var vStart = new Vector3(); + var vEnd = new Vector3(); + var interSegment = new Vector3(); + var interRay = new Vector3(); + var step = (this && this.isLineSegments) ? 2 : 1; + + if ( geometry.isBufferGeometry ) { + + var index = geometry.index; + var attributes = geometry.attributes; + var positions = attributes.position.array; + + if ( index !== null ) { + + var indices = index.array; + + for ( var i = 0, l = indices.length - 1; i < l; i += step ) { + + var a = indices[ i ]; + var b = indices[ i + 1 ]; + + vStart.fromArray( positions, a * 3 ); + vEnd.fromArray( positions, b * 3 ); + + var distSq = ray.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); + + if ( distSq > precisionSq ) continue; + + interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation + + var distance = raycaster.ray.origin.distanceTo( interRay ); + + if ( distance < raycaster.near || distance > raycaster.far ) continue; + + intersects.push( { + + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4( this.matrixWorld ), + index: i, + face: null, + faceIndex: null, + object: this + + } ); + + } + + } else { + + for ( var i = 0, l = positions.length / 3 - 1; i < l; i += step ) { + + vStart.fromArray( positions, 3 * i ); + vEnd.fromArray( positions, 3 * i + 3 ); + + var distSq = ray.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); + + if ( distSq > precisionSq ) continue; + + interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation + + var distance = raycaster.ray.origin.distanceTo( interRay ); + + if ( distance < raycaster.near || distance > raycaster.far ) continue; + + intersects.push( { + + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4( this.matrixWorld ), + index: i, + face: null, + faceIndex: null, + object: this + + } ); + + } + + } + + } else if ( geometry.isGeometry ) { + + var vertices = geometry.vertices; + var nbVertices = vertices.length; + + for ( var i = 0; i < nbVertices - 1; i += step ) { + + var distSq = ray.distanceSqToSegment( vertices[ i ], vertices[ i + 1 ], interRay, interSegment ); + + if ( distSq > precisionSq ) continue; + + interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation + + var distance = raycaster.ray.origin.distanceTo( interRay ); + + if ( distance < raycaster.near || distance > raycaster.far ) continue; + + intersects.push( { + + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4( this.matrixWorld ), + index: i, + face: null, + faceIndex: null, + object: this + + } ); + + } + + } + + }; + + }() ), + + clone: function () { + + return new this.constructor( this.geometry, this.material ).copy( this ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function LineSegments( geometry, material ) { + + Line.call( this, geometry, material ); + + this.type = 'LineSegments'; + + } + + LineSegments.prototype = Object.assign( Object.create( Line.prototype ), { + + constructor: LineSegments, + + isLineSegments: true + + } ); + + /** + * @author mgreter / http://github.com/mgreter + */ + + function LineLoop( geometry, material ) { + + Line.call( this, geometry, material ); + + this.type = 'LineLoop'; + + } + + LineLoop.prototype = Object.assign( Object.create( Line.prototype ), { + + constructor: LineLoop, + + isLineLoop: true, + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * opacity: <float>, + * map: new THREE.Texture( <Image> ), + * + * size: <float>, + * sizeAttenuation: <bool> + * } + */ + + function PointsMaterial( parameters ) { + + Material.call( this ); + + this.type = 'PointsMaterial'; + + this.color = new Color( 0xffffff ); + + this.map = null; + + this.size = 1; + this.sizeAttenuation = true; + + this.lights = false; + + this.setValues( parameters ); + + } + + PointsMaterial.prototype = Object.create( Material.prototype ); + PointsMaterial.prototype.constructor = PointsMaterial; + + PointsMaterial.prototype.isPointsMaterial = true; + + PointsMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.size = source.size; + this.sizeAttenuation = source.sizeAttenuation; + + return this; + + }; + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function Points( geometry, material ) { + + Object3D.call( this ); + + this.type = 'Points'; + + this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); + this.material = material !== undefined ? material : new PointsMaterial( { color: Math.random() * 0xffffff } ); + + } + + Points.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Points, + + isPoints: true, + + raycast: ( function () { + + var inverseMatrix = new Matrix4(); + var ray = new Ray(); + var sphere = new Sphere(); + + return function raycast( raycaster, intersects ) { + + var object = this; + var geometry = this.geometry; + var matrixWorld = this.matrixWorld; + var threshold = raycaster.params.Points.threshold; + + // Checking boundingSphere distance to ray + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + sphere.copy( geometry.boundingSphere ); + sphere.applyMatrix4( matrixWorld ); + sphere.radius += threshold; + + if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; + + // + + inverseMatrix.getInverse( matrixWorld ); + ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); + + var localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 ); + var localThresholdSq = localThreshold * localThreshold; + var position = new Vector3(); + + function testPoint( point, index ) { + + var rayPointDistanceSq = ray.distanceSqToPoint( point ); + + if ( rayPointDistanceSq < localThresholdSq ) { + + var intersectPoint = ray.closestPointToPoint( point ); + intersectPoint.applyMatrix4( matrixWorld ); + + var distance = raycaster.ray.origin.distanceTo( intersectPoint ); + + if ( distance < raycaster.near || distance > raycaster.far ) return; + + intersects.push( { + + distance: distance, + distanceToRay: Math.sqrt( rayPointDistanceSq ), + point: intersectPoint.clone(), + index: index, + face: null, + object: object + + } ); + + } + + } + + if ( geometry.isBufferGeometry ) { + + var index = geometry.index; + var attributes = geometry.attributes; + var positions = attributes.position.array; + + if ( index !== null ) { + + var indices = index.array; + + for ( var i = 0, il = indices.length; i < il; i ++ ) { + + var a = indices[ i ]; + + position.fromArray( positions, a * 3 ); + + testPoint( position, a ); + + } + + } else { + + for ( var i = 0, l = positions.length / 3; i < l; i ++ ) { + + position.fromArray( positions, i * 3 ); + + testPoint( position, i ); + + } + + } + + } else { + + var vertices = geometry.vertices; + + for ( var i = 0, l = vertices.length; i < l; i ++ ) { + + testPoint( vertices[ i ], i ); + + } + + } + + }; + + }() ), + + clone: function () { + + return new this.constructor( this.geometry, this.material ).copy( this ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function Group() { + + Object3D.call( this ); + + this.type = 'Group'; + + } + + Group.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Group + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function VideoTexture( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { + + Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); + + this.generateMipmaps = false; + + var scope = this; + + function update() { + + requestAnimationFrame( update ); + + if ( video.readyState >= video.HAVE_CURRENT_DATA ) { + + scope.needsUpdate = true; + + } + + } + + update(); + + } + + VideoTexture.prototype = Object.create( Texture.prototype ); + VideoTexture.prototype.constructor = VideoTexture; + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function CompressedTexture( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { + + Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + + this.image = { width: width, height: height }; + this.mipmaps = mipmaps; + + // no flipping for cube textures + // (also flipping doesn't work for compressed textures ) + + this.flipY = false; + + // can't generate mipmaps for compressed textures + // mips must be embedded in DDS files + + this.generateMipmaps = false; + + } + + CompressedTexture.prototype = Object.create( Texture.prototype ); + CompressedTexture.prototype.constructor = CompressedTexture; + + CompressedTexture.prototype.isCompressedTexture = true; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function CanvasTexture( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { + + Texture.call( this, canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); + + this.needsUpdate = true; + + } + + CanvasTexture.prototype = Object.create( Texture.prototype ); + CanvasTexture.prototype.constructor = CanvasTexture; + + /** + * @author Matt DesLauriers / @mattdesl + * @author atix / arthursilber.de + */ + + function DepthTexture( width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format ) { + + format = format !== undefined ? format : DepthFormat; + + if ( format !== DepthFormat && format !== DepthStencilFormat ) { + + throw new Error( 'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat' ) + + } + + if ( type === undefined && format === DepthFormat ) type = UnsignedShortType; + if ( type === undefined && format === DepthStencilFormat ) type = UnsignedInt248Type; + + Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); + + this.image = { width: width, height: height }; + + this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; + this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; + + this.flipY = false; + this.generateMipmaps = false; + + } + + DepthTexture.prototype = Object.create( Texture.prototype ); + DepthTexture.prototype.constructor = DepthTexture; + DepthTexture.prototype.isDepthTexture = true; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / https://github.com/Mugen87 + */ + + function WireframeGeometry( geometry ) { + + BufferGeometry.call( this ); + + this.type = 'WireframeGeometry'; + + // buffer + + var vertices = []; + + // helper variables + + var i, j, l, o, ol; + var edge = [ 0, 0 ], edges = {}, e, edge1, edge2; + var key, keys = [ 'a', 'b', 'c' ]; + var vertex; + + // different logic for Geometry and BufferGeometry + + if ( geometry && geometry.isGeometry ) { + + // create a data structure that contains all edges without duplicates + + var faces = geometry.faces; + + for ( i = 0, l = faces.length; i < l; i ++ ) { + + var face = faces[ i ]; + + for ( j = 0; j < 3; j ++ ) { + + edge1 = face[ keys[ j ] ]; + edge2 = face[ keys[ ( j + 1 ) % 3 ] ]; + edge[ 0 ] = Math.min( edge1, edge2 ); // sorting prevents duplicates + edge[ 1 ] = Math.max( edge1, edge2 ); + + key = edge[ 0 ] + ',' + edge[ 1 ]; + + if ( edges[ key ] === undefined ) { + + edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ] }; + + } + + } + + } + + // generate vertices + + for ( key in edges ) { + + e = edges[ key ]; + + vertex = geometry.vertices[ e.index1 ]; + vertices.push( vertex.x, vertex.y, vertex.z ); + + vertex = geometry.vertices[ e.index2 ]; + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + } else if ( geometry && geometry.isBufferGeometry ) { + + var position, indices, groups; + var group, start, count; + var index1, index2; + + vertex = new Vector3(); + + if ( geometry.index !== null ) { + + // indexed BufferGeometry + + position = geometry.attributes.position; + indices = geometry.index; + groups = geometry.groups; + + if ( groups.length === 0 ) { + + groups = [ { start: 0, count: indices.count, materialIndex: 0 } ]; + + } + + // create a data structure that contains all eges without duplicates + + for ( o = 0, ol = groups.length; o < ol; ++ o ) { + + group = groups[ o ]; + + start = group.start; + count = group.count; + + for ( i = start, l = ( start + count ); i < l; i += 3 ) { + + for ( j = 0; j < 3; j ++ ) { + + edge1 = indices.getX( i + j ); + edge2 = indices.getX( i + ( j + 1 ) % 3 ); + edge[ 0 ] = Math.min( edge1, edge2 ); // sorting prevents duplicates + edge[ 1 ] = Math.max( edge1, edge2 ); + + key = edge[ 0 ] + ',' + edge[ 1 ]; + + if ( edges[ key ] === undefined ) { + + edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ] }; + + } + + } + + } + + } + + // generate vertices + + for ( key in edges ) { + + e = edges[ key ]; + + vertex.fromBufferAttribute( position, e.index1 ); + vertices.push( vertex.x, vertex.y, vertex.z ); + + vertex.fromBufferAttribute( position, e.index2 ); + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + } else { + + // non-indexed BufferGeometry + + position = geometry.attributes.position; + + for ( i = 0, l = ( position.count / 3 ); i < l; i ++ ) { + + for ( j = 0; j < 3; j ++ ) { + + // three edges per triangle, an edge is represented as (index1, index2) + // e.g. the first triangle has the following edges: (0,1),(1,2),(2,0) + + index1 = 3 * i + j; + vertex.fromBufferAttribute( position, index1 ); + vertices.push( vertex.x, vertex.y, vertex.z ); + + index2 = 3 * i + ( ( j + 1 ) % 3 ); + vertex.fromBufferAttribute( position, index2 ); + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + } + + } + + } + + // build geometry + + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + + } + + WireframeGeometry.prototype = Object.create( BufferGeometry.prototype ); + WireframeGeometry.prototype.constructor = WireframeGeometry; + + /** + * @author zz85 / https://github.com/zz85 + * @author Mugen87 / https://github.com/Mugen87 + * + * Parametric Surfaces Geometry + * based on the brilliant article by @prideout http://prideout.net/blog/?p=44 + */ + + // ParametricGeometry + + function ParametricGeometry( func, slices, stacks ) { + + Geometry.call( this ); + + this.type = 'ParametricGeometry'; + + this.parameters = { + func: func, + slices: slices, + stacks: stacks + }; + + this.fromBufferGeometry( new ParametricBufferGeometry( func, slices, stacks ) ); + this.mergeVertices(); + + } + + ParametricGeometry.prototype = Object.create( Geometry.prototype ); + ParametricGeometry.prototype.constructor = ParametricGeometry; + + // ParametricBufferGeometry + + function ParametricBufferGeometry( func, slices, stacks ) { + + BufferGeometry.call( this ); + + this.type = 'ParametricBufferGeometry'; + + this.parameters = { + func: func, + slices: slices, + stacks: stacks + }; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + var EPS = 0.00001; + + var normal = new Vector3(); + + var p0 = new Vector3(), p1 = new Vector3(); + var pu = new Vector3(), pv = new Vector3(); + + var i, j; + + // generate vertices, normals and uvs + + var sliceCount = slices + 1; + + for ( i = 0; i <= stacks; i ++ ) { + + var v = i / stacks; + + for ( j = 0; j <= slices; j ++ ) { + + var u = j / slices; + + // vertex + + p0 = func( u, v, p0 ); + vertices.push( p0.x, p0.y, p0.z ); + + // normal + + // approximate tangent vectors via finite differences + + if ( u - EPS >= 0 ) { + + p1 = func( u - EPS, v, p1 ); + pu.subVectors( p0, p1 ); + + } else { + + p1 = func( u + EPS, v, p1 ); + pu.subVectors( p1, p0 ); + + } + + if ( v - EPS >= 0 ) { + + p1 = func( u, v - EPS, p1 ); + pv.subVectors( p0, p1 ); + + } else { + + p1 = func( u, v + EPS, p1 ); + pv.subVectors( p1, p0 ); + + } + + // cross product of tangent vectors returns surface normal + + normal.crossVectors( pu, pv ).normalize(); + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( u, v ); + + } + + } + + // generate indices + + for ( i = 0; i < stacks; i ++ ) { + + for ( j = 0; j < slices; j ++ ) { + + var a = i * sliceCount + j; + var b = i * sliceCount + j + 1; + var c = ( i + 1 ) * sliceCount + j + 1; + var d = ( i + 1 ) * sliceCount + j; + + // faces one and two + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + ParametricBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + ParametricBufferGeometry.prototype.constructor = ParametricBufferGeometry; + + /** + * @author clockworkgeek / https://github.com/clockworkgeek + * @author timothypratley / https://github.com/timothypratley + * @author WestLangley / http://github.com/WestLangley + * @author Mugen87 / https://github.com/Mugen87 + */ + + // PolyhedronGeometry + + function PolyhedronGeometry( vertices, indices, radius, detail ) { + + Geometry.call( this ); + + this.type = 'PolyhedronGeometry'; + + this.parameters = { + vertices: vertices, + indices: indices, + radius: radius, + detail: detail + }; + + this.fromBufferGeometry( new PolyhedronBufferGeometry( vertices, indices, radius, detail ) ); + this.mergeVertices(); + + } + + PolyhedronGeometry.prototype = Object.create( Geometry.prototype ); + PolyhedronGeometry.prototype.constructor = PolyhedronGeometry; + + // PolyhedronBufferGeometry + + function PolyhedronBufferGeometry( vertices, indices, radius, detail ) { + + BufferGeometry.call( this ); + + this.type = 'PolyhedronBufferGeometry'; + + this.parameters = { + vertices: vertices, + indices: indices, + radius: radius, + detail: detail + }; + + radius = radius || 1; + detail = detail || 0; + + // default buffer data + + var vertexBuffer = []; + var uvBuffer = []; + + // the subdivision creates the vertex buffer data + + subdivide( detail ); + + // all vertices should lie on a conceptual sphere with a given radius + + appplyRadius( radius ); + + // finally, create the uv data + + generateUVs(); + + // build non-indexed geometry + + this.addAttribute( 'position', new Float32BufferAttribute( vertexBuffer, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( vertexBuffer.slice(), 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvBuffer, 2 ) ); + this.normalizeNormals(); + + // helper functions + + function subdivide( detail ) { + + var a = new Vector3(); + var b = new Vector3(); + var c = new Vector3(); + + // iterate over all faces and apply a subdivison with the given detail value + + for ( var i = 0; i < indices.length; i += 3 ) { + + // get the vertices of the face + + getVertexByIndex( indices[ i + 0 ], a ); + getVertexByIndex( indices[ i + 1 ], b ); + getVertexByIndex( indices[ i + 2 ], c ); + + // perform subdivision + + subdivideFace( a, b, c, detail ); + + } + + } + + function subdivideFace( a, b, c, detail ) { + + var cols = Math.pow( 2, detail ); + + // we use this multidimensional array as a data structure for creating the subdivision + + var v = []; + + var i, j; + + // construct all of the vertices for this subdivision + + for ( i = 0; i <= cols; i ++ ) { + + v[ i ] = []; + + var aj = a.clone().lerp( c, i / cols ); + var bj = b.clone().lerp( c, i / cols ); + + var rows = cols - i; + + for ( j = 0; j <= rows; j ++ ) { + + if ( j === 0 && i === cols ) { + + v[ i ][ j ] = aj; + + } else { + + v[ i ][ j ] = aj.clone().lerp( bj, j / rows ); + + } + + } + + } + + // construct all of the faces + + for ( i = 0; i < cols; i ++ ) { + + for ( j = 0; j < 2 * ( cols - i ) - 1; j ++ ) { + + var k = Math.floor( j / 2 ); + + if ( j % 2 === 0 ) { + + pushVertex( v[ i ][ k + 1 ] ); + pushVertex( v[ i + 1 ][ k ] ); + pushVertex( v[ i ][ k ] ); + + } else { + + pushVertex( v[ i ][ k + 1 ] ); + pushVertex( v[ i + 1 ][ k + 1 ] ); + pushVertex( v[ i + 1 ][ k ] ); + + } + + } + + } + + } + + function appplyRadius( radius ) { + + var vertex = new Vector3(); + + // iterate over the entire buffer and apply the radius to each vertex + + for ( var i = 0; i < vertexBuffer.length; i += 3 ) { + + vertex.x = vertexBuffer[ i + 0 ]; + vertex.y = vertexBuffer[ i + 1 ]; + vertex.z = vertexBuffer[ i + 2 ]; + + vertex.normalize().multiplyScalar( radius ); + + vertexBuffer[ i + 0 ] = vertex.x; + vertexBuffer[ i + 1 ] = vertex.y; + vertexBuffer[ i + 2 ] = vertex.z; + + } + + } + + function generateUVs() { + + var vertex = new Vector3(); + + for ( var i = 0; i < vertexBuffer.length; i += 3 ) { + + vertex.x = vertexBuffer[ i + 0 ]; + vertex.y = vertexBuffer[ i + 1 ]; + vertex.z = vertexBuffer[ i + 2 ]; + + var u = azimuth( vertex ) / 2 / Math.PI + 0.5; + var v = inclination( vertex ) / Math.PI + 0.5; + uvBuffer.push( u, 1 - v ); + + } + + correctUVs(); + + correctSeam(); + + } + + function correctSeam() { + + // handle case when face straddles the seam, see #3269 + + for ( var i = 0; i < uvBuffer.length; i += 6 ) { + + // uv data of a single face + + var x0 = uvBuffer[ i + 0 ]; + var x1 = uvBuffer[ i + 2 ]; + var x2 = uvBuffer[ i + 4 ]; + + var max = Math.max( x0, x1, x2 ); + var min = Math.min( x0, x1, x2 ); + + // 0.9 is somewhat arbitrary + + if ( max > 0.9 && min < 0.1 ) { + + if ( x0 < 0.2 ) uvBuffer[ i + 0 ] += 1; + if ( x1 < 0.2 ) uvBuffer[ i + 2 ] += 1; + if ( x2 < 0.2 ) uvBuffer[ i + 4 ] += 1; + + } + + } + + } + + function pushVertex( vertex ) { + + vertexBuffer.push( vertex.x, vertex.y, vertex.z ); + + } + + function getVertexByIndex( index, vertex ) { + + var stride = index * 3; + + vertex.x = vertices[ stride + 0 ]; + vertex.y = vertices[ stride + 1 ]; + vertex.z = vertices[ stride + 2 ]; + + } + + function correctUVs() { + + var a = new Vector3(); + var b = new Vector3(); + var c = new Vector3(); + + var centroid = new Vector3(); + + var uvA = new Vector2(); + var uvB = new Vector2(); + var uvC = new Vector2(); + + for ( var i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6 ) { + + a.set( vertexBuffer[ i + 0 ], vertexBuffer[ i + 1 ], vertexBuffer[ i + 2 ] ); + b.set( vertexBuffer[ i + 3 ], vertexBuffer[ i + 4 ], vertexBuffer[ i + 5 ] ); + c.set( vertexBuffer[ i + 6 ], vertexBuffer[ i + 7 ], vertexBuffer[ i + 8 ] ); + + uvA.set( uvBuffer[ j + 0 ], uvBuffer[ j + 1 ] ); + uvB.set( uvBuffer[ j + 2 ], uvBuffer[ j + 3 ] ); + uvC.set( uvBuffer[ j + 4 ], uvBuffer[ j + 5 ] ); + + centroid.copy( a ).add( b ).add( c ).divideScalar( 3 ); + + var azi = azimuth( centroid ); + + correctUV( uvA, j + 0, a, azi ); + correctUV( uvB, j + 2, b, azi ); + correctUV( uvC, j + 4, c, azi ); + + } + + } + + function correctUV( uv, stride, vector, azimuth ) { + + if ( ( azimuth < 0 ) && ( uv.x === 1 ) ) { + + uvBuffer[ stride ] = uv.x - 1; + + } + + if ( ( vector.x === 0 ) && ( vector.z === 0 ) ) { + + uvBuffer[ stride ] = azimuth / 2 / Math.PI + 0.5; + + } + + } + + // Angle around the Y axis, counter-clockwise when looking from above. + + function azimuth( vector ) { + + return Math.atan2( vector.z, - vector.x ); + + } + + + // Angle above the XZ plane. + + function inclination( vector ) { + + return Math.atan2( - vector.y, Math.sqrt( ( vector.x * vector.x ) + ( vector.z * vector.z ) ) ); + + } + + } + + PolyhedronBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + PolyhedronBufferGeometry.prototype.constructor = PolyhedronBufferGeometry; + + /** + * @author timothypratley / https://github.com/timothypratley + * @author Mugen87 / https://github.com/Mugen87 + */ + + // TetrahedronGeometry + + function TetrahedronGeometry( radius, detail ) { + + Geometry.call( this ); + + this.type = 'TetrahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + this.fromBufferGeometry( new TetrahedronBufferGeometry( radius, detail ) ); + this.mergeVertices(); + + } + + TetrahedronGeometry.prototype = Object.create( Geometry.prototype ); + TetrahedronGeometry.prototype.constructor = TetrahedronGeometry; + + // TetrahedronBufferGeometry + + function TetrahedronBufferGeometry( radius, detail ) { + + var vertices = [ + 1, 1, 1, - 1, - 1, 1, - 1, 1, - 1, 1, - 1, - 1 + ]; + + var indices = [ + 2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1 + ]; + + PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); + + this.type = 'TetrahedronBufferGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + TetrahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); + TetrahedronBufferGeometry.prototype.constructor = TetrahedronBufferGeometry; + + /** + * @author timothypratley / https://github.com/timothypratley + * @author Mugen87 / https://github.com/Mugen87 + */ + + // OctahedronGeometry + + function OctahedronGeometry( radius, detail ) { + + Geometry.call( this ); + + this.type = 'OctahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + this.fromBufferGeometry( new OctahedronBufferGeometry( radius, detail ) ); + this.mergeVertices(); + + } + + OctahedronGeometry.prototype = Object.create( Geometry.prototype ); + OctahedronGeometry.prototype.constructor = OctahedronGeometry; + + // OctahedronBufferGeometry + + function OctahedronBufferGeometry( radius, detail ) { + + var vertices = [ + 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, - 1 + ]; + + var indices = [ + 0, 2, 4, 0, 4, 3, 0, 3, 5, 0, 5, 2, 1, 2, 5, 1, 5, 3, 1, 3, 4, 1, 4, 2 + ]; + + PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); + + this.type = 'OctahedronBufferGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + OctahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); + OctahedronBufferGeometry.prototype.constructor = OctahedronBufferGeometry; + + /** + * @author timothypratley / https://github.com/timothypratley + * @author Mugen87 / https://github.com/Mugen87 + */ + + // IcosahedronGeometry + + function IcosahedronGeometry( radius, detail ) { + + Geometry.call( this ); + + this.type = 'IcosahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + this.fromBufferGeometry( new IcosahedronBufferGeometry( radius, detail ) ); + this.mergeVertices(); + + } + + IcosahedronGeometry.prototype = Object.create( Geometry.prototype ); + IcosahedronGeometry.prototype.constructor = IcosahedronGeometry; + + // IcosahedronBufferGeometry + + function IcosahedronBufferGeometry( radius, detail ) { + + var t = ( 1 + Math.sqrt( 5 ) ) / 2; + + var vertices = [ + - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, 0, + 0, - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, + t, 0, - 1, t, 0, 1, - t, 0, - 1, - t, 0, 1 + ]; + + var indices = [ + 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 + ]; + + PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); + + this.type = 'IcosahedronBufferGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + IcosahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); + IcosahedronBufferGeometry.prototype.constructor = IcosahedronBufferGeometry; + + /** + * @author Abe Pazos / https://hamoid.com + * @author Mugen87 / https://github.com/Mugen87 + */ + + // DodecahedronGeometry + + function DodecahedronGeometry( radius, detail ) { + + Geometry.call( this ); + + this.type = 'DodecahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + this.fromBufferGeometry( new DodecahedronBufferGeometry( radius, detail ) ); + this.mergeVertices(); + + } + + DodecahedronGeometry.prototype = Object.create( Geometry.prototype ); + DodecahedronGeometry.prototype.constructor = DodecahedronGeometry; + + // DodecahedronBufferGeometry + + function DodecahedronBufferGeometry( radius, detail ) { + + var t = ( 1 + Math.sqrt( 5 ) ) / 2; + var r = 1 / t; + + var vertices = [ + + // (±1, ±1, ±1) + - 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, ±1/φ, ±φ) + 0, - r, - t, 0, - r, t, + 0, r, - t, 0, r, t, + + // (±1/φ, ±φ, 0) + - r, - t, 0, - r, t, 0, + r, - t, 0, r, t, 0, + + // (±φ, 0, ±1/φ) + - t, 0, - r, t, 0, - r, + - t, 0, r, t, 0, r + ]; + + var indices = [ + 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 + ]; + + PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); + + this.type = 'DodecahedronBufferGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + DodecahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); + DodecahedronBufferGeometry.prototype.constructor = DodecahedronBufferGeometry; + + /** + * @author oosmoxiecode / https://github.com/oosmoxiecode + * @author WestLangley / https://github.com/WestLangley + * @author zz85 / https://github.com/zz85 + * @author miningold / https://github.com/miningold + * @author jonobr1 / https://github.com/jonobr1 + * @author Mugen87 / https://github.com/Mugen87 + * + */ + + // TubeGeometry + + function TubeGeometry( path, tubularSegments, radius, radialSegments, closed, taper ) { + + Geometry.call( this ); + + this.type = 'TubeGeometry'; + + this.parameters = { + path: path, + tubularSegments: tubularSegments, + radius: radius, + radialSegments: radialSegments, + closed: closed + }; + + if ( taper !== undefined ) console.warn( 'THREE.TubeGeometry: taper has been removed.' ); + + var bufferGeometry = new TubeBufferGeometry( path, tubularSegments, radius, radialSegments, closed ); + + // expose internals + + this.tangents = bufferGeometry.tangents; + this.normals = bufferGeometry.normals; + this.binormals = bufferGeometry.binormals; + + // create geometry + + this.fromBufferGeometry( bufferGeometry ); + this.mergeVertices(); + + } + + TubeGeometry.prototype = Object.create( Geometry.prototype ); + TubeGeometry.prototype.constructor = TubeGeometry; + + // TubeBufferGeometry + + function TubeBufferGeometry( path, tubularSegments, radius, radialSegments, closed ) { + + BufferGeometry.call( this ); + + this.type = 'TubeBufferGeometry'; + + this.parameters = { + path: path, + tubularSegments: tubularSegments, + radius: radius, + radialSegments: radialSegments, + closed: closed + }; + + tubularSegments = tubularSegments || 64; + radius = radius || 1; + radialSegments = radialSegments || 8; + closed = closed || false; + + var frames = path.computeFrenetFrames( tubularSegments, closed ); + + // expose internals + + this.tangents = frames.tangents; + this.normals = frames.normals; + this.binormals = frames.binormals; + + // helper variables + + var vertex = new Vector3(); + var normal = new Vector3(); + var uv = new Vector2(); + + var i, j; + + // buffer + + var vertices = []; + var normals = []; + var uvs = []; + var indices = []; + + // create buffer data + + generateBufferData(); + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + // functions + + function generateBufferData() { + + for ( i = 0; i < tubularSegments; i ++ ) { + + generateSegment( i ); + + } + + // if the geometry is not closed, generate the last row of vertices and normals + // at the regular position on the given path + // + // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ) + + generateSegment( ( closed === false ) ? tubularSegments : 0 ); + + // uvs are generated in a separate function. + // this makes it easy compute correct values for closed geometries + + generateUVs(); + + // finally create faces + + generateIndices(); + + } + + function generateSegment( i ) { + + // we use getPointAt to sample evenly distributed points from the given path + + var P = path.getPointAt( i / tubularSegments ); + + // retrieve corresponding normal and binormal + + var N = frames.normals[ i ]; + var B = frames.binormals[ i ]; + + // generate normals and vertices for the current segment + + for ( j = 0; j <= radialSegments; j ++ ) { + + var v = j / radialSegments * Math.PI * 2; + + var sin = Math.sin( v ); + var cos = - Math.cos( v ); + + // normal + + normal.x = ( cos * N.x + sin * B.x ); + normal.y = ( cos * N.y + sin * B.y ); + normal.z = ( cos * N.z + sin * B.z ); + normal.normalize(); + + normals.push( normal.x, normal.y, normal.z ); + + // vertex + + vertex.x = P.x + radius * normal.x; + vertex.y = P.y + radius * normal.y; + vertex.z = P.z + radius * normal.z; + + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + } + + function generateIndices() { + + for ( j = 1; j <= tubularSegments; j ++ ) { + + for ( i = 1; i <= radialSegments; i ++ ) { + + var a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); + var b = ( radialSegments + 1 ) * j + ( i - 1 ); + var c = ( radialSegments + 1 ) * j + i; + var d = ( radialSegments + 1 ) * ( j - 1 ) + i; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + } + + function generateUVs() { + + for ( i = 0; i <= tubularSegments; i ++ ) { + + for ( j = 0; j <= radialSegments; j ++ ) { + + uv.x = i / tubularSegments; + uv.y = j / radialSegments; + + uvs.push( uv.x, uv.y ); + + } + + } + + } + + } + + TubeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + TubeBufferGeometry.prototype.constructor = TubeBufferGeometry; + + /** + * @author oosmoxiecode + * @author Mugen87 / https://github.com/Mugen87 + * + * based on http://www.blackpawn.com/texts/pqtorus/ + */ + + // TorusKnotGeometry + + function TorusKnotGeometry( radius, tube, tubularSegments, radialSegments, p, q, heightScale ) { + + Geometry.call( this ); + + this.type = 'TorusKnotGeometry'; + + this.parameters = { + radius: radius, + tube: tube, + tubularSegments: tubularSegments, + radialSegments: radialSegments, + p: p, + q: q + }; + + if ( heightScale !== undefined ) console.warn( 'THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.' ); + + this.fromBufferGeometry( new TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) ); + this.mergeVertices(); + + } + + TorusKnotGeometry.prototype = Object.create( Geometry.prototype ); + TorusKnotGeometry.prototype.constructor = TorusKnotGeometry; + + // TorusKnotBufferGeometry + + function TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) { + + BufferGeometry.call( this ); + + this.type = 'TorusKnotBufferGeometry'; + + this.parameters = { + radius: radius, + tube: tube, + tubularSegments: tubularSegments, + radialSegments: radialSegments, + p: p, + q: q + }; + + radius = radius || 100; + tube = tube || 40; + tubularSegments = Math.floor( tubularSegments ) || 64; + radialSegments = Math.floor( radialSegments ) || 8; + p = p || 2; + q = q || 3; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // helper variables + + var i, j; + + var vertex = new Vector3(); + var normal = new Vector3(); + + var P1 = new Vector3(); + var P2 = new Vector3(); + + var B = new Vector3(); + var T = new Vector3(); + var N = new Vector3(); + + // generate vertices, normals and uvs + + for ( i = 0; i <= tubularSegments; ++ i ) { + + // the radian "u" is used to calculate the position on the torus curve of the current tubular segement + + var u = i / tubularSegments * p * Math.PI * 2; + + // now we calculate two points. P1 is our current position on the curve, P2 is a little farther ahead. + // these points are used to create a special "coordinate space", which is necessary to calculate the correct vertex positions + + calculatePositionOnCurve( u, p, q, radius, P1 ); + calculatePositionOnCurve( u + 0.01, p, q, radius, P2 ); + + // calculate orthonormal basis + + T.subVectors( P2, P1 ); + N.addVectors( P2, P1 ); + B.crossVectors( T, N ); + N.crossVectors( B, T ); + + // normalize B, N. T can be ignored, we don't use it + + B.normalize(); + N.normalize(); + + for ( j = 0; j <= radialSegments; ++ j ) { + + // now calculate the vertices. they are nothing more than an extrusion of the torus curve. + // because we extrude a shape in the xy-plane, there is no need to calculate a z-value. + + var v = j / radialSegments * Math.PI * 2; + var cx = - tube * Math.cos( v ); + var cy = tube * Math.sin( v ); + + // now calculate the final vertex position. + // first we orient the extrusion with our basis vectos, then we add it to the current position on the curve + + vertex.x = P1.x + ( cx * N.x + cy * B.x ); + vertex.y = P1.y + ( cx * N.y + cy * B.y ); + vertex.z = P1.z + ( cx * N.z + cy * B.z ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal (P1 is always the center/origin of the extrusion, thus we can use it to calculate the normal) + + normal.subVectors( vertex, P1 ).normalize(); + + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( i / tubularSegments ); + uvs.push( j / radialSegments ); + + } + + } + + // generate indices + + for ( j = 1; j <= tubularSegments; j ++ ) { + + for ( i = 1; i <= radialSegments; i ++ ) { + + // indices + + var a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); + var b = ( radialSegments + 1 ) * j + ( i - 1 ); + var c = ( radialSegments + 1 ) * j + i; + var d = ( radialSegments + 1 ) * ( j - 1 ) + i; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + // this function calculates the current position on the torus curve + + function calculatePositionOnCurve( u, p, q, radius, position ) { + + var cu = Math.cos( u ); + var su = Math.sin( u ); + var quOverP = q / p * u; + var cs = Math.cos( quOverP ); + + position.x = radius * ( 2 + cs ) * 0.5 * cu; + position.y = radius * ( 2 + cs ) * su * 0.5; + position.z = radius * Math.sin( quOverP ) * 0.5; + + } + + } + + TorusKnotBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + TorusKnotBufferGeometry.prototype.constructor = TorusKnotBufferGeometry; + + /** + * @author oosmoxiecode + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / https://github.com/Mugen87 + */ + + // TorusGeometry + + function TorusGeometry( radius, tube, radialSegments, tubularSegments, arc ) { + + Geometry.call( this ); + + this.type = 'TorusGeometry'; + + this.parameters = { + radius: radius, + tube: tube, + radialSegments: radialSegments, + tubularSegments: tubularSegments, + arc: arc + }; + + this.fromBufferGeometry( new TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) ); + this.mergeVertices(); + + } + + TorusGeometry.prototype = Object.create( Geometry.prototype ); + TorusGeometry.prototype.constructor = TorusGeometry; + + // TorusBufferGeometry + + function TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) { + + BufferGeometry.call( this ); + + this.type = 'TorusBufferGeometry'; + + this.parameters = { + radius: radius, + tube: tube, + radialSegments: radialSegments, + tubularSegments: tubularSegments, + arc: arc + }; + + radius = radius || 100; + tube = tube || 40; + radialSegments = Math.floor( radialSegments ) || 8; + tubularSegments = Math.floor( tubularSegments ) || 6; + arc = arc || Math.PI * 2; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // helper variables + + var center = new Vector3(); + var vertex = new Vector3(); + var normal = new Vector3(); + + var j, i; + + // generate vertices, normals and uvs + + for ( j = 0; j <= radialSegments; j ++ ) { + + for ( i = 0; i <= tubularSegments; i ++ ) { + + var u = i / tubularSegments * arc; + var v = j / radialSegments * Math.PI * 2; + + // vertex + + vertex.x = ( radius + tube * Math.cos( v ) ) * Math.cos( u ); + vertex.y = ( radius + tube * Math.cos( v ) ) * Math.sin( u ); + vertex.z = tube * Math.sin( v ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + center.x = radius * Math.cos( u ); + center.y = radius * Math.sin( u ); + normal.subVectors( vertex, center ).normalize(); + + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( i / tubularSegments ); + uvs.push( j / radialSegments ); + + } + + } + + // generate indices + + for ( j = 1; j <= radialSegments; j ++ ) { + + for ( i = 1; i <= tubularSegments; i ++ ) { + + // indices + + var a = ( tubularSegments + 1 ) * j + i - 1; + var b = ( tubularSegments + 1 ) * ( j - 1 ) + i - 1; + var c = ( tubularSegments + 1 ) * ( j - 1 ) + i; + var d = ( tubularSegments + 1 ) * j + i; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + TorusBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + TorusBufferGeometry.prototype.constructor = TorusBufferGeometry; + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + */ + + var ShapeUtils = { + + // calculate area of the contour polygon + + area: function ( contour ) { + + var n = contour.length; + var a = 0.0; + + for ( var p = n - 1, q = 0; q < n; p = q ++ ) { + + a += contour[ p ].x * contour[ q ].y - contour[ q ].x * contour[ p ].y; + + } + + return a * 0.5; + + }, + + triangulate: ( function () { + + /** + * This code is a quick port of code written in C++ which was submitted to + * flipcode.com by John W. Ratcliff // July 22, 2000 + * See original code and more information here: + * http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml + * + * ported to actionscript by Zevan Rosser + * www.actionsnippet.com + * + * ported to javascript by Joshua Koo + * http://www.lab4games.net/zz85/blog + * + */ + + function snip( contour, u, v, w, n, verts ) { + + var p; + var ax, ay, bx, by; + var cx, cy, px, py; + + ax = contour[ verts[ u ] ].x; + ay = contour[ verts[ u ] ].y; + + bx = contour[ verts[ v ] ].x; + by = contour[ verts[ v ] ].y; + + cx = contour[ verts[ w ] ].x; + cy = contour[ verts[ w ] ].y; + + if ( ( bx - ax ) * ( cy - ay ) - ( by - ay ) * ( cx - ax ) <= 0 ) return false; + + var aX, aY, bX, bY, cX, cY; + var apx, apy, bpx, bpy, cpx, cpy; + var cCROSSap, bCROSScp, aCROSSbp; + + aX = cx - bx; aY = cy - by; + bX = ax - cx; bY = ay - cy; + cX = bx - ax; cY = by - ay; + + for ( p = 0; p < n; p ++ ) { + + px = contour[ verts[ p ] ].x; + py = contour[ verts[ p ] ].y; + + if ( ( ( px === ax ) && ( py === ay ) ) || + ( ( px === bx ) && ( py === by ) ) || + ( ( px === cx ) && ( py === cy ) ) ) continue; + + apx = px - ax; apy = py - ay; + bpx = px - bx; bpy = py - by; + cpx = px - cx; cpy = py - cy; + + // see if p is inside triangle abc + + aCROSSbp = aX * bpy - aY * bpx; + cCROSSap = cX * apy - cY * apx; + bCROSScp = bX * cpy - bY * cpx; + + if ( ( aCROSSbp >= - Number.EPSILON ) && ( bCROSScp >= - Number.EPSILON ) && ( cCROSSap >= - Number.EPSILON ) ) return false; + + } + + return true; + + } + + // takes in an contour array and returns + + return function triangulate( contour, indices ) { + + var n = contour.length; + + if ( n < 3 ) return null; + + var result = [], + verts = [], + vertIndices = []; + + /* we want a counter-clockwise polygon in verts */ + + var u, v, w; + + if ( ShapeUtils.area( contour ) > 0.0 ) { + + for ( v = 0; v < n; v ++ ) verts[ v ] = v; + + } else { + + for ( v = 0; v < n; v ++ ) verts[ v ] = ( n - 1 ) - v; + + } + + var nv = n; + + /* remove nv - 2 vertices, creating 1 triangle every time */ + + var count = 2 * nv; /* error detection */ + + for ( v = nv - 1; nv > 2; ) { + + /* if we loop, it is probably a non-simple polygon */ + + if ( ( count -- ) <= 0 ) { + + //** Triangulate: ERROR - probable bad polygon! + + //throw ( "Warning, unable to triangulate polygon!" ); + //return null; + // Sometimes warning is fine, especially polygons are triangulated in reverse. + console.warn( 'THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()' ); + + if ( indices ) return vertIndices; + return result; + + } + + /* three consecutive vertices in current polygon, <u,v,w> */ + + u = v; if ( nv <= u ) u = 0; /* previous */ + v = u + 1; if ( nv <= v ) v = 0; /* new v */ + w = v + 1; if ( nv <= w ) w = 0; /* next */ + + if ( snip( contour, u, v, w, nv, verts ) ) { + + var a, b, c, s, t; + + /* true names of the vertices */ + + a = verts[ u ]; + b = verts[ v ]; + c = verts[ w ]; + + /* output Triangle */ + + result.push( [ contour[ a ], + contour[ b ], + contour[ c ] ] ); + + + vertIndices.push( [ verts[ u ], verts[ v ], verts[ w ] ] ); + + /* remove v from the remaining polygon */ + + for ( s = v, t = v + 1; t < nv; s ++, t ++ ) { + + verts[ s ] = verts[ t ]; + + } + + nv --; + + /* reset error detection counter */ + + count = 2 * nv; + + } + + } + + if ( indices ) return vertIndices; + return result; + + } + + } )(), + + triangulateShape: function ( contour, holes ) { + + function removeDupEndPts(points) { + + var l = points.length; + + if ( l > 2 && points[ l - 1 ].equals( points[ 0 ] ) ) { + + points.pop(); + + } + + } + + removeDupEndPts( contour ); + holes.forEach( removeDupEndPts ); + + function point_in_segment_2D_colin( inSegPt1, inSegPt2, inOtherPt ) { + + // inOtherPt needs to be collinear to the inSegment + if ( inSegPt1.x !== inSegPt2.x ) { + + if ( inSegPt1.x < inSegPt2.x ) { + + return ( ( inSegPt1.x <= inOtherPt.x ) && ( inOtherPt.x <= inSegPt2.x ) ); + + } else { + + return ( ( inSegPt2.x <= inOtherPt.x ) && ( inOtherPt.x <= inSegPt1.x ) ); + + } + + } else { + + if ( inSegPt1.y < inSegPt2.y ) { + + return ( ( inSegPt1.y <= inOtherPt.y ) && ( inOtherPt.y <= inSegPt2.y ) ); + + } else { + + return ( ( inSegPt2.y <= inOtherPt.y ) && ( inOtherPt.y <= inSegPt1.y ) ); + + } + + } + + } + + function intersect_segments_2D( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1, inSeg2Pt2, inExcludeAdjacentSegs ) { + + var seg1dx = inSeg1Pt2.x - inSeg1Pt1.x, seg1dy = inSeg1Pt2.y - inSeg1Pt1.y; + var seg2dx = inSeg2Pt2.x - inSeg2Pt1.x, seg2dy = inSeg2Pt2.y - inSeg2Pt1.y; + + var seg1seg2dx = inSeg1Pt1.x - inSeg2Pt1.x; + var seg1seg2dy = inSeg1Pt1.y - inSeg2Pt1.y; + + var limit = seg1dy * seg2dx - seg1dx * seg2dy; + var perpSeg1 = seg1dy * seg1seg2dx - seg1dx * seg1seg2dy; + + if ( Math.abs( limit ) > Number.EPSILON ) { + + // not parallel + + var perpSeg2; + if ( limit > 0 ) { + + if ( ( perpSeg1 < 0 ) || ( perpSeg1 > limit ) ) return []; + perpSeg2 = seg2dy * seg1seg2dx - seg2dx * seg1seg2dy; + if ( ( perpSeg2 < 0 ) || ( perpSeg2 > limit ) ) return []; + + } else { + + if ( ( perpSeg1 > 0 ) || ( perpSeg1 < limit ) ) return []; + perpSeg2 = seg2dy * seg1seg2dx - seg2dx * seg1seg2dy; + if ( ( perpSeg2 > 0 ) || ( perpSeg2 < limit ) ) return []; + + } + + // i.e. to reduce rounding errors + // intersection at endpoint of segment#1? + if ( perpSeg2 === 0 ) { + + if ( ( inExcludeAdjacentSegs ) && + ( ( perpSeg1 === 0 ) || ( perpSeg1 === limit ) ) ) return []; + return [ inSeg1Pt1 ]; + + } + if ( perpSeg2 === limit ) { + + if ( ( inExcludeAdjacentSegs ) && + ( ( perpSeg1 === 0 ) || ( perpSeg1 === limit ) ) ) return []; + return [ inSeg1Pt2 ]; + + } + // intersection at endpoint of segment#2? + if ( perpSeg1 === 0 ) return [ inSeg2Pt1 ]; + if ( perpSeg1 === limit ) return [ inSeg2Pt2 ]; + + // return real intersection point + var factorSeg1 = perpSeg2 / limit; + return [ { x: inSeg1Pt1.x + factorSeg1 * seg1dx, + y: inSeg1Pt1.y + factorSeg1 * seg1dy } ]; + + } else { + + // parallel or collinear + if ( ( perpSeg1 !== 0 ) || + ( seg2dy * seg1seg2dx !== seg2dx * seg1seg2dy ) ) return []; + + // they are collinear or degenerate + var seg1Pt = ( ( seg1dx === 0 ) && ( seg1dy === 0 ) ); // segment1 is just a point? + var seg2Pt = ( ( seg2dx === 0 ) && ( seg2dy === 0 ) ); // segment2 is just a point? + // both segments are points + if ( seg1Pt && seg2Pt ) { + + if ( ( inSeg1Pt1.x !== inSeg2Pt1.x ) || + ( inSeg1Pt1.y !== inSeg2Pt1.y ) ) return []; // they are distinct points + return [ inSeg1Pt1 ]; // they are the same point + + } + // segment#1 is a single point + if ( seg1Pt ) { + + if ( ! point_in_segment_2D_colin( inSeg2Pt1, inSeg2Pt2, inSeg1Pt1 ) ) return []; // but not in segment#2 + return [ inSeg1Pt1 ]; + + } + // segment#2 is a single point + if ( seg2Pt ) { + + if ( ! point_in_segment_2D_colin( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1 ) ) return []; // but not in segment#1 + return [ inSeg2Pt1 ]; + + } + + // they are collinear segments, which might overlap + var seg1min, seg1max, seg1minVal, seg1maxVal; + var seg2min, seg2max, seg2minVal, seg2maxVal; + if ( seg1dx !== 0 ) { + + // the segments are NOT on a vertical line + if ( inSeg1Pt1.x < inSeg1Pt2.x ) { + + seg1min = inSeg1Pt1; seg1minVal = inSeg1Pt1.x; + seg1max = inSeg1Pt2; seg1maxVal = inSeg1Pt2.x; + + } else { + + seg1min = inSeg1Pt2; seg1minVal = inSeg1Pt2.x; + seg1max = inSeg1Pt1; seg1maxVal = inSeg1Pt1.x; + + } + if ( inSeg2Pt1.x < inSeg2Pt2.x ) { + + seg2min = inSeg2Pt1; seg2minVal = inSeg2Pt1.x; + seg2max = inSeg2Pt2; seg2maxVal = inSeg2Pt2.x; + + } else { + + seg2min = inSeg2Pt2; seg2minVal = inSeg2Pt2.x; + seg2max = inSeg2Pt1; seg2maxVal = inSeg2Pt1.x; + + } + + } else { + + // the segments are on a vertical line + if ( inSeg1Pt1.y < inSeg1Pt2.y ) { + + seg1min = inSeg1Pt1; seg1minVal = inSeg1Pt1.y; + seg1max = inSeg1Pt2; seg1maxVal = inSeg1Pt2.y; + + } else { + + seg1min = inSeg1Pt2; seg1minVal = inSeg1Pt2.y; + seg1max = inSeg1Pt1; seg1maxVal = inSeg1Pt1.y; + + } + if ( inSeg2Pt1.y < inSeg2Pt2.y ) { + + seg2min = inSeg2Pt1; seg2minVal = inSeg2Pt1.y; + seg2max = inSeg2Pt2; seg2maxVal = inSeg2Pt2.y; + + } else { + + seg2min = inSeg2Pt2; seg2minVal = inSeg2Pt2.y; + seg2max = inSeg2Pt1; seg2maxVal = inSeg2Pt1.y; + + } + + } + if ( seg1minVal <= seg2minVal ) { + + if ( seg1maxVal < seg2minVal ) return []; + if ( seg1maxVal === seg2minVal ) { + + if ( inExcludeAdjacentSegs ) return []; + return [ seg2min ]; + + } + if ( seg1maxVal <= seg2maxVal ) return [ seg2min, seg1max ]; + return [ seg2min, seg2max ]; + + } else { + + if ( seg1minVal > seg2maxVal ) return []; + if ( seg1minVal === seg2maxVal ) { + + if ( inExcludeAdjacentSegs ) return []; + return [ seg1min ]; + + } + if ( seg1maxVal <= seg2maxVal ) return [ seg1min, seg1max ]; + return [ seg1min, seg2max ]; + + } + + } + + } + + function isPointInsideAngle( inVertex, inLegFromPt, inLegToPt, inOtherPt ) { + + // The order of legs is important + + // translation of all points, so that Vertex is at (0,0) + var legFromPtX = inLegFromPt.x - inVertex.x, legFromPtY = inLegFromPt.y - inVertex.y; + var legToPtX = inLegToPt.x - inVertex.x, legToPtY = inLegToPt.y - inVertex.y; + var otherPtX = inOtherPt.x - inVertex.x, otherPtY = inOtherPt.y - inVertex.y; + + // main angle >0: < 180 deg.; 0: 180 deg.; <0: > 180 deg. + var from2toAngle = legFromPtX * legToPtY - legFromPtY * legToPtX; + var from2otherAngle = legFromPtX * otherPtY - legFromPtY * otherPtX; + + if ( Math.abs( from2toAngle ) > Number.EPSILON ) { + + // angle != 180 deg. + + var other2toAngle = otherPtX * legToPtY - otherPtY * legToPtX; + // console.log( "from2to: " + from2toAngle + ", from2other: " + from2otherAngle + ", other2to: " + other2toAngle ); + + if ( from2toAngle > 0 ) { + + // main angle < 180 deg. + return ( ( from2otherAngle >= 0 ) && ( other2toAngle >= 0 ) ); + + } else { + + // main angle > 180 deg. + return ( ( from2otherAngle >= 0 ) || ( other2toAngle >= 0 ) ); + + } + + } else { + + // angle == 180 deg. + // console.log( "from2to: 180 deg., from2other: " + from2otherAngle ); + return ( from2otherAngle > 0 ); + + } + + } + + + function removeHoles( contour, holes ) { + + var shape = contour.concat(); // work on this shape + var hole; + + function isCutLineInsideAngles( inShapeIdx, inHoleIdx ) { + + // Check if hole point lies within angle around shape point + var lastShapeIdx = shape.length - 1; + + var prevShapeIdx = inShapeIdx - 1; + if ( prevShapeIdx < 0 ) prevShapeIdx = lastShapeIdx; + + var nextShapeIdx = inShapeIdx + 1; + if ( nextShapeIdx > lastShapeIdx ) nextShapeIdx = 0; + + var insideAngle = isPointInsideAngle( shape[ inShapeIdx ], shape[ prevShapeIdx ], shape[ nextShapeIdx ], hole[ inHoleIdx ] ); + if ( ! insideAngle ) { + + // console.log( "Vertex (Shape): " + inShapeIdx + ", Point: " + hole[inHoleIdx].x + "/" + hole[inHoleIdx].y ); + return false; + + } + + // Check if shape point lies within angle around hole point + var lastHoleIdx = hole.length - 1; + + var prevHoleIdx = inHoleIdx - 1; + if ( prevHoleIdx < 0 ) prevHoleIdx = lastHoleIdx; + + var nextHoleIdx = inHoleIdx + 1; + if ( nextHoleIdx > lastHoleIdx ) nextHoleIdx = 0; + + insideAngle = isPointInsideAngle( hole[ inHoleIdx ], hole[ prevHoleIdx ], hole[ nextHoleIdx ], shape[ inShapeIdx ] ); + if ( ! insideAngle ) { + + // console.log( "Vertex (Hole): " + inHoleIdx + ", Point: " + shape[inShapeIdx].x + "/" + shape[inShapeIdx].y ); + return false; + + } + + return true; + + } + + function intersectsShapeEdge( inShapePt, inHolePt ) { + + // checks for intersections with shape edges + var sIdx, nextIdx, intersection; + for ( sIdx = 0; sIdx < shape.length; sIdx ++ ) { + + nextIdx = sIdx + 1; nextIdx %= shape.length; + intersection = intersect_segments_2D( inShapePt, inHolePt, shape[ sIdx ], shape[ nextIdx ], true ); + if ( intersection.length > 0 ) return true; + + } + + return false; + + } + + var indepHoles = []; + + function intersectsHoleEdge( inShapePt, inHolePt ) { + + // checks for intersections with hole edges + var ihIdx, chkHole, + hIdx, nextIdx, intersection; + for ( ihIdx = 0; ihIdx < indepHoles.length; ihIdx ++ ) { + + chkHole = holes[ indepHoles[ ihIdx ]]; + for ( hIdx = 0; hIdx < chkHole.length; hIdx ++ ) { + + nextIdx = hIdx + 1; nextIdx %= chkHole.length; + intersection = intersect_segments_2D( inShapePt, inHolePt, chkHole[ hIdx ], chkHole[ nextIdx ], true ); + if ( intersection.length > 0 ) return true; + + } + + } + return false; + + } + + var holeIndex, shapeIndex, + shapePt, holePt, + holeIdx, cutKey, failedCuts = [], + tmpShape1, tmpShape2, + tmpHole1, tmpHole2; + + for ( var h = 0, hl = holes.length; h < hl; h ++ ) { + + indepHoles.push( h ); + + } + + var minShapeIndex = 0; + var counter = indepHoles.length * 2; + while ( indepHoles.length > 0 ) { + + counter --; + if ( counter < 0 ) { + + console.log( "Infinite Loop! Holes left:" + indepHoles.length + ", Probably Hole outside Shape!" ); + break; + + } + + // search for shape-vertex and hole-vertex, + // which can be connected without intersections + for ( shapeIndex = minShapeIndex; shapeIndex < shape.length; shapeIndex ++ ) { + + shapePt = shape[ shapeIndex ]; + holeIndex = - 1; + + // search for hole which can be reached without intersections + for ( var h = 0; h < indepHoles.length; h ++ ) { + + holeIdx = indepHoles[ h ]; + + // prevent multiple checks + cutKey = shapePt.x + ":" + shapePt.y + ":" + holeIdx; + if ( failedCuts[ cutKey ] !== undefined ) continue; + + hole = holes[ holeIdx ]; + for ( var h2 = 0; h2 < hole.length; h2 ++ ) { + + holePt = hole[ h2 ]; + if ( ! isCutLineInsideAngles( shapeIndex, h2 ) ) continue; + if ( intersectsShapeEdge( shapePt, holePt ) ) continue; + if ( intersectsHoleEdge( shapePt, holePt ) ) continue; + + holeIndex = h2; + indepHoles.splice( h, 1 ); + + tmpShape1 = shape.slice( 0, shapeIndex + 1 ); + tmpShape2 = shape.slice( shapeIndex ); + tmpHole1 = hole.slice( holeIndex ); + tmpHole2 = hole.slice( 0, holeIndex + 1 ); + + shape = tmpShape1.concat( tmpHole1 ).concat( tmpHole2 ).concat( tmpShape2 ); + + minShapeIndex = shapeIndex; + + // Debug only, to show the selected cuts + // glob_CutLines.push( [ shapePt, holePt ] ); + + break; + + } + if ( holeIndex >= 0 ) break; // hole-vertex found + + failedCuts[ cutKey ] = true; // remember failure + + } + if ( holeIndex >= 0 ) break; // hole-vertex found + + } + + } + + return shape; /* shape with no holes */ + + } + + + var i, il, f, face, + key, index, + allPointsMap = {}; + + // To maintain reference to old shape, one must match coordinates, or offset the indices from original arrays. It's probably easier to do the first. + + var allpoints = contour.concat(); + + for ( var h = 0, hl = holes.length; h < hl; h ++ ) { + + Array.prototype.push.apply( allpoints, holes[ h ] ); + + } + + //console.log( "allpoints",allpoints, allpoints.length ); + + // prepare all points map + + for ( i = 0, il = allpoints.length; i < il; i ++ ) { + + key = allpoints[ i ].x + ":" + allpoints[ i ].y; + + if ( allPointsMap[ key ] !== undefined ) { + + console.warn( "THREE.ShapeUtils: Duplicate point", key, i ); + + } + + allPointsMap[ key ] = i; + + } + + // remove holes by cutting paths to holes and adding them to the shape + var shapeWithoutHoles = removeHoles( contour, holes ); + + var triangles = ShapeUtils.triangulate( shapeWithoutHoles, false ); // True returns indices for points of spooled shape + //console.log( "triangles",triangles, triangles.length ); + + // check all face vertices against all points map + + for ( i = 0, il = triangles.length; i < il; i ++ ) { + + face = triangles[ i ]; + + for ( f = 0; f < 3; f ++ ) { + + key = face[ f ].x + ":" + face[ f ].y; + + index = allPointsMap[ key ]; + + if ( index !== undefined ) { + + face[ f ] = index; + + } + + } + + } + + return triangles.concat(); + + }, + + isClockWise: function ( pts ) { + + return ShapeUtils.area( pts ) < 0; + + } + + }; + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * + * Creates extruded geometry from a path shape. + * + * parameters = { + * + * curveSegments: <int>, // number of points on the curves + * steps: <int>, // number of points for z-side extrusions / used for subdividing segments of extrude spline too + * amount: <int>, // Depth to extrude the shape + * + * bevelEnabled: <bool>, // turn on bevel + * bevelThickness: <float>, // how deep into the original shape bevel goes + * bevelSize: <float>, // how far from shape outline is bevel + * bevelSegments: <int>, // number of bevel layers + * + * extrudePath: <THREE.Curve> // curve to extrude shape along + * frames: <Object> // containing arrays of tangents, normals, binormals + * + * UVGenerator: <Object> // object that provides UV generator functions + * + * } + */ + + // ExtrudeGeometry + + function ExtrudeGeometry( shapes, options ) { + + Geometry.call( this ); + + this.type = 'ExtrudeGeometry'; + + this.parameters = { + shapes: shapes, + options: options + }; + + this.fromBufferGeometry( new ExtrudeBufferGeometry( shapes, options ) ); + this.mergeVertices(); + + } + + ExtrudeGeometry.prototype = Object.create( Geometry.prototype ); + ExtrudeGeometry.prototype.constructor = ExtrudeGeometry; + + // ExtrudeBufferGeometry + + function ExtrudeBufferGeometry( shapes, options ) { + + if ( typeof ( shapes ) === "undefined" ) { + + shapes = []; + return; + + } + + BufferGeometry.call( this ); + + this.type = 'ExtrudeBufferGeometry'; + + shapes = Array.isArray( shapes ) ? shapes : [ shapes ]; + + this.addShapeList( shapes, options ); + + this.computeVertexNormals(); + + // can't really use automatic vertex normals + // as then front and back sides get smoothed too + // should do separate smoothing just for sides + + //this.computeVertexNormals(); + + //console.log( "took", ( Date.now() - startTime ) ); + + } + + ExtrudeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + ExtrudeBufferGeometry.prototype.constructor = ExtrudeBufferGeometry; + + ExtrudeBufferGeometry.prototype.getArrays = function () { + + var positionAttribute = this.getAttribute( "position" ); + var verticesArray = positionAttribute ? Array.prototype.slice.call( positionAttribute.array ) : []; + + var uvAttribute = this.getAttribute( "uv" ); + var uvArray = uvAttribute ? Array.prototype.slice.call( uvAttribute.array ) : []; + + var IndexAttribute = this.index; + var indicesArray = IndexAttribute ? Array.prototype.slice.call( IndexAttribute.array ) : []; + + return { + position: verticesArray, + uv: uvArray, + index: indicesArray + }; + + }; + + ExtrudeBufferGeometry.prototype.addShapeList = function ( shapes, options ) { + + var sl = shapes.length; + options.arrays = this.getArrays(); + + for ( var s = 0; s < sl; s ++ ) { + + var shape = shapes[ s ]; + this.addShape( shape, options ); + + } + + this.setIndex( options.arrays.index ); + this.addAttribute( 'position', new Float32BufferAttribute( options.arrays.position, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( options.arrays.uv, 2 ) ); + + }; + + ExtrudeBufferGeometry.prototype.addShape = function ( shape, options ) { + + var arrays = options.arrays ? options.arrays : this.getArrays(); + var verticesArray = arrays.position; + var indicesArray = arrays.index; + var uvArray = arrays.uv; + + var placeholder = []; + + + var amount = options.amount !== undefined ? options.amount : 100; + + var bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6; // 10 + var bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2; // 8 + var bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3; + + var bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true; // false + + var curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12; + + var steps = options.steps !== undefined ? options.steps : 1; + + var extrudePath = options.extrudePath; + var extrudePts, extrudeByPath = false; + + // Use default WorldUVGenerator if no UV generators are specified. + var uvgen = options.UVGenerator !== undefined ? options.UVGenerator : ExtrudeGeometry.WorldUVGenerator; + + var splineTube, binormal, normal, position2; + if ( extrudePath ) { + + extrudePts = extrudePath.getSpacedPoints( steps ); + + extrudeByPath = true; + bevelEnabled = false; // bevels not supported for path extrusion + + // SETUP TNB variables + + // TODO1 - have a .isClosed in spline? + + splineTube = options.frames !== undefined ? options.frames : extrudePath.computeFrenetFrames( steps, false ); + + // console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length); + + binormal = new Vector3(); + normal = new Vector3(); + position2 = new Vector3(); + + } + + // Safeguards if bevels are not enabled + + if ( ! bevelEnabled ) { + + bevelSegments = 0; + bevelThickness = 0; + bevelSize = 0; + + } + + // Variables initialization + + var ahole, h, hl; // looping of holes + var scope = this; + + var shapePoints = shape.extractPoints( curveSegments ); + + var vertices = shapePoints.shape; + var holes = shapePoints.holes; + + var reverse = ! ShapeUtils.isClockWise( vertices ); + + if ( reverse ) { + + vertices = vertices.reverse(); + + // Maybe we should also check if holes are in the opposite direction, just to be safe ... + + for ( h = 0, hl = holes.length; h < hl; h ++ ) { + + ahole = holes[ h ]; + + if ( ShapeUtils.isClockWise( ahole ) ) { + + holes[ h ] = ahole.reverse(); + + } + + } + + reverse = false; // If vertices are in order now, we shouldn't need to worry about them again (hopefully)! + + } + + + var faces = ShapeUtils.triangulateShape( vertices, holes ); + + /* Vertices */ + + var contour = vertices; // vertices has all points but contour has only points of circumference + + for ( h = 0, hl = holes.length; h < hl; h ++ ) { + + ahole = holes[ h ]; + + vertices = vertices.concat( ahole ); + + } + + + function scalePt2( pt, vec, size ) { + + if ( ! vec ) console.error( "THREE.ExtrudeGeometry: vec does not exist" ); + + return vec.clone().multiplyScalar( size ).add( pt ); + + } + + var b, bs, t, z, + vert, vlen = vertices.length, + face, flen = faces.length; + + + // Find directions for point movement + + + function getBevelVec( inPt, inPrev, inNext ) { + + // computes for inPt the corresponding point inPt' on a new contour + // shifted by 1 unit (length of normalized vector) to the left + // if we walk along contour clockwise, this new contour is outside the old one + // + // inPt' is the intersection of the two lines parallel to the two + // adjacent edges of inPt at a distance of 1 unit on the left side. + + var v_trans_x, v_trans_y, shrink_by = 1; // resulting translation vector for inPt + + // good reading for geometry algorithms (here: line-line intersection) + // http://geomalgorithms.com/a05-_intersect-1.html + + var v_prev_x = inPt.x - inPrev.x, + v_prev_y = inPt.y - inPrev.y; + var v_next_x = inNext.x - inPt.x, + v_next_y = inNext.y - inPt.y; + + var v_prev_lensq = ( v_prev_x * v_prev_x + v_prev_y * v_prev_y ); + + // check for collinear edges + var collinear0 = ( v_prev_x * v_next_y - v_prev_y * v_next_x ); + + if ( Math.abs( collinear0 ) > Number.EPSILON ) { + + // not collinear + + // length of vectors for normalizing + + var v_prev_len = Math.sqrt( v_prev_lensq ); + var v_next_len = Math.sqrt( v_next_x * v_next_x + v_next_y * v_next_y ); + + // shift adjacent points by unit vectors to the left + + var ptPrevShift_x = ( inPrev.x - v_prev_y / v_prev_len ); + var ptPrevShift_y = ( inPrev.y + v_prev_x / v_prev_len ); + + var ptNextShift_x = ( inNext.x - v_next_y / v_next_len ); + var ptNextShift_y = ( inNext.y + v_next_x / v_next_len ); + + // scaling factor for v_prev to intersection point + + var sf = ( ( ptNextShift_x - ptPrevShift_x ) * v_next_y - + ( ptNextShift_y - ptPrevShift_y ) * v_next_x ) / + ( v_prev_x * v_next_y - v_prev_y * v_next_x ); + + // vector from inPt to intersection point + + v_trans_x = ( ptPrevShift_x + v_prev_x * sf - inPt.x ); + v_trans_y = ( ptPrevShift_y + v_prev_y * sf - inPt.y ); + + // Don't normalize!, otherwise sharp corners become ugly + // but prevent crazy spikes + var v_trans_lensq = ( v_trans_x * v_trans_x + v_trans_y * v_trans_y ); + if ( v_trans_lensq <= 2 ) { + + return new Vector2( v_trans_x, v_trans_y ); + + } else { + + shrink_by = Math.sqrt( v_trans_lensq / 2 ); + + } + + } else { + + // handle special case of collinear edges + + var direction_eq = false; // assumes: opposite + if ( v_prev_x > Number.EPSILON ) { + + if ( v_next_x > Number.EPSILON ) { + + direction_eq = true; + + } + + } else { + + if ( v_prev_x < - Number.EPSILON ) { + + if ( v_next_x < - Number.EPSILON ) { + + direction_eq = true; + + } + + } else { + + if ( Math.sign( v_prev_y ) === Math.sign( v_next_y ) ) { + + direction_eq = true; + + } + + } + + } + + if ( direction_eq ) { + + // console.log("Warning: lines are a straight sequence"); + v_trans_x = - v_prev_y; + v_trans_y = v_prev_x; + shrink_by = Math.sqrt( v_prev_lensq ); + + } else { + + // console.log("Warning: lines are a straight spike"); + v_trans_x = v_prev_x; + v_trans_y = v_prev_y; + shrink_by = Math.sqrt( v_prev_lensq / 2 ); + + } + + } + + return new Vector2( v_trans_x / shrink_by, v_trans_y / shrink_by ); + + } + + + var contourMovements = []; + + for ( var i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { + + if ( j === il ) j = 0; + if ( k === il ) k = 0; + + // (j)---(i)---(k) + // console.log('i,j,k', i, j , k) + + contourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] ); + + } + + var holesMovements = [], + oneHoleMovements, verticesMovements = contourMovements.concat(); + + for ( h = 0, hl = holes.length; h < hl; h ++ ) { + + ahole = holes[ h ]; + + oneHoleMovements = []; + + for ( i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { + + if ( j === il ) j = 0; + if ( k === il ) k = 0; + + // (j)---(i)---(k) + oneHoleMovements[ i ] = getBevelVec( ahole[ i ], ahole[ j ], ahole[ k ] ); + + } + + holesMovements.push( oneHoleMovements ); + verticesMovements = verticesMovements.concat( oneHoleMovements ); + + } + + + // Loop bevelSegments, 1 for the front, 1 for the back + + for ( b = 0; b < bevelSegments; b ++ ) { + + //for ( b = bevelSegments; b > 0; b -- ) { + + t = b / bevelSegments; + z = bevelThickness * Math.cos( t * Math.PI / 2 ); + bs = bevelSize * Math.sin( t * Math.PI / 2 ); + + // contract shape + + for ( i = 0, il = contour.length; i < il; i ++ ) { + + vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); + + v( vert.x, vert.y, - z ); + + } + + // expand holes + + for ( h = 0, hl = holes.length; h < hl; h ++ ) { + + ahole = holes[ h ]; + oneHoleMovements = holesMovements[ h ]; + + for ( i = 0, il = ahole.length; i < il; i ++ ) { + + vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); + + v( vert.x, vert.y, - z ); + + } + + } + + } + + bs = bevelSize; + + // Back facing vertices + + for ( i = 0; i < vlen; i ++ ) { + + vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; + + if ( ! extrudeByPath ) { + + v( vert.x, vert.y, 0 ); + + } else { + + // v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x ); + + normal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x ); + binormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y ); + + position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal ); + + v( position2.x, position2.y, position2.z ); + + } + + } + + // Add stepped vertices... + // Including front facing vertices + + var s; + + for ( s = 1; s <= steps; s ++ ) { + + for ( i = 0; i < vlen; i ++ ) { + + vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; + + if ( ! extrudeByPath ) { + + v( vert.x, vert.y, amount / steps * s ); + + } else { + + // v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x ); + + normal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x ); + binormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y ); + + position2.copy( extrudePts[ s ] ).add( normal ).add( binormal ); + + v( position2.x, position2.y, position2.z ); + + } + + } + + } + + + // Add bevel segments planes + + //for ( b = 1; b <= bevelSegments; b ++ ) { + for ( b = bevelSegments - 1; b >= 0; b -- ) { + + t = b / bevelSegments; + z = bevelThickness * Math.cos( t * Math.PI / 2 ); + bs = bevelSize * Math.sin( t * Math.PI / 2 ); + + // contract shape + + for ( i = 0, il = contour.length; i < il; i ++ ) { + + vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); + v( vert.x, vert.y, amount + z ); + + } + + // expand holes + + for ( h = 0, hl = holes.length; h < hl; h ++ ) { + + ahole = holes[ h ]; + oneHoleMovements = holesMovements[ h ]; + + for ( i = 0, il = ahole.length; i < il; i ++ ) { + + vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); + + if ( ! extrudeByPath ) { + + v( vert.x, vert.y, amount + z ); + + } else { + + v( vert.x, vert.y + extrudePts[ steps - 1 ].y, extrudePts[ steps - 1 ].x + z ); + + } + + } + + } + + } + + /* Faces */ + + // Top and bottom faces + + buildLidFaces(); + + // Sides faces + + buildSideFaces(); + + + ///// Internal functions + + function buildLidFaces() { + + var start = verticesArray.length/3; + + if ( bevelEnabled ) { + + var layer = 0; // steps + 1 + var offset = vlen * layer; + + // Bottom faces + + for ( i = 0; i < flen; i ++ ) { + + face = faces[ i ]; + f3( face[ 2 ] + offset, face[ 1 ] + offset, face[ 0 ] + offset ); + + } + + layer = steps + bevelSegments * 2; + offset = vlen * layer; + + // Top faces + + for ( i = 0; i < flen; i ++ ) { + + face = faces[ i ]; + f3( face[ 0 ] + offset, face[ 1 ] + offset, face[ 2 ] + offset ); + + } + + } else { + + // Bottom faces + + for ( i = 0; i < flen; i ++ ) { + + face = faces[ i ]; + f3( face[ 2 ], face[ 1 ], face[ 0 ] ); + + } + + // Top faces + + for ( i = 0; i < flen; i ++ ) { + + face = faces[ i ]; + f3( face[ 0 ] + vlen * steps, face[ 1 ] + vlen * steps, face[ 2 ] + vlen * steps ); + + } + + } + + scope.addGroup( start, verticesArray.length/3 -start, options.material !== undefined ? options.material : 0); + + } + + // Create faces for the z-sides of the shape + + function buildSideFaces() { + + var start = verticesArray.length/3; + var layeroffset = 0; + sidewalls( contour, layeroffset ); + layeroffset += contour.length; + + for ( h = 0, hl = holes.length; h < hl; h ++ ) { + + ahole = holes[ h ]; + sidewalls( ahole, layeroffset ); + + //, true + layeroffset += ahole.length; + + } + + + scope.addGroup( start, verticesArray.length/3 -start, options.extrudeMaterial !== undefined ? options.extrudeMaterial : 1); + + + } + + function sidewalls( contour, layeroffset ) { + + var j, k; + i = contour.length; + + while ( -- i >= 0 ) { + + j = i; + k = i - 1; + if ( k < 0 ) k = contour.length - 1; + + //console.log('b', i,j, i-1, k,vertices.length); + + var s = 0, + sl = steps + bevelSegments * 2; + + for ( s = 0; s < sl; s ++ ) { + + var slen1 = vlen * s; + var slen2 = vlen * ( s + 1 ); + + var a = layeroffset + j + slen1, + b = layeroffset + k + slen1, + c = layeroffset + k + slen2, + d = layeroffset + j + slen2; + + f4( a, b, c, d, contour, s, sl, j, k ); + + } + + } + + } + + function v( x, y, z ) { + + placeholder.push( x ); + placeholder.push( y ); + placeholder.push( z ); + + } + + + function f3( a, b, c ) { + + addVertex( a ); + addVertex( b ); + addVertex( c ); + + var nextIndex = verticesArray.length / 3; + var uvs = uvgen.generateTopUV( scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); + + addUV( uvs[ 0 ] ); + addUV( uvs[ 1 ] ); + addUV( uvs[ 2 ] ); + + } + + function f4( a, b, c, d, wallContour, stepIndex, stepsLength, contourIndex1, contourIndex2 ) { + + addVertex( a ); + addVertex( b ); + addVertex( d ); + + addVertex( b ); + addVertex( c ); + addVertex( d ); + + + var nextIndex = verticesArray.length / 3; + var uvs = uvgen.generateSideWallUV( scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); + + addUV( uvs[ 0 ] ); + addUV( uvs[ 1 ] ); + addUV( uvs[ 3 ] ); + + addUV( uvs[ 1 ] ); + addUV( uvs[ 2 ] ); + addUV( uvs[ 3 ] ); + + } + + function addVertex( index ) { + + indicesArray.push( verticesArray.length / 3 ); + verticesArray.push( placeholder[ index * 3 + 0 ] ); + verticesArray.push( placeholder[ index * 3 + 1 ] ); + verticesArray.push( placeholder[ index * 3 + 2 ] ); + + } + + + function addUV( vector2 ) { + + uvArray.push( vector2.x ); + uvArray.push( vector2.y ); + + } + + if ( ! options.arrays ) { + + this.setIndex( indicesArray ); + this.addAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( options.arrays.uv, 2 ) ); + + } + + }; + + ExtrudeGeometry.WorldUVGenerator = { + + generateTopUV: function ( geometry, vertices, indexA, indexB, indexC ) { + + var a_x = vertices[ indexA * 3 ]; + var a_y = vertices[ indexA * 3 + 1 ]; + var b_x = vertices[ indexB * 3 ]; + var b_y = vertices[ indexB * 3 + 1 ]; + var c_x = vertices[ indexC * 3 ]; + var c_y = vertices[ indexC * 3 + 1 ]; + + return [ + new Vector2( a_x, a_y ), + new Vector2( b_x, b_y ), + new Vector2( c_x, c_y ) + ]; + + }, + + generateSideWallUV: function ( geometry, vertices, indexA, indexB, indexC, indexD ) { + + var a_x = vertices[ indexA * 3 ]; + var a_y = vertices[ indexA * 3 + 1 ]; + var a_z = vertices[ indexA * 3 + 2 ]; + var b_x = vertices[ indexB * 3 ]; + var b_y = vertices[ indexB * 3 + 1 ]; + var b_z = vertices[ indexB * 3 + 2 ]; + var c_x = vertices[ indexC * 3 ]; + var c_y = vertices[ indexC * 3 + 1 ]; + var c_z = vertices[ indexC * 3 + 2 ]; + var d_x = vertices[ indexD * 3 ]; + var d_y = vertices[ indexD * 3 + 1 ]; + var d_z = vertices[ indexD * 3 + 2 ]; + + if ( Math.abs( a_y - b_y ) < 0.01 ) { + + return [ + new Vector2( a_x, 1 - a_z ), + new Vector2( b_x, 1 - b_z ), + new Vector2( c_x, 1 - c_z ), + new Vector2( d_x, 1 - d_z ) + ]; + + } else { + + return [ + new Vector2( a_y, 1 - a_z ), + new Vector2( b_y, 1 - b_z ), + new Vector2( c_y, 1 - c_z ), + new Vector2( d_y, 1 - d_z ) + ]; + + } + + } + }; + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * @author alteredq / http://alteredqualia.com/ + * + * Text = 3D Text + * + * parameters = { + * font: <THREE.Font>, // font + * + * size: <float>, // size of the text + * height: <float>, // thickness to extrude text + * curveSegments: <int>, // number of points on the curves + * + * bevelEnabled: <bool>, // turn on bevel + * bevelThickness: <float>, // how deep into text bevel goes + * bevelSize: <float> // how far from text outline is bevel + * } + */ + + // TextGeometry + + function TextGeometry( text, parameters ) { + + Geometry.call( this ); + + this.type = 'TextGeometry'; + + this.parameters = { + text: text, + parameters: parameters + }; + + this.fromBufferGeometry( new TextBufferGeometry( text, parameters ) ); + this.mergeVertices(); + + } + + TextGeometry.prototype = Object.create( Geometry.prototype ); + TextGeometry.prototype.constructor = TextGeometry; + + // TextBufferGeometry + + function TextBufferGeometry( text, parameters ) { + + parameters = parameters || {}; + + var font = parameters.font; + + if ( ( font && font.isFont ) === false ) { + + console.error( 'THREE.TextGeometry: font parameter is not an instance of THREE.Font.' ); + return new Geometry(); + + } + + var shapes = font.generateShapes( text, parameters.size, parameters.curveSegments ); + + // translate parameters to ExtrudeGeometry API + + parameters.amount = parameters.height !== undefined ? parameters.height : 50; + + // defaults + + if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10; + if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8; + if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false; + + ExtrudeBufferGeometry.call( this, shapes, parameters ); + + this.type = 'TextBufferGeometry'; + + } + + TextBufferGeometry.prototype = Object.create( ExtrudeBufferGeometry.prototype ); + TextBufferGeometry.prototype.constructor = TextBufferGeometry; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author benaadams / https://twitter.com/ben_a_adams + * @author Mugen87 / https://github.com/Mugen87 + */ + + // SphereGeometry + + function SphereGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) { + + Geometry.call( this ); + + this.type = 'SphereGeometry'; + + this.parameters = { + radius: radius, + widthSegments: widthSegments, + heightSegments: heightSegments, + phiStart: phiStart, + phiLength: phiLength, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + this.fromBufferGeometry( new SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) ); + this.mergeVertices(); + + } + + SphereGeometry.prototype = Object.create( Geometry.prototype ); + SphereGeometry.prototype.constructor = SphereGeometry; + + // SphereBufferGeometry + + function SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) { + + BufferGeometry.call( this ); + + this.type = 'SphereBufferGeometry'; + + this.parameters = { + radius: radius, + widthSegments: widthSegments, + heightSegments: heightSegments, + phiStart: phiStart, + phiLength: phiLength, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + radius = radius || 50; + + widthSegments = Math.max( 3, Math.floor( widthSegments ) || 8 ); + heightSegments = Math.max( 2, Math.floor( heightSegments ) || 6 ); + + phiStart = phiStart !== undefined ? phiStart : 0; + phiLength = phiLength !== undefined ? phiLength : Math.PI * 2; + + thetaStart = thetaStart !== undefined ? thetaStart : 0; + thetaLength = thetaLength !== undefined ? thetaLength : Math.PI; + + var thetaEnd = thetaStart + thetaLength; + + var ix, iy; + + var index = 0; + var grid = []; + + var vertex = new Vector3(); + var normal = new Vector3(); + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // generate vertices, normals and uvs + + for ( iy = 0; iy <= heightSegments; iy ++ ) { + + var verticesRow = []; + + var v = iy / heightSegments; + + for ( ix = 0; ix <= widthSegments; ix ++ ) { + + var u = ix / widthSegments; + + // vertex + + vertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); + vertex.y = radius * Math.cos( thetaStart + v * thetaLength ); + vertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normal.set( vertex.x, vertex.y, vertex.z ).normalize(); + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( u, 1 - v ); + + verticesRow.push( index ++ ); + + } + + grid.push( verticesRow ); + + } + + // indices + + for ( iy = 0; iy < heightSegments; iy ++ ) { + + for ( ix = 0; ix < widthSegments; ix ++ ) { + + var a = grid[ iy ][ ix + 1 ]; + var b = grid[ iy ][ ix ]; + var c = grid[ iy + 1 ][ ix ]; + var d = grid[ iy + 1 ][ ix + 1 ]; + + if ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d ); + if ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + SphereBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + SphereBufferGeometry.prototype.constructor = SphereBufferGeometry; + + /** + * @author Kaleb Murphy + * @author Mugen87 / https://github.com/Mugen87 + */ + + // RingGeometry + + function RingGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) { + + Geometry.call( this ); + + this.type = 'RingGeometry'; + + this.parameters = { + innerRadius: innerRadius, + outerRadius: outerRadius, + thetaSegments: thetaSegments, + phiSegments: phiSegments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + this.fromBufferGeometry( new RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) ); + this.mergeVertices(); + + } + + RingGeometry.prototype = Object.create( Geometry.prototype ); + RingGeometry.prototype.constructor = RingGeometry; + + // RingBufferGeometry + + function RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) { + + BufferGeometry.call( this ); + + this.type = 'RingBufferGeometry'; + + this.parameters = { + innerRadius: innerRadius, + outerRadius: outerRadius, + thetaSegments: thetaSegments, + phiSegments: phiSegments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + innerRadius = innerRadius || 20; + outerRadius = outerRadius || 50; + + thetaStart = thetaStart !== undefined ? thetaStart : 0; + thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; + + thetaSegments = thetaSegments !== undefined ? Math.max( 3, thetaSegments ) : 8; + phiSegments = phiSegments !== undefined ? Math.max( 1, phiSegments ) : 1; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // some helper variables + + var segment; + var radius = innerRadius; + var radiusStep = ( ( outerRadius - innerRadius ) / phiSegments ); + var vertex = new Vector3(); + var uv = new Vector2(); + var j, i; + + // generate vertices, normals and uvs + + for ( j = 0; j <= phiSegments; j ++ ) { + + for ( i = 0; i <= thetaSegments; i ++ ) { + + // values are generate from the inside of the ring to the outside + + segment = thetaStart + i / thetaSegments * thetaLength; + + // vertex + + vertex.x = radius * Math.cos( segment ); + vertex.y = radius * Math.sin( segment ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normals.push( 0, 0, 1 ); + + // uv + + uv.x = ( vertex.x / outerRadius + 1 ) / 2; + uv.y = ( vertex.y / outerRadius + 1 ) / 2; + + uvs.push( uv.x, uv.y ); + + } + + // increase the radius for next row of vertices + + radius += radiusStep; + + } + + // indices + + for ( j = 0; j < phiSegments; j ++ ) { + + var thetaSegmentLevel = j * ( thetaSegments + 1 ); + + for ( i = 0; i < thetaSegments; i ++ ) { + + segment = i + thetaSegmentLevel; + + var a = segment; + var b = segment + thetaSegments + 1; + var c = segment + thetaSegments + 2; + var d = segment + 1; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + RingBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + RingBufferGeometry.prototype.constructor = RingBufferGeometry; + + /** + * @author astrodud / http://astrodud.isgreat.org/ + * @author zz85 / https://github.com/zz85 + * @author bhouston / http://clara.io + * @author Mugen87 / https://github.com/Mugen87 + */ + + // LatheGeometry + + function LatheGeometry( points, segments, phiStart, phiLength ) { + + Geometry.call( this ); + + this.type = 'LatheGeometry'; + + this.parameters = { + points: points, + segments: segments, + phiStart: phiStart, + phiLength: phiLength + }; + + this.fromBufferGeometry( new LatheBufferGeometry( points, segments, phiStart, phiLength ) ); + this.mergeVertices(); + + } + + LatheGeometry.prototype = Object.create( Geometry.prototype ); + LatheGeometry.prototype.constructor = LatheGeometry; + + // LatheBufferGeometry + + function LatheBufferGeometry( points, segments, phiStart, phiLength ) { + + BufferGeometry.call( this ); + + this.type = 'LatheBufferGeometry'; + + this.parameters = { + points: points, + segments: segments, + phiStart: phiStart, + phiLength: phiLength + }; + + segments = Math.floor( segments ) || 12; + phiStart = phiStart || 0; + phiLength = phiLength || Math.PI * 2; + + // clamp phiLength so it's in range of [ 0, 2PI ] + + phiLength = _Math.clamp( phiLength, 0, Math.PI * 2 ); + + + // buffers + + var indices = []; + var vertices = []; + var uvs = []; + + // helper variables + + var base; + var inverseSegments = 1.0 / segments; + var vertex = new Vector3(); + var uv = new Vector2(); + var i, j; + + // generate vertices and uvs + + for ( i = 0; i <= segments; i ++ ) { + + var phi = phiStart + i * inverseSegments * phiLength; + + var sin = Math.sin( phi ); + var cos = Math.cos( phi ); + + for ( j = 0; j <= ( points.length - 1 ); j ++ ) { + + // vertex + + vertex.x = points[ j ].x * sin; + vertex.y = points[ j ].y; + vertex.z = points[ j ].x * cos; + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // uv + + uv.x = i / segments; + uv.y = j / ( points.length - 1 ); + + uvs.push( uv.x, uv.y ); + + + } + + } + + // indices + + for ( i = 0; i < segments; i ++ ) { + + for ( j = 0; j < ( points.length - 1 ); j ++ ) { + + base = j + i * points.length; + + var a = base; + var b = base + points.length; + var c = base + points.length + 1; + var d = base + 1; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + // generate normals + + this.computeVertexNormals(); + + // if the geometry is closed, we need to average the normals along the seam. + // because the corresponding vertices are identical (but still have different UVs). + + if ( phiLength === Math.PI * 2 ) { + + var normals = this.attributes.normal.array; + var n1 = new Vector3(); + var n2 = new Vector3(); + var n = new Vector3(); + + // this is the buffer offset for the last line of vertices + + base = segments * points.length * 3; + + for ( i = 0, j = 0; i < points.length; i ++, j += 3 ) { + + // select the normal of the vertex in the first line + + n1.x = normals[ j + 0 ]; + n1.y = normals[ j + 1 ]; + n1.z = normals[ j + 2 ]; + + // select the normal of the vertex in the last line + + n2.x = normals[ base + j + 0 ]; + n2.y = normals[ base + j + 1 ]; + n2.z = normals[ base + j + 2 ]; + + // average normals + + n.addVectors( n1, n2 ).normalize(); + + // assign the new values to both normals + + normals[ j + 0 ] = normals[ base + j + 0 ] = n.x; + normals[ j + 1 ] = normals[ base + j + 1 ] = n.y; + normals[ j + 2 ] = normals[ base + j + 2 ] = n.z; + + } + + } + + } + + LatheBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + LatheBufferGeometry.prototype.constructor = LatheBufferGeometry; + + /** + * @author jonobr1 / http://jonobr1.com + * @author Mugen87 / https://github.com/Mugen87 + */ + + // ShapeGeometry + + function ShapeGeometry( shapes, curveSegments ) { + + Geometry.call( this ); + + this.type = 'ShapeGeometry'; + + if ( typeof curveSegments === 'object' ) { + + console.warn( 'THREE.ShapeGeometry: Options parameter has been removed.' ); + + curveSegments = curveSegments.curveSegments; + + } + + this.parameters = { + shapes: shapes, + curveSegments: curveSegments + }; + + this.fromBufferGeometry( new ShapeBufferGeometry( shapes, curveSegments ) ); + this.mergeVertices(); + + } + + ShapeGeometry.prototype = Object.create( Geometry.prototype ); + ShapeGeometry.prototype.constructor = ShapeGeometry; + + // ShapeBufferGeometry + + function ShapeBufferGeometry( shapes, curveSegments ) { + + BufferGeometry.call( this ); + + this.type = 'ShapeBufferGeometry'; + + this.parameters = { + shapes: shapes, + curveSegments: curveSegments + }; + + curveSegments = curveSegments || 12; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // helper variables + + var groupStart = 0; + var groupCount = 0; + + // allow single and array values for "shapes" parameter + + if ( Array.isArray( shapes ) === false ) { + + addShape( shapes ); + + } else { + + for ( var i = 0; i < shapes.length; i ++ ) { + + addShape( shapes[ i ] ); + + this.addGroup( groupStart, groupCount, i ); // enables MultiMaterial support + + groupStart += groupCount; + groupCount = 0; + + } + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + + // helper functions + + function addShape( shape ) { + + var i, l, shapeHole; + + var indexOffset = vertices.length / 3; + var points = shape.extractPoints( curveSegments ); + + var shapeVertices = points.shape; + var shapeHoles = points.holes; + + // check direction of vertices + + if ( ShapeUtils.isClockWise( shapeVertices ) === false ) { + + shapeVertices = shapeVertices.reverse(); + + // also check if holes are in the opposite direction + + for ( i = 0, l = shapeHoles.length; i < l; i ++ ) { + + shapeHole = shapeHoles[ i ]; + + if ( ShapeUtils.isClockWise( shapeHole ) === true ) { + + shapeHoles[ i ] = shapeHole.reverse(); + + } + + } + + } + + var faces = ShapeUtils.triangulateShape( shapeVertices, shapeHoles ); + + // join vertices of inner and outer paths to a single array + + for ( i = 0, l = shapeHoles.length; i < l; i ++ ) { + + shapeHole = shapeHoles[ i ]; + shapeVertices = shapeVertices.concat( shapeHole ); + + } + + // vertices, normals, uvs + + for ( i = 0, l = shapeVertices.length; i < l; i ++ ) { + + var vertex = shapeVertices[ i ]; + + vertices.push( vertex.x, vertex.y, 0 ); + normals.push( 0, 0, 1 ); + uvs.push( vertex.x, vertex.y ); // world uvs + + } + + // incides + + for ( i = 0, l = faces.length; i < l; i ++ ) { + + var face = faces[ i ]; + + var a = face[ 0 ] + indexOffset; + var b = face[ 1 ] + indexOffset; + var c = face[ 2 ] + indexOffset; + + indices.push( a, b, c ); + groupCount += 3; + + } + + } + + } + + ShapeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + ShapeBufferGeometry.prototype.constructor = ShapeBufferGeometry; + + /** + * @author WestLangley / http://github.com/WestLangley + * @author Mugen87 / https://github.com/Mugen87 + */ + + function EdgesGeometry( geometry, thresholdAngle ) { + + BufferGeometry.call( this ); + + this.type = 'EdgesGeometry'; + + this.parameters = { + thresholdAngle: thresholdAngle + }; + + thresholdAngle = ( thresholdAngle !== undefined ) ? thresholdAngle : 1; + + // buffer + + var vertices = []; + + // helper variables + + var thresholdDot = Math.cos( _Math.DEG2RAD * thresholdAngle ); + var edge = [ 0, 0 ], edges = {}, edge1, edge2; + var key, keys = [ 'a', 'b', 'c' ]; + + // prepare source geometry + + var geometry2; + + if ( geometry.isBufferGeometry ) { + + geometry2 = new Geometry(); + geometry2.fromBufferGeometry( geometry ); + + } else { + + geometry2 = geometry.clone(); + + } + + geometry2.mergeVertices(); + geometry2.computeFaceNormals(); + + var sourceVertices = geometry2.vertices; + var faces = geometry2.faces; + + // now create a data structure where each entry represents an edge with its adjoining faces + + for ( var i = 0, l = faces.length; i < l; i ++ ) { + + var face = faces[ i ]; + + for ( var j = 0; j < 3; j ++ ) { + + edge1 = face[ keys[ j ] ]; + edge2 = face[ keys[ ( j + 1 ) % 3 ] ]; + edge[ 0 ] = Math.min( edge1, edge2 ); + edge[ 1 ] = Math.max( edge1, edge2 ); + + key = edge[ 0 ] + ',' + edge[ 1 ]; + + if ( edges[ key ] === undefined ) { + + edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ], face1: i, face2: undefined }; + + } else { + + edges[ key ].face2 = i; + + } + + } + + } + + // generate vertices + + for ( key in edges ) { + + var e = edges[ key ]; + + // an edge is only rendered if the angle (in degrees) between the face normals of the adjoining faces exceeds this value. default = 1 degree. + + if ( e.face2 === undefined || faces[ e.face1 ].normal.dot( faces[ e.face2 ].normal ) <= thresholdDot ) { + + var vertex = sourceVertices[ e.index1 ]; + vertices.push( vertex.x, vertex.y, vertex.z ); + + vertex = sourceVertices[ e.index2 ]; + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + } + + // build geometry + + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + + } + + EdgesGeometry.prototype = Object.create( BufferGeometry.prototype ); + EdgesGeometry.prototype.constructor = EdgesGeometry; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / https://github.com/Mugen87 + */ + + // CylinderGeometry + + function CylinderGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { + + Geometry.call( this ); + + this.type = 'CylinderGeometry'; + + this.parameters = { + radiusTop: radiusTop, + radiusBottom: radiusBottom, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + this.fromBufferGeometry( new CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) ); + this.mergeVertices(); + + } + + CylinderGeometry.prototype = Object.create( Geometry.prototype ); + CylinderGeometry.prototype.constructor = CylinderGeometry; + + // CylinderBufferGeometry + + function CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { + + BufferGeometry.call( this ); + + this.type = 'CylinderBufferGeometry'; + + this.parameters = { + radiusTop: radiusTop, + radiusBottom: radiusBottom, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + var scope = this; + + radiusTop = radiusTop !== undefined ? radiusTop : 20; + radiusBottom = radiusBottom !== undefined ? radiusBottom : 20; + height = height !== undefined ? height : 100; + + radialSegments = Math.floor( radialSegments ) || 8; + heightSegments = Math.floor( heightSegments ) || 1; + + openEnded = openEnded !== undefined ? openEnded : false; + thetaStart = thetaStart !== undefined ? thetaStart : 0.0; + thetaLength = thetaLength !== undefined ? thetaLength : 2.0 * Math.PI; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // helper variables + + var index = 0; + var indexArray = []; + var halfHeight = height / 2; + var groupStart = 0; + + // generate geometry + + generateTorso(); + + if ( openEnded === false ) { + + if ( radiusTop > 0 ) generateCap( true ); + if ( radiusBottom > 0 ) generateCap( false ); + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + function generateTorso() { + + var x, y; + var normal = new Vector3(); + var vertex = new Vector3(); + + var groupCount = 0; + + // this will be used to calculate the normal + var slope = ( radiusBottom - radiusTop ) / height; + + // generate vertices, normals and uvs + + for ( y = 0; y <= heightSegments; y ++ ) { + + var indexRow = []; + + var v = y / heightSegments; + + // calculate the radius of the current row + + var radius = v * ( radiusBottom - radiusTop ) + radiusTop; + + for ( x = 0; x <= radialSegments; x ++ ) { + + var u = x / radialSegments; + + var theta = u * thetaLength + thetaStart; + + var sinTheta = Math.sin( theta ); + var cosTheta = Math.cos( theta ); + + // vertex + + vertex.x = radius * sinTheta; + vertex.y = - v * height + halfHeight; + vertex.z = radius * cosTheta; + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normal.set( sinTheta, slope, cosTheta ).normalize(); + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( u, 1 - v ); + + // save index of vertex in respective row + + indexRow.push( index ++ ); + + } + + // now save vertices of the row in our index array + + indexArray.push( indexRow ); + + } + + // generate indices + + for ( x = 0; x < radialSegments; x ++ ) { + + for ( y = 0; y < heightSegments; y ++ ) { + + // we use the index array to access the correct indices + + var a = indexArray[ y ][ x ]; + var b = indexArray[ y + 1 ][ x ]; + var c = indexArray[ y + 1 ][ x + 1 ]; + var d = indexArray[ y ][ x + 1 ]; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + // update group counter + + groupCount += 6; + + } + + } + + // add a group to the geometry. this will ensure multi material support + + scope.addGroup( groupStart, groupCount, 0 ); + + // calculate new start value for groups + + groupStart += groupCount; + + } + + function generateCap( top ) { + + var x, centerIndexStart, centerIndexEnd; + + var uv = new Vector2(); + var vertex = new Vector3(); + + var groupCount = 0; + + var radius = ( top === true ) ? radiusTop : radiusBottom; + var sign = ( top === true ) ? 1 : - 1; + + // save the index of the first center vertex + centerIndexStart = index; + + // first we generate the center vertex data of the cap. + // because the geometry needs one set of uvs per face, + // we must generate a center vertex per face/segment + + for ( x = 1; x <= radialSegments; x ++ ) { + + // vertex + + vertices.push( 0, halfHeight * sign, 0 ); + + // normal + + normals.push( 0, sign, 0 ); + + // uv + + uvs.push( 0.5, 0.5 ); + + // increase index + + index ++; + + } + + // save the index of the last center vertex + + centerIndexEnd = index; + + // now we generate the surrounding vertices, normals and uvs + + for ( x = 0; x <= radialSegments; x ++ ) { + + var u = x / radialSegments; + var theta = u * thetaLength + thetaStart; + + var cosTheta = Math.cos( theta ); + var sinTheta = Math.sin( theta ); + + // vertex + + vertex.x = radius * sinTheta; + vertex.y = halfHeight * sign; + vertex.z = radius * cosTheta; + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normals.push( 0, sign, 0 ); + + // uv + + uv.x = ( cosTheta * 0.5 ) + 0.5; + uv.y = ( sinTheta * 0.5 * sign ) + 0.5; + uvs.push( uv.x, uv.y ); + + // increase index + + index ++; + + } + + // generate indices + + for ( x = 0; x < radialSegments; x ++ ) { + + var c = centerIndexStart + x; + var i = centerIndexEnd + x; + + if ( top === true ) { + + // face top + + indices.push( i, i + 1, c ); + + } else { + + // face bottom + + indices.push( i + 1, i, c ); + + } + + groupCount += 3; + + } + + // add a group to the geometry. this will ensure multi material support + + scope.addGroup( groupStart, groupCount, top === true ? 1 : 2 ); + + // calculate new start value for groups + + groupStart += groupCount; + + } + + } + + CylinderBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + CylinderBufferGeometry.prototype.constructor = CylinderBufferGeometry; + + /** + * @author abelnation / http://github.com/abelnation + */ + + // ConeGeometry + + function ConeGeometry( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { + + CylinderGeometry.call( this, 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); + + this.type = 'ConeGeometry'; + + this.parameters = { + radius: radius, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + } + + ConeGeometry.prototype = Object.create( CylinderGeometry.prototype ); + ConeGeometry.prototype.constructor = ConeGeometry; + + // ConeBufferGeometry + + function ConeBufferGeometry( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { + + CylinderBufferGeometry.call( this, 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); + + this.type = 'ConeBufferGeometry'; + + this.parameters = { + radius: radius, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + } + + ConeBufferGeometry.prototype = Object.create( CylinderBufferGeometry.prototype ); + ConeBufferGeometry.prototype.constructor = ConeBufferGeometry; + + /** + * @author benaadams / https://twitter.com/ben_a_adams + * @author Mugen87 / https://github.com/Mugen87 + * @author hughes + */ + + // CircleGeometry + + function CircleGeometry( radius, segments, thetaStart, thetaLength ) { + + Geometry.call( this ); + + this.type = 'CircleGeometry'; + + this.parameters = { + radius: radius, + segments: segments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + this.fromBufferGeometry( new CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) ); + this.mergeVertices(); + + } + + CircleGeometry.prototype = Object.create( Geometry.prototype ); + CircleGeometry.prototype.constructor = CircleGeometry; + + // CircleBufferGeometry + + function CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) { + + BufferGeometry.call( this ); + + this.type = 'CircleBufferGeometry'; + + this.parameters = { + radius: radius, + segments: segments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + radius = radius || 50; + segments = segments !== undefined ? Math.max( 3, segments ) : 8; + + thetaStart = thetaStart !== undefined ? thetaStart : 0; + thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; + + // buffers + + var indices = []; + var vertices = []; + var normals = []; + var uvs = []; + + // helper variables + + var i, s; + var vertex = new Vector3(); + var uv = new Vector2(); + + // center point + + vertices.push( 0, 0, 0 ); + normals.push( 0, 0, 1 ); + uvs.push( 0.5, 0.5 ); + + for ( s = 0, i = 3; s <= segments; s ++, i += 3 ) { + + var segment = thetaStart + s / segments * thetaLength; + + // vertex + + vertex.x = radius * Math.cos( segment ); + vertex.y = radius * Math.sin( segment ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normals.push( 0, 0, 1 ); + + // uvs + + uv.x = ( vertices[ i ] / radius + 1 ) / 2; + uv.y = ( vertices[ i + 1 ] / radius + 1 ) / 2; + + uvs.push( uv.x, uv.y ); + + } + + // indices + + for ( i = 1; i <= segments; i ++ ) { + + indices.push( i, i + 1, 0 ); + + } + + // build geometry + + this.setIndex( indices ); + this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + CircleBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); + CircleBufferGeometry.prototype.constructor = CircleBufferGeometry; + + + + var Geometries = Object.freeze({ + WireframeGeometry: WireframeGeometry, + ParametricGeometry: ParametricGeometry, + ParametricBufferGeometry: ParametricBufferGeometry, + TetrahedronGeometry: TetrahedronGeometry, + TetrahedronBufferGeometry: TetrahedronBufferGeometry, + OctahedronGeometry: OctahedronGeometry, + OctahedronBufferGeometry: OctahedronBufferGeometry, + IcosahedronGeometry: IcosahedronGeometry, + IcosahedronBufferGeometry: IcosahedronBufferGeometry, + DodecahedronGeometry: DodecahedronGeometry, + DodecahedronBufferGeometry: DodecahedronBufferGeometry, + PolyhedronGeometry: PolyhedronGeometry, + PolyhedronBufferGeometry: PolyhedronBufferGeometry, + TubeGeometry: TubeGeometry, + TubeBufferGeometry: TubeBufferGeometry, + TorusKnotGeometry: TorusKnotGeometry, + TorusKnotBufferGeometry: TorusKnotBufferGeometry, + TorusGeometry: TorusGeometry, + TorusBufferGeometry: TorusBufferGeometry, + TextGeometry: TextGeometry, + TextBufferGeometry: TextBufferGeometry, + SphereGeometry: SphereGeometry, + SphereBufferGeometry: SphereBufferGeometry, + RingGeometry: RingGeometry, + RingBufferGeometry: RingBufferGeometry, + PlaneGeometry: PlaneGeometry, + PlaneBufferGeometry: PlaneBufferGeometry, + LatheGeometry: LatheGeometry, + LatheBufferGeometry: LatheBufferGeometry, + ShapeGeometry: ShapeGeometry, + ShapeBufferGeometry: ShapeBufferGeometry, + ExtrudeGeometry: ExtrudeGeometry, + ExtrudeBufferGeometry: ExtrudeBufferGeometry, + EdgesGeometry: EdgesGeometry, + ConeGeometry: ConeGeometry, + ConeBufferGeometry: ConeBufferGeometry, + CylinderGeometry: CylinderGeometry, + CylinderBufferGeometry: CylinderBufferGeometry, + CircleGeometry: CircleGeometry, + CircleBufferGeometry: CircleBufferGeometry, + BoxGeometry: BoxGeometry, + BoxBufferGeometry: BoxBufferGeometry + }); + + /** + * @author mrdoob / http://mrdoob.com/ + * + * parameters = { + * opacity: <float> + * } + */ + + function ShadowMaterial( parameters ) { + + ShaderMaterial.call( this, { + uniforms: UniformsUtils.merge( [ + UniformsLib.lights, + { + opacity: { value: 1.0 } + } + ] ), + vertexShader: ShaderChunk[ 'shadow_vert' ], + fragmentShader: ShaderChunk[ 'shadow_frag' ] + } ); + + this.lights = true; + this.transparent = true; + + Object.defineProperties( this, { + opacity: { + enumerable: true, + get: function () { + return this.uniforms.opacity.value; + }, + set: function ( value ) { + this.uniforms.opacity.value = value; + } + } + } ); + + this.setValues( parameters ); + + } + + ShadowMaterial.prototype = Object.create( ShaderMaterial.prototype ); + ShadowMaterial.prototype.constructor = ShadowMaterial; + + ShadowMaterial.prototype.isShadowMaterial = true; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function RawShaderMaterial( parameters ) { + + ShaderMaterial.call( this, parameters ); + + this.type = 'RawShaderMaterial'; + + } + + RawShaderMaterial.prototype = Object.create( ShaderMaterial.prototype ); + RawShaderMaterial.prototype.constructor = RawShaderMaterial; + + RawShaderMaterial.prototype.isRawShaderMaterial = true; + + /** + * @author WestLangley / http://github.com/WestLangley + * + * parameters = { + * color: <hex>, + * roughness: <float>, + * metalness: <float>, + * opacity: <float>, + * + * map: new THREE.Texture( <Image> ), + * + * lightMap: new THREE.Texture( <Image> ), + * lightMapIntensity: <float> + * + * aoMap: new THREE.Texture( <Image> ), + * aoMapIntensity: <float> + * + * emissive: <hex>, + * emissiveIntensity: <float> + * emissiveMap: new THREE.Texture( <Image> ), + * + * bumpMap: new THREE.Texture( <Image> ), + * bumpScale: <float>, + * + * normalMap: new THREE.Texture( <Image> ), + * normalScale: <Vector2>, + * + * displacementMap: new THREE.Texture( <Image> ), + * displacementScale: <float>, + * displacementBias: <float>, + * + * roughnessMap: new THREE.Texture( <Image> ), + * + * metalnessMap: new THREE.Texture( <Image> ), + * + * alphaMap: new THREE.Texture( <Image> ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * envMapIntensity: <float> + * + * refractionRatio: <float>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float>, + * + * skinning: <bool>, + * morphTargets: <bool>, + * morphNormals: <bool> + * } + */ + + function MeshStandardMaterial( parameters ) { + + Material.call( this ); + + this.defines = { 'STANDARD': '' }; + + this.type = 'MeshStandardMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + this.roughness = 0.5; + this.metalness = 0.5; + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalScale = new Vector2( 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.0; + + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.skinning = false; + this.morphTargets = false; + this.morphNormals = false; + + this.setValues( parameters ); + + } + + MeshStandardMaterial.prototype = Object.create( Material.prototype ); + MeshStandardMaterial.prototype.constructor = MeshStandardMaterial; + + MeshStandardMaterial.prototype.isMeshStandardMaterial = true; + + MeshStandardMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.defines = { 'STANDARD': '' }; + + this.color.copy( source.color ); + this.roughness = source.roughness; + this.metalness = source.metalness; + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.roughnessMap = source.roughnessMap; + + this.metalnessMap = source.metalnessMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.envMapIntensity = source.envMapIntensity; + + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + this.skinning = source.skinning; + this.morphTargets = source.morphTargets; + this.morphNormals = source.morphNormals; + + return this; + + }; + + /** + * @author WestLangley / http://github.com/WestLangley + * + * parameters = { + * reflectivity: <float> + * } + */ + + function MeshPhysicalMaterial( parameters ) { + + MeshStandardMaterial.call( this ); + + this.defines = { 'PHYSICAL': '' }; + + this.type = 'MeshPhysicalMaterial'; + + this.reflectivity = 0.5; // maps to F0 = 0.04 + + this.clearCoat = 0.0; + this.clearCoatRoughness = 0.0; + + this.setValues( parameters ); + + } + + MeshPhysicalMaterial.prototype = Object.create( MeshStandardMaterial.prototype ); + MeshPhysicalMaterial.prototype.constructor = MeshPhysicalMaterial; + + MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial = true; + + MeshPhysicalMaterial.prototype.copy = function ( source ) { + + MeshStandardMaterial.prototype.copy.call( this, source ); + + this.defines = { 'PHYSICAL': '' }; + + this.reflectivity = source.reflectivity; + + this.clearCoat = source.clearCoat; + this.clearCoatRoughness = source.clearCoatRoughness; + + return this; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * specular: <hex>, + * shininess: <float>, + * opacity: <float>, + * + * map: new THREE.Texture( <Image> ), + * + * lightMap: new THREE.Texture( <Image> ), + * lightMapIntensity: <float> + * + * aoMap: new THREE.Texture( <Image> ), + * aoMapIntensity: <float> + * + * emissive: <hex>, + * emissiveIntensity: <float> + * emissiveMap: new THREE.Texture( <Image> ), + * + * bumpMap: new THREE.Texture( <Image> ), + * bumpScale: <float>, + * + * normalMap: new THREE.Texture( <Image> ), + * normalScale: <Vector2>, + * + * displacementMap: new THREE.Texture( <Image> ), + * displacementScale: <float>, + * displacementBias: <float>, + * + * specularMap: new THREE.Texture( <Image> ), + * + * alphaMap: new THREE.Texture( <Image> ), + * + * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: <float>, + * refractionRatio: <float>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float>, + * + * skinning: <bool>, + * morphTargets: <bool>, + * morphNormals: <bool> + * } + */ + + function MeshPhongMaterial( parameters ) { + + Material.call( this ); + + this.type = 'MeshPhongMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + this.specular = new Color( 0x111111 ); + this.shininess = 30; + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.specularMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.skinning = false; + this.morphTargets = false; + this.morphNormals = false; + + this.setValues( parameters ); + + } + + MeshPhongMaterial.prototype = Object.create( Material.prototype ); + MeshPhongMaterial.prototype.constructor = MeshPhongMaterial; + + MeshPhongMaterial.prototype.isMeshPhongMaterial = true; + + MeshPhongMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + this.specular.copy( source.specular ); + this.shininess = source.shininess; + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.specularMap = source.specularMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + this.skinning = source.skinning; + this.morphTargets = source.morphTargets; + this.morphNormals = source.morphNormals; + + return this; + + }; + + /** + * @author takahirox / http://github.com/takahirox + * + * parameters = { + * gradientMap: new THREE.Texture( <Image> ) + * } + */ + + function MeshToonMaterial( parameters ) { + + MeshPhongMaterial.call( this ); + + this.defines = { 'TOON': '' }; + + this.type = 'MeshToonMaterial'; + + this.gradientMap = null; + + this.setValues( parameters ); + + } + + MeshToonMaterial.prototype = Object.create( MeshPhongMaterial.prototype ); + MeshToonMaterial.prototype.constructor = MeshToonMaterial; + + MeshToonMaterial.prototype.isMeshToonMaterial = true; + + MeshToonMaterial.prototype.copy = function ( source ) { + + MeshPhongMaterial.prototype.copy.call( this, source ); + + this.gradientMap = source.gradientMap; + + return this; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author WestLangley / http://github.com/WestLangley + * + * parameters = { + * opacity: <float>, + * + * bumpMap: new THREE.Texture( <Image> ), + * bumpScale: <float>, + * + * normalMap: new THREE.Texture( <Image> ), + * normalScale: <Vector2>, + * + * displacementMap: new THREE.Texture( <Image> ), + * displacementScale: <float>, + * displacementBias: <float>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float> + * + * skinning: <bool>, + * morphTargets: <bool>, + * morphNormals: <bool> + * } + */ + + function MeshNormalMaterial( parameters ) { + + Material.call( this, parameters ); + + this.type = 'MeshNormalMaterial'; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.wireframe = false; + this.wireframeLinewidth = 1; + + this.fog = false; + this.lights = false; + + this.skinning = false; + this.morphTargets = false; + this.morphNormals = false; + + this.setValues( parameters ); + + } + + MeshNormalMaterial.prototype = Object.create( Material.prototype ); + MeshNormalMaterial.prototype.constructor = MeshNormalMaterial; + + MeshNormalMaterial.prototype.isMeshNormalMaterial = true; + + MeshNormalMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + + this.skinning = source.skinning; + this.morphTargets = source.morphTargets; + this.morphNormals = source.morphNormals; + + return this; + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * opacity: <float>, + * + * map: new THREE.Texture( <Image> ), + * + * lightMap: new THREE.Texture( <Image> ), + * lightMapIntensity: <float> + * + * aoMap: new THREE.Texture( <Image> ), + * aoMapIntensity: <float> + * + * emissive: <hex>, + * emissiveIntensity: <float> + * emissiveMap: new THREE.Texture( <Image> ), + * + * specularMap: new THREE.Texture( <Image> ), + * + * alphaMap: new THREE.Texture( <Image> ), + * + * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: <float>, + * refractionRatio: <float>, + * + * wireframe: <boolean>, + * wireframeLinewidth: <float>, + * + * skinning: <bool>, + * morphTargets: <bool>, + * morphNormals: <bool> + * } + */ + + function MeshLambertMaterial( parameters ) { + + Material.call( this ); + + this.type = 'MeshLambertMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.specularMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.skinning = false; + this.morphTargets = false; + this.morphNormals = false; + + this.setValues( parameters ); + + } + + MeshLambertMaterial.prototype = Object.create( Material.prototype ); + MeshLambertMaterial.prototype.constructor = MeshLambertMaterial; + + MeshLambertMaterial.prototype.isMeshLambertMaterial = true; + + MeshLambertMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.specularMap = source.specularMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + this.skinning = source.skinning; + this.morphTargets = source.morphTargets; + this.morphNormals = source.morphNormals; + + return this; + + }; + + /** + * @author alteredq / http://alteredqualia.com/ + * + * parameters = { + * color: <hex>, + * opacity: <float>, + * + * linewidth: <float>, + * + * scale: <float>, + * dashSize: <float>, + * gapSize: <float> + * } + */ + + function LineDashedMaterial( parameters ) { + + Material.call( this ); + + this.type = 'LineDashedMaterial'; + + this.color = new Color( 0xffffff ); + + this.linewidth = 1; + + this.scale = 1; + this.dashSize = 3; + this.gapSize = 1; + + this.lights = false; + + this.setValues( parameters ); + + } + + LineDashedMaterial.prototype = Object.create( Material.prototype ); + LineDashedMaterial.prototype.constructor = LineDashedMaterial; + + LineDashedMaterial.prototype.isLineDashedMaterial = true; + + LineDashedMaterial.prototype.copy = function ( source ) { + + Material.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + + this.linewidth = source.linewidth; + + this.scale = source.scale; + this.dashSize = source.dashSize; + this.gapSize = source.gapSize; + + return this; + + }; + + + + var Materials = Object.freeze({ + ShadowMaterial: ShadowMaterial, + SpriteMaterial: SpriteMaterial, + RawShaderMaterial: RawShaderMaterial, + ShaderMaterial: ShaderMaterial, + PointsMaterial: PointsMaterial, + MeshPhysicalMaterial: MeshPhysicalMaterial, + MeshStandardMaterial: MeshStandardMaterial, + MeshPhongMaterial: MeshPhongMaterial, + MeshToonMaterial: MeshToonMaterial, + MeshNormalMaterial: MeshNormalMaterial, + MeshLambertMaterial: MeshLambertMaterial, + MeshDepthMaterial: MeshDepthMaterial, + MeshBasicMaterial: MeshBasicMaterial, + LineDashedMaterial: LineDashedMaterial, + LineBasicMaterial: LineBasicMaterial, + Material: Material + }); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + var Cache = { + + enabled: false, + + files: {}, + + add: function ( key, file ) { + + if ( this.enabled === false ) return; + + // console.log( 'THREE.Cache', 'Adding key:', key ); + + this.files[ key ] = file; + + }, + + get: function ( key ) { + + if ( this.enabled === false ) return; + + // console.log( 'THREE.Cache', 'Checking key:', key ); + + return this.files[ key ]; + + }, + + remove: function ( key ) { + + delete this.files[ key ]; + + }, + + clear: function () { + + this.files = {}; + + } + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function LoadingManager( onLoad, onProgress, onError ) { + + var scope = this; + + var isLoading = false, itemsLoaded = 0, itemsTotal = 0; + + this.onStart = undefined; + this.onLoad = onLoad; + this.onProgress = onProgress; + this.onError = onError; + + this.itemStart = function ( url ) { + + itemsTotal ++; + + if ( isLoading === false ) { + + if ( scope.onStart !== undefined ) { + + scope.onStart( url, itemsLoaded, itemsTotal ); + + } + + } + + isLoading = true; + + }; + + this.itemEnd = function ( url ) { + + itemsLoaded ++; + + if ( scope.onProgress !== undefined ) { + + scope.onProgress( url, itemsLoaded, itemsTotal ); + + } + + if ( itemsLoaded === itemsTotal ) { + + isLoading = false; + + if ( scope.onLoad !== undefined ) { + + scope.onLoad(); + + } + + } + + }; + + this.itemError = function ( url ) { + + if ( scope.onError !== undefined ) { + + scope.onError( url ); + + } + + }; + + } + + var DefaultLoadingManager = new LoadingManager(); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function FileLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( FileLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + if ( url === undefined ) url = ''; + + if ( this.path !== undefined ) url = this.path + url; + + var scope = this; + + var cached = Cache.get( url ); + + if ( cached !== undefined ) { + + scope.manager.itemStart( url ); + + setTimeout( function () { + + if ( onLoad ) onLoad( cached ); + + scope.manager.itemEnd( url ); + + }, 0 ); + + return cached; + + } + + // Check for data: URI + var dataUriRegex = /^data:(.*?)(;base64)?,(.*)$/; + var dataUriRegexResult = url.match( dataUriRegex ); + + // Safari can not handle Data URIs through XMLHttpRequest so process manually + if ( dataUriRegexResult ) { + + var mimeType = dataUriRegexResult[ 1 ]; + var isBase64 = !! dataUriRegexResult[ 2 ]; + var data = dataUriRegexResult[ 3 ]; + + data = window.decodeURIComponent( data ); + + if ( isBase64 ) data = window.atob( data ); + + try { + + var response; + var responseType = ( this.responseType || '' ).toLowerCase(); + + switch ( responseType ) { + + case 'arraybuffer': + case 'blob': + + response = new ArrayBuffer( data.length ); + + var view = new Uint8Array( response ); + + for ( var i = 0; i < data.length; i ++ ) { + + view[ i ] = data.charCodeAt( i ); + + } + + if ( responseType === 'blob' ) { + + response = new Blob( [ response ], { type: mimeType } ); + + } + + break; + + case 'document': + + var parser = new DOMParser(); + response = parser.parseFromString( data, mimeType ); + + break; + + case 'json': + + response = JSON.parse( data ); + + break; + + default: // 'text' or other + + response = data; + + break; + + } + + // Wait for next browser tick + window.setTimeout( function () { + + if ( onLoad ) onLoad( response ); + + scope.manager.itemEnd( url ); + + }, 0 ); + + } catch ( error ) { + + // Wait for next browser tick + window.setTimeout( function () { + + if ( onError ) onError( error ); + + scope.manager.itemEnd( url ); + scope.manager.itemError( url ); + + }, 0 ); + + } + + } else { + + var request = new XMLHttpRequest(); + request.open( 'GET', url, true ); + + request.addEventListener( 'load', function ( event ) { + + var response = event.target.response; + + Cache.add( url, response ); + + if ( this.status === 200 ) { + + if ( onLoad ) onLoad( response ); + + scope.manager.itemEnd( url ); + + } else if ( this.status === 0 ) { + + // Some browsers return HTTP Status 0 when using non-http protocol + // e.g. 'file://' or 'data://'. Handle as success. + + console.warn( 'THREE.FileLoader: HTTP Status 0 received.' ); + + if ( onLoad ) onLoad( response ); + + scope.manager.itemEnd( url ); + + } else { + + if ( onError ) onError( event ); + + scope.manager.itemEnd( url ); + scope.manager.itemError( url ); + + } + + }, false ); + + if ( onProgress !== undefined ) { + + request.addEventListener( 'progress', function ( event ) { + + onProgress( event ); + + }, false ); + + } + + request.addEventListener( 'error', function ( event ) { + + if ( onError ) onError( event ); + + scope.manager.itemEnd( url ); + scope.manager.itemError( url ); + + }, false ); + + if ( this.responseType !== undefined ) request.responseType = this.responseType; + if ( this.withCredentials !== undefined ) request.withCredentials = this.withCredentials; + + if ( request.overrideMimeType ) request.overrideMimeType( this.mimeType !== undefined ? this.mimeType : 'text/plain' ); + + for ( var header in this.requestHeader ) { + + request.setRequestHeader( header, this.requestHeader[ header ] ); + + } + + request.send( null ); + + } + + scope.manager.itemStart( url ); + + return request; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + }, + + setResponseType: function ( value ) { + + this.responseType = value; + return this; + + }, + + setWithCredentials: function ( value ) { + + this.withCredentials = value; + return this; + + }, + + setMimeType: function ( value ) { + + this.mimeType = value; + return this; + + }, + + setRequestHeader: function ( value ) { + + this.requestHeader = value; + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * + * Abstract Base class to block based textures loader (dds, pvr, ...) + */ + + function CompressedTextureLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + // override in sub classes + this._parser = null; + + } + + Object.assign( CompressedTextureLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var images = []; + + var texture = new CompressedTexture(); + texture.image = images; + + var loader = new FileLoader( this.manager ); + loader.setPath( this.path ); + loader.setResponseType( 'arraybuffer' ); + + function loadTexture( i ) { + + loader.load( url[ i ], function ( buffer ) { + + var texDatas = scope._parser( buffer, true ); + + images[ i ] = { + width: texDatas.width, + height: texDatas.height, + format: texDatas.format, + mipmaps: texDatas.mipmaps + }; + + loaded += 1; + + if ( loaded === 6 ) { + + if ( texDatas.mipmapCount === 1 ) + texture.minFilter = LinearFilter; + + texture.format = texDatas.format; + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture ); + + } + + }, onProgress, onError ); + + } + + if ( Array.isArray( url ) ) { + + var loaded = 0; + + for ( var i = 0, il = url.length; i < il; ++ i ) { + + loadTexture( i ); + + } + + } else { + + // compressed cubemap texture stored in a single DDS file + + loader.load( url, function ( buffer ) { + + var texDatas = scope._parser( buffer, true ); + + if ( texDatas.isCubemap ) { + + var faces = texDatas.mipmaps.length / texDatas.mipmapCount; + + for ( var f = 0; f < faces; f ++ ) { + + images[ f ] = { mipmaps : [] }; + + for ( var i = 0; i < texDatas.mipmapCount; i ++ ) { + + images[ f ].mipmaps.push( texDatas.mipmaps[ f * texDatas.mipmapCount + i ] ); + images[ f ].format = texDatas.format; + images[ f ].width = texDatas.width; + images[ f ].height = texDatas.height; + + } + + } + + } else { + + texture.image.width = texDatas.width; + texture.image.height = texDatas.height; + texture.mipmaps = texDatas.mipmaps; + + } + + if ( texDatas.mipmapCount === 1 ) { + + texture.minFilter = LinearFilter; + + } + + texture.format = texDatas.format; + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture ); + + }, onProgress, onError ); + + } + + return texture; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + } + + } ); + + /** + * @author Nikos M. / https://github.com/foo123/ + * + * Abstract Base class to load generic binary textures formats (rgbe, hdr, ...) + */ + + function DataTextureLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + // override in sub classes + this._parser = null; + + } + + Object.assign( DataTextureLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var texture = new DataTexture(); + + var loader = new FileLoader( this.manager ); + loader.setResponseType( 'arraybuffer' ); + + loader.load( url, function ( buffer ) { + + var texData = scope._parser( buffer ); + + if ( ! texData ) return; + + if ( undefined !== texData.image ) { + + texture.image = texData.image; + + } else if ( undefined !== texData.data ) { + + texture.image.width = texData.width; + texture.image.height = texData.height; + texture.image.data = texData.data; + + } + + texture.wrapS = undefined !== texData.wrapS ? texData.wrapS : ClampToEdgeWrapping; + texture.wrapT = undefined !== texData.wrapT ? texData.wrapT : ClampToEdgeWrapping; + + texture.magFilter = undefined !== texData.magFilter ? texData.magFilter : LinearFilter; + texture.minFilter = undefined !== texData.minFilter ? texData.minFilter : LinearMipMapLinearFilter; + + texture.anisotropy = undefined !== texData.anisotropy ? texData.anisotropy : 1; + + if ( undefined !== texData.format ) { + + texture.format = texData.format; + + } + if ( undefined !== texData.type ) { + + texture.type = texData.type; + + } + + if ( undefined !== texData.mipmaps ) { + + texture.mipmaps = texData.mipmaps; + + } + + if ( 1 === texData.mipmapCount ) { + + texture.minFilter = LinearFilter; + + } + + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture, texData ); + + }, onProgress, onError ); + + + return texture; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function ImageLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( ImageLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + if ( url === undefined ) url = ''; + + if ( this.path !== undefined ) url = this.path + url; + + var scope = this; + + var cached = Cache.get( url ); + + if ( cached !== undefined ) { + + scope.manager.itemStart( url ); + + setTimeout( function () { + + if ( onLoad ) onLoad( cached ); + + scope.manager.itemEnd( url ); + + }, 0 ); + + return cached; + + } + + var image = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'img' ); + + image.addEventListener( 'load', function () { + + Cache.add( url, this ); + + if ( onLoad ) onLoad( this ); + + scope.manager.itemEnd( url ); + + }, false ); + + /* + image.addEventListener( 'progress', function ( event ) { + + if ( onProgress ) onProgress( event ); + + }, false ); + */ + + image.addEventListener( 'error', function ( event ) { + + if ( onError ) onError( event ); + + scope.manager.itemEnd( url ); + scope.manager.itemError( url ); + + }, false ); + + if ( url.substr( 0, 5 ) !== 'data:' ) { + + if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin; + + } + + scope.manager.itemStart( url ); + + image.src = url; + + return image; + + }, + + setCrossOrigin: function ( value ) { + + this.crossOrigin = value; + return this; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function CubeTextureLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( CubeTextureLoader.prototype, { + + load: function ( urls, onLoad, onProgress, onError ) { + + var texture = new CubeTexture(); + + var loader = new ImageLoader( this.manager ); + loader.setCrossOrigin( this.crossOrigin ); + loader.setPath( this.path ); + + var loaded = 0; + + function loadTexture( i ) { + + loader.load( urls[ i ], function ( image ) { + + texture.images[ i ] = image; + + loaded ++; + + if ( loaded === 6 ) { + + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture ); + + } + + }, undefined, onError ); + + } + + for ( var i = 0; i < urls.length; ++ i ) { + + loadTexture( i ); + + } + + return texture; + + }, + + setCrossOrigin: function ( value ) { + + this.crossOrigin = value; + return this; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function TextureLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( TextureLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var loader = new ImageLoader( this.manager ); + loader.setCrossOrigin( this.crossOrigin ); + loader.setPath( this.path ); + + var texture = new Texture(); + texture.image = loader.load( url, function () { + + // JPEGs can't have an alpha channel, so memory can be saved by storing them as RGB. + var isJPEG = url.search( /\.(jpg|jpeg)$/ ) > 0 || url.search( /^data\:image\/jpeg/ ) === 0; + + texture.format = isJPEG ? RGBFormat : RGBAFormat; + texture.needsUpdate = true; + + if ( onLoad !== undefined ) { + + onLoad( texture ); + + } + + }, onProgress, onError ); + + return texture; + + }, + + setCrossOrigin: function ( value ) { + + this.crossOrigin = value; + return this; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + function Light( color, intensity ) { + + Object3D.call( this ); + + this.type = 'Light'; + + this.color = new Color( color ); + this.intensity = intensity !== undefined ? intensity : 1; + + this.receiveShadow = undefined; + + } + + Light.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Light, + + isLight: true, + + copy: function ( source ) { + + Object3D.prototype.copy.call( this, source ); + + this.color.copy( source.color ); + this.intensity = source.intensity; + + return this; + + }, + + toJSON: function ( meta ) { + + var data = Object3D.prototype.toJSON.call( this, meta ); + + data.object.color = this.color.getHex(); + data.object.intensity = this.intensity; + + if ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex(); + + if ( this.distance !== undefined ) data.object.distance = this.distance; + if ( this.angle !== undefined ) data.object.angle = this.angle; + if ( this.decay !== undefined ) data.object.decay = this.decay; + if ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra; + + if ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON(); + + return data; + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function HemisphereLight( skyColor, groundColor, intensity ) { + + Light.call( this, skyColor, intensity ); + + this.type = 'HemisphereLight'; + + this.castShadow = undefined; + + this.position.copy( Object3D.DefaultUp ); + this.updateMatrix(); + + this.groundColor = new Color( groundColor ); + + } + + HemisphereLight.prototype = Object.assign( Object.create( Light.prototype ), { + + constructor: HemisphereLight, + + isHemisphereLight: true, + + copy: function ( source ) { + + Light.prototype.copy.call( this, source ); + + this.groundColor.copy( source.groundColor ); + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function LightShadow( camera ) { + + this.camera = camera; + + this.bias = 0; + this.radius = 1; + + this.mapSize = new Vector2( 512, 512 ); + + this.map = null; + this.matrix = new Matrix4(); + + } + + Object.assign( LightShadow.prototype, { + + copy: function ( source ) { + + this.camera = source.camera.clone(); + + this.bias = source.bias; + this.radius = source.radius; + + this.mapSize.copy( source.mapSize ); + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + toJSON: function () { + + var object = {}; + + if ( this.bias !== 0 ) object.bias = this.bias; + if ( this.radius !== 1 ) object.radius = this.radius; + if ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray(); + + object.camera = this.camera.toJSON( false ).object; + delete object.camera.matrix; + + return object; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function SpotLightShadow() { + + LightShadow.call( this, new PerspectiveCamera( 50, 1, 0.5, 500 ) ); + + } + + SpotLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { + + constructor: SpotLightShadow, + + isSpotLightShadow: true, + + update: function ( light ) { + + var camera = this.camera; + + var fov = _Math.RAD2DEG * 2 * light.angle; + var aspect = this.mapSize.width / this.mapSize.height; + var far = light.distance || camera.far; + + if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) { + + camera.fov = fov; + camera.aspect = aspect; + camera.far = far; + camera.updateProjectionMatrix(); + + } + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function SpotLight( color, intensity, distance, angle, penumbra, decay ) { + + Light.call( this, color, intensity ); + + this.type = 'SpotLight'; + + this.position.copy( Object3D.DefaultUp ); + this.updateMatrix(); + + this.target = new Object3D(); + + Object.defineProperty( this, 'power', { + get: function () { + // intensity = power per solid angle. + // ref: equation (17) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf + return this.intensity * Math.PI; + }, + set: function ( power ) { + // intensity = power per solid angle. + // ref: equation (17) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf + this.intensity = power / Math.PI; + } + } ); + + this.distance = ( distance !== undefined ) ? distance : 0; + this.angle = ( angle !== undefined ) ? angle : Math.PI / 3; + this.penumbra = ( penumbra !== undefined ) ? penumbra : 0; + this.decay = ( decay !== undefined ) ? decay : 1; // for physically correct lights, should be 2. + + this.shadow = new SpotLightShadow(); + + } + + SpotLight.prototype = Object.assign( Object.create( Light.prototype ), { + + constructor: SpotLight, + + isSpotLight: true, + + copy: function ( source ) { + + Light.prototype.copy.call( this, source ); + + this.distance = source.distance; + this.angle = source.angle; + this.penumbra = source.penumbra; + this.decay = source.decay; + + this.target = source.target.clone(); + + this.shadow = source.shadow.clone(); + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + + function PointLight( color, intensity, distance, decay ) { + + Light.call( this, color, intensity ); + + this.type = 'PointLight'; + + Object.defineProperty( this, 'power', { + get: function () { + // intensity = power per solid angle. + // ref: equation (15) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf + return this.intensity * 4 * Math.PI; + + }, + set: function ( power ) { + // intensity = power per solid angle. + // ref: equation (15) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf + this.intensity = power / ( 4 * Math.PI ); + } + } ); + + this.distance = ( distance !== undefined ) ? distance : 0; + this.decay = ( decay !== undefined ) ? decay : 1; // for physically correct lights, should be 2. + + this.shadow = new LightShadow( new PerspectiveCamera( 90, 1, 0.5, 500 ) ); + + } + + PointLight.prototype = Object.assign( Object.create( Light.prototype ), { + + constructor: PointLight, + + isPointLight: true, + + copy: function ( source ) { + + Light.prototype.copy.call( this, source ); + + this.distance = source.distance; + this.decay = source.decay; + + this.shadow = source.shadow.clone(); + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function DirectionalLightShadow( ) { + + LightShadow.call( this, new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) ); + + } + + DirectionalLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { + + constructor: DirectionalLightShadow + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + function DirectionalLight( color, intensity ) { + + Light.call( this, color, intensity ); + + this.type = 'DirectionalLight'; + + this.position.copy( Object3D.DefaultUp ); + this.updateMatrix(); + + this.target = new Object3D(); + + this.shadow = new DirectionalLightShadow(); + + } + + DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), { + + constructor: DirectionalLight, + + isDirectionalLight: true, + + copy: function ( source ) { + + Light.prototype.copy.call( this, source ); + + this.target = source.target.clone(); + + this.shadow = source.shadow.clone(); + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function AmbientLight( color, intensity ) { + + Light.call( this, color, intensity ); + + this.type = 'AmbientLight'; + + this.castShadow = undefined; + + } + + AmbientLight.prototype = Object.assign( Object.create( Light.prototype ), { + + constructor: AmbientLight, + + isAmbientLight: true + + } ); + + /** + * @author abelnation / http://github.com/abelnation + */ + + function RectAreaLight( color, intensity, width, height ) { + + Light.call( this, color, intensity ); + + this.type = 'RectAreaLight'; + + this.position.set( 0, 1, 0 ); + this.updateMatrix(); + + this.width = ( width !== undefined ) ? width : 10; + this.height = ( height !== undefined ) ? height : 10; + + // TODO (abelnation): distance/decay + + // TODO (abelnation): update method for RectAreaLight to update transform to lookat target + + // TODO (abelnation): shadows + + } + + // TODO (abelnation): RectAreaLight update when light shape is changed + RectAreaLight.prototype = Object.assign( Object.create( Light.prototype ), { + + constructor: RectAreaLight, + + isRectAreaLight: true, + + copy: function ( source ) { + + Light.prototype.copy.call( this, source ); + + this.width = source.width; + this.height = source.height; + + return this; + + }, + + toJSON: function ( meta ) { + + var data = Light.prototype.toJSON.call( this, meta ); + + data.object.width = this.width; + data.object.height = this.height; + + return data; + + } + + } ); + + /** + * @author tschw + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + */ + + var AnimationUtils = { + + // same as Array.prototype.slice, but also works on typed arrays + arraySlice: function ( array, from, to ) { + + if ( AnimationUtils.isTypedArray( array ) ) { + + // in ios9 array.subarray(from, undefined) will return empty array + // but array.subarray(from) or array.subarray(from, len) is correct + return new array.constructor( array.subarray( from, to !== undefined ? to : array.length ) ); + + } + + return array.slice( from, to ); + + }, + + // converts an array to a specific type + convertArray: function ( array, type, forceClone ) { + + if ( ! array || // let 'undefined' and 'null' pass + ! forceClone && array.constructor === type ) return array; + + if ( typeof type.BYTES_PER_ELEMENT === 'number' ) { + + return new type( array ); // create typed array + + } + + return Array.prototype.slice.call( array ); // create Array + + }, + + isTypedArray: function ( object ) { + + return ArrayBuffer.isView( object ) && + ! ( object instanceof DataView ); + + }, + + // returns an array by which times and values can be sorted + getKeyframeOrder: function ( times ) { + + function compareTime( i, j ) { + + return times[ i ] - times[ j ]; + + } + + var n = times.length; + var result = new Array( n ); + for ( var i = 0; i !== n; ++ i ) result[ i ] = i; + + result.sort( compareTime ); + + return result; + + }, + + // uses the array previously returned by 'getKeyframeOrder' to sort data + sortedArray: function ( values, stride, order ) { + + var nValues = values.length; + var result = new values.constructor( nValues ); + + for ( var i = 0, dstOffset = 0; dstOffset !== nValues; ++ i ) { + + var srcOffset = order[ i ] * stride; + + for ( var j = 0; j !== stride; ++ j ) { + + result[ dstOffset ++ ] = values[ srcOffset + j ]; + + } + + } + + return result; + + }, + + // function for parsing AOS keyframe formats + flattenJSON: function ( jsonKeys, times, values, valuePropertyName ) { + + var i = 1, key = jsonKeys[ 0 ]; + + while ( key !== undefined && key[ valuePropertyName ] === undefined ) { + + key = jsonKeys[ i ++ ]; + + } + + if ( key === undefined ) return; // no data + + var value = key[ valuePropertyName ]; + if ( value === undefined ) return; // no data + + if ( Array.isArray( value ) ) { + + do { + + value = key[ valuePropertyName ]; + + if ( value !== undefined ) { + + times.push( key.time ); + values.push.apply( values, value ); // push all elements + + } + + key = jsonKeys[ i ++ ]; + + } while ( key !== undefined ); + + } else if ( value.toArray !== undefined ) { + + // ...assume THREE.Math-ish + + do { + + value = key[ valuePropertyName ]; + + if ( value !== undefined ) { + + times.push( key.time ); + value.toArray( values, values.length ); + + } + + key = jsonKeys[ i ++ ]; + + } while ( key !== undefined ); + + } else { + + // otherwise push as-is + + do { + + value = key[ valuePropertyName ]; + + if ( value !== undefined ) { + + times.push( key.time ); + values.push( value ); + + } + + key = jsonKeys[ i ++ ]; + + } while ( key !== undefined ); + + } + + } + + }; + + /** + * Abstract base class of interpolants over parametric samples. + * + * The parameter domain is one dimensional, typically the time or a path + * along a curve defined by the data. + * + * The sample values can have any dimensionality and derived classes may + * apply special interpretations to the data. + * + * This class provides the interval seek in a Template Method, deferring + * the actual interpolation to derived classes. + * + * Time complexity is O(1) for linear access crossing at most two points + * and O(log N) for random access, where N is the number of positions. + * + * References: + * + * http://www.oodesign.com/template-method-pattern.html + * + * @author tschw + */ + + function Interpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + this.parameterPositions = parameterPositions; + this._cachedIndex = 0; + + this.resultBuffer = resultBuffer !== undefined ? + resultBuffer : new sampleValues.constructor( sampleSize ); + this.sampleValues = sampleValues; + this.valueSize = sampleSize; + + } + + Object.assign( Interpolant.prototype, { + + evaluate: function( t ) { + + var pp = this.parameterPositions, + i1 = this._cachedIndex, + + t1 = pp[ i1 ], + t0 = pp[ i1 - 1 ]; + + validate_interval: { + + seek: { + + var right; + + linear_scan: { + //- See http://jsperf.com/comparison-to-undefined/3 + //- slower code: + //- + //- if ( t >= t1 || t1 === undefined ) { + forward_scan: if ( ! ( t < t1 ) ) { + + for ( var giveUpAt = i1 + 2; ;) { + + if ( t1 === undefined ) { + + if ( t < t0 ) break forward_scan; + + // after end + + i1 = pp.length; + this._cachedIndex = i1; + return this.afterEnd_( i1 - 1, t, t0 ); + + } + + if ( i1 === giveUpAt ) break; // this loop + + t0 = t1; + t1 = pp[ ++ i1 ]; + + if ( t < t1 ) { + + // we have arrived at the sought interval + break seek; + + } + + } + + // prepare binary search on the right side of the index + right = pp.length; + break linear_scan; + + } + + //- slower code: + //- if ( t < t0 || t0 === undefined ) { + if ( ! ( t >= t0 ) ) { + + // looping? + + var t1global = pp[ 1 ]; + + if ( t < t1global ) { + + i1 = 2; // + 1, using the scan for the details + t0 = t1global; + + } + + // linear reverse scan + + for ( var giveUpAt = i1 - 2; ;) { + + if ( t0 === undefined ) { + + // before start + + this._cachedIndex = 0; + return this.beforeStart_( 0, t, t1 ); + + } + + if ( i1 === giveUpAt ) break; // this loop + + t1 = t0; + t0 = pp[ -- i1 - 1 ]; + + if ( t >= t0 ) { + + // we have arrived at the sought interval + break seek; + + } + + } + + // prepare binary search on the left side of the index + right = i1; + i1 = 0; + break linear_scan; + + } + + // the interval is valid + + break validate_interval; + + } // linear scan + + // binary search + + while ( i1 < right ) { + + var mid = ( i1 + right ) >>> 1; + + if ( t < pp[ mid ] ) { + + right = mid; + + } else { + + i1 = mid + 1; + + } + + } + + t1 = pp[ i1 ]; + t0 = pp[ i1 - 1 ]; + + // check boundary cases, again + + if ( t0 === undefined ) { + + this._cachedIndex = 0; + return this.beforeStart_( 0, t, t1 ); + + } + + if ( t1 === undefined ) { + + i1 = pp.length; + this._cachedIndex = i1; + return this.afterEnd_( i1 - 1, t0, t ); + + } + + } // seek + + this._cachedIndex = i1; + + this.intervalChanged_( i1, t0, t1 ); + + } // validate_interval + + return this.interpolate_( i1, t0, t, t1 ); + + }, + + settings: null, // optional, subclass-specific settings structure + // Note: The indirection allows central control of many interpolants. + + // --- Protected interface + + DefaultSettings_: {}, + + getSettings_: function() { + + return this.settings || this.DefaultSettings_; + + }, + + copySampleValue_: function( index ) { + + // copies a sample value to the result buffer + + var result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + offset = index * stride; + + for ( var i = 0; i !== stride; ++ i ) { + + result[ i ] = values[ offset + i ]; + + } + + return result; + + }, + + // Template methods for derived classes: + + interpolate_: function( i1, t0, t, t1 ) { + + throw new Error( "call to abstract method" ); + // implementations shall return this.resultBuffer + + }, + + intervalChanged_: function( i1, t0, t1 ) { + + // empty + + } + + } ); + + //!\ DECLARE ALIAS AFTER assign prototype ! + Object.assign( Interpolant.prototype, { + + //( 0, t, t0 ), returns this.resultBuffer + beforeStart_: Interpolant.prototype.copySampleValue_, + + //( N-1, tN-1, t ), returns this.resultBuffer + afterEnd_: Interpolant.prototype.copySampleValue_, + + } ); + + /** + * Fast and simple cubic spline interpolant. + * + * It was derived from a Hermitian construction setting the first derivative + * at each sample position to the linear slope between neighboring positions + * over their parameter interval. + * + * @author tschw + */ + + function CubicInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + Interpolant.call( + this, parameterPositions, sampleValues, sampleSize, resultBuffer ); + + this._weightPrev = -0; + this._offsetPrev = -0; + this._weightNext = -0; + this._offsetNext = -0; + + } + + CubicInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { + + constructor: CubicInterpolant, + + DefaultSettings_: { + + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + + }, + + intervalChanged_: function( i1, t0, t1 ) { + + var pp = this.parameterPositions, + iPrev = i1 - 2, + iNext = i1 + 1, + + tPrev = pp[ iPrev ], + tNext = pp[ iNext ]; + + if ( tPrev === undefined ) { + + switch ( this.getSettings_().endingStart ) { + + case ZeroSlopeEnding: + + // f'(t0) = 0 + iPrev = i1; + tPrev = 2 * t0 - t1; + + break; + + case WrapAroundEnding: + + // use the other end of the curve + iPrev = pp.length - 2; + tPrev = t0 + pp[ iPrev ] - pp[ iPrev + 1 ]; + + break; + + default: // ZeroCurvatureEnding + + // f''(t0) = 0 a.k.a. Natural Spline + iPrev = i1; + tPrev = t1; + + } + + } + + if ( tNext === undefined ) { + + switch ( this.getSettings_().endingEnd ) { + + case ZeroSlopeEnding: + + // f'(tN) = 0 + iNext = i1; + tNext = 2 * t1 - t0; + + break; + + case WrapAroundEnding: + + // use the other end of the curve + iNext = 1; + tNext = t1 + pp[ 1 ] - pp[ 0 ]; + + break; + + default: // ZeroCurvatureEnding + + // f''(tN) = 0, a.k.a. Natural Spline + iNext = i1 - 1; + tNext = t0; + + } + + } + + var halfDt = ( t1 - t0 ) * 0.5, + stride = this.valueSize; + + this._weightPrev = halfDt / ( t0 - tPrev ); + this._weightNext = halfDt / ( tNext - t1 ); + this._offsetPrev = iPrev * stride; + this._offsetNext = iNext * stride; + + }, + + interpolate_: function( i1, t0, t, t1 ) { + + var result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + + o1 = i1 * stride, o0 = o1 - stride, + oP = this._offsetPrev, oN = this._offsetNext, + wP = this._weightPrev, wN = this._weightNext, + + p = ( t - t0 ) / ( t1 - t0 ), + pp = p * p, + ppp = pp * p; + + // evaluate polynomials + + var sP = - wP * ppp + 2 * wP * pp - wP * p; + var s0 = ( 1 + wP ) * ppp + (-1.5 - 2 * wP ) * pp + ( -0.5 + wP ) * p + 1; + var s1 = (-1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p; + var sN = wN * ppp - wN * pp; + + // combine data linearly + + for ( var i = 0; i !== stride; ++ i ) { + + result[ i ] = + sP * values[ oP + i ] + + s0 * values[ o0 + i ] + + s1 * values[ o1 + i ] + + sN * values[ oN + i ]; + + } + + return result; + + } + + } ); + + /** + * @author tschw + */ + + function LinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + LinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { + + constructor: LinearInterpolant, + + interpolate_: function( i1, t0, t, t1 ) { + + var result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + + offset1 = i1 * stride, + offset0 = offset1 - stride, + + weight1 = ( t - t0 ) / ( t1 - t0 ), + weight0 = 1 - weight1; + + for ( var i = 0; i !== stride; ++ i ) { + + result[ i ] = + values[ offset0 + i ] * weight0 + + values[ offset1 + i ] * weight1; + + } + + return result; + + } + + } ); + + /** + * + * Interpolant that evaluates to the sample value at the position preceeding + * the parameter. + * + * @author tschw + */ + + function DiscreteInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + DiscreteInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { + + constructor: DiscreteInterpolant, + + interpolate_: function( i1, t0, t, t1 ) { + + return this.copySampleValue_( i1 - 1 ); + + } + + } ); + + var KeyframeTrackPrototype; + + KeyframeTrackPrototype = { + + TimeBufferType: Float32Array, + ValueBufferType: Float32Array, + + DefaultInterpolation: InterpolateLinear, + + InterpolantFactoryMethodDiscrete: function ( result ) { + + return new DiscreteInterpolant( + this.times, this.values, this.getValueSize(), result ); + + }, + + InterpolantFactoryMethodLinear: function ( result ) { + + return new LinearInterpolant( + this.times, this.values, this.getValueSize(), result ); + + }, + + InterpolantFactoryMethodSmooth: function ( result ) { + + return new CubicInterpolant( + this.times, this.values, this.getValueSize(), result ); + + }, + + setInterpolation: function ( interpolation ) { + + var factoryMethod; + + switch ( interpolation ) { + + case InterpolateDiscrete: + + factoryMethod = this.InterpolantFactoryMethodDiscrete; + + break; + + case InterpolateLinear: + + factoryMethod = this.InterpolantFactoryMethodLinear; + + break; + + case InterpolateSmooth: + + factoryMethod = this.InterpolantFactoryMethodSmooth; + + break; + + } + + if ( factoryMethod === undefined ) { + + var message = "unsupported interpolation for " + + this.ValueTypeName + " keyframe track named " + this.name; + + if ( this.createInterpolant === undefined ) { + + // fall back to default, unless the default itself is messed up + if ( interpolation !== this.DefaultInterpolation ) { + + this.setInterpolation( this.DefaultInterpolation ); + + } else { + + throw new Error( message ); // fatal, in this case + + } + + } + + console.warn( message ); + return; + + } + + this.createInterpolant = factoryMethod; + + }, + + getInterpolation: function () { + + switch ( this.createInterpolant ) { + + case this.InterpolantFactoryMethodDiscrete: + + return InterpolateDiscrete; + + case this.InterpolantFactoryMethodLinear: + + return InterpolateLinear; + + case this.InterpolantFactoryMethodSmooth: + + return InterpolateSmooth; + + } + + }, + + getValueSize: function () { + + return this.values.length / this.times.length; + + }, + + // move all keyframes either forwards or backwards in time + shift: function ( timeOffset ) { + + if ( timeOffset !== 0.0 ) { + + var times = this.times; + + for ( var i = 0, n = times.length; i !== n; ++ i ) { + + times[ i ] += timeOffset; + + } + + } + + return this; + + }, + + // scale all keyframe times by a factor (useful for frame <-> seconds conversions) + scale: function ( timeScale ) { + + if ( timeScale !== 1.0 ) { + + var times = this.times; + + for ( var i = 0, n = times.length; i !== n; ++ i ) { + + times[ i ] *= timeScale; + + } + + } + + return this; + + }, + + // removes keyframes before and after animation without changing any values within the range [startTime, endTime]. + // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values + trim: function ( startTime, endTime ) { + + var times = this.times, + nKeys = times.length, + from = 0, + to = nKeys - 1; + + while ( from !== nKeys && times[ from ] < startTime ) ++ from; + while ( to !== - 1 && times[ to ] > endTime ) -- to; + + ++ to; // inclusive -> exclusive bound + + if ( from !== 0 || to !== nKeys ) { + + // empty tracks are forbidden, so keep at least one keyframe + if ( from >= to ) to = Math.max( to, 1 ), from = to - 1; + + var stride = this.getValueSize(); + this.times = AnimationUtils.arraySlice( times, from, to ); + this.values = AnimationUtils. + arraySlice( this.values, from * stride, to * stride ); + + } + + return this; + + }, + + // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable + validate: function () { + + var valid = true; + + var valueSize = this.getValueSize(); + if ( valueSize - Math.floor( valueSize ) !== 0 ) { + + console.error( "invalid value size in track", this ); + valid = false; + + } + + var times = this.times, + values = this.values, + + nKeys = times.length; + + if ( nKeys === 0 ) { + + console.error( "track is empty", this ); + valid = false; + + } + + var prevTime = null; + + for ( var i = 0; i !== nKeys; i ++ ) { + + var currTime = times[ i ]; + + if ( typeof currTime === 'number' && isNaN( currTime ) ) { + + console.error( "time is not a valid number", this, i, currTime ); + valid = false; + break; + + } + + if ( prevTime !== null && prevTime > currTime ) { + + console.error( "out of order keys", this, i, currTime, prevTime ); + valid = false; + break; + + } + + prevTime = currTime; + + } + + if ( values !== undefined ) { + + if ( AnimationUtils.isTypedArray( values ) ) { + + for ( var i = 0, n = values.length; i !== n; ++ i ) { + + var value = values[ i ]; + + if ( isNaN( value ) ) { + + console.error( "value is not a valid number", this, i, value ); + valid = false; + break; + + } + + } + + } + + } + + return valid; + + }, + + // removes equivalent sequential keys as common in morph target sequences + // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0) + optimize: function () { + + var times = this.times, + values = this.values, + stride = this.getValueSize(), + + smoothInterpolation = this.getInterpolation() === InterpolateSmooth, + + writeIndex = 1, + lastIndex = times.length - 1; + + for ( var i = 1; i < lastIndex; ++ i ) { + + var keep = false; + + var time = times[ i ]; + var timeNext = times[ i + 1 ]; + + // remove adjacent keyframes scheduled at the same time + + if ( time !== timeNext && ( i !== 1 || time !== time[ 0 ] ) ) { + + if ( ! smoothInterpolation ) { + + // remove unnecessary keyframes same as their neighbors + + var offset = i * stride, + offsetP = offset - stride, + offsetN = offset + stride; + + for ( var j = 0; j !== stride; ++ j ) { + + var value = values[ offset + j ]; + + if ( value !== values[ offsetP + j ] || + value !== values[ offsetN + j ] ) { + + keep = true; + break; + + } + + } + + } else keep = true; + + } + + // in-place compaction + + if ( keep ) { + + if ( i !== writeIndex ) { + + times[ writeIndex ] = times[ i ]; + + var readOffset = i * stride, + writeOffset = writeIndex * stride; + + for ( var j = 0; j !== stride; ++ j ) + + values[ writeOffset + j ] = values[ readOffset + j ]; + + } + + ++ writeIndex; + + } + + } + + // flush last keyframe (compaction looks ahead) + + if ( lastIndex > 0 ) { + + times[ writeIndex ] = times[ lastIndex ]; + + for ( var readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++ j ) + + values[ writeOffset + j ] = values[ readOffset + j ]; + + ++ writeIndex; + + } + + if ( writeIndex !== times.length ) { + + this.times = AnimationUtils.arraySlice( times, 0, writeIndex ); + this.values = AnimationUtils.arraySlice( values, 0, writeIndex * stride ); + + } + + return this; + + } + + }; + + function KeyframeTrackConstructor( name, times, values, interpolation ) { + + if ( name === undefined ) throw new Error( "track name is undefined" ); + + if ( times === undefined || times.length === 0 ) { + + throw new Error( "no keyframes in track named " + name ); + + } + + this.name = name; + + this.times = AnimationUtils.convertArray( times, this.TimeBufferType ); + this.values = AnimationUtils.convertArray( values, this.ValueBufferType ); + + this.setInterpolation( interpolation || this.DefaultInterpolation ); + + this.validate(); + this.optimize(); + + } + + /** + * + * A Track of vectored keyframe values. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function VectorKeyframeTrack( name, times, values, interpolation ) { + + KeyframeTrackConstructor.call( this, name, times, values, interpolation ); + + } + + VectorKeyframeTrack.prototype = + Object.assign( Object.create( KeyframeTrackPrototype ), { + + constructor: VectorKeyframeTrack, + + ValueTypeName: 'vector' + + // ValueBufferType is inherited + + // DefaultInterpolation is inherited + + } ); + + /** + * Spherical linear unit quaternion interpolant. + * + * @author tschw + */ + + function QuaternionLinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { + + constructor: QuaternionLinearInterpolant, + + interpolate_: function( i1, t0, t, t1 ) { + + var result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + + offset = i1 * stride, + + alpha = ( t - t0 ) / ( t1 - t0 ); + + for ( var end = offset + stride; offset !== end; offset += 4 ) { + + Quaternion.slerpFlat( result, 0, + values, offset - stride, values, offset, alpha ); + + } + + return result; + + } + + } ); + + /** + * + * A Track of quaternion keyframe values. + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function QuaternionKeyframeTrack( name, times, values, interpolation ) { + + KeyframeTrackConstructor.call( this, name, times, values, interpolation ); + + } + + QuaternionKeyframeTrack.prototype = + Object.assign( Object.create( KeyframeTrackPrototype ), { + + constructor: QuaternionKeyframeTrack, + + ValueTypeName: 'quaternion', + + // ValueBufferType is inherited + + DefaultInterpolation: InterpolateLinear, + + InterpolantFactoryMethodLinear: function( result ) { + + return new QuaternionLinearInterpolant( + this.times, this.values, this.getValueSize(), result ); + + }, + + InterpolantFactoryMethodSmooth: undefined // not yet implemented + + } ); + + /** + * + * A Track of numeric keyframe values. + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function NumberKeyframeTrack( name, times, values, interpolation ) { + + KeyframeTrackConstructor.call( this, name, times, values, interpolation ); + + } + + NumberKeyframeTrack.prototype = + Object.assign( Object.create( KeyframeTrackPrototype ), { + + constructor: NumberKeyframeTrack, + + ValueTypeName: 'number' + + // ValueBufferType is inherited + + // DefaultInterpolation is inherited + + } ); + + /** + * + * A Track that interpolates Strings + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function StringKeyframeTrack( name, times, values, interpolation ) { + + KeyframeTrackConstructor.call( this, name, times, values, interpolation ); + + } + + StringKeyframeTrack.prototype = + Object.assign( Object.create( KeyframeTrackPrototype ), { + + constructor: StringKeyframeTrack, + + ValueTypeName: 'string', + ValueBufferType: Array, + + DefaultInterpolation: InterpolateDiscrete, + + InterpolantFactoryMethodLinear: undefined, + + InterpolantFactoryMethodSmooth: undefined + + } ); + + /** + * + * A Track of Boolean keyframe values. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function BooleanKeyframeTrack( name, times, values ) { + + KeyframeTrackConstructor.call( this, name, times, values ); + + } + + BooleanKeyframeTrack.prototype = + Object.assign( Object.create( KeyframeTrackPrototype ), { + + constructor: BooleanKeyframeTrack, + + ValueTypeName: 'bool', + ValueBufferType: Array, + + DefaultInterpolation: InterpolateDiscrete, + + InterpolantFactoryMethodLinear: undefined, + InterpolantFactoryMethodSmooth: undefined + + // Note: Actually this track could have a optimized / compressed + // representation of a single value and a custom interpolant that + // computes "firstValue ^ isOdd( index )". + + } ); + + /** + * + * A Track of keyframe values that represent color. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function ColorKeyframeTrack( name, times, values, interpolation ) { + + KeyframeTrackConstructor.call( this, name, times, values, interpolation ); + + } + + ColorKeyframeTrack.prototype = + Object.assign( Object.create( KeyframeTrackPrototype ), { + + constructor: ColorKeyframeTrack, + + ValueTypeName: 'color' + + // ValueBufferType is inherited + + // DefaultInterpolation is inherited + + + // Note: Very basic implementation and nothing special yet. + // However, this is the place for color space parameterization. + + } ); + + /** + * + * A timed sequence of keyframes for a specific property. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function KeyframeTrack( name, times, values, interpolation ) { + + KeyframeTrackConstructor.apply( this, arguments ); + + } + + KeyframeTrack.prototype = KeyframeTrackPrototype; + KeyframeTrackPrototype.constructor = KeyframeTrack; + + // Static methods: + + Object.assign( KeyframeTrack, { + + // Serialization (in static context, because of constructor invocation + // and automatic invocation of .toJSON): + + parse: function( json ) { + + if( json.type === undefined ) { + + throw new Error( "track type undefined, can not parse" ); + + } + + var trackType = KeyframeTrack._getTrackTypeForValueTypeName( json.type ); + + if ( json.times === undefined ) { + + var times = [], values = []; + + AnimationUtils.flattenJSON( json.keys, times, values, 'value' ); + + json.times = times; + json.values = values; + + } + + // derived classes can define a static parse method + if ( trackType.parse !== undefined ) { + + return trackType.parse( json ); + + } else { + + // by default, we asssume a constructor compatible with the base + return new trackType( + json.name, json.times, json.values, json.interpolation ); + + } + + }, + + toJSON: function( track ) { + + var trackType = track.constructor; + + var json; + + // derived classes can define a static toJSON method + if ( trackType.toJSON !== undefined ) { + + json = trackType.toJSON( track ); + + } else { + + // by default, we assume the data can be serialized as-is + json = { + + 'name': track.name, + 'times': AnimationUtils.convertArray( track.times, Array ), + 'values': AnimationUtils.convertArray( track.values, Array ) + + }; + + var interpolation = track.getInterpolation(); + + if ( interpolation !== track.DefaultInterpolation ) { + + json.interpolation = interpolation; + + } + + } + + json.type = track.ValueTypeName; // mandatory + + return json; + + }, + + _getTrackTypeForValueTypeName: function( typeName ) { + + switch( typeName.toLowerCase() ) { + + case "scalar": + case "double": + case "float": + case "number": + case "integer": + + return NumberKeyframeTrack; + + case "vector": + case "vector2": + case "vector3": + case "vector4": + + return VectorKeyframeTrack; + + case "color": + + return ColorKeyframeTrack; + + case "quaternion": + + return QuaternionKeyframeTrack; + + case "bool": + case "boolean": + + return BooleanKeyframeTrack; + + case "string": + + return StringKeyframeTrack; + + } + + throw new Error( "Unsupported typeName: " + typeName ); + + } + + } ); + + /** + * + * Reusable set of Tracks that represent an animation. + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + */ + + function AnimationClip( name, duration, tracks ) { + + this.name = name; + this.tracks = tracks; + this.duration = ( duration !== undefined ) ? duration : - 1; + + this.uuid = _Math.generateUUID(); + + // this means it should figure out its duration by scanning the tracks + if ( this.duration < 0 ) { + + this.resetDuration(); + + } + + this.optimize(); + + } + + Object.assign( AnimationClip, { + + parse: function ( json ) { + + var tracks = [], + jsonTracks = json.tracks, + frameTime = 1.0 / ( json.fps || 1.0 ); + + for ( var i = 0, n = jsonTracks.length; i !== n; ++ i ) { + + tracks.push( KeyframeTrack.parse( jsonTracks[ i ] ).scale( frameTime ) ); + + } + + return new AnimationClip( json.name, json.duration, tracks ); + + }, + + toJSON: function ( clip ) { + + var tracks = [], + clipTracks = clip.tracks; + + var json = { + + 'name': clip.name, + 'duration': clip.duration, + 'tracks': tracks + + }; + + for ( var i = 0, n = clipTracks.length; i !== n; ++ i ) { + + tracks.push( KeyframeTrack.toJSON( clipTracks[ i ] ) ); + + } + + return json; + + }, + + CreateFromMorphTargetSequence: function ( name, morphTargetSequence, fps, noLoop ) { + + var numMorphTargets = morphTargetSequence.length; + var tracks = []; + + for ( var i = 0; i < numMorphTargets; i ++ ) { + + var times = []; + var values = []; + + times.push( + ( i + numMorphTargets - 1 ) % numMorphTargets, + i, + ( i + 1 ) % numMorphTargets ); + + values.push( 0, 1, 0 ); + + var order = AnimationUtils.getKeyframeOrder( times ); + times = AnimationUtils.sortedArray( times, 1, order ); + values = AnimationUtils.sortedArray( values, 1, order ); + + // if there is a key at the first frame, duplicate it as the + // last frame as well for perfect loop. + if ( ! noLoop && times[ 0 ] === 0 ) { + + times.push( numMorphTargets ); + values.push( values[ 0 ] ); + + } + + tracks.push( + new NumberKeyframeTrack( + '.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']', + times, values + ).scale( 1.0 / fps ) ); + + } + + return new AnimationClip( name, - 1, tracks ); + + }, + + findByName: function ( objectOrClipArray, name ) { + + var clipArray = objectOrClipArray; + + if ( ! Array.isArray( objectOrClipArray ) ) { + + var o = objectOrClipArray; + clipArray = o.geometry && o.geometry.animations || o.animations; + + } + + for ( var i = 0; i < clipArray.length; i ++ ) { + + if ( clipArray[ i ].name === name ) { + + return clipArray[ i ]; + + } + + } + + return null; + + }, + + CreateClipsFromMorphTargetSequences: function ( morphTargets, fps, noLoop ) { + + var animationToMorphTargets = {}; + + // tested with https://regex101.com/ on trick sequences + // such flamingo_flyA_003, flamingo_run1_003, crdeath0059 + var pattern = /^([\w-]*?)([\d]+)$/; + + // sort morph target names into animation groups based + // patterns like Walk_001, Walk_002, Run_001, Run_002 + for ( var i = 0, il = morphTargets.length; i < il; i ++ ) { + + var morphTarget = morphTargets[ i ]; + var parts = morphTarget.name.match( pattern ); + + if ( parts && parts.length > 1 ) { + + var name = parts[ 1 ]; + + var animationMorphTargets = animationToMorphTargets[ name ]; + if ( ! animationMorphTargets ) { + + animationToMorphTargets[ name ] = animationMorphTargets = []; + + } + + animationMorphTargets.push( morphTarget ); + + } + + } + + var clips = []; + + for ( var name in animationToMorphTargets ) { + + clips.push( AnimationClip.CreateFromMorphTargetSequence( name, animationToMorphTargets[ name ], fps, noLoop ) ); + + } + + return clips; + + }, + + // parse the animation.hierarchy format + parseAnimation: function ( animation, bones ) { + + if ( ! animation ) { + + console.error( " no animation in JSONLoader data" ); + return null; + + } + + var addNonemptyTrack = function ( trackType, trackName, animationKeys, propertyName, destTracks ) { + + // only return track if there are actually keys. + if ( animationKeys.length !== 0 ) { + + var times = []; + var values = []; + + AnimationUtils.flattenJSON( animationKeys, times, values, propertyName ); + + // empty keys are filtered out, so check again + if ( times.length !== 0 ) { + + destTracks.push( new trackType( trackName, times, values ) ); + + } + + } + + }; + + var tracks = []; + + var clipName = animation.name || 'default'; + // automatic length determination in AnimationClip. + var duration = animation.length || - 1; + var fps = animation.fps || 30; + + var hierarchyTracks = animation.hierarchy || []; + + for ( var h = 0; h < hierarchyTracks.length; h ++ ) { + + var animationKeys = hierarchyTracks[ h ].keys; + + // skip empty tracks + if ( ! animationKeys || animationKeys.length === 0 ) continue; + + // process morph targets in a way exactly compatible + // with AnimationHandler.init( animation ) + if ( animationKeys[ 0 ].morphTargets ) { + + // figure out all morph targets used in this track + var morphTargetNames = {}; + + for ( var k = 0; k < animationKeys.length; k ++ ) { + + if ( animationKeys[ k ].morphTargets ) { + + for ( var m = 0; m < animationKeys[ k ].morphTargets.length; m ++ ) { + + morphTargetNames[ animationKeys[ k ].morphTargets[ m ] ] = - 1; + + } + + } + + } + + // create a track for each morph target with all zero + // morphTargetInfluences except for the keys in which + // the morphTarget is named. + for ( var morphTargetName in morphTargetNames ) { + + var times = []; + var values = []; + + for ( var m = 0; m !== animationKeys[ k ].morphTargets.length; ++ m ) { + + var animationKey = animationKeys[ k ]; + + times.push( animationKey.time ); + values.push( ( animationKey.morphTarget === morphTargetName ) ? 1 : 0 ); + + } + + tracks.push( new NumberKeyframeTrack( '.morphTargetInfluence[' + morphTargetName + ']', times, values ) ); + + } + + duration = morphTargetNames.length * ( fps || 1.0 ); + + } else { + + // ...assume skeletal animation + + var boneName = '.bones[' + bones[ h ].name + ']'; + + addNonemptyTrack( + VectorKeyframeTrack, boneName + '.position', + animationKeys, 'pos', tracks ); + + addNonemptyTrack( + QuaternionKeyframeTrack, boneName + '.quaternion', + animationKeys, 'rot', tracks ); + + addNonemptyTrack( + VectorKeyframeTrack, boneName + '.scale', + animationKeys, 'scl', tracks ); + + } + + } + + if ( tracks.length === 0 ) { + + return null; + + } + + var clip = new AnimationClip( clipName, duration, tracks ); + + return clip; + + } + + } ); + + Object.assign( AnimationClip.prototype, { + + resetDuration: function () { + + var tracks = this.tracks, duration = 0; + + for ( var i = 0, n = tracks.length; i !== n; ++ i ) { + + var track = this.tracks[ i ]; + + duration = Math.max( duration, track.times[ track.times.length - 1 ] ); + + } + + this.duration = duration; + + }, + + trim: function () { + + for ( var i = 0; i < this.tracks.length; i ++ ) { + + this.tracks[ i ].trim( 0, this.duration ); + + } + + return this; + + }, + + optimize: function () { + + for ( var i = 0; i < this.tracks.length; i ++ ) { + + this.tracks[ i ].optimize(); + + } + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function MaterialLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + this.textures = {}; + + } + + Object.assign( MaterialLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var loader = new FileLoader( scope.manager ); + loader.setResponseType( 'json' ); + loader.load( url, function ( json ) { + + onLoad( scope.parse( json ) ); + + }, onProgress, onError ); + + }, + + setTextures: function ( value ) { + + this.textures = value; + + }, + + parse: function ( json ) { + + var textures = this.textures; + + function getTexture( name ) { + + if ( textures[ name ] === undefined ) { + + console.warn( 'THREE.MaterialLoader: Undefined texture', name ); + + } + + return textures[ name ]; + + } + + var material = new Materials[ json.type ](); + + if ( json.uuid !== undefined ) material.uuid = json.uuid; + if ( json.name !== undefined ) material.name = json.name; + if ( json.color !== undefined ) material.color.setHex( json.color ); + if ( json.roughness !== undefined ) material.roughness = json.roughness; + if ( json.metalness !== undefined ) material.metalness = json.metalness; + if ( json.emissive !== undefined ) material.emissive.setHex( json.emissive ); + if ( json.specular !== undefined ) material.specular.setHex( json.specular ); + if ( json.shininess !== undefined ) material.shininess = json.shininess; + if ( json.clearCoat !== undefined ) material.clearCoat = json.clearCoat; + if ( json.clearCoatRoughness !== undefined ) material.clearCoatRoughness = json.clearCoatRoughness; + if ( json.uniforms !== undefined ) material.uniforms = json.uniforms; + if ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader; + if ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader; + if ( json.vertexColors !== undefined ) material.vertexColors = json.vertexColors; + if ( json.fog !== undefined ) material.fog = json.fog; + if ( json.shading !== undefined ) material.shading = json.shading; + if ( json.blending !== undefined ) material.blending = json.blending; + if ( json.side !== undefined ) material.side = json.side; + if ( json.opacity !== undefined ) material.opacity = json.opacity; + if ( json.transparent !== undefined ) material.transparent = json.transparent; + if ( json.alphaTest !== undefined ) material.alphaTest = json.alphaTest; + if ( json.depthTest !== undefined ) material.depthTest = json.depthTest; + if ( json.depthWrite !== undefined ) material.depthWrite = json.depthWrite; + if ( json.colorWrite !== undefined ) material.colorWrite = json.colorWrite; + if ( json.wireframe !== undefined ) material.wireframe = json.wireframe; + if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth; + if ( json.wireframeLinecap !== undefined ) material.wireframeLinecap = json.wireframeLinecap; + if ( json.wireframeLinejoin !== undefined ) material.wireframeLinejoin = json.wireframeLinejoin; + if ( json.skinning !== undefined ) material.skinning = json.skinning; + if ( json.morphTargets !== undefined ) material.morphTargets = json.morphTargets; + + // for PointsMaterial + + if ( json.size !== undefined ) material.size = json.size; + if ( json.sizeAttenuation !== undefined ) material.sizeAttenuation = json.sizeAttenuation; + + // maps + + if ( json.map !== undefined ) material.map = getTexture( json.map ); + + if ( json.alphaMap !== undefined ) { + + material.alphaMap = getTexture( json.alphaMap ); + material.transparent = true; + + } + + if ( json.bumpMap !== undefined ) material.bumpMap = getTexture( json.bumpMap ); + if ( json.bumpScale !== undefined ) material.bumpScale = json.bumpScale; + + if ( json.normalMap !== undefined ) material.normalMap = getTexture( json.normalMap ); + if ( json.normalScale !== undefined ) { + + var normalScale = json.normalScale; + + if ( Array.isArray( normalScale ) === false ) { + + // Blender exporter used to export a scalar. See #7459 + + normalScale = [ normalScale, normalScale ]; + + } + + material.normalScale = new Vector2().fromArray( normalScale ); + + } + + if ( json.displacementMap !== undefined ) material.displacementMap = getTexture( json.displacementMap ); + if ( json.displacementScale !== undefined ) material.displacementScale = json.displacementScale; + if ( json.displacementBias !== undefined ) material.displacementBias = json.displacementBias; + + if ( json.roughnessMap !== undefined ) material.roughnessMap = getTexture( json.roughnessMap ); + if ( json.metalnessMap !== undefined ) material.metalnessMap = getTexture( json.metalnessMap ); + + if ( json.emissiveMap !== undefined ) material.emissiveMap = getTexture( json.emissiveMap ); + if ( json.emissiveIntensity !== undefined ) material.emissiveIntensity = json.emissiveIntensity; + + if ( json.specularMap !== undefined ) material.specularMap = getTexture( json.specularMap ); + + if ( json.envMap !== undefined ) material.envMap = getTexture( json.envMap ); + + if ( json.reflectivity !== undefined ) material.reflectivity = json.reflectivity; + + if ( json.lightMap !== undefined ) material.lightMap = getTexture( json.lightMap ); + if ( json.lightMapIntensity !== undefined ) material.lightMapIntensity = json.lightMapIntensity; + + if ( json.aoMap !== undefined ) material.aoMap = getTexture( json.aoMap ); + if ( json.aoMapIntensity !== undefined ) material.aoMapIntensity = json.aoMapIntensity; + + if ( json.gradientMap !== undefined ) material.gradientMap = getTexture( json.gradientMap ); + + return material; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function BufferGeometryLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( BufferGeometryLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var loader = new FileLoader( scope.manager ); + loader.setResponseType( 'json' ); + loader.load( url, function ( json ) { + + onLoad( scope.parse( json ) ); + + }, onProgress, onError ); + + }, + + parse: function ( json ) { + + var geometry = new BufferGeometry(); + + var index = json.data.index; + + if ( index !== undefined ) { + + var typedArray = new TYPED_ARRAYS[ index.type ]( index.array ); + geometry.setIndex( new BufferAttribute( typedArray, 1 ) ); + + } + + var attributes = json.data.attributes; + + for ( var key in attributes ) { + + var attribute = attributes[ key ]; + var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array ); + + geometry.addAttribute( key, new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized ) ); + + } + + var groups = json.data.groups || json.data.drawcalls || json.data.offsets; + + if ( groups !== undefined ) { + + for ( var i = 0, n = groups.length; i !== n; ++ i ) { + + var group = groups[ i ]; + + geometry.addGroup( group.start, group.count, group.materialIndex ); + + } + + } + + var boundingSphere = json.data.boundingSphere; + + if ( boundingSphere !== undefined ) { + + var center = new Vector3(); + + if ( boundingSphere.center !== undefined ) { + + center.fromArray( boundingSphere.center ); + + } + + geometry.boundingSphere = new Sphere( center, boundingSphere.radius ); + + } + + return geometry; + + } + + } ); + + var TYPED_ARRAYS = { + Int8Array: Int8Array, + Uint8Array: Uint8Array, + Uint8ClampedArray: Uint8ClampedArray, + Int16Array: Int16Array, + Uint16Array: Uint16Array, + Int32Array: Int32Array, + Uint32Array: Uint32Array, + Float32Array: Float32Array, + Float64Array: Float64Array + }; + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function Loader() { + + this.onLoadStart = function () {}; + this.onLoadProgress = function () {}; + this.onLoadComplete = function () {}; + + } + + Loader.Handlers = { + + handlers: [], + + add: function ( regex, loader ) { + + this.handlers.push( regex, loader ); + + }, + + get: function ( file ) { + + var handlers = this.handlers; + + for ( var i = 0, l = handlers.length; i < l; i += 2 ) { + + var regex = handlers[ i ]; + var loader = handlers[ i + 1 ]; + + if ( regex.test( file ) ) { + + return loader; + + } + + } + + return null; + + } + + }; + + Object.assign( Loader.prototype, { + + crossOrigin: undefined, + + extractUrlBase: function ( url ) { + + var parts = url.split( '/' ); + + if ( parts.length === 1 ) return './'; + + parts.pop(); + + return parts.join( '/' ) + '/'; + + }, + + initMaterials: function ( materials, texturePath, crossOrigin ) { + + var array = []; + + for ( var i = 0; i < materials.length; ++ i ) { + + array[ i ] = this.createMaterial( materials[ i ], texturePath, crossOrigin ); + + } + + return array; + + }, + + createMaterial: ( function () { + + var BlendingMode = { + NoBlending: NoBlending, + NormalBlending: NormalBlending, + AdditiveBlending: AdditiveBlending, + SubtractiveBlending: SubtractiveBlending, + MultiplyBlending: MultiplyBlending, + CustomBlending: CustomBlending + }; + + var color = new Color(); + var textureLoader = new TextureLoader(); + var materialLoader = new MaterialLoader(); + + return function createMaterial( m, texturePath, crossOrigin ) { + + // convert from old material format + + var textures = {}; + + function loadTexture( path, repeat, offset, wrap, anisotropy ) { + + var fullPath = texturePath + path; + var loader = Loader.Handlers.get( fullPath ); + + var texture; + + if ( loader !== null ) { + + texture = loader.load( fullPath ); + + } else { + + textureLoader.setCrossOrigin( crossOrigin ); + texture = textureLoader.load( fullPath ); + + } + + if ( repeat !== undefined ) { + + texture.repeat.fromArray( repeat ); + + if ( repeat[ 0 ] !== 1 ) texture.wrapS = RepeatWrapping; + if ( repeat[ 1 ] !== 1 ) texture.wrapT = RepeatWrapping; + + } + + if ( offset !== undefined ) { + + texture.offset.fromArray( offset ); + + } + + if ( wrap !== undefined ) { + + if ( wrap[ 0 ] === 'repeat' ) texture.wrapS = RepeatWrapping; + if ( wrap[ 0 ] === 'mirror' ) texture.wrapS = MirroredRepeatWrapping; + + if ( wrap[ 1 ] === 'repeat' ) texture.wrapT = RepeatWrapping; + if ( wrap[ 1 ] === 'mirror' ) texture.wrapT = MirroredRepeatWrapping; + + } + + if ( anisotropy !== undefined ) { + + texture.anisotropy = anisotropy; + + } + + var uuid = _Math.generateUUID(); + + textures[ uuid ] = texture; + + return uuid; + + } + + // + + var json = { + uuid: _Math.generateUUID(), + type: 'MeshLambertMaterial' + }; + + for ( var name in m ) { + + var value = m[ name ]; + + switch ( name ) { + + case 'DbgColor': + case 'DbgIndex': + case 'opticalDensity': + case 'illumination': + break; + case 'DbgName': + json.name = value; + break; + case 'blending': + json.blending = BlendingMode[ value ]; + break; + case 'colorAmbient': + case 'mapAmbient': + console.warn( 'THREE.Loader.createMaterial:', name, 'is no longer supported.' ); + break; + case 'colorDiffuse': + json.color = color.fromArray( value ).getHex(); + break; + case 'colorSpecular': + json.specular = color.fromArray( value ).getHex(); + break; + case 'colorEmissive': + json.emissive = color.fromArray( value ).getHex(); + break; + case 'specularCoef': + json.shininess = value; + break; + case 'shading': + if ( value.toLowerCase() === 'basic' ) json.type = 'MeshBasicMaterial'; + if ( value.toLowerCase() === 'phong' ) json.type = 'MeshPhongMaterial'; + if ( value.toLowerCase() === 'standard' ) json.type = 'MeshStandardMaterial'; + break; + case 'mapDiffuse': + json.map = loadTexture( value, m.mapDiffuseRepeat, m.mapDiffuseOffset, m.mapDiffuseWrap, m.mapDiffuseAnisotropy ); + break; + case 'mapDiffuseRepeat': + case 'mapDiffuseOffset': + case 'mapDiffuseWrap': + case 'mapDiffuseAnisotropy': + break; + case 'mapEmissive': + json.emissiveMap = loadTexture( value, m.mapEmissiveRepeat, m.mapEmissiveOffset, m.mapEmissiveWrap, m.mapEmissiveAnisotropy ); + break; + case 'mapEmissiveRepeat': + case 'mapEmissiveOffset': + case 'mapEmissiveWrap': + case 'mapEmissiveAnisotropy': + break; + case 'mapLight': + json.lightMap = loadTexture( value, m.mapLightRepeat, m.mapLightOffset, m.mapLightWrap, m.mapLightAnisotropy ); + break; + case 'mapLightRepeat': + case 'mapLightOffset': + case 'mapLightWrap': + case 'mapLightAnisotropy': + break; + case 'mapAO': + json.aoMap = loadTexture( value, m.mapAORepeat, m.mapAOOffset, m.mapAOWrap, m.mapAOAnisotropy ); + break; + case 'mapAORepeat': + case 'mapAOOffset': + case 'mapAOWrap': + case 'mapAOAnisotropy': + break; + case 'mapBump': + json.bumpMap = loadTexture( value, m.mapBumpRepeat, m.mapBumpOffset, m.mapBumpWrap, m.mapBumpAnisotropy ); + break; + case 'mapBumpScale': + json.bumpScale = value; + break; + case 'mapBumpRepeat': + case 'mapBumpOffset': + case 'mapBumpWrap': + case 'mapBumpAnisotropy': + break; + case 'mapNormal': + json.normalMap = loadTexture( value, m.mapNormalRepeat, m.mapNormalOffset, m.mapNormalWrap, m.mapNormalAnisotropy ); + break; + case 'mapNormalFactor': + json.normalScale = [ value, value ]; + break; + case 'mapNormalRepeat': + case 'mapNormalOffset': + case 'mapNormalWrap': + case 'mapNormalAnisotropy': + break; + case 'mapSpecular': + json.specularMap = loadTexture( value, m.mapSpecularRepeat, m.mapSpecularOffset, m.mapSpecularWrap, m.mapSpecularAnisotropy ); + break; + case 'mapSpecularRepeat': + case 'mapSpecularOffset': + case 'mapSpecularWrap': + case 'mapSpecularAnisotropy': + break; + case 'mapMetalness': + json.metalnessMap = loadTexture( value, m.mapMetalnessRepeat, m.mapMetalnessOffset, m.mapMetalnessWrap, m.mapMetalnessAnisotropy ); + break; + case 'mapMetalnessRepeat': + case 'mapMetalnessOffset': + case 'mapMetalnessWrap': + case 'mapMetalnessAnisotropy': + break; + case 'mapRoughness': + json.roughnessMap = loadTexture( value, m.mapRoughnessRepeat, m.mapRoughnessOffset, m.mapRoughnessWrap, m.mapRoughnessAnisotropy ); + break; + case 'mapRoughnessRepeat': + case 'mapRoughnessOffset': + case 'mapRoughnessWrap': + case 'mapRoughnessAnisotropy': + break; + case 'mapAlpha': + json.alphaMap = loadTexture( value, m.mapAlphaRepeat, m.mapAlphaOffset, m.mapAlphaWrap, m.mapAlphaAnisotropy ); + break; + case 'mapAlphaRepeat': + case 'mapAlphaOffset': + case 'mapAlphaWrap': + case 'mapAlphaAnisotropy': + break; + case 'flipSided': + json.side = BackSide; + break; + case 'doubleSided': + json.side = DoubleSide; + break; + case 'transparency': + console.warn( 'THREE.Loader.createMaterial: transparency has been renamed to opacity' ); + json.opacity = value; + break; + case 'depthTest': + case 'depthWrite': + case 'colorWrite': + case 'opacity': + case 'reflectivity': + case 'transparent': + case 'visible': + case 'wireframe': + json[ name ] = value; + break; + case 'vertexColors': + if ( value === true ) json.vertexColors = VertexColors; + if ( value === 'face' ) json.vertexColors = FaceColors; + break; + default: + console.error( 'THREE.Loader.createMaterial: Unsupported', name, value ); + break; + + } + + } + + if ( json.type === 'MeshBasicMaterial' ) delete json.emissive; + if ( json.type !== 'MeshPhongMaterial' ) delete json.specular; + + if ( json.opacity < 1 ) json.transparent = true; + + materialLoader.setTextures( textures ); + + return materialLoader.parse( json ); + + }; + + } )() + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + */ + + function JSONLoader( manager ) { + + if ( typeof manager === 'boolean' ) { + + console.warn( 'THREE.JSONLoader: showStatus parameter has been removed from constructor.' ); + manager = undefined; + + } + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + this.withCredentials = false; + + } + + Object.assign( JSONLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var texturePath = this.texturePath && ( typeof this.texturePath === "string" ) ? this.texturePath : Loader.prototype.extractUrlBase( url ); + + var loader = new FileLoader( this.manager ); + loader.setResponseType( 'json' ); + loader.setWithCredentials( this.withCredentials ); + loader.load( url, function ( json ) { + + var metadata = json.metadata; + + if ( metadata !== undefined ) { + + var type = metadata.type; + + if ( type !== undefined ) { + + if ( type.toLowerCase() === 'object' ) { + + console.error( 'THREE.JSONLoader: ' + url + ' should be loaded with THREE.ObjectLoader instead.' ); + return; + + } + + if ( type.toLowerCase() === 'scene' ) { + + console.error( 'THREE.JSONLoader: ' + url + ' should be loaded with THREE.SceneLoader instead.' ); + return; + + } + + } + + } + + var object = scope.parse( json, texturePath ); + onLoad( object.geometry, object.materials ); + + }, onProgress, onError ); + + }, + + setTexturePath: function ( value ) { + + this.texturePath = value; + + }, + + parse: ( function () { + + function parseModel( json, geometry ) { + + function isBitSet( value, position ) { + + return value & ( 1 << position ); + + } + + var i, j, fi, + + offset, zLength, + + colorIndex, normalIndex, uvIndex, materialIndex, + + type, + isQuad, + hasMaterial, + hasFaceVertexUv, + hasFaceNormal, hasFaceVertexNormal, + hasFaceColor, hasFaceVertexColor, + + vertex, face, faceA, faceB, hex, normal, + + uvLayer, uv, u, v, + + faces = json.faces, + vertices = json.vertices, + normals = json.normals, + colors = json.colors, + + scale = json.scale, + + nUvLayers = 0; + + + if ( json.uvs !== undefined ) { + + // disregard empty arrays + + for ( i = 0; i < json.uvs.length; i ++ ) { + + if ( json.uvs[ i ].length ) nUvLayers ++; + + } + + for ( i = 0; i < nUvLayers; i ++ ) { + + geometry.faceVertexUvs[ i ] = []; + + } + + } + + offset = 0; + zLength = vertices.length; + + while ( offset < zLength ) { + + vertex = new Vector3(); + + vertex.x = vertices[ offset ++ ] * scale; + vertex.y = vertices[ offset ++ ] * scale; + vertex.z = vertices[ offset ++ ] * scale; + + geometry.vertices.push( vertex ); + + } + + offset = 0; + zLength = faces.length; + + while ( offset < zLength ) { + + type = faces[ offset ++ ]; + + isQuad = isBitSet( type, 0 ); + hasMaterial = isBitSet( type, 1 ); + hasFaceVertexUv = isBitSet( type, 3 ); + hasFaceNormal = isBitSet( type, 4 ); + hasFaceVertexNormal = isBitSet( type, 5 ); + hasFaceColor = isBitSet( type, 6 ); + hasFaceVertexColor = isBitSet( type, 7 ); + + // console.log("type", type, "bits", isQuad, hasMaterial, hasFaceVertexUv, hasFaceNormal, hasFaceVertexNormal, hasFaceColor, hasFaceVertexColor); + + if ( isQuad ) { + + faceA = new Face3(); + faceA.a = faces[ offset ]; + faceA.b = faces[ offset + 1 ]; + faceA.c = faces[ offset + 3 ]; + + faceB = new Face3(); + faceB.a = faces[ offset + 1 ]; + faceB.b = faces[ offset + 2 ]; + faceB.c = faces[ offset + 3 ]; + + offset += 4; + + if ( hasMaterial ) { + + materialIndex = faces[ offset ++ ]; + faceA.materialIndex = materialIndex; + faceB.materialIndex = materialIndex; + + } + + // to get face <=> uv index correspondence + + fi = geometry.faces.length; + + if ( hasFaceVertexUv ) { + + for ( i = 0; i < nUvLayers; i ++ ) { + + uvLayer = json.uvs[ i ]; + + geometry.faceVertexUvs[ i ][ fi ] = []; + geometry.faceVertexUvs[ i ][ fi + 1 ] = []; + + for ( j = 0; j < 4; j ++ ) { + + uvIndex = faces[ offset ++ ]; + + u = uvLayer[ uvIndex * 2 ]; + v = uvLayer[ uvIndex * 2 + 1 ]; + + uv = new Vector2( u, v ); + + if ( j !== 2 ) geometry.faceVertexUvs[ i ][ fi ].push( uv ); + if ( j !== 0 ) geometry.faceVertexUvs[ i ][ fi + 1 ].push( uv ); + + } + + } + + } + + if ( hasFaceNormal ) { + + normalIndex = faces[ offset ++ ] * 3; + + faceA.normal.set( + normals[ normalIndex ++ ], + normals[ normalIndex ++ ], + normals[ normalIndex ] + ); + + faceB.normal.copy( faceA.normal ); + + } + + if ( hasFaceVertexNormal ) { + + for ( i = 0; i < 4; i ++ ) { + + normalIndex = faces[ offset ++ ] * 3; + + normal = new Vector3( + normals[ normalIndex ++ ], + normals[ normalIndex ++ ], + normals[ normalIndex ] + ); + + + if ( i !== 2 ) faceA.vertexNormals.push( normal ); + if ( i !== 0 ) faceB.vertexNormals.push( normal ); + + } + + } + + + if ( hasFaceColor ) { + + colorIndex = faces[ offset ++ ]; + hex = colors[ colorIndex ]; + + faceA.color.setHex( hex ); + faceB.color.setHex( hex ); + + } + + + if ( hasFaceVertexColor ) { + + for ( i = 0; i < 4; i ++ ) { + + colorIndex = faces[ offset ++ ]; + hex = colors[ colorIndex ]; + + if ( i !== 2 ) faceA.vertexColors.push( new Color( hex ) ); + if ( i !== 0 ) faceB.vertexColors.push( new Color( hex ) ); + + } + + } + + geometry.faces.push( faceA ); + geometry.faces.push( faceB ); + + } else { + + face = new Face3(); + face.a = faces[ offset ++ ]; + face.b = faces[ offset ++ ]; + face.c = faces[ offset ++ ]; + + if ( hasMaterial ) { + + materialIndex = faces[ offset ++ ]; + face.materialIndex = materialIndex; + + } + + // to get face <=> uv index correspondence + + fi = geometry.faces.length; + + if ( hasFaceVertexUv ) { + + for ( i = 0; i < nUvLayers; i ++ ) { + + uvLayer = json.uvs[ i ]; + + geometry.faceVertexUvs[ i ][ fi ] = []; + + for ( j = 0; j < 3; j ++ ) { + + uvIndex = faces[ offset ++ ]; + + u = uvLayer[ uvIndex * 2 ]; + v = uvLayer[ uvIndex * 2 + 1 ]; + + uv = new Vector2( u, v ); + + geometry.faceVertexUvs[ i ][ fi ].push( uv ); + + } + + } + + } + + if ( hasFaceNormal ) { + + normalIndex = faces[ offset ++ ] * 3; + + face.normal.set( + normals[ normalIndex ++ ], + normals[ normalIndex ++ ], + normals[ normalIndex ] + ); + + } + + if ( hasFaceVertexNormal ) { + + for ( i = 0; i < 3; i ++ ) { + + normalIndex = faces[ offset ++ ] * 3; + + normal = new Vector3( + normals[ normalIndex ++ ], + normals[ normalIndex ++ ], + normals[ normalIndex ] + ); + + face.vertexNormals.push( normal ); + + } + + } + + + if ( hasFaceColor ) { + + colorIndex = faces[ offset ++ ]; + face.color.setHex( colors[ colorIndex ] ); + + } + + + if ( hasFaceVertexColor ) { + + for ( i = 0; i < 3; i ++ ) { + + colorIndex = faces[ offset ++ ]; + face.vertexColors.push( new Color( colors[ colorIndex ] ) ); + + } + + } + + geometry.faces.push( face ); + + } + + } + + } + + function parseSkin( json, geometry ) { + + var influencesPerVertex = ( json.influencesPerVertex !== undefined ) ? json.influencesPerVertex : 2; + + if ( json.skinWeights ) { + + for ( var i = 0, l = json.skinWeights.length; i < l; i += influencesPerVertex ) { + + var x = json.skinWeights[ i ]; + var y = ( influencesPerVertex > 1 ) ? json.skinWeights[ i + 1 ] : 0; + var z = ( influencesPerVertex > 2 ) ? json.skinWeights[ i + 2 ] : 0; + var w = ( influencesPerVertex > 3 ) ? json.skinWeights[ i + 3 ] : 0; + + geometry.skinWeights.push( new Vector4( x, y, z, w ) ); + + } + + } + + if ( json.skinIndices ) { + + for ( var i = 0, l = json.skinIndices.length; i < l; i += influencesPerVertex ) { + + var a = json.skinIndices[ i ]; + var b = ( influencesPerVertex > 1 ) ? json.skinIndices[ i + 1 ] : 0; + var c = ( influencesPerVertex > 2 ) ? json.skinIndices[ i + 2 ] : 0; + var d = ( influencesPerVertex > 3 ) ? json.skinIndices[ i + 3 ] : 0; + + geometry.skinIndices.push( new Vector4( a, b, c, d ) ); + + } + + } + + geometry.bones = json.bones; + + if ( geometry.bones && geometry.bones.length > 0 && ( geometry.skinWeights.length !== geometry.skinIndices.length || geometry.skinIndices.length !== geometry.vertices.length ) ) { + + console.warn( 'When skinning, number of vertices (' + geometry.vertices.length + '), skinIndices (' + + geometry.skinIndices.length + '), and skinWeights (' + geometry.skinWeights.length + ') should match.' ); + + } + + } + + function parseMorphing( json, geometry ) { + + var scale = json.scale; + + if ( json.morphTargets !== undefined ) { + + for ( var i = 0, l = json.morphTargets.length; i < l; i ++ ) { + + geometry.morphTargets[ i ] = {}; + geometry.morphTargets[ i ].name = json.morphTargets[ i ].name; + geometry.morphTargets[ i ].vertices = []; + + var dstVertices = geometry.morphTargets[ i ].vertices; + var srcVertices = json.morphTargets[ i ].vertices; + + for ( var v = 0, vl = srcVertices.length; v < vl; v += 3 ) { + + var vertex = new Vector3(); + vertex.x = srcVertices[ v ] * scale; + vertex.y = srcVertices[ v + 1 ] * scale; + vertex.z = srcVertices[ v + 2 ] * scale; + + dstVertices.push( vertex ); + + } + + } + + } + + if ( json.morphColors !== undefined && json.morphColors.length > 0 ) { + + console.warn( 'THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.' ); + + var faces = geometry.faces; + var morphColors = json.morphColors[ 0 ].colors; + + for ( var i = 0, l = faces.length; i < l; i ++ ) { + + faces[ i ].color.fromArray( morphColors, i * 3 ); + + } + + } + + } + + function parseAnimations( json, geometry ) { + + var outputAnimations = []; + + // parse old style Bone/Hierarchy animations + var animations = []; + + if ( json.animation !== undefined ) { + + animations.push( json.animation ); + + } + + if ( json.animations !== undefined ) { + + if ( json.animations.length ) { + + animations = animations.concat( json.animations ); + + } else { + + animations.push( json.animations ); + + } + + } + + for ( var i = 0; i < animations.length; i ++ ) { + + var clip = AnimationClip.parseAnimation( animations[ i ], geometry.bones ); + if ( clip ) outputAnimations.push( clip ); + + } + + // parse implicit morph animations + if ( geometry.morphTargets ) { + + // TODO: Figure out what an appropraite FPS is for morph target animations -- defaulting to 10, but really it is completely arbitrary. + var morphAnimationClips = AnimationClip.CreateClipsFromMorphTargetSequences( geometry.morphTargets, 10 ); + outputAnimations = outputAnimations.concat( morphAnimationClips ); + + } + + if ( outputAnimations.length > 0 ) geometry.animations = outputAnimations; + + } + + return function ( json, texturePath ) { + + if ( json.data !== undefined ) { + + // Geometry 4.0 spec + json = json.data; + + } + + if ( json.scale !== undefined ) { + + json.scale = 1.0 / json.scale; + + } else { + + json.scale = 1.0; + + } + + var geometry = new Geometry(); + + parseModel( json, geometry ); + parseSkin( json, geometry ); + parseMorphing( json, geometry ); + parseAnimations( json, geometry ); + + geometry.computeFaceNormals(); + geometry.computeBoundingSphere(); + + if ( json.materials === undefined || json.materials.length === 0 ) { + + return { geometry: geometry }; + + } else { + + var materials = Loader.prototype.initMaterials( json.materials, texturePath, this.crossOrigin ); + + return { geometry: geometry, materials: materials }; + + } + + }; + + } )() + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function ObjectLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + this.texturePath = ''; + + } + + Object.assign( ObjectLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + if ( this.texturePath === '' ) { + + this.texturePath = url.substring( 0, url.lastIndexOf( '/' ) + 1 ); + + } + + var scope = this; + + var loader = new FileLoader( scope.manager ); + loader.load( url, function ( text ) { + + var json = null; + + try { + + json = JSON.parse( text ); + + } catch ( error ) { + + if ( onError !== undefined ) onError( error ); + + console.error( 'THREE:ObjectLoader: Can\'t parse ' + url + '.', error.message ); + + return; + + } + + var metadata = json.metadata; + + if ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) { + + console.error( 'THREE.ObjectLoader: Can\'t load ' + url + '. Use THREE.JSONLoader instead.' ); + return; + + } + + scope.parse( json, onLoad ); + + }, onProgress, onError ); + + }, + + setTexturePath: function ( value ) { + + this.texturePath = value; + + }, + + setCrossOrigin: function ( value ) { + + this.crossOrigin = value; + + }, + + parse: function ( json, onLoad ) { + + var geometries = this.parseGeometries( json.geometries ); + + var images = this.parseImages( json.images, function () { + + if ( onLoad !== undefined ) onLoad( object ); + + } ); + + var textures = this.parseTextures( json.textures, images ); + var materials = this.parseMaterials( json.materials, textures ); + + var object = this.parseObject( json.object, geometries, materials ); + + if ( json.animations ) { + + object.animations = this.parseAnimations( json.animations ); + + } + + if ( json.images === undefined || json.images.length === 0 ) { + + if ( onLoad !== undefined ) onLoad( object ); + + } + + return object; + + }, + + parseGeometries: function ( json ) { + + var geometries = {}; + + if ( json !== undefined ) { + + var geometryLoader = new JSONLoader(); + var bufferGeometryLoader = new BufferGeometryLoader(); + + for ( var i = 0, l = json.length; i < l; i ++ ) { + + var geometry; + var data = json[ i ]; + + switch ( data.type ) { + + case 'PlaneGeometry': + case 'PlaneBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.width, + data.height, + data.widthSegments, + data.heightSegments + ); + + break; + + case 'BoxGeometry': + case 'BoxBufferGeometry': + case 'CubeGeometry': // backwards compatible + + geometry = new Geometries[ data.type ]( + data.width, + data.height, + data.depth, + data.widthSegments, + data.heightSegments, + data.depthSegments + ); + + break; + + case 'CircleGeometry': + case 'CircleBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.radius, + data.segments, + data.thetaStart, + data.thetaLength + ); + + break; + + case 'CylinderGeometry': + case 'CylinderBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.radiusTop, + data.radiusBottom, + data.height, + data.radialSegments, + data.heightSegments, + data.openEnded, + data.thetaStart, + data.thetaLength + ); + + break; + + case 'ConeGeometry': + case 'ConeBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.radius, + data.height, + data.radialSegments, + data.heightSegments, + data.openEnded, + data.thetaStart, + data.thetaLength + ); + + break; + + case 'SphereGeometry': + case 'SphereBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.radius, + data.widthSegments, + data.heightSegments, + data.phiStart, + data.phiLength, + data.thetaStart, + data.thetaLength + ); + + break; + + case 'DodecahedronGeometry': + case 'IcosahedronGeometry': + case 'OctahedronGeometry': + case 'TetrahedronGeometry': + + geometry = new Geometries[ data.type ]( + data.radius, + data.detail + ); + + break; + + case 'RingGeometry': + case 'RingBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.innerRadius, + data.outerRadius, + data.thetaSegments, + data.phiSegments, + data.thetaStart, + data.thetaLength + ); + + break; + + case 'TorusGeometry': + case 'TorusBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.radius, + data.tube, + data.radialSegments, + data.tubularSegments, + data.arc + ); + + break; + + case 'TorusKnotGeometry': + case 'TorusKnotBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.radius, + data.tube, + data.tubularSegments, + data.radialSegments, + data.p, + data.q + ); + + break; + + case 'LatheGeometry': + case 'LatheBufferGeometry': + + geometry = new Geometries[ data.type ]( + data.points, + data.segments, + data.phiStart, + data.phiLength + ); + + break; + + case 'BufferGeometry': + + geometry = bufferGeometryLoader.parse( data ); + + break; + + case 'Geometry': + + geometry = geometryLoader.parse( data, this.texturePath ).geometry; + + break; + + default: + + console.warn( 'THREE.ObjectLoader: Unsupported geometry type "' + data.type + '"' ); + + continue; + + } + + geometry.uuid = data.uuid; + + if ( data.name !== undefined ) geometry.name = data.name; + + geometries[ data.uuid ] = geometry; + + } + + } + + return geometries; + + }, + + parseMaterials: function ( json, textures ) { + + var materials = {}; + + if ( json !== undefined ) { + + var loader = new MaterialLoader(); + loader.setTextures( textures ); + + for ( var i = 0, l = json.length; i < l; i ++ ) { + + var data = json[ i ]; + + if ( data.type === 'MultiMaterial' ) { + + // Deprecated + + var array = []; + + for ( var j = 0; j < data.materials.length; j ++ ) { + + array.push( loader.parse( data.materials[ j ] ) ); + + } + + materials[ data.uuid ] = array; + + } else { + + materials[ data.uuid ] = loader.parse( data ); + + } + + } + + } + + return materials; + + }, + + parseAnimations: function ( json ) { + + var animations = []; + + for ( var i = 0; i < json.length; i ++ ) { + + var clip = AnimationClip.parse( json[ i ] ); + + animations.push( clip ); + + } + + return animations; + + }, + + parseImages: function ( json, onLoad ) { + + var scope = this; + var images = {}; + + function loadImage( url ) { + + scope.manager.itemStart( url ); + + return loader.load( url, function () { + + scope.manager.itemEnd( url ); + + }, undefined, function () { + + scope.manager.itemEnd( url ); + scope.manager.itemError( url ); + + } ); + + } + + if ( json !== undefined && json.length > 0 ) { + + var manager = new LoadingManager( onLoad ); + + var loader = new ImageLoader( manager ); + loader.setCrossOrigin( this.crossOrigin ); + + for ( var i = 0, l = json.length; i < l; i ++ ) { + + var image = json[ i ]; + var path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test( image.url ) ? image.url : scope.texturePath + image.url; + + images[ image.uuid ] = loadImage( path ); + + } + + } + + return images; + + }, + + parseTextures: function ( json, images ) { + + function parseConstant( value, type ) { + + if ( typeof( value ) === 'number' ) return value; + + console.warn( 'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value ); + + return type[ value ]; + + } + + var textures = {}; + + if ( json !== undefined ) { + + for ( var i = 0, l = json.length; i < l; i ++ ) { + + var data = json[ i ]; + + if ( data.image === undefined ) { + + console.warn( 'THREE.ObjectLoader: No "image" specified for', data.uuid ); + + } + + if ( images[ data.image ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined image', data.image ); + + } + + var texture = new Texture( images[ data.image ] ); + texture.needsUpdate = true; + + texture.uuid = data.uuid; + + if ( data.name !== undefined ) texture.name = data.name; + + if ( data.mapping !== undefined ) texture.mapping = parseConstant( data.mapping, TEXTURE_MAPPING ); + + if ( data.offset !== undefined ) texture.offset.fromArray( data.offset ); + if ( data.repeat !== undefined ) texture.repeat.fromArray( data.repeat ); + if ( data.wrap !== undefined ) { + + texture.wrapS = parseConstant( data.wrap[ 0 ], TEXTURE_WRAPPING ); + texture.wrapT = parseConstant( data.wrap[ 1 ], TEXTURE_WRAPPING ); + + } + + if ( data.minFilter !== undefined ) texture.minFilter = parseConstant( data.minFilter, TEXTURE_FILTER ); + if ( data.magFilter !== undefined ) texture.magFilter = parseConstant( data.magFilter, TEXTURE_FILTER ); + if ( data.anisotropy !== undefined ) texture.anisotropy = data.anisotropy; + + if ( data.flipY !== undefined ) texture.flipY = data.flipY; + + textures[ data.uuid ] = texture; + + } + + } + + return textures; + + }, + + parseObject: function () { + + var matrix = new Matrix4(); + + return function parseObject( data, geometries, materials ) { + + var object; + + function getGeometry( name ) { + + if ( geometries[ name ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined geometry', name ); + + } + + return geometries[ name ]; + + } + + function getMaterial( name ) { + + if ( name === undefined ) return undefined; + + if ( Array.isArray( name ) ) { + + var array = []; + + for ( var i = 0, l = name.length; i < l; i ++ ) { + + var uuid = name[ i ]; + + if ( materials[ uuid ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined material', uuid ); + + } + + array.push( materials[ uuid ] ); + + } + + return array; + + } + + if ( materials[ name ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined material', name ); + + } + + return materials[ name ]; + + } + + switch ( data.type ) { + + case 'Scene': + + object = new Scene(); + + if ( data.background !== undefined ) { + + if ( Number.isInteger( data.background ) ) { + + object.background = new Color( data.background ); + + } + + } + + if ( data.fog !== undefined ) { + + if ( data.fog.type === 'Fog' ) { + + object.fog = new Fog( data.fog.color, data.fog.near, data.fog.far ); + + } else if ( data.fog.type === 'FogExp2' ) { + + object.fog = new FogExp2( data.fog.color, data.fog.density ); + + } + + } + + break; + + case 'PerspectiveCamera': + + object = new PerspectiveCamera( data.fov, data.aspect, data.near, data.far ); + + if ( data.focus !== undefined ) object.focus = data.focus; + if ( data.zoom !== undefined ) object.zoom = data.zoom; + if ( data.filmGauge !== undefined ) object.filmGauge = data.filmGauge; + if ( data.filmOffset !== undefined ) object.filmOffset = data.filmOffset; + if ( data.view !== undefined ) object.view = Object.assign( {}, data.view ); + + break; + + case 'OrthographicCamera': + + object = new OrthographicCamera( data.left, data.right, data.top, data.bottom, data.near, data.far ); + + break; + + case 'AmbientLight': + + object = new AmbientLight( data.color, data.intensity ); + + break; + + case 'DirectionalLight': + + object = new DirectionalLight( data.color, data.intensity ); + + break; + + case 'PointLight': + + object = new PointLight( data.color, data.intensity, data.distance, data.decay ); + + break; + + case 'RectAreaLight': + + object = new RectAreaLight( data.color, data.intensity, data.width, data.height ); + + break; + + case 'SpotLight': + + object = new SpotLight( data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay ); + + break; + + case 'HemisphereLight': + + object = new HemisphereLight( data.color, data.groundColor, data.intensity ); + + break; + + case 'SkinnedMesh': + + console.warn( 'THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.' ); + + case 'Mesh': + + var geometry = getGeometry( data.geometry ); + var material = getMaterial( data.material ); + + if ( geometry.bones && geometry.bones.length > 0 ) { + + object = new SkinnedMesh( geometry, material ); + + } else { + + object = new Mesh( geometry, material ); + + } + + break; + + case 'LOD': + + object = new LOD(); + + break; + + case 'Line': + + object = new Line( getGeometry( data.geometry ), getMaterial( data.material ), data.mode ); + + break; + + case 'LineLoop': + + object = new LineLoop( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'LineSegments': + + object = new LineSegments( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'PointCloud': + case 'Points': + + object = new Points( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'Sprite': + + object = new Sprite( getMaterial( data.material ) ); + + break; + + case 'Group': + + object = new Group(); + + break; + + default: + + object = new Object3D(); + + } + + object.uuid = data.uuid; + + if ( data.name !== undefined ) object.name = data.name; + if ( data.matrix !== undefined ) { + + matrix.fromArray( data.matrix ); + matrix.decompose( object.position, object.quaternion, object.scale ); + + } else { + + if ( data.position !== undefined ) object.position.fromArray( data.position ); + if ( data.rotation !== undefined ) object.rotation.fromArray( data.rotation ); + if ( data.quaternion !== undefined ) object.quaternion.fromArray( data.quaternion ); + if ( data.scale !== undefined ) object.scale.fromArray( data.scale ); + + } + + if ( data.castShadow !== undefined ) object.castShadow = data.castShadow; + if ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow; + + if ( data.shadow ) { + + if ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias; + if ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius; + if ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize ); + if ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera ); + + } + + if ( data.visible !== undefined ) object.visible = data.visible; + if ( data.userData !== undefined ) object.userData = data.userData; + + if ( data.children !== undefined ) { + + for ( var child in data.children ) { + + object.add( this.parseObject( data.children[ child ], geometries, materials ) ); + + } + + } + + if ( data.type === 'LOD' ) { + + var levels = data.levels; + + for ( var l = 0; l < levels.length; l ++ ) { + + var level = levels[ l ]; + var child = object.getObjectByProperty( 'uuid', level.object ); + + if ( child !== undefined ) { + + object.addLevel( child, level.distance ); + + } + + } + + } + + return object; + + }; + + }() + + } ); + + var TEXTURE_MAPPING = { + UVMapping: UVMapping, + CubeReflectionMapping: CubeReflectionMapping, + CubeRefractionMapping: CubeRefractionMapping, + EquirectangularReflectionMapping: EquirectangularReflectionMapping, + EquirectangularRefractionMapping: EquirectangularRefractionMapping, + SphericalReflectionMapping: SphericalReflectionMapping, + CubeUVReflectionMapping: CubeUVReflectionMapping, + CubeUVRefractionMapping: CubeUVRefractionMapping + }; + + var TEXTURE_WRAPPING = { + RepeatWrapping: RepeatWrapping, + ClampToEdgeWrapping: ClampToEdgeWrapping, + MirroredRepeatWrapping: MirroredRepeatWrapping + }; + + var TEXTURE_FILTER = { + NearestFilter: NearestFilter, + NearestMipMapNearestFilter: NearestMipMapNearestFilter, + NearestMipMapLinearFilter: NearestMipMapLinearFilter, + LinearFilter: LinearFilter, + LinearMipMapNearestFilter: LinearMipMapNearestFilter, + LinearMipMapLinearFilter: LinearMipMapLinearFilter + }; + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * + * Bezier Curves formulas obtained from + * http://en.wikipedia.org/wiki/Bézier_curve + */ + + function CatmullRom( t, p0, p1, p2, p3 ) { + + var v0 = ( p2 - p0 ) * 0.5; + var v1 = ( p3 - p1 ) * 0.5; + var t2 = t * t; + var t3 = t * t2; + return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1; + + } + + // + + function QuadraticBezierP0( t, p ) { + + var k = 1 - t; + return k * k * p; + + } + + function QuadraticBezierP1( t, p ) { + + return 2 * ( 1 - t ) * t * p; + + } + + function QuadraticBezierP2( t, p ) { + + return t * t * p; + + } + + function QuadraticBezier( t, p0, p1, p2 ) { + + return QuadraticBezierP0( t, p0 ) + QuadraticBezierP1( t, p1 ) + + QuadraticBezierP2( t, p2 ); + + } + + // + + function CubicBezierP0( t, p ) { + + var k = 1 - t; + return k * k * k * p; + + } + + function CubicBezierP1( t, p ) { + + var k = 1 - t; + return 3 * k * k * t * p; + + } + + function CubicBezierP2( t, p ) { + + return 3 * ( 1 - t ) * t * t * p; + + } + + function CubicBezierP3( t, p ) { + + return t * t * t * p; + + } + + function CubicBezier( t, p0, p1, p2, p3 ) { + + return CubicBezierP0( t, p0 ) + CubicBezierP1( t, p1 ) + CubicBezierP2( t, p2 ) + + CubicBezierP3( t, p3 ); + + } + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * Extensible curve object + * + * Some common of curve methods: + * .getPoint(t), getTangent(t) + * .getPointAt(u), getTangentAt(u) + * .getPoints(), .getSpacedPoints() + * .getLength() + * .updateArcLengths() + * + * This following curves inherit from THREE.Curve: + * + * -- 2D curves -- + * THREE.ArcCurve + * THREE.CubicBezierCurve + * THREE.EllipseCurve + * THREE.LineCurve + * THREE.QuadraticBezierCurve + * THREE.SplineCurve + * + * -- 3D curves -- + * THREE.CatmullRomCurve3 + * THREE.CubicBezierCurve3 + * THREE.LineCurve3 + * THREE.QuadraticBezierCurve3 + * + * A series of curves can be represented as a THREE.CurvePath. + * + **/ + + /************************************************************** + * Abstract Curve base class + **************************************************************/ + + function Curve() { + + this.arcLengthDivisions = 200; + + } + + Object.assign( Curve.prototype, { + + // Virtual base class method to overwrite and implement in subclasses + // - t [0 .. 1] + + getPoint: function () { + + console.warn( 'THREE.Curve: .getPoint() not implemented.' ); + return null; + + }, + + // Get point at relative position in curve according to arc length + // - u [0 .. 1] + + getPointAt: function ( u ) { + + var t = this.getUtoTmapping( u ); + return this.getPoint( t ); + + }, + + // Get sequence of points using getPoint( t ) + + getPoints: function ( divisions ) { + + if ( divisions === undefined ) divisions = 5; + + var points = []; + + for ( var d = 0; d <= divisions; d ++ ) { + + points.push( this.getPoint( d / divisions ) ); + + } + + return points; + + }, + + // Get sequence of points using getPointAt( u ) + + getSpacedPoints: function ( divisions ) { + + if ( divisions === undefined ) divisions = 5; + + var points = []; + + for ( var d = 0; d <= divisions; d ++ ) { + + points.push( this.getPointAt( d / divisions ) ); + + } + + return points; + + }, + + // Get total curve arc length + + getLength: function () { + + var lengths = this.getLengths(); + return lengths[ lengths.length - 1 ]; + + }, + + // Get list of cumulative segment lengths + + getLengths: function ( divisions ) { + + if ( divisions === undefined ) divisions = this.arcLengthDivisions; + + if ( this.cacheArcLengths && + ( this.cacheArcLengths.length === divisions + 1 ) && + ! this.needsUpdate ) { + + return this.cacheArcLengths; + + } + + this.needsUpdate = false; + + var cache = []; + var current, last = this.getPoint( 0 ); + var p, sum = 0; + + cache.push( 0 ); + + for ( p = 1; p <= divisions; p ++ ) { + + current = this.getPoint( p / divisions ); + sum += current.distanceTo( last ); + cache.push( sum ); + last = current; + + } + + this.cacheArcLengths = cache; + + return cache; // { sums: cache, sum: sum }; Sum is in the last element. + + }, + + updateArcLengths: function () { + + this.needsUpdate = true; + this.getLengths(); + + }, + + // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant + + getUtoTmapping: function ( u, distance ) { + + var arcLengths = this.getLengths(); + + var i = 0, il = arcLengths.length; + + var targetArcLength; // The targeted u distance value to get + + if ( distance ) { + + targetArcLength = distance; + + } else { + + targetArcLength = u * arcLengths[ il - 1 ]; + + } + + // binary search for the index with largest value smaller than target u distance + + var low = 0, high = il - 1, comparison; + + while ( low <= high ) { + + i = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats + + comparison = arcLengths[ i ] - targetArcLength; + + if ( comparison < 0 ) { + + low = i + 1; + + } else if ( comparison > 0 ) { + + high = i - 1; + + } else { + + high = i; + break; + + // DONE + + } + + } + + i = high; + + if ( arcLengths[ i ] === targetArcLength ) { + + return i / ( il - 1 ); + + } + + // we could get finer grain at lengths, or use simple interpolation between two points + + var lengthBefore = arcLengths[ i ]; + var lengthAfter = arcLengths[ i + 1 ]; + + var segmentLength = lengthAfter - lengthBefore; + + // determine where we are between the 'before' and 'after' points + + var segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength; + + // add that fractional amount to t + + var t = ( i + segmentFraction ) / ( il - 1 ); + + return t; + + }, + + // Returns a unit vector tangent at t + // In case any sub curve does not implement its tangent derivation, + // 2 points a small delta apart will be used to find its gradient + // which seems to give a reasonable approximation + + getTangent: function ( t ) { + + var delta = 0.0001; + var t1 = t - delta; + var t2 = t + delta; + + // Capping in case of danger + + if ( t1 < 0 ) t1 = 0; + if ( t2 > 1 ) t2 = 1; + + var pt1 = this.getPoint( t1 ); + var pt2 = this.getPoint( t2 ); + + var vec = pt2.clone().sub( pt1 ); + return vec.normalize(); + + }, + + getTangentAt: function ( u ) { + + var t = this.getUtoTmapping( u ); + return this.getTangent( t ); + + }, + + computeFrenetFrames: function ( segments, closed ) { + + // see http://www.cs.indiana.edu/pub/techreports/TR425.pdf + + var normal = new Vector3(); + + var tangents = []; + var normals = []; + var binormals = []; + + var vec = new Vector3(); + var mat = new Matrix4(); + + var i, u, theta; + + // compute the tangent vectors for each segment on the curve + + for ( i = 0; i <= segments; i ++ ) { + + u = i / segments; + + tangents[ i ] = this.getTangentAt( u ); + tangents[ i ].normalize(); + + } + + // select an initial normal vector perpendicular to the first tangent vector, + // and in the direction of the minimum tangent xyz component + + normals[ 0 ] = new Vector3(); + binormals[ 0 ] = new Vector3(); + var min = Number.MAX_VALUE; + var tx = Math.abs( tangents[ 0 ].x ); + var ty = Math.abs( tangents[ 0 ].y ); + var tz = Math.abs( tangents[ 0 ].z ); + + if ( tx <= min ) { + + min = tx; + normal.set( 1, 0, 0 ); + + } + + if ( ty <= min ) { + + min = ty; + normal.set( 0, 1, 0 ); + + } + + if ( tz <= min ) { + + normal.set( 0, 0, 1 ); + + } + + vec.crossVectors( tangents[ 0 ], normal ).normalize(); + + normals[ 0 ].crossVectors( tangents[ 0 ], vec ); + binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] ); + + + // compute the slowly-varying normal and binormal vectors for each segment on the curve + + for ( i = 1; i <= segments; i ++ ) { + + normals[ i ] = normals[ i - 1 ].clone(); + + binormals[ i ] = binormals[ i - 1 ].clone(); + + vec.crossVectors( tangents[ i - 1 ], tangents[ i ] ); + + if ( vec.length() > Number.EPSILON ) { + + vec.normalize(); + + theta = Math.acos( _Math.clamp( tangents[ i - 1 ].dot( tangents[ i ] ), - 1, 1 ) ); // clamp for floating pt errors + + normals[ i ].applyMatrix4( mat.makeRotationAxis( vec, theta ) ); + + } + + binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); + + } + + // if the curve is closed, postprocess the vectors so the first and last normal vectors are the same + + if ( closed === true ) { + + theta = Math.acos( _Math.clamp( normals[ 0 ].dot( normals[ segments ] ), - 1, 1 ) ); + theta /= segments; + + if ( tangents[ 0 ].dot( vec.crossVectors( normals[ 0 ], normals[ segments ] ) ) > 0 ) { + + theta = - theta; + + } + + for ( i = 1; i <= segments; i ++ ) { + + // twist a little... + normals[ i ].applyMatrix4( mat.makeRotationAxis( tangents[ i ], theta * i ) ); + binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); + + } + + } + + return { + tangents: tangents, + normals: normals, + binormals: binormals + }; + + } + + } ); + + function LineCurve( v1, v2 ) { + + Curve.call( this ); + + this.v1 = v1; + this.v2 = v2; + + } + + LineCurve.prototype = Object.create( Curve.prototype ); + LineCurve.prototype.constructor = LineCurve; + + LineCurve.prototype.isLineCurve = true; + + LineCurve.prototype.getPoint = function ( t ) { + + if ( t === 1 ) { + + return this.v2.clone(); + + } + + var point = this.v2.clone().sub( this.v1 ); + point.multiplyScalar( t ).add( this.v1 ); + + return point; + + }; + + // Line curve is linear, so we can overwrite default getPointAt + + LineCurve.prototype.getPointAt = function ( u ) { + + return this.getPoint( u ); + + }; + + LineCurve.prototype.getTangent = function ( t ) { + + var tangent = this.v2.clone().sub( this.v1 ); + + return tangent.normalize(); + + }; + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * + **/ + + /************************************************************** + * Curved Path - a curve path is simply a array of connected + * curves, but retains the api of a curve + **************************************************************/ + + function CurvePath() { + + Curve.call( this ); + + this.curves = []; + + this.autoClose = false; // Automatically closes the path + + } + + CurvePath.prototype = Object.assign( Object.create( Curve.prototype ), { + + constructor: CurvePath, + + add: function ( curve ) { + + this.curves.push( curve ); + + }, + + closePath: function () { + + // Add a line curve if start and end of lines are not connected + var startPoint = this.curves[ 0 ].getPoint( 0 ); + var endPoint = this.curves[ this.curves.length - 1 ].getPoint( 1 ); + + if ( ! startPoint.equals( endPoint ) ) { + + this.curves.push( new LineCurve( endPoint, startPoint ) ); + + } + + }, + + // To get accurate point with reference to + // entire path distance at time t, + // following has to be done: + + // 1. Length of each sub path have to be known + // 2. Locate and identify type of curve + // 3. Get t for the curve + // 4. Return curve.getPointAt(t') + + getPoint: function ( t ) { + + var d = t * this.getLength(); + var curveLengths = this.getCurveLengths(); + var i = 0; + + // To think about boundaries points. + + while ( i < curveLengths.length ) { + + if ( curveLengths[ i ] >= d ) { + + var diff = curveLengths[ i ] - d; + var curve = this.curves[ i ]; + + var segmentLength = curve.getLength(); + var u = segmentLength === 0 ? 0 : 1 - diff / segmentLength; + + return curve.getPointAt( u ); + + } + + i ++; + + } + + return null; + + // loop where sum != 0, sum > d , sum+1 <d + + }, + + // We cannot use the default THREE.Curve getPoint() with getLength() because in + // THREE.Curve, getLength() depends on getPoint() but in THREE.CurvePath + // getPoint() depends on getLength + + getLength: function () { + + var lens = this.getCurveLengths(); + return lens[ lens.length - 1 ]; + + }, + + // cacheLengths must be recalculated. + updateArcLengths: function () { + + this.needsUpdate = true; + this.cacheLengths = null; + this.getCurveLengths(); + + }, + + // Compute lengths and cache them + // We cannot overwrite getLengths() because UtoT mapping uses it. + + getCurveLengths: function () { + + // We use cache values if curves and cache array are same length + + if ( this.cacheLengths && this.cacheLengths.length === this.curves.length ) { + + return this.cacheLengths; + + } + + // Get length of sub-curve + // Push sums into cached array + + var lengths = [], sums = 0; + + for ( var i = 0, l = this.curves.length; i < l; i ++ ) { + + sums += this.curves[ i ].getLength(); + lengths.push( sums ); + + } + + this.cacheLengths = lengths; + + return lengths; + + }, + + getSpacedPoints: function ( divisions ) { + + if ( divisions === undefined ) divisions = 40; + + var points = []; + + for ( var i = 0; i <= divisions; i ++ ) { + + points.push( this.getPoint( i / divisions ) ); + + } + + if ( this.autoClose ) { + + points.push( points[ 0 ] ); + + } + + return points; + + }, + + getPoints: function ( divisions ) { + + divisions = divisions || 12; + + var points = [], last; + + for ( var i = 0, curves = this.curves; i < curves.length; i ++ ) { + + var curve = curves[ i ]; + var resolution = (curve && curve.isEllipseCurve) ? divisions * 2 + : (curve && curve.isLineCurve) ? 1 + : (curve && curve.isSplineCurve) ? divisions * curve.points.length + : divisions; + + var pts = curve.getPoints( resolution ); + + for ( var j = 0; j < pts.length; j++ ) { + + var point = pts[ j ]; + + if ( last && last.equals( point ) ) continue; // ensures no consecutive points are duplicates + + points.push( point ); + last = point; + + } + + } + + if ( this.autoClose && points.length > 1 && !points[ points.length - 1 ].equals( points[ 0 ] ) ) { + + points.push( points[ 0 ] ); + + } + + return points; + + }, + + /************************************************************** + * Create Geometries Helpers + **************************************************************/ + + /// Generate geometry from path points (for Line or Points objects) + + createPointsGeometry: function ( divisions ) { + + var pts = this.getPoints( divisions ); + return this.createGeometry( pts ); + + }, + + // Generate geometry from equidistant sampling along the path + + createSpacedPointsGeometry: function ( divisions ) { + + var pts = this.getSpacedPoints( divisions ); + return this.createGeometry( pts ); + + }, + + createGeometry: function ( points ) { + + var geometry = new Geometry(); + + for ( var i = 0, l = points.length; i < l; i ++ ) { + + var point = points[ i ]; + geometry.vertices.push( new Vector3( point.x, point.y, point.z || 0 ) ); + + } + + return geometry; + + } + + } ); + + function EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + + Curve.call( this ); + + this.aX = aX; + this.aY = aY; + + this.xRadius = xRadius; + this.yRadius = yRadius; + + this.aStartAngle = aStartAngle; + this.aEndAngle = aEndAngle; + + this.aClockwise = aClockwise; + + this.aRotation = aRotation || 0; + + } + + EllipseCurve.prototype = Object.create( Curve.prototype ); + EllipseCurve.prototype.constructor = EllipseCurve; + + EllipseCurve.prototype.isEllipseCurve = true; + + EllipseCurve.prototype.getPoint = function ( t ) { + + var twoPi = Math.PI * 2; + var deltaAngle = this.aEndAngle - this.aStartAngle; + var samePoints = Math.abs( deltaAngle ) < Number.EPSILON; + + // ensures that deltaAngle is 0 .. 2 PI + while ( deltaAngle < 0 ) deltaAngle += twoPi; + while ( deltaAngle > twoPi ) deltaAngle -= twoPi; + + if ( deltaAngle < Number.EPSILON ) { + + if ( samePoints ) { + + deltaAngle = 0; + + } else { + + deltaAngle = twoPi; + + } + + } + + if ( this.aClockwise === true && ! samePoints ) { + + if ( deltaAngle === twoPi ) { + + deltaAngle = - twoPi; + + } else { + + deltaAngle = deltaAngle - twoPi; + + } + + } + + var angle = this.aStartAngle + t * deltaAngle; + var x = this.aX + this.xRadius * Math.cos( angle ); + var y = this.aY + this.yRadius * Math.sin( angle ); + + if ( this.aRotation !== 0 ) { + + var cos = Math.cos( this.aRotation ); + var sin = Math.sin( this.aRotation ); + + var tx = x - this.aX; + var ty = y - this.aY; + + // Rotate the point about the center of the ellipse. + x = tx * cos - ty * sin + this.aX; + y = tx * sin + ty * cos + this.aY; + + } + + return new Vector2( x, y ); + + }; + + function SplineCurve( points /* array of Vector2 */ ) { + + Curve.call( this ); + + this.points = ( points === undefined ) ? [] : points; + + } + + SplineCurve.prototype = Object.create( Curve.prototype ); + SplineCurve.prototype.constructor = SplineCurve; + + SplineCurve.prototype.isSplineCurve = true; + + SplineCurve.prototype.getPoint = function ( t ) { + + var points = this.points; + var point = ( points.length - 1 ) * t; + + var intPoint = Math.floor( point ); + var weight = point - intPoint; + + var point0 = points[ intPoint === 0 ? intPoint : intPoint - 1 ]; + var point1 = points[ intPoint ]; + var point2 = points[ intPoint > points.length - 2 ? points.length - 1 : intPoint + 1 ]; + var point3 = points[ intPoint > points.length - 3 ? points.length - 1 : intPoint + 2 ]; + + return new Vector2( + CatmullRom( weight, point0.x, point1.x, point2.x, point3.x ), + CatmullRom( weight, point0.y, point1.y, point2.y, point3.y ) + ); + + }; + + function CubicBezierCurve( v0, v1, v2, v3 ) { + + Curve.call( this ); + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + + } + + CubicBezierCurve.prototype = Object.create( Curve.prototype ); + CubicBezierCurve.prototype.constructor = CubicBezierCurve; + + CubicBezierCurve.prototype.getPoint = function ( t ) { + + var v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + + return new Vector2( + CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), + CubicBezier( t, v0.y, v1.y, v2.y, v3.y ) + ); + + }; + + function QuadraticBezierCurve( v0, v1, v2 ) { + + Curve.call( this ); + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + + } + + QuadraticBezierCurve.prototype = Object.create( Curve.prototype ); + QuadraticBezierCurve.prototype.constructor = QuadraticBezierCurve; + + QuadraticBezierCurve.prototype.getPoint = function ( t ) { + + var v0 = this.v0, v1 = this.v1, v2 = this.v2; + + return new Vector2( + QuadraticBezier( t, v0.x, v1.x, v2.x ), + QuadraticBezier( t, v0.y, v1.y, v2.y ) + ); + + }; + + var PathPrototype = Object.assign( Object.create( CurvePath.prototype ), { + + fromPoints: function ( vectors ) { + + this.moveTo( vectors[ 0 ].x, vectors[ 0 ].y ); + + for ( var i = 1, l = vectors.length; i < l; i ++ ) { + + this.lineTo( vectors[ i ].x, vectors[ i ].y ); + + } + + }, + + moveTo: function ( x, y ) { + + this.currentPoint.set( x, y ); // TODO consider referencing vectors instead of copying? + + }, + + lineTo: function ( x, y ) { + + var curve = new LineCurve( this.currentPoint.clone(), new Vector2( x, y ) ); + this.curves.push( curve ); + + this.currentPoint.set( x, y ); + + }, + + quadraticCurveTo: function ( aCPx, aCPy, aX, aY ) { + + var curve = new QuadraticBezierCurve( + this.currentPoint.clone(), + new Vector2( aCPx, aCPy ), + new Vector2( aX, aY ) + ); + + this.curves.push( curve ); + + this.currentPoint.set( aX, aY ); + + }, + + bezierCurveTo: function ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { + + var curve = new CubicBezierCurve( + this.currentPoint.clone(), + new Vector2( aCP1x, aCP1y ), + new Vector2( aCP2x, aCP2y ), + new Vector2( aX, aY ) + ); + + this.curves.push( curve ); + + this.currentPoint.set( aX, aY ); + + }, + + splineThru: function ( pts /*Array of Vector*/ ) { + + var npts = [ this.currentPoint.clone() ].concat( pts ); + + var curve = new SplineCurve( npts ); + this.curves.push( curve ); + + this.currentPoint.copy( pts[ pts.length - 1 ] ); + + }, + + arc: function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + + var x0 = this.currentPoint.x; + var y0 = this.currentPoint.y; + + this.absarc( aX + x0, aY + y0, aRadius, + aStartAngle, aEndAngle, aClockwise ); + + }, + + absarc: function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + + this.absellipse( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); + + }, + + ellipse: function ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + + var x0 = this.currentPoint.x; + var y0 = this.currentPoint.y; + + this.absellipse( aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); + + }, + + absellipse: function ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + + var curve = new EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); + + if ( this.curves.length > 0 ) { + + // if a previous curve is present, attempt to join + var firstPoint = curve.getPoint( 0 ); + + if ( ! firstPoint.equals( this.currentPoint ) ) { + + this.lineTo( firstPoint.x, firstPoint.y ); + + } + + } + + this.curves.push( curve ); + + var lastPoint = curve.getPoint( 1 ); + this.currentPoint.copy( lastPoint ); + + } + + } ); + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * Creates free form 2d path using series of points, lines or curves. + **/ + + function Path( points ) { + + CurvePath.call( this ); + this.currentPoint = new Vector2(); + + if ( points ) { + + this.fromPoints( points ); + + } + + } + + Path.prototype = PathPrototype; + PathPrototype.constructor = Path; + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * Defines a 2d shape plane using paths. + **/ + + // STEP 1 Create a path. + // STEP 2 Turn path into shape. + // STEP 3 ExtrudeGeometry takes in Shape/Shapes + // STEP 3a - Extract points from each shape, turn to vertices + // STEP 3b - Triangulate each shape, add faces. + + function Shape() { + + Path.apply( this, arguments ); + + this.holes = []; + + } + + Shape.prototype = Object.assign( Object.create( PathPrototype ), { + + constructor: Shape, + + getPointsHoles: function ( divisions ) { + + var holesPts = []; + + for ( var i = 0, l = this.holes.length; i < l; i ++ ) { + + holesPts[ i ] = this.holes[ i ].getPoints( divisions ); + + } + + return holesPts; + + }, + + // Get points of shape and holes (keypoints based on segments parameter) + + extractAllPoints: function ( divisions ) { + + return { + + shape: this.getPoints( divisions ), + holes: this.getPointsHoles( divisions ) + + }; + + }, + + extractPoints: function ( divisions ) { + + return this.extractAllPoints( divisions ); + + } + + } ); + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * minimal class for proxing functions to Path. Replaces old "extractSubpaths()" + **/ + + function ShapePath() { + + this.subPaths = []; + this.currentPath = null; + + } + + Object.assign( ShapePath.prototype, { + + moveTo: function ( x, y ) { + + this.currentPath = new Path(); + this.subPaths.push( this.currentPath ); + this.currentPath.moveTo( x, y ); + + }, + + lineTo: function ( x, y ) { + + this.currentPath.lineTo( x, y ); + + }, + + quadraticCurveTo: function ( aCPx, aCPy, aX, aY ) { + + this.currentPath.quadraticCurveTo( aCPx, aCPy, aX, aY ); + + }, + + bezierCurveTo: function ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { + + this.currentPath.bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ); + + }, + + splineThru: function ( pts ) { + + this.currentPath.splineThru( pts ); + + }, + + toShapes: function ( isCCW, noHoles ) { + + function toShapesNoHoles( inSubpaths ) { + + var shapes = []; + + for ( var i = 0, l = inSubpaths.length; i < l; i ++ ) { + + var tmpPath = inSubpaths[ i ]; + + var tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + + shapes.push( tmpShape ); + + } + + return shapes; + + } + + function isPointInsidePolygon( inPt, inPolygon ) { + + var polyLen = inPolygon.length; + + // inPt on polygon contour => immediate success or + // toggling of inside/outside at every single! intersection point of an edge + // with the horizontal line through inPt, left of inPt + // not counting lowerY endpoints of edges and whole edges on that line + var inside = false; + for ( var p = polyLen - 1, q = 0; q < polyLen; p = q ++ ) { + + var edgeLowPt = inPolygon[ p ]; + var edgeHighPt = inPolygon[ q ]; + + var edgeDx = edgeHighPt.x - edgeLowPt.x; + var edgeDy = edgeHighPt.y - edgeLowPt.y; + + if ( Math.abs( edgeDy ) > Number.EPSILON ) { + + // not parallel + if ( edgeDy < 0 ) { + + edgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx; + edgeHighPt = inPolygon[ p ]; edgeDy = - edgeDy; + + } + if ( ( inPt.y < edgeLowPt.y ) || ( inPt.y > edgeHighPt.y ) ) continue; + + if ( inPt.y === edgeLowPt.y ) { + + if ( inPt.x === edgeLowPt.x ) return true; // inPt is on contour ? + // continue; // no intersection or edgeLowPt => doesn't count !!! + + } else { + + var perpEdge = edgeDy * ( inPt.x - edgeLowPt.x ) - edgeDx * ( inPt.y - edgeLowPt.y ); + if ( perpEdge === 0 ) return true; // inPt is on contour ? + if ( perpEdge < 0 ) continue; + inside = ! inside; // true intersection left of inPt + + } + + } else { + + // parallel or collinear + if ( inPt.y !== edgeLowPt.y ) continue; // parallel + // edge lies on the same horizontal line as inPt + if ( ( ( edgeHighPt.x <= inPt.x ) && ( inPt.x <= edgeLowPt.x ) ) || + ( ( edgeLowPt.x <= inPt.x ) && ( inPt.x <= edgeHighPt.x ) ) ) return true; // inPt: Point on contour ! + // continue; + + } + + } + + return inside; + + } + + var isClockWise = ShapeUtils.isClockWise; + + var subPaths = this.subPaths; + if ( subPaths.length === 0 ) return []; + + if ( noHoles === true ) return toShapesNoHoles( subPaths ); + + + var solid, tmpPath, tmpShape, shapes = []; + + if ( subPaths.length === 1 ) { + + tmpPath = subPaths[ 0 ]; + tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + shapes.push( tmpShape ); + return shapes; + + } + + var holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() ); + holesFirst = isCCW ? ! holesFirst : holesFirst; + + // console.log("Holes first", holesFirst); + + var betterShapeHoles = []; + var newShapes = []; + var newShapeHoles = []; + var mainIdx = 0; + var tmpPoints; + + newShapes[ mainIdx ] = undefined; + newShapeHoles[ mainIdx ] = []; + + for ( var i = 0, l = subPaths.length; i < l; i ++ ) { + + tmpPath = subPaths[ i ]; + tmpPoints = tmpPath.getPoints(); + solid = isClockWise( tmpPoints ); + solid = isCCW ? ! solid : solid; + + if ( solid ) { + + if ( ( ! holesFirst ) && ( newShapes[ mainIdx ] ) ) mainIdx ++; + + newShapes[ mainIdx ] = { s: new Shape(), p: tmpPoints }; + newShapes[ mainIdx ].s.curves = tmpPath.curves; + + if ( holesFirst ) mainIdx ++; + newShapeHoles[ mainIdx ] = []; + + //console.log('cw', i); + + } else { + + newShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } ); + + //console.log('ccw', i); + + } + + } + + // only Holes? -> probably all Shapes with wrong orientation + if ( ! newShapes[ 0 ] ) return toShapesNoHoles( subPaths ); + + + if ( newShapes.length > 1 ) { + + var ambiguous = false; + var toChange = []; + + for ( var sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { + + betterShapeHoles[ sIdx ] = []; + + } + + for ( var sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { + + var sho = newShapeHoles[ sIdx ]; + + for ( var hIdx = 0; hIdx < sho.length; hIdx ++ ) { + + var ho = sho[ hIdx ]; + var hole_unassigned = true; + + for ( var s2Idx = 0; s2Idx < newShapes.length; s2Idx ++ ) { + + if ( isPointInsidePolygon( ho.p, newShapes[ s2Idx ].p ) ) { + + if ( sIdx !== s2Idx ) toChange.push( { froms: sIdx, tos: s2Idx, hole: hIdx } ); + if ( hole_unassigned ) { + + hole_unassigned = false; + betterShapeHoles[ s2Idx ].push( ho ); + + } else { + + ambiguous = true; + + } + + } + + } + if ( hole_unassigned ) { + + betterShapeHoles[ sIdx ].push( ho ); + + } + + } + + } + // console.log("ambiguous: ", ambiguous); + if ( toChange.length > 0 ) { + + // console.log("to change: ", toChange); + if ( ! ambiguous ) newShapeHoles = betterShapeHoles; + + } + + } + + var tmpHoles; + + for ( var i = 0, il = newShapes.length; i < il; i ++ ) { + + tmpShape = newShapes[ i ].s; + shapes.push( tmpShape ); + tmpHoles = newShapeHoles[ i ]; + + for ( var j = 0, jl = tmpHoles.length; j < jl; j ++ ) { + + tmpShape.holes.push( tmpHoles[ j ].h ); + + } + + } + + //console.log("shape", shapes); + + return shapes; + + } + + } ); + + /** + * @author zz85 / http://www.lab4games.net/zz85/blog + * @author mrdoob / http://mrdoob.com/ + */ + + function Font( data ) { + + this.data = data; + + } + + Object.assign( Font.prototype, { + + isFont: true, + + generateShapes: function ( text, size, divisions ) { + + function createPaths( text ) { + + var chars = String( text ).split( '' ); + var scale = size / data.resolution; + var line_height = ( data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness ) * scale; + + var offsetX = 0, offsetY = 0; + + var paths = []; + + for ( var i = 0; i < chars.length; i ++ ) { + + var char = chars[ i ]; + + if ( char === '\n' ) { + + offsetX = 0; + offsetY -= line_height; + + } else { + + var ret = createPath( char, scale, offsetX, offsetY ); + offsetX += ret.offsetX; + paths.push( ret.path ); + + } + + } + + return paths; + + } + + function createPath( c, scale, offsetX, offsetY ) { + + var glyph = data.glyphs[ c ] || data.glyphs[ '?' ]; + + if ( ! glyph ) return; + + var path = new ShapePath(); + + var pts = []; + var x, y, cpx, cpy, cpx0, cpy0, cpx1, cpy1, cpx2, cpy2, laste; + + if ( glyph.o ) { + + var outline = glyph._cachedOutline || ( glyph._cachedOutline = glyph.o.split( ' ' ) ); + + for ( var i = 0, l = outline.length; i < l; ) { + + var action = outline[ i ++ ]; + + switch ( action ) { + + case 'm': // moveTo + + x = outline[ i ++ ] * scale + offsetX; + y = outline[ i ++ ] * scale + offsetY; + + path.moveTo( x, y ); + + break; + + case 'l': // lineTo + + x = outline[ i ++ ] * scale + offsetX; + y = outline[ i ++ ] * scale + offsetY; + + path.lineTo( x, y ); + + break; + + case 'q': // quadraticCurveTo + + cpx = outline[ i ++ ] * scale + offsetX; + cpy = outline[ i ++ ] * scale + offsetY; + cpx1 = outline[ i ++ ] * scale + offsetX; + cpy1 = outline[ i ++ ] * scale + offsetY; + + path.quadraticCurveTo( cpx1, cpy1, cpx, cpy ); + + laste = pts[ pts.length - 1 ]; + + if ( laste ) { + + cpx0 = laste.x; + cpy0 = laste.y; + + for ( var i2 = 1; i2 <= divisions; i2 ++ ) { + + var t = i2 / divisions; + QuadraticBezier( t, cpx0, cpx1, cpx ); + QuadraticBezier( t, cpy0, cpy1, cpy ); + + } + + } + + break; + + case 'b': // bezierCurveTo + + cpx = outline[ i ++ ] * scale + offsetX; + cpy = outline[ i ++ ] * scale + offsetY; + cpx1 = outline[ i ++ ] * scale + offsetX; + cpy1 = outline[ i ++ ] * scale + offsetY; + cpx2 = outline[ i ++ ] * scale + offsetX; + cpy2 = outline[ i ++ ] * scale + offsetY; + + path.bezierCurveTo( cpx1, cpy1, cpx2, cpy2, cpx, cpy ); + + laste = pts[ pts.length - 1 ]; + + if ( laste ) { + + cpx0 = laste.x; + cpy0 = laste.y; + + for ( var i2 = 1; i2 <= divisions; i2 ++ ) { + + var t = i2 / divisions; + CubicBezier( t, cpx0, cpx1, cpx2, cpx ); + CubicBezier( t, cpy0, cpy1, cpy2, cpy ); + + } + + } + + break; + + } + + } + + } + + return { offsetX: glyph.ha * scale, path: path }; + + } + + // + + if ( size === undefined ) size = 100; + if ( divisions === undefined ) divisions = 4; + + var data = this.data; + + var paths = createPaths( text ); + var shapes = []; + + for ( var p = 0, pl = paths.length; p < pl; p ++ ) { + + Array.prototype.push.apply( shapes, paths[ p ].toShapes() ); + + } + + return shapes; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function FontLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( FontLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var loader = new FileLoader( this.manager ); + loader.load( url, function ( text ) { + + var json; + + try { + + json = JSON.parse( text ); + + } catch ( e ) { + + console.warn( 'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.' ); + json = JSON.parse( text.substring( 65, text.length - 2 ) ); + + } + + var font = scope.parse( json ); + + if ( onLoad ) onLoad( font ); + + }, onProgress, onError ); + + }, + + parse: function ( json ) { + + return new Font( json ); + + } + + } ); + + var context; + + var AudioContext = { + + getContext: function () { + + if ( context === undefined ) { + + context = new ( window.AudioContext || window.webkitAudioContext )(); + + } + + return context; + + }, + + setContext: function ( value ) { + + context = value; + + } + + }; + + /** + * @author Reece Aaron Lecrivain / http://reecenotes.com/ + */ + + function AudioLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + } + + Object.assign( AudioLoader.prototype, { + + load: function ( url, onLoad, onProgress, onError ) { + + var loader = new FileLoader( this.manager ); + loader.setResponseType( 'arraybuffer' ); + loader.load( url, function ( buffer ) { + + var context = AudioContext.getContext(); + + context.decodeAudioData( buffer, function ( audioBuffer ) { + + onLoad( audioBuffer ); + + } ); + + }, onProgress, onError ); + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function StereoCamera() { + + this.type = 'StereoCamera'; + + this.aspect = 1; + + this.eyeSep = 0.064; + + this.cameraL = new PerspectiveCamera(); + this.cameraL.layers.enable( 1 ); + this.cameraL.matrixAutoUpdate = false; + + this.cameraR = new PerspectiveCamera(); + this.cameraR.layers.enable( 2 ); + this.cameraR.matrixAutoUpdate = false; + + } + + Object.assign( StereoCamera.prototype, { + + update: ( function () { + + var instance, focus, fov, aspect, near, far, zoom, eyeSep; + + var eyeRight = new Matrix4(); + var eyeLeft = new Matrix4(); + + return function update( camera ) { + + var needsUpdate = instance !== this || focus !== camera.focus || fov !== camera.fov || + aspect !== camera.aspect * this.aspect || near !== camera.near || + far !== camera.far || zoom !== camera.zoom || eyeSep !== this.eyeSep; + + if ( needsUpdate ) { + + instance = this; + focus = camera.focus; + fov = camera.fov; + aspect = camera.aspect * this.aspect; + near = camera.near; + far = camera.far; + zoom = camera.zoom; + + // Off-axis stereoscopic effect based on + // http://paulbourke.net/stereographics/stereorender/ + + var projectionMatrix = camera.projectionMatrix.clone(); + eyeSep = this.eyeSep / 2; + var eyeSepOnProjection = eyeSep * near / focus; + var ymax = ( near * Math.tan( _Math.DEG2RAD * fov * 0.5 ) ) / zoom; + var xmin, xmax; + + // translate xOffset + + eyeLeft.elements[ 12 ] = - eyeSep; + eyeRight.elements[ 12 ] = eyeSep; + + // for left eye + + xmin = - ymax * aspect + eyeSepOnProjection; + xmax = ymax * aspect + eyeSepOnProjection; + + projectionMatrix.elements[ 0 ] = 2 * near / ( xmax - xmin ); + projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); + + this.cameraL.projectionMatrix.copy( projectionMatrix ); + + // for right eye + + xmin = - ymax * aspect - eyeSepOnProjection; + xmax = ymax * aspect - eyeSepOnProjection; + + projectionMatrix.elements[ 0 ] = 2 * near / ( xmax - xmin ); + projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); + + this.cameraR.projectionMatrix.copy( projectionMatrix ); + + } + + this.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( eyeLeft ); + this.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( eyeRight ); + + }; + + } )() + + } ); + + /** + * Camera for rendering cube maps + * - renders scene into axis-aligned cube + * + * @author alteredq / http://alteredqualia.com/ + */ + + function CubeCamera( near, far, cubeResolution ) { + + Object3D.call( this ); + + this.type = 'CubeCamera'; + + var fov = 90, aspect = 1; + + var cameraPX = new PerspectiveCamera( fov, aspect, near, far ); + cameraPX.up.set( 0, - 1, 0 ); + cameraPX.lookAt( new Vector3( 1, 0, 0 ) ); + this.add( cameraPX ); + + var cameraNX = new PerspectiveCamera( fov, aspect, near, far ); + cameraNX.up.set( 0, - 1, 0 ); + cameraNX.lookAt( new Vector3( - 1, 0, 0 ) ); + this.add( cameraNX ); + + var cameraPY = new PerspectiveCamera( fov, aspect, near, far ); + cameraPY.up.set( 0, 0, 1 ); + cameraPY.lookAt( new Vector3( 0, 1, 0 ) ); + this.add( cameraPY ); + + var cameraNY = new PerspectiveCamera( fov, aspect, near, far ); + cameraNY.up.set( 0, 0, - 1 ); + cameraNY.lookAt( new Vector3( 0, - 1, 0 ) ); + this.add( cameraNY ); + + var cameraPZ = new PerspectiveCamera( fov, aspect, near, far ); + cameraPZ.up.set( 0, - 1, 0 ); + cameraPZ.lookAt( new Vector3( 0, 0, 1 ) ); + this.add( cameraPZ ); + + var cameraNZ = new PerspectiveCamera( fov, aspect, near, far ); + cameraNZ.up.set( 0, - 1, 0 ); + cameraNZ.lookAt( new Vector3( 0, 0, - 1 ) ); + this.add( cameraNZ ); + + var options = { format: RGBFormat, magFilter: LinearFilter, minFilter: LinearFilter }; + + this.renderTarget = new WebGLRenderTargetCube( cubeResolution, cubeResolution, options ); + this.renderTarget.texture.name = "CubeCamera"; + + this.updateCubeMap = function ( renderer, scene ) { + + if ( this.parent === null ) this.updateMatrixWorld(); + + var renderTarget = this.renderTarget; + var generateMipmaps = renderTarget.texture.generateMipmaps; + + renderTarget.texture.generateMipmaps = false; + + renderTarget.activeCubeFace = 0; + renderer.render( scene, cameraPX, renderTarget ); + + renderTarget.activeCubeFace = 1; + renderer.render( scene, cameraNX, renderTarget ); + + renderTarget.activeCubeFace = 2; + renderer.render( scene, cameraPY, renderTarget ); + + renderTarget.activeCubeFace = 3; + renderer.render( scene, cameraNY, renderTarget ); + + renderTarget.activeCubeFace = 4; + renderer.render( scene, cameraPZ, renderTarget ); + + renderTarget.texture.generateMipmaps = generateMipmaps; + + renderTarget.activeCubeFace = 5; + renderer.render( scene, cameraNZ, renderTarget ); + + renderer.setRenderTarget( null ); + + }; + + } + + CubeCamera.prototype = Object.create( Object3D.prototype ); + CubeCamera.prototype.constructor = CubeCamera; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function ArrayCamera( array ) { + + PerspectiveCamera.call( this ); + + this.enabled = false; + this.cameras = array || []; + + } + + ArrayCamera.prototype = Object.assign( Object.create( PerspectiveCamera.prototype ), { + + constructor: ArrayCamera, + + isArrayCamera: true + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function AudioListener() { + + Object3D.call( this ); + + this.type = 'AudioListener'; + + this.context = AudioContext.getContext(); + + this.gain = this.context.createGain(); + this.gain.connect( this.context.destination ); + + this.filter = null; + + } + + AudioListener.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: AudioListener, + + getInput: function () { + + return this.gain; + + }, + + removeFilter: function ( ) { + + if ( this.filter !== null ) { + + this.gain.disconnect( this.filter ); + this.filter.disconnect( this.context.destination ); + this.gain.connect( this.context.destination ); + this.filter = null; + + } + + }, + + getFilter: function () { + + return this.filter; + + }, + + setFilter: function ( value ) { + + if ( this.filter !== null ) { + + this.gain.disconnect( this.filter ); + this.filter.disconnect( this.context.destination ); + + } else { + + this.gain.disconnect( this.context.destination ); + + } + + this.filter = value; + this.gain.connect( this.filter ); + this.filter.connect( this.context.destination ); + + }, + + getMasterVolume: function () { + + return this.gain.gain.value; + + }, + + setMasterVolume: function ( value ) { + + this.gain.gain.value = value; + + }, + + updateMatrixWorld: ( function () { + + var position = new Vector3(); + var quaternion = new Quaternion(); + var scale = new Vector3(); + + var orientation = new Vector3(); + + return function updateMatrixWorld( force ) { + + Object3D.prototype.updateMatrixWorld.call( this, force ); + + var listener = this.context.listener; + var up = this.up; + + this.matrixWorld.decompose( position, quaternion, scale ); + + orientation.set( 0, 0, - 1 ).applyQuaternion( quaternion ); + + if ( listener.positionX ) { + + listener.positionX.setValueAtTime( position.x, this.context.currentTime ); + listener.positionY.setValueAtTime( position.y, this.context.currentTime ); + listener.positionZ.setValueAtTime( position.z, this.context.currentTime ); + listener.forwardX.setValueAtTime( orientation.x, this.context.currentTime ); + listener.forwardY.setValueAtTime( orientation.y, this.context.currentTime ); + listener.forwardZ.setValueAtTime( orientation.z, this.context.currentTime ); + listener.upX.setValueAtTime( up.x, this.context.currentTime ); + listener.upY.setValueAtTime( up.y, this.context.currentTime ); + listener.upZ.setValueAtTime( up.z, this.context.currentTime ); + + } else { + + listener.setPosition( position.x, position.y, position.z ); + listener.setOrientation( orientation.x, orientation.y, orientation.z, up.x, up.y, up.z ); + + } + + }; + + } )() + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Reece Aaron Lecrivain / http://reecenotes.com/ + */ + + function Audio( listener ) { + + Object3D.call( this ); + + this.type = 'Audio'; + + this.context = listener.context; + + this.gain = this.context.createGain(); + this.gain.connect( listener.getInput() ); + + this.autoplay = false; + + this.buffer = null; + this.loop = false; + this.startTime = 0; + this.playbackRate = 1; + this.isPlaying = false; + this.hasPlaybackControl = true; + this.sourceType = 'empty'; + + this.filters = []; + + } + + Audio.prototype = Object.assign( Object.create( Object3D.prototype ), { + + constructor: Audio, + + getOutput: function () { + + return this.gain; + + }, + + setNodeSource: function ( audioNode ) { + + this.hasPlaybackControl = false; + this.sourceType = 'audioNode'; + this.source = audioNode; + this.connect(); + + return this; + + }, + + setBuffer: function ( audioBuffer ) { + + this.buffer = audioBuffer; + this.sourceType = 'buffer'; + + if ( this.autoplay ) this.play(); + + return this; + + }, + + play: function () { + + if ( this.isPlaying === true ) { + + console.warn( 'THREE.Audio: Audio is already playing.' ); + return; + + } + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + var source = this.context.createBufferSource(); + + source.buffer = this.buffer; + source.loop = this.loop; + source.onended = this.onEnded.bind( this ); + source.playbackRate.setValueAtTime( this.playbackRate, this.startTime ); + source.start( 0, this.startTime ); + + this.isPlaying = true; + + this.source = source; + + return this.connect(); + + }, + + pause: function () { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this.source.stop(); + this.startTime = this.context.currentTime; + this.isPlaying = false; + + return this; + + }, + + stop: function () { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this.source.stop(); + this.startTime = 0; + this.isPlaying = false; + + return this; + + }, + + connect: function () { + + if ( this.filters.length > 0 ) { + + this.source.connect( this.filters[ 0 ] ); + + for ( var i = 1, l = this.filters.length; i < l; i ++ ) { + + this.filters[ i - 1 ].connect( this.filters[ i ] ); + + } + + 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 i = 1, l = this.filters.length; i < l; i ++ ) { + + this.filters[ i - 1 ].disconnect( this.filters[ i ] ); + + } + + this.filters[ this.filters.length - 1 ].disconnect( this.getOutput() ); + + } else { + + this.source.disconnect( this.getOutput() ); + + } + + return this; + + }, + + getFilters: function () { + + return this.filters; + + }, + + setFilters: function ( value ) { + + if ( ! value ) value = []; + + if ( this.isPlaying === true ) { + + this.disconnect(); + this.filters = value; + this.connect(); + + } else { + + this.filters = value; + + } + + return this; + + }, + + getFilter: function () { + + return this.getFilters()[ 0 ]; + + }, + + setFilter: function ( filter ) { + + return this.setFilters( filter ? [ filter ] : [] ); + + }, + + setPlaybackRate: function ( value ) { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this.playbackRate = value; + + if ( this.isPlaying === true ) { + + this.source.playbackRate.setValueAtTime( this.playbackRate, this.context.currentTime ); + + } + + return this; + + }, + + getPlaybackRate: function () { + + return this.playbackRate; + + }, + + onEnded: function () { + + this.isPlaying = false; + + }, + + getLoop: function () { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return false; + + } + + return this.loop; + + }, + + setLoop: function ( value ) { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this.loop = value; + + if ( this.isPlaying === true ) { + + this.source.loop = this.loop; + + } + + return this; + + }, + + getVolume: function () { + + return this.gain.gain.value; + + }, + + setVolume: function ( value ) { + + this.gain.gain.value = value; + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function PositionalAudio( listener ) { + + Audio.call( this, listener ); + + this.panner = this.context.createPanner(); + this.panner.connect( this.gain ); + + } + + PositionalAudio.prototype = Object.assign( Object.create( Audio.prototype ), { + + constructor: PositionalAudio, + + getOutput: function () { + + return this.panner; + + }, + + getRefDistance: function () { + + return this.panner.refDistance; + + }, + + setRefDistance: function ( value ) { + + this.panner.refDistance = value; + + }, + + getRolloffFactor: function () { + + return this.panner.rolloffFactor; + + }, + + setRolloffFactor: function ( value ) { + + this.panner.rolloffFactor = value; + + }, + + getDistanceModel: function () { + + return this.panner.distanceModel; + + }, + + setDistanceModel: function ( value ) { + + this.panner.distanceModel = value; + + }, + + getMaxDistance: function () { + + return this.panner.maxDistance; + + }, + + setMaxDistance: function ( value ) { + + this.panner.maxDistance = value; + + }, + + updateMatrixWorld: ( function () { + + var position = new Vector3(); + + return function updateMatrixWorld( force ) { + + Object3D.prototype.updateMatrixWorld.call( this, force ); + + position.setFromMatrixPosition( this.matrixWorld ); + + this.panner.setPosition( position.x, position.y, position.z ); + + }; + + } )() + + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function AudioAnalyser( audio, fftSize ) { + + this.analyser = audio.context.createAnalyser(); + this.analyser.fftSize = fftSize !== undefined ? fftSize : 2048; + + this.data = new Uint8Array( this.analyser.frequencyBinCount ); + + audio.getOutput().connect( this.analyser ); + + } + + Object.assign( AudioAnalyser.prototype, { + + getFrequencyData: function () { + + this.analyser.getByteFrequencyData( this.data ); + + return this.data; + + }, + + getAverageFrequency: function () { + + var value = 0, data = this.getFrequencyData(); + + for ( var i = 0; i < data.length; i ++ ) { + + value += data[ i ]; + + } + + return value / data.length; + + } + + } ); + + /** + * + * Buffered scene graph property that allows weighted accumulation. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function PropertyMixer( binding, typeName, valueSize ) { + + this.binding = binding; + this.valueSize = valueSize; + + var bufferType = Float64Array, + mixFunction; + + switch ( typeName ) { + + case 'quaternion': + mixFunction = this._slerp; + break; + + case 'string': + case 'bool': + bufferType = Array; + mixFunction = this._select; + break; + + default: + mixFunction = this._lerp; + + } + + this.buffer = new bufferType( valueSize * 4 ); + // layout: [ incoming | accu0 | accu1 | orig ] + // + // interpolators can use .buffer as their .result + // the data then goes to 'incoming' + // + // 'accu0' and 'accu1' are used frame-interleaved for + // the cumulative result and are compared to detect + // changes + // + // 'orig' stores the original state of the property + + this._mixBufferRegion = mixFunction; + + this.cumulativeWeight = 0; + + this.useCount = 0; + this.referenceCount = 0; + + } + + Object.assign( PropertyMixer.prototype, { + + // accumulate data in the 'incoming' region into 'accu<i>' + accumulate: function ( accuIndex, weight ) { + + // note: happily accumulating nothing when weight = 0, the caller knows + // the weight and shouldn't have made the call in the first place + + var buffer = this.buffer, + stride = this.valueSize, + offset = accuIndex * stride + stride, + + currentWeight = this.cumulativeWeight; + + if ( currentWeight === 0 ) { + + // accuN := incoming * weight + + for ( var i = 0; i !== stride; ++ i ) { + + buffer[ offset + i ] = buffer[ i ]; + + } + + currentWeight = weight; + + } else { + + // accuN := accuN + incoming * weight + + currentWeight += weight; + var mix = weight / currentWeight; + this._mixBufferRegion( buffer, offset, 0, mix, stride ); + + } + + this.cumulativeWeight = currentWeight; + + }, + + // apply the state of 'accu<i>' to the binding when accus differ + apply: function ( accuIndex ) { + + var stride = this.valueSize, + buffer = this.buffer, + offset = accuIndex * stride + stride, + + weight = this.cumulativeWeight, + + binding = this.binding; + + this.cumulativeWeight = 0; + + if ( weight < 1 ) { + + // accuN := accuN + original * ( 1 - cumulativeWeight ) + + var originalValueOffset = stride * 3; + + this._mixBufferRegion( + buffer, offset, originalValueOffset, 1 - weight, stride ); + + } + + for ( var i = stride, e = stride + stride; i !== e; ++ i ) { + + if ( buffer[ i ] !== buffer[ i + stride ] ) { + + // value has changed -> update scene graph + + binding.setValue( buffer, offset ); + break; + + } + + } + + }, + + // remember the state of the bound property and copy it to both accus + saveOriginalState: function () { + + var binding = this.binding; + + var buffer = this.buffer, + stride = this.valueSize, + + originalValueOffset = stride * 3; + + binding.getValue( buffer, originalValueOffset ); + + // accu[0..1] := orig -- initially detect changes against the original + for ( var i = stride, e = originalValueOffset; i !== e; ++ i ) { + + buffer[ i ] = buffer[ originalValueOffset + ( i % stride ) ]; + + } + + this.cumulativeWeight = 0; + + }, + + // apply the state previously taken via 'saveOriginalState' to the binding + restoreOriginalState: function () { + + var originalValueOffset = this.valueSize * 3; + this.binding.setValue( this.buffer, originalValueOffset ); + + }, + + + // mix functions + + _select: function ( buffer, dstOffset, srcOffset, t, stride ) { + + if ( t >= 0.5 ) { + + for ( var i = 0; i !== stride; ++ i ) { + + buffer[ dstOffset + i ] = buffer[ srcOffset + i ]; + + } + + } + + }, + + _slerp: function ( buffer, dstOffset, srcOffset, t ) { + + Quaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t ); + + }, + + _lerp: function ( buffer, dstOffset, srcOffset, t, stride ) { + + var s = 1 - t; + + for ( var i = 0; i !== stride; ++ i ) { + + var j = dstOffset + i; + + buffer[ j ] = buffer[ j ] * s + buffer[ srcOffset + i ] * t; + + } + + } + + } ); + + /** + * + * A reference to a real property in the scene graph. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function Composite( targetGroup, path, optionalParsedPath ) { + + var parsedPath = optionalParsedPath || PropertyBinding.parseTrackName( path ); + + this._targetGroup = targetGroup; + this._bindings = targetGroup.subscribe_( path, parsedPath ); + + } + + Object.assign( Composite.prototype, { + + getValue: function ( array, offset ) { + + this.bind(); // bind all binding + + var firstValidIndex = this._targetGroup.nCachedObjects_, + binding = this._bindings[ firstValidIndex ]; + + // and only call .getValue on the first + if ( binding !== undefined ) binding.getValue( array, offset ); + + }, + + setValue: function ( array, offset ) { + + var bindings = this._bindings; + + for ( var i = this._targetGroup.nCachedObjects_, + n = bindings.length; i !== n; ++ i ) { + + bindings[ i ].setValue( array, offset ); + + } + + }, + + bind: function () { + + var bindings = this._bindings; + + for ( var i = this._targetGroup.nCachedObjects_, + n = bindings.length; i !== n; ++ i ) { + + bindings[ i ].bind(); + + } + + }, + + unbind: function () { + + var bindings = this._bindings; + + for ( var i = this._targetGroup.nCachedObjects_, + n = bindings.length; i !== n; ++ i ) { + + bindings[ i ].unbind(); + + } + + } + + } ); + + + function PropertyBinding( rootNode, path, parsedPath ) { + + this.path = path; + this.parsedPath = parsedPath || PropertyBinding.parseTrackName( path ); + + this.node = PropertyBinding.findNode( rootNode, this.parsedPath.nodeName ) || rootNode; + + this.rootNode = rootNode; + + } + + Object.assign( PropertyBinding, { + + Composite: Composite, + + create: function ( root, path, parsedPath ) { + + if ( ! ( root && root.isAnimationObjectGroup ) ) { + + return new PropertyBinding( root, path, parsedPath ); + + } else { + + return new PropertyBinding.Composite( root, path, parsedPath ); + + } + + }, + + parseTrackName: function () { + + // Parent directories, delimited by '/' or ':'. Currently unused, but must + // be matched to parse the rest of the track name. + var directoryRe = /((?:[\w-]+[\/:])*)/; + + // Target node. May contain word characters (a-zA-Z0-9_) and '.' or '-'. + var nodeRe = /([\w-\.]+)?/; + + // Object on target node, and accessor. Name may contain only word + // characters. Accessor may contain any character except closing bracket. + var objectRe = /(?:\.([\w-]+)(?:\[(.+)\])?)?/; + + // Property and accessor. May contain only word characters. Accessor may + // contain any non-bracket characters. + var propertyRe = /\.([\w-]+)(?:\[(.+)\])?/; + + var trackRe = new RegExp('' + + '^' + + directoryRe.source + + nodeRe.source + + objectRe.source + + propertyRe.source + + '$' + ); + + var supportedObjectNames = [ 'material', 'materials', 'bones' ]; + + return function ( trackName ) { + + var matches = trackRe.exec( trackName ); + + if ( ! matches ) { + + throw new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName ); + + } + + var results = { + // directoryName: matches[ 1 ], // (tschw) currently unused + nodeName: matches[ 2 ], + objectName: matches[ 3 ], + objectIndex: matches[ 4 ], + propertyName: matches[ 5 ], // required + propertyIndex: matches[ 6 ] + }; + + var lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' ); + + if ( lastDot !== undefined && lastDot !== -1 ) { + + var objectName = results.nodeName.substring( lastDot + 1 ); + + // Object names must be checked against a whitelist. Otherwise, there + // is no way to parse 'foo.bar.baz': 'baz' must be a property, but + // 'bar' could be the objectName, or part of a nodeName (which can + // include '.' characters). + if ( supportedObjectNames.indexOf( objectName ) !== -1 ) { + + results.nodeName = results.nodeName.substring( 0, lastDot ); + results.objectName = objectName; + + } + + } + + if ( results.propertyName === null || results.propertyName.length === 0 ) { + + throw new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName ); + + } + + return results; + + }; + + }(), + + findNode: function ( root, nodeName ) { + + if ( ! nodeName || nodeName === "" || nodeName === "root" || nodeName === "." || nodeName === - 1 || nodeName === root.name || nodeName === root.uuid ) { + + return root; + + } + + // search into skeleton bones. + if ( root.skeleton ) { + + var searchSkeleton = function ( skeleton ) { + + for ( var i = 0; i < skeleton.bones.length; i ++ ) { + + var bone = skeleton.bones[ i ]; + + if ( bone.name === nodeName ) { + + return bone; + + } + + } + + return null; + + }; + + var bone = searchSkeleton( root.skeleton ); + + if ( bone ) { + + return bone; + + } + + } + + // search into node subtree. + if ( root.children ) { + + var searchNodeSubtree = function ( children ) { + + for ( var i = 0; i < children.length; i ++ ) { + + var childNode = children[ i ]; + + if ( childNode.name === nodeName || childNode.uuid === nodeName ) { + + return childNode; + + } + + var result = searchNodeSubtree( childNode.children ); + + if ( result ) return result; + + } + + return null; + + }; + + var subTreeNode = searchNodeSubtree( root.children ); + + if ( subTreeNode ) { + + return subTreeNode; + + } + + } + + return null; + + } + + } ); + + Object.assign( PropertyBinding.prototype, { // prototype, continued + + // these are used to "bind" a nonexistent property + _getValue_unavailable: function () {}, + _setValue_unavailable: function () {}, + + BindingType: { + Direct: 0, + EntireArray: 1, + ArrayElement: 2, + HasFromToArray: 3 + }, + + Versioning: { + None: 0, + NeedsUpdate: 1, + MatrixWorldNeedsUpdate: 2 + }, + + GetterByBindingType: [ + + function getValue_direct( buffer, offset ) { + + buffer[ offset ] = this.node[ this.propertyName ]; + + }, + + function getValue_array( buffer, offset ) { + + var source = this.resolvedProperty; + + for ( var i = 0, n = source.length; i !== n; ++ i ) { + + buffer[ offset ++ ] = source[ i ]; + + } + + }, + + function getValue_arrayElement( buffer, offset ) { + + buffer[ offset ] = this.resolvedProperty[ this.propertyIndex ]; + + }, + + function getValue_toArray( buffer, offset ) { + + this.resolvedProperty.toArray( buffer, offset ); + + } + + ], + + SetterByBindingTypeAndVersioning: [ + + [ + // Direct + + function setValue_direct( buffer, offset ) { + + this.node[ this.propertyName ] = buffer[ offset ]; + + }, + + function setValue_direct_setNeedsUpdate( buffer, offset ) { + + this.node[ this.propertyName ] = buffer[ offset ]; + this.targetObject.needsUpdate = true; + + }, + + function setValue_direct_setMatrixWorldNeedsUpdate( buffer, offset ) { + + this.node[ this.propertyName ] = buffer[ offset ]; + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + ], [ + + // EntireArray + + function setValue_array( buffer, offset ) { + + var dest = this.resolvedProperty; + + for ( var i = 0, n = dest.length; i !== n; ++ i ) { + + dest[ i ] = buffer[ offset ++ ]; + + } + + }, + + function setValue_array_setNeedsUpdate( buffer, offset ) { + + var dest = this.resolvedProperty; + + for ( var i = 0, n = dest.length; i !== n; ++ i ) { + + dest[ i ] = buffer[ offset ++ ]; + + } + + this.targetObject.needsUpdate = true; + + }, + + function setValue_array_setMatrixWorldNeedsUpdate( buffer, offset ) { + + var dest = this.resolvedProperty; + + for ( var i = 0, n = dest.length; i !== n; ++ i ) { + + dest[ i ] = buffer[ offset ++ ]; + + } + + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + ], [ + + // ArrayElement + + function setValue_arrayElement( buffer, offset ) { + + this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + + }, + + function setValue_arrayElement_setNeedsUpdate( buffer, offset ) { + + this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + this.targetObject.needsUpdate = true; + + }, + + function setValue_arrayElement_setMatrixWorldNeedsUpdate( buffer, offset ) { + + this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + ], [ + + // HasToFromArray + + function setValue_fromArray( buffer, offset ) { + + this.resolvedProperty.fromArray( buffer, offset ); + + }, + + function setValue_fromArray_setNeedsUpdate( buffer, offset ) { + + this.resolvedProperty.fromArray( buffer, offset ); + this.targetObject.needsUpdate = true; + + }, + + function setValue_fromArray_setMatrixWorldNeedsUpdate( buffer, offset ) { + + this.resolvedProperty.fromArray( buffer, offset ); + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + ] + + ], + + getValue: function getValue_unbound( targetArray, offset ) { + + this.bind(); + this.getValue( targetArray, offset ); + + // Note: This class uses a State pattern on a per-method basis: + // 'bind' sets 'this.getValue' / 'setValue' and shadows the + // prototype version of these methods with one that represents + // the bound state. When the property is not found, the methods + // become no-ops. + + }, + + setValue: function getValue_unbound( sourceArray, offset ) { + + this.bind(); + this.setValue( sourceArray, offset ); + + }, + + // create getter / setter pair for a property in the scene graph + bind: function () { + + var targetObject = this.node, + parsedPath = this.parsedPath, + + objectName = parsedPath.objectName, + propertyName = parsedPath.propertyName, + propertyIndex = parsedPath.propertyIndex; + + if ( ! targetObject ) { + + targetObject = PropertyBinding.findNode( + this.rootNode, parsedPath.nodeName ) || this.rootNode; + + this.node = targetObject; + + } + + // set fail state so we can just 'return' on error + this.getValue = this._getValue_unavailable; + this.setValue = this._setValue_unavailable; + + // ensure there is a value node + if ( ! targetObject ) { + + console.error( " trying to update node for track: " + this.path + " but it wasn't found." ); + return; + + } + + if ( objectName ) { + + var objectIndex = parsedPath.objectIndex; + + // special cases were we need to reach deeper into the hierarchy to get the face materials.... + switch ( objectName ) { + + case 'materials': + + if ( ! targetObject.material ) { + + console.error( ' can not bind to material as node does not have a material', this ); + return; + + } + + if ( ! targetObject.material.materials ) { + + console.error( ' can not bind to material.materials as node.material does not have a materials array', this ); + return; + + } + + targetObject = targetObject.material.materials; + + break; + + case 'bones': + + if ( ! targetObject.skeleton ) { + + console.error( ' can not bind to bones as node does not have a skeleton', this ); + return; + + } + + // potential future optimization: skip this if propertyIndex is already an integer + // and convert the integer string to a true integer. + + targetObject = targetObject.skeleton.bones; + + // support resolving morphTarget names into indices. + for ( var i = 0; i < targetObject.length; i ++ ) { + + if ( targetObject[ i ].name === objectIndex ) { + + objectIndex = i; + break; + + } + + } + + break; + + default: + + if ( targetObject[ objectName ] === undefined ) { + + console.error( ' can not bind to objectName of node, undefined', this ); + return; + + } + + targetObject = targetObject[ objectName ]; + + } + + + if ( objectIndex !== undefined ) { + + if ( targetObject[ objectIndex ] === undefined ) { + + console.error( " trying to bind to objectIndex of objectName, but is undefined:", this, targetObject ); + return; + + } + + targetObject = targetObject[ objectIndex ]; + + } + + } + + // resolve property + var nodeProperty = targetObject[ propertyName ]; + + if ( nodeProperty === undefined ) { + + var nodeName = parsedPath.nodeName; + + console.error( " trying to update property for track: " + nodeName + + '.' + propertyName + " but it wasn't found.", targetObject ); + return; + + } + + // determine versioning scheme + var versioning = this.Versioning.None; + + if ( targetObject.needsUpdate !== undefined ) { // material + + versioning = this.Versioning.NeedsUpdate; + this.targetObject = targetObject; + + } else if ( targetObject.matrixWorldNeedsUpdate !== undefined ) { // node transform + + versioning = this.Versioning.MatrixWorldNeedsUpdate; + this.targetObject = targetObject; + + } + + // determine how the property gets bound + var bindingType = this.BindingType.Direct; + + if ( propertyIndex !== undefined ) { + + // access a sub element of the property array (only primitives are supported right now) + + if ( propertyName === "morphTargetInfluences" ) { + + // potential optimization, skip this if propertyIndex is already an integer, and convert the integer string to a true integer. + + // support resolving morphTarget names into indices. + if ( ! targetObject.geometry ) { + + console.error( ' can not bind to morphTargetInfluences becasuse node does not have a geometry', this ); + return; + + } + + if ( ! targetObject.geometry.morphTargets ) { + + console.error( ' can not bind to morphTargetInfluences becasuse node does not have a geometry.morphTargets', this ); + return; + + } + + for ( var i = 0; i < this.node.geometry.morphTargets.length; i ++ ) { + + if ( targetObject.geometry.morphTargets[ i ].name === propertyIndex ) { + + propertyIndex = i; + break; + + } + + } + + } + + bindingType = this.BindingType.ArrayElement; + + this.resolvedProperty = nodeProperty; + this.propertyIndex = propertyIndex; + + } else if ( nodeProperty.fromArray !== undefined && nodeProperty.toArray !== undefined ) { + + // must use copy for Object3D.Euler/Quaternion + + bindingType = this.BindingType.HasFromToArray; + + this.resolvedProperty = nodeProperty; + + } else if ( Array.isArray( nodeProperty ) ) { + + bindingType = this.BindingType.EntireArray; + + this.resolvedProperty = nodeProperty; + + } else { + + this.propertyName = propertyName; + + } + + // select getter / setter + this.getValue = this.GetterByBindingType[ bindingType ]; + this.setValue = this.SetterByBindingTypeAndVersioning[ bindingType ][ versioning ]; + + }, + + unbind: function () { + + this.node = null; + + // back to the prototype version of getValue / setValue + // note: avoiding to mutate the shape of 'this' via 'delete' + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + + } + + } ); + + //!\ DECLARE ALIAS AFTER assign prototype ! + Object.assign( PropertyBinding.prototype, { + + // initial state of these methods that calls 'bind' + _getValue_unbound: PropertyBinding.prototype.getValue, + _setValue_unbound: PropertyBinding.prototype.setValue, + + } ); + + /** + * + * A group of objects that receives a shared animation state. + * + * Usage: + * + * - Add objects you would otherwise pass as 'root' to the + * constructor or the .clipAction method of AnimationMixer. + * + * - Instead pass this object as 'root'. + * + * - You can also add and remove objects later when the mixer + * is running. + * + * Note: + * + * Objects of this class appear as one object to the mixer, + * so cache control of the individual objects must be done + * on the group. + * + * Limitation: + * + * - The animated properties must be compatible among the + * all objects in the group. + * + * - A single property can either be controlled through a + * target group or directly, but not both. + * + * @author tschw + */ + + function AnimationObjectGroup( var_args ) { + + this.uuid = _Math.generateUUID(); + + // cached objects followed by the active ones + this._objects = Array.prototype.slice.call( arguments ); + + this.nCachedObjects_ = 0; // threshold + // note: read by PropertyBinding.Composite + + var indices = {}; + this._indicesByUUID = indices; // for bookkeeping + + for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + + indices[ arguments[ i ].uuid ] = i; + + } + + this._paths = []; // inside: string + this._parsedPaths = []; // inside: { we don't care, here } + this._bindings = []; // inside: Array< PropertyBinding > + this._bindingsIndicesByPath = {}; // inside: indices in these arrays + + var scope = this; + + this.stats = { + + objects: { + get total() { return scope._objects.length; }, + get inUse() { return this.total - scope.nCachedObjects_; } + }, + + get bindingsPerObject() { return scope._bindings.length; } + + }; + + } + + Object.assign( AnimationObjectGroup.prototype, { + + isAnimationObjectGroup: true, + + add: function( var_args ) { + + var objects = this._objects, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_, + indicesByUUID = this._indicesByUUID, + paths = this._paths, + parsedPaths = this._parsedPaths, + bindings = this._bindings, + nBindings = bindings.length; + + for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + + var object = arguments[ i ], + uuid = object.uuid, + index = indicesByUUID[ uuid ], + knownObject = undefined; + + if ( index === undefined ) { + + // unknown object -> add it to the ACTIVE region + + index = nObjects ++; + indicesByUUID[ uuid ] = index; + objects.push( object ); + + // accounting is done, now do the same for all bindings + + for ( var j = 0, m = nBindings; j !== m; ++ j ) { + + bindings[ j ].push( + new PropertyBinding( + object, paths[ j ], parsedPaths[ j ] ) ); + + } + + } else if ( index < nCachedObjects ) { + + knownObject = objects[ index ]; + + // move existing object to the ACTIVE region + + var firstActiveIndex = -- nCachedObjects, + lastCachedObject = objects[ firstActiveIndex ]; + + indicesByUUID[ lastCachedObject.uuid ] = index; + objects[ index ] = lastCachedObject; + + indicesByUUID[ uuid ] = firstActiveIndex; + objects[ firstActiveIndex ] = object; + + // accounting is done, now do the same for all bindings + + for ( var j = 0, m = nBindings; j !== m; ++ j ) { + + var bindingsForPath = bindings[ j ], + lastCached = bindingsForPath[ firstActiveIndex ], + binding = bindingsForPath[ index ]; + + bindingsForPath[ index ] = lastCached; + + if ( binding === undefined ) { + + // since we do not bother to create new bindings + // for objects that are cached, the binding may + // or may not exist + + binding = new PropertyBinding( + object, paths[ j ], parsedPaths[ j ] ); + + } + + bindingsForPath[ firstActiveIndex ] = binding; + + } + + } else if ( objects[ index ] !== knownObject ) { + + console.error( "Different objects with the same UUID " + + "detected. Clean the caches or recreate your " + + "infrastructure when reloading scenes..." ); + + } // else the object is already where we want it to be + + } // for arguments + + this.nCachedObjects_ = nCachedObjects; + + }, + + remove: function( var_args ) { + + var objects = this._objects, + nCachedObjects = this.nCachedObjects_, + indicesByUUID = this._indicesByUUID, + bindings = this._bindings, + nBindings = bindings.length; + + for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + + var object = arguments[ i ], + uuid = object.uuid, + index = indicesByUUID[ uuid ]; + + if ( index !== undefined && index >= nCachedObjects ) { + + // move existing object into the CACHED region + + var lastCachedIndex = nCachedObjects ++, + firstActiveObject = objects[ lastCachedIndex ]; + + indicesByUUID[ firstActiveObject.uuid ] = index; + objects[ index ] = firstActiveObject; + + indicesByUUID[ uuid ] = lastCachedIndex; + objects[ lastCachedIndex ] = object; + + // accounting is done, now do the same for all bindings + + for ( var j = 0, m = nBindings; j !== m; ++ j ) { + + var bindingsForPath = bindings[ j ], + firstActive = bindingsForPath[ lastCachedIndex ], + binding = bindingsForPath[ index ]; + + bindingsForPath[ index ] = firstActive; + bindingsForPath[ lastCachedIndex ] = binding; + + } + + } + + } // for arguments + + this.nCachedObjects_ = nCachedObjects; + + }, + + // remove & forget + uncache: function( var_args ) { + + var objects = this._objects, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_, + indicesByUUID = this._indicesByUUID, + bindings = this._bindings, + nBindings = bindings.length; + + for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + + var object = arguments[ i ], + uuid = object.uuid, + index = indicesByUUID[ uuid ]; + + if ( index !== undefined ) { + + delete indicesByUUID[ uuid ]; + + if ( index < nCachedObjects ) { + + // object is cached, shrink the CACHED region + + var firstActiveIndex = -- nCachedObjects, + lastCachedObject = objects[ firstActiveIndex ], + lastIndex = -- nObjects, + lastObject = objects[ lastIndex ]; + + // last cached object takes this object's place + indicesByUUID[ lastCachedObject.uuid ] = index; + objects[ index ] = lastCachedObject; + + // last object goes to the activated slot and pop + indicesByUUID[ lastObject.uuid ] = firstActiveIndex; + objects[ firstActiveIndex ] = lastObject; + objects.pop(); + + // accounting is done, now do the same for all bindings + + for ( var j = 0, m = nBindings; j !== m; ++ j ) { + + var bindingsForPath = bindings[ j ], + lastCached = bindingsForPath[ firstActiveIndex ], + last = bindingsForPath[ lastIndex ]; + + bindingsForPath[ index ] = lastCached; + bindingsForPath[ firstActiveIndex ] = last; + bindingsForPath.pop(); + + } + + } else { + + // object is active, just swap with the last and pop + + var lastIndex = -- nObjects, + lastObject = objects[ lastIndex ]; + + indicesByUUID[ lastObject.uuid ] = index; + objects[ index ] = lastObject; + objects.pop(); + + // accounting is done, now do the same for all bindings + + for ( var j = 0, m = nBindings; j !== m; ++ j ) { + + var bindingsForPath = bindings[ j ]; + + bindingsForPath[ index ] = bindingsForPath[ lastIndex ]; + bindingsForPath.pop(); + + } + + } // cached or active + + } // if object is known + + } // for arguments + + this.nCachedObjects_ = nCachedObjects; + + }, + + // Internal interface used by befriended PropertyBinding.Composite: + + subscribe_: function ( path, parsedPath ) { + + // returns an array of bindings for the given path that is changed + // according to the contained objects in the group + + var indicesByPath = this._bindingsIndicesByPath, + index = indicesByPath[ path ], + bindings = this._bindings; + + if ( index !== undefined ) return bindings[ index ]; + + var paths = this._paths, + parsedPaths = this._parsedPaths, + objects = this._objects, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_, + bindingsForPath = new Array( nObjects ); + + index = bindings.length; + + indicesByPath[ path ] = index; + + paths.push( path ); + parsedPaths.push( parsedPath ); + bindings.push( bindingsForPath ); + + for ( var i = nCachedObjects, n = objects.length; i !== n; ++ i ) { + + var object = objects[ i ]; + bindingsForPath[ i ] = new PropertyBinding( object, path, parsedPath ); + + } + + return bindingsForPath; + + }, + + unsubscribe_: function ( path ) { + + // tells the group to forget about a property path and no longer + // update the array previously obtained with 'subscribe_' + + var indicesByPath = this._bindingsIndicesByPath, + index = indicesByPath[ path ]; + + if ( index !== undefined ) { + + var paths = this._paths, + parsedPaths = this._parsedPaths, + bindings = this._bindings, + lastBindingsIndex = bindings.length - 1, + lastBindings = bindings[ lastBindingsIndex ], + lastBindingsPath = path[ lastBindingsIndex ]; + + indicesByPath[ lastBindingsPath ] = index; + + bindings[ index ] = lastBindings; + bindings.pop(); + + parsedPaths[ index ] = parsedPaths[ lastBindingsIndex ]; + parsedPaths.pop(); + + paths[ index ] = paths[ lastBindingsIndex ]; + paths.pop(); + + } + + } + + } ); + + /** + * + * Action provided by AnimationMixer for scheduling clip playback on specific + * objects. + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + * + */ + + function AnimationAction( mixer, clip, localRoot ) { + + this._mixer = mixer; + this._clip = clip; + this._localRoot = localRoot || null; + + var tracks = clip.tracks, + nTracks = tracks.length, + interpolants = new Array( nTracks ); + + var interpolantSettings = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; + + for ( var i = 0; i !== nTracks; ++ i ) { + + var interpolant = tracks[ i ].createInterpolant( null ); + interpolants[ i ] = interpolant; + interpolant.settings = interpolantSettings; + + } + + this._interpolantSettings = interpolantSettings; + + this._interpolants = interpolants; // bound by the mixer + + // inside: PropertyMixer (managed by the mixer) + this._propertyBindings = new Array( nTracks ); + + this._cacheIndex = null; // for the memory manager + this._byClipCacheIndex = null; // for the memory manager + + this._timeScaleInterpolant = null; + this._weightInterpolant = null; + + this.loop = LoopRepeat; + this._loopCount = -1; + + // global mixer time when the action is to be started + // it's set back to 'null' upon start of the action + this._startTime = null; + + // scaled local time of the action + // gets clamped or wrapped to 0..clip.duration according to loop + this.time = 0; + + this.timeScale = 1; + this._effectiveTimeScale = 1; + + this.weight = 1; + this._effectiveWeight = 1; + + this.repetitions = Infinity; // no. of repetitions when looping + + this.paused = false; // true -> zero effective time scale + this.enabled = true; // false -> zero effective weight + + this.clampWhenFinished = false; // keep feeding the last frame? + + this.zeroSlopeAtStart = true; // for smooth interpolation w/o separate + this.zeroSlopeAtEnd = true; // clips for start, loop and end + + } + + Object.assign( AnimationAction.prototype, { + + // State & Scheduling + + play: function() { + + this._mixer._activateAction( this ); + + return this; + + }, + + stop: function() { + + this._mixer._deactivateAction( this ); + + return this.reset(); + + }, + + reset: function() { + + this.paused = false; + this.enabled = true; + + this.time = 0; // restart clip + this._loopCount = -1; // forget previous loops + this._startTime = null; // forget scheduling + + return this.stopFading().stopWarping(); + + }, + + isRunning: function() { + + return this.enabled && ! this.paused && this.timeScale !== 0 && + this._startTime === null && this._mixer._isActiveAction( this ); + + }, + + // return true when play has been called + isScheduled: function() { + + return this._mixer._isActiveAction( this ); + + }, + + startAt: function( time ) { + + this._startTime = time; + + return this; + + }, + + setLoop: function( mode, repetitions ) { + + this.loop = mode; + this.repetitions = repetitions; + + return this; + + }, + + // Weight + + // set the weight stopping any scheduled fading + // although .enabled = false yields an effective weight of zero, this + // method does *not* change .enabled, because it would be confusing + setEffectiveWeight: function( weight ) { + + this.weight = weight; + + // note: same logic as when updated at runtime + this._effectiveWeight = this.enabled ? weight : 0; + + return this.stopFading(); + + }, + + // return the weight considering fading and .enabled + getEffectiveWeight: function() { + + return this._effectiveWeight; + + }, + + fadeIn: function( duration ) { + + return this._scheduleFading( duration, 0, 1 ); + + }, + + fadeOut: function( duration ) { + + return this._scheduleFading( duration, 1, 0 ); + + }, + + crossFadeFrom: function( fadeOutAction, duration, warp ) { + + fadeOutAction.fadeOut( duration ); + this.fadeIn( duration ); + + if( warp ) { + + var fadeInDuration = this._clip.duration, + fadeOutDuration = fadeOutAction._clip.duration, + + startEndRatio = fadeOutDuration / fadeInDuration, + endStartRatio = fadeInDuration / fadeOutDuration; + + fadeOutAction.warp( 1.0, startEndRatio, duration ); + this.warp( endStartRatio, 1.0, duration ); + + } + + return this; + + }, + + crossFadeTo: function( fadeInAction, duration, warp ) { + + return fadeInAction.crossFadeFrom( this, duration, warp ); + + }, + + stopFading: function() { + + var weightInterpolant = this._weightInterpolant; + + if ( weightInterpolant !== null ) { + + this._weightInterpolant = null; + this._mixer._takeBackControlInterpolant( weightInterpolant ); + + } + + return this; + + }, + + // Time Scale Control + + // set the time scale stopping any scheduled warping + // although .paused = true yields an effective time scale of zero, this + // method does *not* change .paused, because it would be confusing + setEffectiveTimeScale: function( timeScale ) { + + this.timeScale = timeScale; + this._effectiveTimeScale = this.paused ? 0 :timeScale; + + return this.stopWarping(); + + }, + + // return the time scale considering warping and .paused + getEffectiveTimeScale: function() { + + return this._effectiveTimeScale; + + }, + + setDuration: function( duration ) { + + this.timeScale = this._clip.duration / duration; + + return this.stopWarping(); + + }, + + syncWith: function( action ) { + + this.time = action.time; + this.timeScale = action.timeScale; + + return this.stopWarping(); + + }, + + halt: function( duration ) { + + return this.warp( this._effectiveTimeScale, 0, duration ); + + }, + + warp: function( startTimeScale, endTimeScale, duration ) { + + var mixer = this._mixer, now = mixer.time, + interpolant = this._timeScaleInterpolant, + + timeScale = this.timeScale; + + if ( interpolant === null ) { + + interpolant = mixer._lendControlInterpolant(); + this._timeScaleInterpolant = interpolant; + + } + + var times = interpolant.parameterPositions, + values = interpolant.sampleValues; + + times[ 0 ] = now; + times[ 1 ] = now + duration; + + values[ 0 ] = startTimeScale / timeScale; + values[ 1 ] = endTimeScale / timeScale; + + return this; + + }, + + stopWarping: function() { + + var timeScaleInterpolant = this._timeScaleInterpolant; + + if ( timeScaleInterpolant !== null ) { + + this._timeScaleInterpolant = null; + this._mixer._takeBackControlInterpolant( timeScaleInterpolant ); + + } + + return this; + + }, + + // Object Accessors + + getMixer: function() { + + return this._mixer; + + }, + + getClip: function() { + + return this._clip; + + }, + + getRoot: function() { + + return this._localRoot || this._mixer._root; + + }, + + // Interna + + _update: function( time, deltaTime, timeDirection, accuIndex ) { + + // called by the mixer + + if ( ! this.enabled ) { + + // call ._updateWeight() to update ._effectiveWeight + + this._updateWeight( time ); + return; + + } + + var startTime = this._startTime; + + if ( startTime !== null ) { + + // check for scheduled start of action + + var timeRunning = ( time - startTime ) * timeDirection; + if ( timeRunning < 0 || timeDirection === 0 ) { + + return; // yet to come / don't decide when delta = 0 + + } + + // start + + this._startTime = null; // unschedule + deltaTime = timeDirection * timeRunning; + + } + + // apply time scale and advance time + + deltaTime *= this._updateTimeScale( time ); + var clipTime = this._updateTime( deltaTime ); + + // note: _updateTime may disable the action resulting in + // an effective weight of 0 + + var weight = this._updateWeight( time ); + + if ( weight > 0 ) { + + var interpolants = this._interpolants; + var propertyMixers = this._propertyBindings; + + for ( var j = 0, m = interpolants.length; j !== m; ++ j ) { + + interpolants[ j ].evaluate( clipTime ); + propertyMixers[ j ].accumulate( accuIndex, weight ); + + } + + } + + }, + + _updateWeight: function( time ) { + + var weight = 0; + + if ( this.enabled ) { + + weight = this.weight; + var interpolant = this._weightInterpolant; + + if ( interpolant !== null ) { + + var interpolantValue = interpolant.evaluate( time )[ 0 ]; + + weight *= interpolantValue; + + if ( time > interpolant.parameterPositions[ 1 ] ) { + + this.stopFading(); + + if ( interpolantValue === 0 ) { + + // faded out, disable + this.enabled = false; + + } + + } + + } + + } + + this._effectiveWeight = weight; + return weight; + + }, + + _updateTimeScale: function( time ) { + + var timeScale = 0; + + if ( ! this.paused ) { + + timeScale = this.timeScale; + + var interpolant = this._timeScaleInterpolant; + + if ( interpolant !== null ) { + + var interpolantValue = interpolant.evaluate( time )[ 0 ]; + + timeScale *= interpolantValue; + + if ( time > interpolant.parameterPositions[ 1 ] ) { + + this.stopWarping(); + + if ( timeScale === 0 ) { + + // motion has halted, pause + this.paused = true; + + } else { + + // warp done - apply final time scale + this.timeScale = timeScale; + + } + + } + + } + + } + + this._effectiveTimeScale = timeScale; + return timeScale; + + }, + + _updateTime: function( deltaTime ) { + + var time = this.time + deltaTime; + + if ( deltaTime === 0 ) return time; + + var duration = this._clip.duration, + + loop = this.loop, + loopCount = this._loopCount; + + if ( loop === LoopOnce ) { + + if ( loopCount === -1 ) { + // just started + + this._loopCount = 0; + this._setEndings( true, true, false ); + + } + + handle_stop: { + + if ( time >= duration ) { + + time = duration; + + } else if ( time < 0 ) { + + time = 0; + + } else break handle_stop; + + if ( this.clampWhenFinished ) this.paused = true; + else this.enabled = false; + + this._mixer.dispatchEvent( { + type: 'finished', action: this, + direction: deltaTime < 0 ? -1 : 1 + } ); + + } + + } else { // repetitive Repeat or PingPong + + var pingPong = ( loop === LoopPingPong ); + + if ( loopCount === -1 ) { + // just started + + if ( deltaTime >= 0 ) { + + loopCount = 0; + + this._setEndings( + true, this.repetitions === 0, pingPong ); + + } else { + + // when looping in reverse direction, the initial + // transition through zero counts as a repetition, + // so leave loopCount at -1 + + this._setEndings( + this.repetitions === 0, true, pingPong ); + + } + + } + + if ( time >= duration || time < 0 ) { + // wrap around + + var loopDelta = Math.floor( time / duration ); // signed + time -= duration * loopDelta; + + loopCount += Math.abs( loopDelta ); + + var pending = this.repetitions - loopCount; + + if ( pending < 0 ) { + // have to stop (switch state, clamp time, fire event) + + if ( this.clampWhenFinished ) this.paused = true; + else this.enabled = false; + + time = deltaTime > 0 ? duration : 0; + + this._mixer.dispatchEvent( { + type: 'finished', action: this, + direction: deltaTime > 0 ? 1 : -1 + } ); + + } else { + // keep running + + if ( pending === 0 ) { + // entering the last round + + var atStart = deltaTime < 0; + this._setEndings( atStart, ! atStart, pingPong ); + + } else { + + this._setEndings( false, false, pingPong ); + + } + + this._loopCount = loopCount; + + this._mixer.dispatchEvent( { + type: 'loop', action: this, loopDelta: loopDelta + } ); + + } + + } + + if ( pingPong && ( loopCount & 1 ) === 1 ) { + // invert time for the "pong round" + + this.time = time; + return duration - time; + + } + + } + + this.time = time; + return time; + + }, + + _setEndings: function( atStart, atEnd, pingPong ) { + + var settings = this._interpolantSettings; + + if ( pingPong ) { + + settings.endingStart = ZeroSlopeEnding; + settings.endingEnd = ZeroSlopeEnding; + + } else { + + // assuming for LoopOnce atStart == atEnd == true + + if ( atStart ) { + + settings.endingStart = this.zeroSlopeAtStart ? + ZeroSlopeEnding : ZeroCurvatureEnding; + + } else { + + settings.endingStart = WrapAroundEnding; + + } + + if ( atEnd ) { + + settings.endingEnd = this.zeroSlopeAtEnd ? + ZeroSlopeEnding : ZeroCurvatureEnding; + + } else { + + settings.endingEnd = WrapAroundEnding; + + } + + } + + }, + + _scheduleFading: function( duration, weightNow, weightThen ) { + + var mixer = this._mixer, now = mixer.time, + interpolant = this._weightInterpolant; + + if ( interpolant === null ) { + + interpolant = mixer._lendControlInterpolant(); + this._weightInterpolant = interpolant; + + } + + var times = interpolant.parameterPositions, + values = interpolant.sampleValues; + + times[ 0 ] = now; values[ 0 ] = weightNow; + times[ 1 ] = now + duration; values[ 1 ] = weightThen; + + return this; + + } + + } ); + + /** + * + * Player for AnimationClips. + * + * + * @author Ben Houston / http://clara.io/ + * @author David Sarno / http://lighthaus.us/ + * @author tschw + */ + + function AnimationMixer( root ) { + + this._root = root; + this._initMemoryManager(); + this._accuIndex = 0; + + this.time = 0; + + this.timeScale = 1.0; + + } + + Object.assign( AnimationMixer.prototype, EventDispatcher.prototype, { + + _bindAction: function ( action, prototypeAction ) { + + var root = action._localRoot || this._root, + tracks = action._clip.tracks, + nTracks = tracks.length, + bindings = action._propertyBindings, + interpolants = action._interpolants, + rootUuid = root.uuid, + bindingsByRoot = this._bindingsByRootAndName, + bindingsByName = bindingsByRoot[ rootUuid ]; + + if ( bindingsByName === undefined ) { + + bindingsByName = {}; + bindingsByRoot[ rootUuid ] = bindingsByName; + + } + + for ( var i = 0; i !== nTracks; ++ i ) { + + var track = tracks[ i ], + trackName = track.name, + binding = bindingsByName[ trackName ]; + + if ( binding !== undefined ) { + + bindings[ i ] = binding; + + } else { + + binding = bindings[ i ]; + + if ( binding !== undefined ) { + + // existing binding, make sure the cache knows + + if ( binding._cacheIndex === null ) { + + ++ binding.referenceCount; + this._addInactiveBinding( binding, rootUuid, trackName ); + + } + + continue; + + } + + var path = prototypeAction && prototypeAction. + _propertyBindings[ i ].binding.parsedPath; + + binding = new PropertyMixer( + PropertyBinding.create( root, trackName, path ), + track.ValueTypeName, track.getValueSize() ); + + ++ binding.referenceCount; + this._addInactiveBinding( binding, rootUuid, trackName ); + + bindings[ i ] = binding; + + } + + interpolants[ i ].resultBuffer = binding.buffer; + + } + + }, + + _activateAction: function ( action ) { + + if ( ! this._isActiveAction( action ) ) { + + if ( action._cacheIndex === null ) { + + // this action has been forgotten by the cache, but the user + // appears to be still using it -> rebind + + var rootUuid = ( action._localRoot || this._root ).uuid, + clipUuid = action._clip.uuid, + actionsForClip = this._actionsByClip[ clipUuid ]; + + this._bindAction( action, + actionsForClip && actionsForClip.knownActions[ 0 ] ); + + this._addInactiveAction( action, clipUuid, rootUuid ); + + } + + var bindings = action._propertyBindings; + + // increment reference counts / sort out state + for ( var i = 0, n = bindings.length; i !== n; ++ i ) { + + var binding = bindings[ i ]; + + if ( binding.useCount ++ === 0 ) { + + this._lendBinding( binding ); + binding.saveOriginalState(); + + } + + } + + this._lendAction( action ); + + } + + }, + + _deactivateAction: function ( action ) { + + if ( this._isActiveAction( action ) ) { + + var bindings = action._propertyBindings; + + // decrement reference counts / sort out state + for ( var i = 0, n = bindings.length; i !== n; ++ i ) { + + var binding = bindings[ i ]; + + if ( -- binding.useCount === 0 ) { + + binding.restoreOriginalState(); + this._takeBackBinding( binding ); + + } + + } + + this._takeBackAction( action ); + + } + + }, + + // Memory manager + + _initMemoryManager: function () { + + this._actions = []; // 'nActiveActions' followed by inactive ones + this._nActiveActions = 0; + + this._actionsByClip = {}; + // inside: + // { + // knownActions: Array< AnimationAction > - used as prototypes + // actionByRoot: AnimationAction - lookup + // } + + + this._bindings = []; // 'nActiveBindings' followed by inactive ones + this._nActiveBindings = 0; + + this._bindingsByRootAndName = {}; // inside: Map< name, PropertyMixer > + + + this._controlInterpolants = []; // same game as above + this._nActiveControlInterpolants = 0; + + var scope = this; + + this.stats = { + + actions: { + get total() { return scope._actions.length; }, + get inUse() { return scope._nActiveActions; } + }, + bindings: { + get total() { return scope._bindings.length; }, + get inUse() { return scope._nActiveBindings; } + }, + controlInterpolants: { + get total() { return scope._controlInterpolants.length; }, + get inUse() { return scope._nActiveControlInterpolants; } + } + + }; + + }, + + // Memory management for AnimationAction objects + + _isActiveAction: function ( action ) { + + var index = action._cacheIndex; + return index !== null && index < this._nActiveActions; + + }, + + _addInactiveAction: function ( action, clipUuid, rootUuid ) { + + var actions = this._actions, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[ clipUuid ]; + + if ( actionsForClip === undefined ) { + + actionsForClip = { + + knownActions: [ action ], + actionByRoot: {} + + }; + + action._byClipCacheIndex = 0; + + actionsByClip[ clipUuid ] = actionsForClip; + + } else { + + var knownActions = actionsForClip.knownActions; + + action._byClipCacheIndex = knownActions.length; + knownActions.push( action ); + + } + + action._cacheIndex = actions.length; + actions.push( action ); + + actionsForClip.actionByRoot[ rootUuid ] = action; + + }, + + _removeInactiveAction: function ( action ) { + + var actions = this._actions, + lastInactiveAction = actions[ actions.length - 1 ], + cacheIndex = action._cacheIndex; + + lastInactiveAction._cacheIndex = cacheIndex; + actions[ cacheIndex ] = lastInactiveAction; + actions.pop(); + + action._cacheIndex = null; + + + var clipUuid = action._clip.uuid, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[ clipUuid ], + knownActionsForClip = actionsForClip.knownActions, + + lastKnownAction = + knownActionsForClip[ knownActionsForClip.length - 1 ], + + byClipCacheIndex = action._byClipCacheIndex; + + lastKnownAction._byClipCacheIndex = byClipCacheIndex; + knownActionsForClip[ byClipCacheIndex ] = lastKnownAction; + knownActionsForClip.pop(); + + action._byClipCacheIndex = null; + + + var actionByRoot = actionsForClip.actionByRoot, + rootUuid = ( action._localRoot || this._root ).uuid; + + delete actionByRoot[ rootUuid ]; + + if ( knownActionsForClip.length === 0 ) { + + delete actionsByClip[ clipUuid ]; + + } + + this._removeInactiveBindingsForAction( action ); + + }, + + _removeInactiveBindingsForAction: function ( action ) { + + var bindings = action._propertyBindings; + for ( var i = 0, n = bindings.length; i !== n; ++ i ) { + + var binding = bindings[ i ]; + + if ( -- binding.referenceCount === 0 ) { + + this._removeInactiveBinding( binding ); + + } + + } + + }, + + _lendAction: function ( action ) { + + // [ active actions | inactive actions ] + // [ active actions >| inactive actions ] + // s a + // <-swap-> + // a s + + var actions = this._actions, + prevIndex = action._cacheIndex, + + lastActiveIndex = this._nActiveActions ++, + + firstInactiveAction = actions[ lastActiveIndex ]; + + action._cacheIndex = lastActiveIndex; + actions[ lastActiveIndex ] = action; + + firstInactiveAction._cacheIndex = prevIndex; + actions[ prevIndex ] = firstInactiveAction; + + }, + + _takeBackAction: function ( action ) { + + // [ active actions | inactive actions ] + // [ active actions |< inactive actions ] + // a s + // <-swap-> + // s a + + var actions = this._actions, + prevIndex = action._cacheIndex, + + firstInactiveIndex = -- this._nActiveActions, + + lastActiveAction = actions[ firstInactiveIndex ]; + + action._cacheIndex = firstInactiveIndex; + actions[ firstInactiveIndex ] = action; + + lastActiveAction._cacheIndex = prevIndex; + actions[ prevIndex ] = lastActiveAction; + + }, + + // Memory management for PropertyMixer objects + + _addInactiveBinding: function ( binding, rootUuid, trackName ) { + + var bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[ rootUuid ], + + bindings = this._bindings; + + if ( bindingByName === undefined ) { + + bindingByName = {}; + bindingsByRoot[ rootUuid ] = bindingByName; + + } + + bindingByName[ trackName ] = binding; + + binding._cacheIndex = bindings.length; + bindings.push( binding ); + + }, + + _removeInactiveBinding: function ( binding ) { + + var bindings = this._bindings, + propBinding = binding.binding, + rootUuid = propBinding.rootNode.uuid, + trackName = propBinding.path, + bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[ rootUuid ], + + lastInactiveBinding = bindings[ bindings.length - 1 ], + cacheIndex = binding._cacheIndex; + + lastInactiveBinding._cacheIndex = cacheIndex; + bindings[ cacheIndex ] = lastInactiveBinding; + bindings.pop(); + + delete bindingByName[ trackName ]; + + remove_empty_map: { + + for ( var _ in bindingByName ) break remove_empty_map; + + delete bindingsByRoot[ rootUuid ]; + + } + + }, + + _lendBinding: function ( binding ) { + + var bindings = this._bindings, + prevIndex = binding._cacheIndex, + + lastActiveIndex = this._nActiveBindings ++, + + firstInactiveBinding = bindings[ lastActiveIndex ]; + + binding._cacheIndex = lastActiveIndex; + bindings[ lastActiveIndex ] = binding; + + firstInactiveBinding._cacheIndex = prevIndex; + bindings[ prevIndex ] = firstInactiveBinding; + + }, + + _takeBackBinding: function ( binding ) { + + var bindings = this._bindings, + prevIndex = binding._cacheIndex, + + firstInactiveIndex = -- this._nActiveBindings, + + lastActiveBinding = bindings[ firstInactiveIndex ]; + + binding._cacheIndex = firstInactiveIndex; + bindings[ firstInactiveIndex ] = binding; + + lastActiveBinding._cacheIndex = prevIndex; + bindings[ prevIndex ] = lastActiveBinding; + + }, + + + // Memory management of Interpolants for weight and time scale + + _lendControlInterpolant: function () { + + var interpolants = this._controlInterpolants, + lastActiveIndex = this._nActiveControlInterpolants ++, + interpolant = interpolants[ lastActiveIndex ]; + + if ( interpolant === undefined ) { + + interpolant = new LinearInterpolant( + new Float32Array( 2 ), new Float32Array( 2 ), + 1, this._controlInterpolantsResultBuffer ); + + interpolant.__cacheIndex = lastActiveIndex; + interpolants[ lastActiveIndex ] = interpolant; + + } + + return interpolant; + + }, + + _takeBackControlInterpolant: function ( interpolant ) { + + var interpolants = this._controlInterpolants, + prevIndex = interpolant.__cacheIndex, + + firstInactiveIndex = -- this._nActiveControlInterpolants, + + lastActiveInterpolant = interpolants[ firstInactiveIndex ]; + + interpolant.__cacheIndex = firstInactiveIndex; + interpolants[ firstInactiveIndex ] = interpolant; + + lastActiveInterpolant.__cacheIndex = prevIndex; + interpolants[ prevIndex ] = lastActiveInterpolant; + + }, + + _controlInterpolantsResultBuffer: new Float32Array( 1 ), + + // return an action for a clip optionally using a custom root target + // object (this method allocates a lot of dynamic memory in case a + // previously unknown clip/root combination is specified) + clipAction: function ( clip, optionalRoot ) { + + var root = optionalRoot || this._root, + rootUuid = root.uuid, + + clipObject = typeof clip === 'string' ? + AnimationClip.findByName( root, clip ) : clip, + + clipUuid = clipObject !== null ? clipObject.uuid : clip, + + actionsForClip = this._actionsByClip[ clipUuid ], + prototypeAction = null; + + if ( actionsForClip !== undefined ) { + + var existingAction = + actionsForClip.actionByRoot[ rootUuid ]; + + if ( existingAction !== undefined ) { + + return existingAction; + + } + + // we know the clip, so we don't have to parse all + // the bindings again but can just copy + prototypeAction = actionsForClip.knownActions[ 0 ]; + + // also, take the clip from the prototype action + if ( clipObject === null ) + clipObject = prototypeAction._clip; + + } + + // clip must be known when specified via string + if ( clipObject === null ) return null; + + // allocate all resources required to run it + var newAction = new AnimationAction( this, clipObject, optionalRoot ); + + this._bindAction( newAction, prototypeAction ); + + // and make the action known to the memory manager + this._addInactiveAction( newAction, clipUuid, rootUuid ); + + return newAction; + + }, + + // get an existing action + existingAction: function ( clip, optionalRoot ) { + + var root = optionalRoot || this._root, + rootUuid = root.uuid, + + clipObject = typeof clip === 'string' ? + AnimationClip.findByName( root, clip ) : clip, + + clipUuid = clipObject ? clipObject.uuid : clip, + + actionsForClip = this._actionsByClip[ clipUuid ]; + + if ( actionsForClip !== undefined ) { + + return actionsForClip.actionByRoot[ rootUuid ] || null; + + } + + return null; + + }, + + // deactivates all previously scheduled actions + stopAllAction: function () { + + var actions = this._actions, + nActions = this._nActiveActions, + bindings = this._bindings, + nBindings = this._nActiveBindings; + + this._nActiveActions = 0; + this._nActiveBindings = 0; + + for ( var i = 0; i !== nActions; ++ i ) { + + actions[ i ].reset(); + + } + + for ( var i = 0; i !== nBindings; ++ i ) { + + bindings[ i ].useCount = 0; + + } + + return this; + + }, + + // advance the time and update apply the animation + update: function ( deltaTime ) { + + deltaTime *= this.timeScale; + + var actions = this._actions, + nActions = this._nActiveActions, + + time = this.time += deltaTime, + timeDirection = Math.sign( deltaTime ), + + accuIndex = this._accuIndex ^= 1; + + // run active actions + + for ( var i = 0; i !== nActions; ++ i ) { + + var action = actions[ i ]; + + action._update( time, deltaTime, timeDirection, accuIndex ); + + } + + // update scene graph + + var bindings = this._bindings, + nBindings = this._nActiveBindings; + + for ( var i = 0; i !== nBindings; ++ i ) { + + bindings[ i ].apply( accuIndex ); + + } + + return this; + + }, + + // return this mixer's root target object + getRoot: function () { + + return this._root; + + }, + + // free all resources specific to a particular clip + uncacheClip: function ( clip ) { + + var actions = this._actions, + clipUuid = clip.uuid, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[ clipUuid ]; + + if ( actionsForClip !== undefined ) { + + // note: just calling _removeInactiveAction would mess up the + // iteration state and also require updating the state we can + // just throw away + + var actionsToRemove = actionsForClip.knownActions; + + for ( var i = 0, n = actionsToRemove.length; i !== n; ++ i ) { + + var action = actionsToRemove[ i ]; + + this._deactivateAction( action ); + + var cacheIndex = action._cacheIndex, + lastInactiveAction = actions[ actions.length - 1 ]; + + action._cacheIndex = null; + action._byClipCacheIndex = null; + + lastInactiveAction._cacheIndex = cacheIndex; + actions[ cacheIndex ] = lastInactiveAction; + actions.pop(); + + this._removeInactiveBindingsForAction( action ); + + } + + delete actionsByClip[ clipUuid ]; + + } + + }, + + // free all resources specific to a particular root target object + uncacheRoot: function ( root ) { + + var rootUuid = root.uuid, + actionsByClip = this._actionsByClip; + + for ( var clipUuid in actionsByClip ) { + + var actionByRoot = actionsByClip[ clipUuid ].actionByRoot, + action = actionByRoot[ rootUuid ]; + + if ( action !== undefined ) { + + this._deactivateAction( action ); + this._removeInactiveAction( action ); + + } + + } + + var bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[ rootUuid ]; + + if ( bindingByName !== undefined ) { + + for ( var trackName in bindingByName ) { + + var binding = bindingByName[ trackName ]; + binding.restoreOriginalState(); + this._removeInactiveBinding( binding ); + + } + + } + + }, + + // remove a targeted clip from the cache + uncacheAction: function ( clip, optionalRoot ) { + + var action = this.existingAction( clip, optionalRoot ); + + if ( action !== null ) { + + this._deactivateAction( action ); + this._removeInactiveAction( action ); + + } + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function Uniform( value ) { + + if ( typeof value === 'string' ) { + + console.warn( 'THREE.Uniform: Type parameter is no longer needed.' ); + value = arguments[ 1 ]; + + } + + this.value = value; + + } + + Uniform.prototype.clone = function () { + + return new Uniform( this.value.clone === undefined ? this.value : this.value.clone() ); + + }; + + /** + * @author benaadams / https://twitter.com/ben_a_adams + */ + + function InstancedBufferGeometry() { + + BufferGeometry.call( this ); + + this.type = 'InstancedBufferGeometry'; + this.maxInstancedCount = undefined; + + } + + InstancedBufferGeometry.prototype = Object.assign( Object.create( BufferGeometry.prototype ), { + + constructor: InstancedBufferGeometry, + + isInstancedBufferGeometry: true, + + addGroup: function ( start, count, materialIndex ) { + + this.groups.push( { + + start: start, + count: count, + materialIndex: materialIndex + + } ); + + }, + + copy: function ( source ) { + + var index = source.index; + + if ( index !== null ) { + + this.setIndex( index.clone() ); + + } + + var attributes = source.attributes; + + for ( var name in attributes ) { + + var attribute = attributes[ name ]; + this.addAttribute( name, attribute.clone() ); + + } + + var groups = source.groups; + + for ( var i = 0, l = groups.length; i < l; i ++ ) { + + var group = groups[ i ]; + this.addGroup( group.start, group.count, group.materialIndex ); + + } + + return this; + + } + + } ); + + /** + * @author benaadams / https://twitter.com/ben_a_adams + */ + + function InterleavedBufferAttribute( interleavedBuffer, itemSize, offset, normalized ) { + + this.uuid = _Math.generateUUID(); + + this.data = interleavedBuffer; + this.itemSize = itemSize; + this.offset = offset; + + this.normalized = normalized === true; + + } + + Object.defineProperties( InterleavedBufferAttribute.prototype, { + + count: { + + get: function () { + + return this.data.count; + + } + + }, + + array: { + + get: function () { + + return this.data.array; + + } + + } + + } ); + + Object.assign( InterleavedBufferAttribute.prototype, { + + isInterleavedBufferAttribute: true, + + setX: function ( index, x ) { + + this.data.array[ index * this.data.stride + this.offset ] = x; + + return this; + + }, + + setY: function ( index, y ) { + + this.data.array[ index * this.data.stride + this.offset + 1 ] = y; + + return this; + + }, + + setZ: function ( index, z ) { + + this.data.array[ index * this.data.stride + this.offset + 2 ] = z; + + return this; + + }, + + setW: function ( index, w ) { + + this.data.array[ index * this.data.stride + this.offset + 3 ] = w; + + return this; + + }, + + getX: function ( index ) { + + return this.data.array[ index * this.data.stride + this.offset ]; + + }, + + getY: function ( index ) { + + return this.data.array[ index * this.data.stride + this.offset + 1 ]; + + }, + + getZ: function ( index ) { + + return this.data.array[ index * this.data.stride + this.offset + 2 ]; + + }, + + getW: function ( index ) { + + return this.data.array[ index * this.data.stride + this.offset + 3 ]; + + }, + + setXY: function ( index, x, y ) { + + index = index * this.data.stride + this.offset; + + this.data.array[ index + 0 ] = x; + this.data.array[ index + 1 ] = y; + + return this; + + }, + + setXYZ: function ( index, x, y, z ) { + + index = index * this.data.stride + this.offset; + + this.data.array[ index + 0 ] = x; + this.data.array[ index + 1 ] = y; + this.data.array[ index + 2 ] = z; + + return this; + + }, + + setXYZW: function ( index, x, y, z, w ) { + + index = index * this.data.stride + this.offset; + + this.data.array[ index + 0 ] = x; + this.data.array[ index + 1 ] = y; + this.data.array[ index + 2 ] = z; + this.data.array[ index + 3 ] = w; + + return this; + + } + + } ); + + /** + * @author benaadams / https://twitter.com/ben_a_adams + */ + + function InterleavedBuffer( array, stride ) { + + this.uuid = _Math.generateUUID(); + + this.array = array; + this.stride = stride; + this.count = array !== undefined ? array.length / stride : 0; + + this.dynamic = false; + this.updateRange = { offset: 0, count: - 1 }; + + this.onUploadCallback = function () {}; + + this.version = 0; + + } + + Object.defineProperty( InterleavedBuffer.prototype, 'needsUpdate', { + + set: function ( value ) { + + if ( value === true ) this.version ++; + + } + + } ); + + Object.assign( InterleavedBuffer.prototype, { + + isInterleavedBuffer: true, + + setArray: function ( array ) { + + if ( Array.isArray( array ) ) { + + throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); + + } + + this.count = array !== undefined ? array.length / this.stride : 0; + this.array = array; + + }, + + setDynamic: function ( value ) { + + this.dynamic = value; + + return this; + + }, + + copy: function ( source ) { + + this.array = new source.array.constructor( source.array ); + this.count = source.count; + this.stride = source.stride; + this.dynamic = source.dynamic; + + return this; + + }, + + copyAt: function ( index1, attribute, index2 ) { + + index1 *= this.stride; + index2 *= attribute.stride; + + for ( var i = 0, l = this.stride; i < l; i ++ ) { + + this.array[ index1 + i ] = attribute.array[ index2 + i ]; + + } + + return this; + + }, + + set: function ( value, offset ) { + + if ( offset === undefined ) offset = 0; + + this.array.set( value, offset ); + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + onUpload: function ( callback ) { + + this.onUploadCallback = callback; + + return this; + + } + + } ); + + /** + * @author benaadams / https://twitter.com/ben_a_adams + */ + + function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) { + + InterleavedBuffer.call( this, array, stride ); + + this.meshPerAttribute = meshPerAttribute || 1; + + } + + InstancedInterleavedBuffer.prototype = Object.assign( Object.create( InterleavedBuffer.prototype ), { + + constructor: InstancedInterleavedBuffer, + + isInstancedInterleavedBuffer: true, + + copy: function ( source ) { + + InterleavedBuffer.prototype.copy.call( this, source ); + + this.meshPerAttribute = source.meshPerAttribute; + + return this; + + } + + } ); + + /** + * @author benaadams / https://twitter.com/ben_a_adams + */ + + function InstancedBufferAttribute( array, itemSize, meshPerAttribute ) { + + BufferAttribute.call( this, array, itemSize ); + + this.meshPerAttribute = meshPerAttribute || 1; + + } + + InstancedBufferAttribute.prototype = Object.assign( Object.create( BufferAttribute.prototype ), { + + constructor: InstancedBufferAttribute, + + isInstancedBufferAttribute: true, + + copy: function ( source ) { + + BufferAttribute.prototype.copy.call( this, source ); + + this.meshPerAttribute = source.meshPerAttribute; + + return this; + + } + + } ); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author bhouston / http://clara.io/ + * @author stephomi / http://stephaneginier.com/ + */ + + function Raycaster( origin, direction, near, far ) { + + this.ray = new Ray( origin, direction ); + // direction is assumed to be normalized (for accurate distance calculations) + + this.near = near || 0; + this.far = far || Infinity; + + this.params = { + Mesh: {}, + Line: {}, + LOD: {}, + Points: { threshold: 1 }, + Sprite: {} + }; + + Object.defineProperties( this.params, { + PointCloud: { + get: function () { + console.warn( 'THREE.Raycaster: params.PointCloud has been renamed to params.Points.' ); + return this.Points; + } + } + } ); + + } + + function ascSort( a, b ) { + + return a.distance - b.distance; + + } + + function intersectObject( object, raycaster, intersects, recursive ) { + + if ( object.visible === false ) return; + + object.raycast( raycaster, intersects ); + + if ( recursive === true ) { + + var children = object.children; + + for ( var i = 0, l = children.length; i < l; i ++ ) { + + intersectObject( children[ i ], raycaster, intersects, true ); + + } + + } + + } + + Object.assign( Raycaster.prototype, { + + linePrecision: 1, + + set: function ( origin, direction ) { + + // direction is assumed to be normalized (for accurate distance calculations) + + this.ray.set( origin, direction ); + + }, + + setFromCamera: function ( coords, camera ) { + + if ( ( camera && camera.isPerspectiveCamera ) ) { + + this.ray.origin.setFromMatrixPosition( camera.matrixWorld ); + this.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize(); + + } else if ( ( camera && camera.isOrthographicCamera ) ) { + + this.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera + this.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld ); + + } else { + + console.error( 'THREE.Raycaster: Unsupported camera type.' ); + + } + + }, + + intersectObject: function ( object, recursive ) { + + var intersects = []; + + intersectObject( object, this, intersects, recursive ); + + intersects.sort( ascSort ); + + return intersects; + + }, + + intersectObjects: function ( objects, recursive ) { + + var intersects = []; + + if ( Array.isArray( objects ) === false ) { + + console.warn( 'THREE.Raycaster.intersectObjects: objects is not an Array.' ); + return intersects; + + } + + for ( var i = 0, l = objects.length; i < l; i ++ ) { + + intersectObject( objects[ i ], this, intersects, recursive ); + + } + + intersects.sort( ascSort ); + + return intersects; + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function Clock( autoStart ) { + + this.autoStart = ( autoStart !== undefined ) ? autoStart : true; + + this.startTime = 0; + this.oldTime = 0; + this.elapsedTime = 0; + + this.running = false; + + } + + Object.assign( Clock.prototype, { + + start: function () { + + this.startTime = ( typeof performance === 'undefined' ? Date : performance ).now(); // see #10732 + + this.oldTime = this.startTime; + this.elapsedTime = 0; + this.running = true; + + }, + + stop: function () { + + this.getElapsedTime(); + this.running = false; + + }, + + getElapsedTime: function () { + + this.getDelta(); + return this.elapsedTime; + + }, + + getDelta: function () { + + var diff = 0; + + if ( this.autoStart && ! this.running ) { + + this.start(); + return 0; + + } + + if ( this.running ) { + + var newTime = ( typeof performance === 'undefined' ? Date : performance ).now(); + + diff = ( newTime - this.oldTime ) / 1000; + this.oldTime = newTime; + + this.elapsedTime += diff; + + } + + return diff; + + } + + } ); + + /** + * @author bhouston / http://clara.io + * @author WestLangley / http://github.com/WestLangley + * + * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system + * + * The poles (phi) are at the positive and negative y axis. + * The equator starts at positive z. + */ + + function Spherical( radius, phi, theta ) { + + this.radius = ( radius !== undefined ) ? radius : 1.0; + this.phi = ( phi !== undefined ) ? phi : 0; // up / down towards top and bottom pole + this.theta = ( theta !== undefined ) ? theta : 0; // around the equator of the sphere + + return this; + + } + + Object.assign( Spherical.prototype, { + + set: function ( radius, phi, theta ) { + + this.radius = radius; + this.phi = phi; + this.theta = theta; + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( other ) { + + this.radius = other.radius; + this.phi = other.phi; + this.theta = other.theta; + + return this; + + }, + + // restrict phi to be betwee EPS and PI-EPS + makeSafe: function() { + + var EPS = 0.000001; + this.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ) ); + + return this; + + }, + + setFromVector3: function( vec3 ) { + + this.radius = vec3.length(); + + if ( this.radius === 0 ) { + + this.theta = 0; + this.phi = 0; + + } else { + + this.theta = Math.atan2( vec3.x, vec3.z ); // equator angle around y-up axis + this.phi = Math.acos( _Math.clamp( vec3.y / this.radius, - 1, 1 ) ); // polar angle + + } + + return this; + + } + + } ); + + /** + * @author Mugen87 / https://github.com/Mugen87 + * + * Ref: https://en.wikipedia.org/wiki/Cylindrical_coordinate_system + * + */ + + function Cylindrical( radius, theta, y ) { + + this.radius = ( radius !== undefined ) ? radius : 1.0; // distance from the origin to a point in the x-z plane + this.theta = ( theta !== undefined ) ? theta : 0; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis + this.y = ( y !== undefined ) ? y : 0; // height above the x-z plane + + return this; + + } + + Object.assign( Cylindrical.prototype, { + + set: function ( radius, theta, y ) { + + this.radius = radius; + this.theta = theta; + this.y = y; + + return this; + + }, + + clone: function () { + + return new this.constructor().copy( this ); + + }, + + copy: function ( other ) { + + this.radius = other.radius; + this.theta = other.theta; + this.y = other.y; + + return this; + + }, + + setFromVector3: function( vec3 ) { + + this.radius = Math.sqrt( vec3.x * vec3.x + vec3.z * vec3.z ); + this.theta = Math.atan2( vec3.x, vec3.z ); + this.y = vec3.y; + + return this; + + } + + } ); + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function MorphBlendMesh( geometry, material ) { + + Mesh.call( this, geometry, material ); + + this.animationsMap = {}; + this.animationsList = []; + + // prepare default animation + // (all frames played together in 1 second) + + var numFrames = this.geometry.morphTargets.length; + + var name = "__default"; + + var startFrame = 0; + var endFrame = numFrames - 1; + + var fps = numFrames / 1; + + this.createAnimation( name, startFrame, endFrame, fps ); + this.setAnimationWeight( name, 1 ); + + } + + MorphBlendMesh.prototype = Object.create( Mesh.prototype ); + MorphBlendMesh.prototype.constructor = MorphBlendMesh; + + MorphBlendMesh.prototype.createAnimation = function ( name, start, end, fps ) { + + var animation = { + + start: start, + end: end, + + length: end - start + 1, + + fps: fps, + duration: ( end - start ) / fps, + + lastFrame: 0, + currentFrame: 0, + + active: false, + + time: 0, + direction: 1, + weight: 1, + + directionBackwards: false, + mirroredLoop: false + + }; + + this.animationsMap[ name ] = animation; + this.animationsList.push( animation ); + + }; + + MorphBlendMesh.prototype.autoCreateAnimations = function ( fps ) { + + var pattern = /([a-z]+)_?(\d+)/i; + + var firstAnimation, frameRanges = {}; + + var geometry = this.geometry; + + for ( var i = 0, il = geometry.morphTargets.length; i < il; i ++ ) { + + var morph = geometry.morphTargets[ i ]; + var chunks = morph.name.match( pattern ); + + if ( chunks && chunks.length > 1 ) { + + var name = chunks[ 1 ]; + + if ( ! frameRanges[ name ] ) frameRanges[ name ] = { start: Infinity, end: - Infinity }; + + var range = frameRanges[ name ]; + + if ( i < range.start ) range.start = i; + if ( i > range.end ) range.end = i; + + if ( ! firstAnimation ) firstAnimation = name; + + } + + } + + for ( var name in frameRanges ) { + + var range = frameRanges[ name ]; + this.createAnimation( name, range.start, range.end, fps ); + + } + + this.firstAnimation = firstAnimation; + + }; + + MorphBlendMesh.prototype.setAnimationDirectionForward = function ( name ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.direction = 1; + animation.directionBackwards = false; + + } + + }; + + MorphBlendMesh.prototype.setAnimationDirectionBackward = function ( name ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.direction = - 1; + animation.directionBackwards = true; + + } + + }; + + MorphBlendMesh.prototype.setAnimationFPS = function ( name, fps ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.fps = fps; + animation.duration = ( animation.end - animation.start ) / animation.fps; + + } + + }; + + MorphBlendMesh.prototype.setAnimationDuration = function ( name, duration ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.duration = duration; + animation.fps = ( animation.end - animation.start ) / animation.duration; + + } + + }; + + MorphBlendMesh.prototype.setAnimationWeight = function ( name, weight ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.weight = weight; + + } + + }; + + MorphBlendMesh.prototype.setAnimationTime = function ( name, time ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.time = time; + + } + + }; + + MorphBlendMesh.prototype.getAnimationTime = function ( name ) { + + var time = 0; + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + time = animation.time; + + } + + return time; + + }; + + MorphBlendMesh.prototype.getAnimationDuration = function ( name ) { + + var duration = - 1; + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + duration = animation.duration; + + } + + return duration; + + }; + + MorphBlendMesh.prototype.playAnimation = function ( name ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.time = 0; + animation.active = true; + + } else { + + console.warn( "THREE.MorphBlendMesh: animation[" + name + "] undefined in .playAnimation()" ); + + } + + }; + + MorphBlendMesh.prototype.stopAnimation = function ( name ) { + + var animation = this.animationsMap[ name ]; + + if ( animation ) { + + animation.active = false; + + } + + }; + + MorphBlendMesh.prototype.update = function ( delta ) { + + for ( var i = 0, il = this.animationsList.length; i < il; i ++ ) { + + var animation = this.animationsList[ i ]; + + if ( ! animation.active ) continue; + + var frameTime = animation.duration / animation.length; + + animation.time += animation.direction * delta; + + if ( animation.mirroredLoop ) { + + if ( animation.time > animation.duration || animation.time < 0 ) { + + animation.direction *= - 1; + + if ( animation.time > animation.duration ) { + + animation.time = animation.duration; + animation.directionBackwards = true; + + } + + if ( animation.time < 0 ) { + + animation.time = 0; + animation.directionBackwards = false; + + } + + } + + } else { + + animation.time = animation.time % animation.duration; + + if ( animation.time < 0 ) animation.time += animation.duration; + + } + + var keyframe = animation.start + _Math.clamp( Math.floor( animation.time / frameTime ), 0, animation.length - 1 ); + var weight = animation.weight; + + if ( keyframe !== animation.currentFrame ) { + + this.morphTargetInfluences[ animation.lastFrame ] = 0; + this.morphTargetInfluences[ animation.currentFrame ] = 1 * weight; + + this.morphTargetInfluences[ keyframe ] = 0; + + animation.lastFrame = animation.currentFrame; + animation.currentFrame = keyframe; + + } + + var mix = ( animation.time % frameTime ) / frameTime; + + if ( animation.directionBackwards ) mix = 1 - mix; + + if ( animation.currentFrame !== animation.lastFrame ) { + + this.morphTargetInfluences[ animation.currentFrame ] = mix * weight; + this.morphTargetInfluences[ animation.lastFrame ] = ( 1 - mix ) * weight; + + } else { + + this.morphTargetInfluences[ animation.currentFrame ] = weight; + + } + + } + + }; + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + function ImmediateRenderObject( material ) { + + Object3D.call( this ); + + this.material = material; + this.render = function ( renderCallback ) {}; + + } + + ImmediateRenderObject.prototype = Object.create( Object3D.prototype ); + ImmediateRenderObject.prototype.constructor = ImmediateRenderObject; + + ImmediateRenderObject.prototype.isImmediateRenderObject = true; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author WestLangley / http://github.com/WestLangley + */ + + function VertexNormalsHelper( object, size, hex, linewidth ) { + + this.object = object; + + this.size = ( size !== undefined ) ? size : 1; + + var color = ( hex !== undefined ) ? hex : 0xff0000; + + var width = ( linewidth !== undefined ) ? linewidth : 1; + + // + + var nNormals = 0; + + var objGeometry = this.object.geometry; + + if ( objGeometry && objGeometry.isGeometry ) { + + nNormals = objGeometry.faces.length * 3; + + } else if ( objGeometry && objGeometry.isBufferGeometry ) { + + nNormals = objGeometry.attributes.normal.count; + + } + + // + + var geometry = new BufferGeometry(); + + var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 ); + + geometry.addAttribute( 'position', positions ); + + LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) ); + + // + + this.matrixAutoUpdate = false; + + this.update(); + + } + + VertexNormalsHelper.prototype = Object.create( LineSegments.prototype ); + VertexNormalsHelper.prototype.constructor = VertexNormalsHelper; + + VertexNormalsHelper.prototype.update = ( function () { + + var v1 = new Vector3(); + var v2 = new Vector3(); + var normalMatrix = new Matrix3(); + + return function update() { + + var keys = [ 'a', 'b', 'c' ]; + + this.object.updateMatrixWorld( true ); + + normalMatrix.getNormalMatrix( this.object.matrixWorld ); + + var matrixWorld = this.object.matrixWorld; + + var position = this.geometry.attributes.position; + + // + + var objGeometry = this.object.geometry; + + if ( objGeometry && objGeometry.isGeometry ) { + + var vertices = objGeometry.vertices; + + var faces = objGeometry.faces; + + var idx = 0; + + for ( var i = 0, l = faces.length; i < l; i ++ ) { + + var face = faces[ i ]; + + for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) { + + var vertex = vertices[ face[ keys[ j ] ] ]; + + var normal = face.vertexNormals[ j ]; + + v1.copy( vertex ).applyMatrix4( matrixWorld ); + + v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); + + position.setXYZ( idx, v1.x, v1.y, v1.z ); + + idx = idx + 1; + + position.setXYZ( idx, v2.x, v2.y, v2.z ); + + idx = idx + 1; + + } + + } + + } else if ( objGeometry && objGeometry.isBufferGeometry ) { + + var objPos = objGeometry.attributes.position; + + var objNorm = objGeometry.attributes.normal; + + var idx = 0; + + // for simplicity, ignore index and drawcalls, and render every normal + + for ( var j = 0, jl = objPos.count; j < jl; j ++ ) { + + v1.set( objPos.getX( j ), objPos.getY( j ), objPos.getZ( j ) ).applyMatrix4( matrixWorld ); + + v2.set( objNorm.getX( j ), objNorm.getY( j ), objNorm.getZ( j ) ); + + v2.applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); + + position.setXYZ( idx, v1.x, v1.y, v1.z ); + + idx = idx + 1; + + position.setXYZ( idx, v2.x, v2.y, v2.z ); + + idx = idx + 1; + + } + + } + + position.needsUpdate = true; + + }; + + }() ); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + * @author WestLangley / http://github.com/WestLangley + */ + + function SpotLightHelper( light ) { + + Object3D.call( this ); + + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + var geometry = new BufferGeometry(); + + var positions = [ + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 1, + 0, 0, 0, - 1, 0, 1, + 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, - 1, 1 + ]; + + for ( var i = 0, j = 1, l = 32; i < l; i ++, j ++ ) { + + var p1 = ( i / l ) * Math.PI * 2; + var p2 = ( j / l ) * Math.PI * 2; + + positions.push( + Math.cos( p1 ), Math.sin( p1 ), 1, + Math.cos( p2 ), Math.sin( p2 ), 1 + ); + + } + + geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + + var material = new LineBasicMaterial( { fog: false } ); + + this.cone = new LineSegments( geometry, material ); + this.add( this.cone ); + + this.update(); + + } + + SpotLightHelper.prototype = Object.create( Object3D.prototype ); + SpotLightHelper.prototype.constructor = SpotLightHelper; + + SpotLightHelper.prototype.dispose = function () { + + this.cone.geometry.dispose(); + this.cone.material.dispose(); + + }; + + SpotLightHelper.prototype.update = function () { + + var vector = new Vector3(); + var vector2 = new Vector3(); + + return function update() { + + var coneLength = this.light.distance ? this.light.distance : 1000; + var coneWidth = coneLength * Math.tan( this.light.angle ); + + this.cone.scale.set( coneWidth, coneWidth, coneLength ); + + vector.setFromMatrixPosition( this.light.matrixWorld ); + vector2.setFromMatrixPosition( this.light.target.matrixWorld ); + + this.cone.lookAt( vector2.sub( vector ) ); + + this.cone.material.color.copy( this.light.color ); + + }; + + }(); + + /** + * @author Sean Griffin / http://twitter.com/sgrif + * @author Michael Guerrero / http://realitymeltdown.com + * @author mrdoob / http://mrdoob.com/ + * @author ikerr / http://verold.com + * @author Mugen87 / https://github.com/Mugen87 + */ + + function SkeletonHelper( object ) { + + this.bones = this.getBoneList( object ); + + var geometry = new BufferGeometry(); + + var vertices = []; + var colors = []; + + var color1 = new Color( 0, 0, 1 ); + var color2 = new Color( 0, 1, 0 ); + + for ( var i = 0; i < this.bones.length; i ++ ) { + + var bone = this.bones[ i ]; + + if ( bone.parent && bone.parent.isBone ) { + + vertices.push( 0, 0, 0 ); + vertices.push( 0, 0, 0 ); + colors.push( color1.r, color1.g, color1.b ); + colors.push( color2.r, color2.g, color2.b ); + + } + + } + + geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + var material = new LineBasicMaterial( { vertexColors: VertexColors, depthTest: false, depthWrite: false, transparent: true } ); + + LineSegments.call( this, geometry, material ); + + this.root = object; + + this.matrix = object.matrixWorld; + this.matrixAutoUpdate = false; + + this.update(); + + } + + + SkeletonHelper.prototype = Object.create( LineSegments.prototype ); + SkeletonHelper.prototype.constructor = SkeletonHelper; + + SkeletonHelper.prototype.getBoneList = function( object ) { + + var boneList = []; + + if ( object && object.isBone ) { + + boneList.push( object ); + + } + + for ( var i = 0; i < object.children.length; i ++ ) { + + boneList.push.apply( boneList, this.getBoneList( object.children[ i ] ) ); + + } + + return boneList; + + }; + + SkeletonHelper.prototype.update = function () { + + var vector = new Vector3(); + + var boneMatrix = new Matrix4(); + var matrixWorldInv = new Matrix4(); + + return function update() { + + var geometry = this.geometry; + var position = geometry.getAttribute( 'position' ); + + matrixWorldInv.getInverse( this.root.matrixWorld ); + + for ( var i = 0, j = 0; i < this.bones.length; i ++ ) { + + var bone = this.bones[ i ]; + + if ( bone.parent && bone.parent.isBone ) { + + boneMatrix.multiplyMatrices( matrixWorldInv, bone.matrixWorld ); + vector.setFromMatrixPosition( boneMatrix ); + position.setXYZ( j, vector.x, vector.y, vector.z ); + + boneMatrix.multiplyMatrices( matrixWorldInv, bone.parent.matrixWorld ); + vector.setFromMatrixPosition( boneMatrix ); + position.setXYZ( j + 1, vector.x, vector.y, vector.z ); + + j += 2; + + } + + } + + geometry.getAttribute( 'position' ).needsUpdate = true; + + }; + + }(); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + */ + + function PointLightHelper( light, sphereSize ) { + + this.light = light; + this.light.updateMatrixWorld(); + + var geometry = new SphereBufferGeometry( sphereSize, 4, 2 ); + var material = new MeshBasicMaterial( { wireframe: true, fog: false } ); + material.color.copy( this.light.color ); + + Mesh.call( this, geometry, material ); + + this.matrix = this.light.matrixWorld; + this.matrixAutoUpdate = false; + + /* + var distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 ); + var distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } ); + + this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial ); + this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial ); + + var d = light.distance; + + if ( d === 0.0 ) { + + this.lightDistance.visible = false; + + } else { + + this.lightDistance.scale.set( d, d, d ); + + } + + this.add( this.lightDistance ); + */ + + } + + PointLightHelper.prototype = Object.create( Mesh.prototype ); + PointLightHelper.prototype.constructor = PointLightHelper; + + PointLightHelper.prototype.dispose = function () { + + this.geometry.dispose(); + this.material.dispose(); + + }; + + PointLightHelper.prototype.update = function () { + + this.material.color.copy( this.light.color ); + + /* + var d = this.light.distance; + + if ( d === 0.0 ) { + + this.lightDistance.visible = false; + + } else { + + this.lightDistance.visible = true; + this.lightDistance.scale.set( d, d, d ); + + } + */ + + }; + + /** + * @author abelnation / http://github.com/abelnation + * @author Mugen87 / http://github.com/Mugen87 + * @author WestLangley / http://github.com/WestLangley + */ + + function RectAreaLightHelper( light ) { + + Object3D.call( this ); + + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + var material = new LineBasicMaterial( { color: light.color } ); + + var geometry = new BufferGeometry(); + + geometry.addAttribute( 'position', new BufferAttribute( new Float32Array( 5 * 3 ), 3 ) ); + + this.add( new Line( geometry, material ) ); + + this.update(); + + } + + RectAreaLightHelper.prototype = Object.create( Object3D.prototype ); + RectAreaLightHelper.prototype.constructor = RectAreaLightHelper; + + RectAreaLightHelper.prototype.dispose = function () { + + this.children[ 0 ].geometry.dispose(); + this.children[ 0 ].material.dispose(); + + }; + + RectAreaLightHelper.prototype.update = function () { + + var line = this.children[ 0 ]; + + // update material + + line.material.color.copy( this.light.color ); + + // calculate new dimensions of the helper + + var hx = this.light.width * 0.5; + var hy = this.light.height * 0.5; + + var position = line.geometry.attributes.position; + var array = position.array; + + // update vertices + + array[ 0 ] = hx; array[ 1 ] = - hy; array[ 2 ] = 0; + array[ 3 ] = hx; array[ 4 ] = hy; array[ 5 ] = 0; + array[ 6 ] = - hx; array[ 7 ] = hy; array[ 8 ] = 0; + array[ 9 ] = - hx; array[ 10 ] = - hy; array[ 11 ] = 0; + array[ 12 ] = hx; array[ 13 ] = - hy; array[ 14 ] = 0; + + position.needsUpdate = true; + + }; + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / https://github.com/Mugen87 + */ + + function HemisphereLightHelper( light, size ) { + + Object3D.call( this ); + + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + var geometry = new OctahedronBufferGeometry( size ); + geometry.rotateY( Math.PI * 0.5 ); + + var material = new MeshBasicMaterial( { vertexColors: VertexColors, wireframe: true } ); + + var position = geometry.getAttribute( 'position' ); + var colors = new Float32Array( position.count * 3 ); + + geometry.addAttribute( 'color', new BufferAttribute( colors, 3 ) ); + + this.add( new Mesh( geometry, material ) ); + + this.update(); + + } + + HemisphereLightHelper.prototype = Object.create( Object3D.prototype ); + HemisphereLightHelper.prototype.constructor = HemisphereLightHelper; + + HemisphereLightHelper.prototype.dispose = function () { + + this.children[ 0 ].geometry.dispose(); + this.children[ 0 ].material.dispose(); + + }; + + HemisphereLightHelper.prototype.update = function () { + + var vector = new Vector3(); + + var color1 = new Color(); + var color2 = new Color(); + + return function update() { + + var mesh = this.children[ 0 ]; + + var colors = mesh.geometry.getAttribute( 'color' ); + + color1.copy( this.light.color ); + color2.copy( this.light.groundColor ); + + for ( var i = 0, l = colors.count; i < l; i ++ ) { + + var color = ( i < ( l / 2 ) ) ? color1 : color2; + + colors.setXYZ( i, color.r, color.g, color.b ); + + } + + mesh.lookAt( vector.setFromMatrixPosition( this.light.matrixWorld ).negate() ); + + colors.needsUpdate = true; + + }; + + }(); + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function GridHelper( size, divisions, color1, color2 ) { + + size = size || 10; + divisions = divisions || 10; + color1 = new Color( color1 !== undefined ? color1 : 0x444444 ); + color2 = new Color( color2 !== undefined ? color2 : 0x888888 ); + + var center = divisions / 2; + var step = size / divisions; + var halfSize = size / 2; + + var vertices = [], colors = []; + + for ( var i = 0, j = 0, k = - halfSize; i <= divisions; i ++, k += step ) { + + vertices.push( - halfSize, 0, k, halfSize, 0, k ); + vertices.push( k, 0, - halfSize, k, 0, halfSize ); + + var color = i === center ? color1 : color2; + + color.toArray( colors, j ); j += 3; + color.toArray( colors, j ); j += 3; + color.toArray( colors, j ); j += 3; + color.toArray( colors, j ); j += 3; + + } + + var geometry = new BufferGeometry(); + geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + var material = new LineBasicMaterial( { vertexColors: VertexColors } ); + + LineSegments.call( this, geometry, material ); + + } + + GridHelper.prototype = Object.create( LineSegments.prototype ); + GridHelper.prototype.constructor = GridHelper; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / http://github.com/Mugen87 + * @author Hectate / http://www.github.com/Hectate + */ + + function PolarGridHelper( radius, radials, circles, divisions, color1, color2 ) { + + radius = radius || 10; + radials = radials || 16; + circles = circles || 8; + divisions = divisions || 64; + color1 = new Color( color1 !== undefined ? color1 : 0x444444 ); + color2 = new Color( color2 !== undefined ? color2 : 0x888888 ); + + var vertices = []; + var colors = []; + + var x, z; + var v, i, j, r, color; + + // create the radials + + for ( i = 0; i <= radials; i ++ ) { + + v = ( i / radials ) * ( Math.PI * 2 ); + + x = Math.sin( v ) * radius; + z = Math.cos( v ) * radius; + + vertices.push( 0, 0, 0 ); + vertices.push( x, 0, z ); + + color = ( i & 1 ) ? color1 : color2; + + colors.push( color.r, color.g, color.b ); + colors.push( color.r, color.g, color.b ); + + } + + // create the circles + + for ( i = 0; i <= circles; i ++ ) { + + color = ( i & 1 ) ? color1 : color2; + + r = radius - ( radius / circles * i ); + + for ( j = 0; j < divisions; j ++ ) { + + // first vertex + + v = ( j / divisions ) * ( Math.PI * 2 ); + + x = Math.sin( v ) * r; + z = Math.cos( v ) * r; + + vertices.push( x, 0, z ); + colors.push( color.r, color.g, color.b ); + + // second vertex + + v = ( ( j + 1 ) / divisions ) * ( Math.PI * 2 ); + + x = Math.sin( v ) * r; + z = Math.cos( v ) * r; + + vertices.push( x, 0, z ); + colors.push( color.r, color.g, color.b ); + + } + + } + + var geometry = new BufferGeometry(); + geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + var material = new LineBasicMaterial( { vertexColors: VertexColors } ); + + LineSegments.call( this, geometry, material ); + + } + + PolarGridHelper.prototype = Object.create( LineSegments.prototype ); + PolarGridHelper.prototype.constructor = PolarGridHelper; + + /** + * @author mrdoob / http://mrdoob.com/ + * @author WestLangley / http://github.com/WestLangley + */ + + function FaceNormalsHelper( object, size, hex, linewidth ) { + + // FaceNormalsHelper only supports THREE.Geometry + + this.object = object; + + this.size = ( size !== undefined ) ? size : 1; + + var color = ( hex !== undefined ) ? hex : 0xffff00; + + var width = ( linewidth !== undefined ) ? linewidth : 1; + + // + + var nNormals = 0; + + var objGeometry = this.object.geometry; + + if ( objGeometry && objGeometry.isGeometry ) { + + nNormals = objGeometry.faces.length; + + } else { + + console.warn( 'THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.' ); + + } + + // + + var geometry = new BufferGeometry(); + + var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 ); + + geometry.addAttribute( 'position', positions ); + + LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) ); + + // + + this.matrixAutoUpdate = false; + this.update(); + + } + + FaceNormalsHelper.prototype = Object.create( LineSegments.prototype ); + FaceNormalsHelper.prototype.constructor = FaceNormalsHelper; + + FaceNormalsHelper.prototype.update = ( function () { + + var v1 = new Vector3(); + var v2 = new Vector3(); + var normalMatrix = new Matrix3(); + + return function update() { + + this.object.updateMatrixWorld( true ); + + normalMatrix.getNormalMatrix( this.object.matrixWorld ); + + var matrixWorld = this.object.matrixWorld; + + var position = this.geometry.attributes.position; + + // + + var objGeometry = this.object.geometry; + + var vertices = objGeometry.vertices; + + var faces = objGeometry.faces; + + var idx = 0; + + for ( var i = 0, l = faces.length; i < l; i ++ ) { + + var face = faces[ i ]; + + var normal = face.normal; + + v1.copy( vertices[ face.a ] ) + .add( vertices[ face.b ] ) + .add( vertices[ face.c ] ) + .divideScalar( 3 ) + .applyMatrix4( matrixWorld ); + + v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); + + position.setXYZ( idx, v1.x, v1.y, v1.z ); + + idx = idx + 1; + + position.setXYZ( idx, v2.x, v2.y, v2.z ); + + idx = idx + 1; + + } + + position.needsUpdate = true; + + }; + + }() ); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author mrdoob / http://mrdoob.com/ + * @author WestLangley / http://github.com/WestLangley + */ + + function DirectionalLightHelper( light, size ) { + + Object3D.call( this ); + + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + if ( size === undefined ) size = 1; + + var geometry = new BufferGeometry(); + geometry.addAttribute( 'position', new Float32BufferAttribute( [ + - size, size, 0, + size, size, 0, + size, - size, 0, + - size, - size, 0, + - size, size, 0 + ], 3 ) ); + + var material = new LineBasicMaterial( { fog: false } ); + + this.add( new Line( geometry, material ) ); + + geometry = new BufferGeometry(); + geometry.addAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 0, 1 ], 3 ) ); + + this.add( new Line( geometry, material )); + + this.update(); + + } + + DirectionalLightHelper.prototype = Object.create( Object3D.prototype ); + DirectionalLightHelper.prototype.constructor = DirectionalLightHelper; + + DirectionalLightHelper.prototype.dispose = function () { + + var lightPlane = this.children[ 0 ]; + var targetLine = this.children[ 1 ]; + + lightPlane.geometry.dispose(); + lightPlane.material.dispose(); + targetLine.geometry.dispose(); + targetLine.material.dispose(); + + }; + + DirectionalLightHelper.prototype.update = function () { + + var v1 = new Vector3(); + var v2 = new Vector3(); + var v3 = new Vector3(); + + return function update() { + + v1.setFromMatrixPosition( this.light.matrixWorld ); + v2.setFromMatrixPosition( this.light.target.matrixWorld ); + v3.subVectors( v2, v1 ); + + var lightPlane = this.children[ 0 ]; + var targetLine = this.children[ 1 ]; + + lightPlane.lookAt( v3 ); + lightPlane.material.color.copy( this.light.color ); + + targetLine.lookAt( v3 ); + targetLine.scale.z = v3.length(); + + }; + + }(); + + /** + * @author alteredq / http://alteredqualia.com/ + * @author Mugen87 / https://github.com/Mugen87 + * + * - shows frustum, line of sight and up of the camera + * - suitable for fast updates + * - based on frustum visualization in lightgl.js shadowmap example + * http://evanw.github.com/lightgl.js/tests/shadowmap.html + */ + + function CameraHelper( camera ) { + + var geometry = new BufferGeometry(); + var material = new LineBasicMaterial( { color: 0xffffff, vertexColors: FaceColors } ); + + var vertices = []; + var colors = []; + + var pointMap = {}; + + // colors + + var colorFrustum = new Color( 0xffaa00 ); + var colorCone = new Color( 0xff0000 ); + var colorUp = new Color( 0x00aaff ); + var colorTarget = new Color( 0xffffff ); + var colorCross = new Color( 0x333333 ); + + // near + + addLine( "n1", "n2", colorFrustum ); + addLine( "n2", "n4", colorFrustum ); + addLine( "n4", "n3", colorFrustum ); + addLine( "n3", "n1", colorFrustum ); + + // far + + addLine( "f1", "f2", colorFrustum ); + addLine( "f2", "f4", colorFrustum ); + addLine( "f4", "f3", colorFrustum ); + addLine( "f3", "f1", colorFrustum ); + + // sides + + addLine( "n1", "f1", colorFrustum ); + addLine( "n2", "f2", colorFrustum ); + addLine( "n3", "f3", colorFrustum ); + addLine( "n4", "f4", colorFrustum ); + + // cone + + addLine( "p", "n1", colorCone ); + addLine( "p", "n2", colorCone ); + addLine( "p", "n3", colorCone ); + addLine( "p", "n4", colorCone ); + + // up + + addLine( "u1", "u2", colorUp ); + addLine( "u2", "u3", colorUp ); + addLine( "u3", "u1", colorUp ); + + // target + + addLine( "c", "t", colorTarget ); + addLine( "p", "c", colorCross ); + + // cross + + addLine( "cn1", "cn2", colorCross ); + addLine( "cn3", "cn4", colorCross ); + + addLine( "cf1", "cf2", colorCross ); + addLine( "cf3", "cf4", colorCross ); + + function addLine( a, b, color ) { + + addPoint( a, color ); + addPoint( b, color ); + + } + + function addPoint( id, color ) { + + vertices.push( 0, 0, 0 ); + colors.push( color.r, color.g, color.b ); + + if ( pointMap[ id ] === undefined ) { + + pointMap[ id ] = []; + + } + + pointMap[ id ].push( ( vertices.length / 3 ) - 1 ); + + } + + geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + LineSegments.call( this, geometry, material ); + + this.camera = camera; + if ( this.camera.updateProjectionMatrix ) this.camera.updateProjectionMatrix(); + + this.matrix = camera.matrixWorld; + this.matrixAutoUpdate = false; + + this.pointMap = pointMap; + + this.update(); + + } + + CameraHelper.prototype = Object.create( LineSegments.prototype ); + CameraHelper.prototype.constructor = CameraHelper; + + CameraHelper.prototype.update = function () { + + var geometry, pointMap; + + var vector = new Vector3(); + var camera = new Camera(); + + function setPoint( point, x, y, z ) { + + vector.set( x, y, z ).unproject( camera ); + + var points = pointMap[ point ]; + + if ( points !== undefined ) { + + var position = geometry.getAttribute( 'position' ); + + for ( var i = 0, l = points.length; i < l; i ++ ) { + + position.setXYZ( points[ i ], vector.x, vector.y, vector.z ); + + } + + } + + } + + return function update() { + + geometry = this.geometry; + pointMap = this.pointMap; + + var w = 1, h = 1; + + // we need just camera projection matrix + // world matrix must be identity + + camera.projectionMatrix.copy( this.camera.projectionMatrix ); + + // center / target + + setPoint( "c", 0, 0, - 1 ); + setPoint( "t", 0, 0, 1 ); + + // near + + setPoint( "n1", - w, - h, - 1 ); + setPoint( "n2", w, - h, - 1 ); + setPoint( "n3", - w, h, - 1 ); + setPoint( "n4", w, h, - 1 ); + + // far + + setPoint( "f1", - w, - h, 1 ); + setPoint( "f2", w, - h, 1 ); + setPoint( "f3", - w, h, 1 ); + setPoint( "f4", w, h, 1 ); + + // up + + setPoint( "u1", w * 0.7, h * 1.1, - 1 ); + setPoint( "u2", - w * 0.7, h * 1.1, - 1 ); + setPoint( "u3", 0, h * 2, - 1 ); + + // cross + + setPoint( "cf1", - w, 0, 1 ); + setPoint( "cf2", w, 0, 1 ); + setPoint( "cf3", 0, - h, 1 ); + setPoint( "cf4", 0, h, 1 ); + + setPoint( "cn1", - w, 0, - 1 ); + setPoint( "cn2", w, 0, - 1 ); + setPoint( "cn3", 0, - h, - 1 ); + setPoint( "cn4", 0, h, - 1 ); + + geometry.getAttribute( 'position' ).needsUpdate = true; + + }; + + }(); + + /** + * @author mrdoob / http://mrdoob.com/ + * @author Mugen87 / http://github.com/Mugen87 + */ + + function BoxHelper( object, color ) { + + this.object = object; + + if ( color === undefined ) color = 0xffff00; + + var indices = 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 ] ); + var positions = new Float32Array( 8 * 3 ); + + var geometry = new BufferGeometry(); + geometry.setIndex( new BufferAttribute( indices, 1 ) ); + geometry.addAttribute( 'position', new BufferAttribute( positions, 3 ) ); + + LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) ); + + this.matrixAutoUpdate = false; + + this.update(); + + } + + BoxHelper.prototype = Object.create( LineSegments.prototype ); + BoxHelper.prototype.constructor = BoxHelper; + + BoxHelper.prototype.update = ( function () { + + var box = new Box3(); + + return function update( object ) { + + if ( object !== undefined ) { + + console.warn( 'THREE.BoxHelper: .update() has no longer arguments.' ); + + } + + if ( this.object !== undefined ) { + + box.setFromObject( this.object ); + + } + + if ( box.isEmpty() ) return; + + var min = box.min; + var max = box.max; + + /* + 5____4 + 1/___0/| + | 6__|_7 + 2/___3/ + + 0: max.x, max.y, max.z + 1: min.x, max.y, max.z + 2: min.x, min.y, max.z + 3: max.x, min.y, max.z + 4: max.x, max.y, min.z + 5: min.x, max.y, min.z + 6: min.x, min.y, min.z + 7: max.x, min.y, min.z + */ + + var position = this.geometry.attributes.position; + var array = position.array; + + array[ 0 ] = max.x; array[ 1 ] = max.y; array[ 2 ] = max.z; + array[ 3 ] = min.x; array[ 4 ] = max.y; array[ 5 ] = max.z; + array[ 6 ] = min.x; array[ 7 ] = min.y; array[ 8 ] = max.z; + array[ 9 ] = max.x; array[ 10 ] = min.y; array[ 11 ] = max.z; + array[ 12 ] = max.x; array[ 13 ] = max.y; array[ 14 ] = min.z; + array[ 15 ] = min.x; array[ 16 ] = max.y; array[ 17 ] = min.z; + array[ 18 ] = min.x; array[ 19 ] = min.y; array[ 20 ] = min.z; + array[ 21 ] = max.x; array[ 22 ] = min.y; array[ 23 ] = min.z; + + position.needsUpdate = true; + + this.geometry.computeBoundingSphere(); + + }; + + } )(); + + BoxHelper.prototype.setFromObject = function ( object ) { + + this.object = object; + this.update(); + + return this; + + }; + + /** + * @author WestLangley / http://github.com/WestLangley + * @author zz85 / http://github.com/zz85 + * @author bhouston / http://clara.io + * + * Creates an arrow for visualizing directions + * + * Parameters: + * dir - Vector3 + * origin - Vector3 + * length - Number + * color - color in hex value + * headLength - Number + * headWidth - Number + */ + + var lineGeometry; + var coneGeometry; + + function ArrowHelper( dir, origin, length, color, headLength, headWidth ) { + + // dir is assumed to be normalized + + Object3D.call( this ); + + if ( color === undefined ) color = 0xffff00; + if ( length === undefined ) length = 1; + if ( headLength === undefined ) headLength = 0.2 * length; + if ( headWidth === undefined ) headWidth = 0.2 * headLength; + + if ( lineGeometry === undefined ) { + + lineGeometry = new BufferGeometry(); + lineGeometry.addAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 1, 0 ], 3 ) ); + + coneGeometry = new CylinderBufferGeometry( 0, 0.5, 1, 5, 1 ); + coneGeometry.translate( 0, - 0.5, 0 ); + + } + + this.position.copy( origin ); + + this.line = new Line( lineGeometry, new LineBasicMaterial( { color: color } ) ); + this.line.matrixAutoUpdate = false; + this.add( this.line ); + + this.cone = new Mesh( coneGeometry, new MeshBasicMaterial( { color: color } ) ); + this.cone.matrixAutoUpdate = false; + this.add( this.cone ); + + this.setDirection( dir ); + this.setLength( length, headLength, headWidth ); + + } + + ArrowHelper.prototype = Object.create( Object3D.prototype ); + ArrowHelper.prototype.constructor = ArrowHelper; + + ArrowHelper.prototype.setDirection = ( function () { + + var axis = new Vector3(); + var radians; + + return function setDirection( dir ) { + + // dir is assumed to be normalized + + if ( dir.y > 0.99999 ) { + + this.quaternion.set( 0, 0, 0, 1 ); + + } else if ( dir.y < - 0.99999 ) { + + this.quaternion.set( 1, 0, 0, 0 ); + + } else { + + axis.set( dir.z, 0, - dir.x ).normalize(); + + radians = Math.acos( dir.y ); + + this.quaternion.setFromAxisAngle( axis, radians ); + + } + + }; + + }() ); + + ArrowHelper.prototype.setLength = function ( length, headLength, headWidth ) { + + if ( headLength === undefined ) headLength = 0.2 * length; + if ( headWidth === undefined ) headWidth = 0.2 * headLength; + + this.line.scale.set( 1, Math.max( 0, length - headLength ), 1 ); + this.line.updateMatrix(); + + this.cone.scale.set( headWidth, headLength, headWidth ); + this.cone.position.y = length; + this.cone.updateMatrix(); + + }; + + ArrowHelper.prototype.setColor = function ( color ) { + + this.line.material.color.copy( color ); + this.cone.material.color.copy( color ); + + }; + + /** + * @author sroucheray / http://sroucheray.org/ + * @author mrdoob / http://mrdoob.com/ + */ + + function AxisHelper( size ) { + + size = size || 1; + + var vertices = [ + 0, 0, 0, size, 0, 0, + 0, 0, 0, 0, size, 0, + 0, 0, 0, 0, 0, size + ]; + + var colors = [ + 1, 0, 0, 1, 0.6, 0, + 0, 1, 0, 0.6, 1, 0, + 0, 0, 1, 0, 0.6, 1 + ]; + + var geometry = new BufferGeometry(); + geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + var material = new LineBasicMaterial( { vertexColors: VertexColors } ); + + LineSegments.call( this, geometry, material ); + + } + + AxisHelper.prototype = Object.create( LineSegments.prototype ); + AxisHelper.prototype.constructor = AxisHelper; + + /** + * @author zz85 https://github.com/zz85 + * + * Centripetal CatmullRom Curve - which is useful for avoiding + * cusps and self-intersections in non-uniform catmull rom curves. + * http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf + * + * curve.type accepts centripetal(default), chordal and catmullrom + * curve.tension is used for catmullrom which defaults to 0.5 + */ + + + /* + Based on an optimized c++ solution in + - http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/ + - http://ideone.com/NoEbVM + + This CubicPoly class could be used for reusing some variables and calculations, + but for three.js curve use, it could be possible inlined and flatten into a single function call + which can be placed in CurveUtils. + */ + + function CubicPoly() { + + var c0 = 0, c1 = 0, c2 = 0, c3 = 0; + + /* + * Compute coefficients for a cubic polynomial + * p(s) = c0 + c1*s + c2*s^2 + c3*s^3 + * such that + * p(0) = x0, p(1) = x1 + * and + * p'(0) = t0, p'(1) = t1. + */ + function init( x0, x1, t0, t1 ) { + + c0 = x0; + c1 = t0; + c2 = - 3 * x0 + 3 * x1 - 2 * t0 - t1; + c3 = 2 * x0 - 2 * x1 + t0 + t1; + + } + + return { + + initCatmullRom: function ( x0, x1, x2, x3, tension ) { + + init( x1, x2, tension * ( x2 - x0 ), tension * ( x3 - x1 ) ); + + }, + + initNonuniformCatmullRom: function ( x0, x1, x2, x3, dt0, dt1, dt2 ) { + + // compute tangents when parameterized in [t1,t2] + var t1 = ( x1 - x0 ) / dt0 - ( x2 - x0 ) / ( dt0 + dt1 ) + ( x2 - x1 ) / dt1; + var t2 = ( x2 - x1 ) / dt1 - ( x3 - x1 ) / ( dt1 + dt2 ) + ( x3 - x2 ) / dt2; + + // rescale tangents for parametrization in [0,1] + t1 *= dt1; + t2 *= dt1; + + init( x1, x2, t1, t2 ); + + }, + + calc: function ( t ) { + + var t2 = t * t; + var t3 = t2 * t; + return c0 + c1 * t + c2 * t2 + c3 * t3; + + } + + }; + + } + + // + + var tmp = new Vector3(); + var px = new CubicPoly(); + var py = new CubicPoly(); + var pz = new CubicPoly(); + + function CatmullRomCurve3( p /* array of Vector3 */ ) { + + Curve.call( this ); + + this.points = p || []; + this.closed = false; + + } + + CatmullRomCurve3.prototype = Object.create( Curve.prototype ); + CatmullRomCurve3.prototype.constructor = CatmullRomCurve3; + + CatmullRomCurve3.prototype.getPoint = function ( t ) { + + var points = this.points; + var l = points.length; + + if ( l < 2 ) console.log( 'duh, you need at least 2 points' ); + + var point = ( l - ( this.closed ? 0 : 1 ) ) * t; + var intPoint = Math.floor( point ); + var weight = point - intPoint; + + if ( this.closed ) { + + intPoint += intPoint > 0 ? 0 : ( Math.floor( Math.abs( intPoint ) / points.length ) + 1 ) * points.length; + + } else if ( weight === 0 && intPoint === l - 1 ) { + + intPoint = l - 2; + weight = 1; + + } + + var p0, p1, p2, p3; // 4 points + + if ( this.closed || intPoint > 0 ) { + + p0 = points[ ( intPoint - 1 ) % l ]; + + } else { + + // extrapolate first point + tmp.subVectors( points[ 0 ], points[ 1 ] ).add( points[ 0 ] ); + p0 = tmp; + + } + + p1 = points[ intPoint % l ]; + p2 = points[ ( intPoint + 1 ) % l ]; + + if ( this.closed || intPoint + 2 < l ) { + + p3 = points[ ( intPoint + 2 ) % l ]; + + } else { + + // extrapolate last point + tmp.subVectors( points[ l - 1 ], points[ l - 2 ] ).add( points[ l - 1 ] ); + p3 = tmp; + + } + + if ( this.type === undefined || this.type === 'centripetal' || this.type === 'chordal' ) { + + // init Centripetal / Chordal Catmull-Rom + var pow = this.type === 'chordal' ? 0.5 : 0.25; + var dt0 = Math.pow( p0.distanceToSquared( p1 ), pow ); + var dt1 = Math.pow( p1.distanceToSquared( p2 ), pow ); + var dt2 = Math.pow( p2.distanceToSquared( p3 ), pow ); + + // safety check for repeated points + if ( dt1 < 1e-4 ) dt1 = 1.0; + if ( dt0 < 1e-4 ) dt0 = dt1; + if ( dt2 < 1e-4 ) dt2 = dt1; + + px.initNonuniformCatmullRom( p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2 ); + py.initNonuniformCatmullRom( p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2 ); + pz.initNonuniformCatmullRom( p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2 ); + + } else if ( this.type === 'catmullrom' ) { + + var tension = this.tension !== undefined ? this.tension : 0.5; + px.initCatmullRom( p0.x, p1.x, p2.x, p3.x, tension ); + py.initCatmullRom( p0.y, p1.y, p2.y, p3.y, tension ); + pz.initCatmullRom( p0.z, p1.z, p2.z, p3.z, tension ); + + } + + return new Vector3( px.calc( weight ), py.calc( weight ), pz.calc( weight ) ); + + }; + + function CubicBezierCurve3( v0, v1, v2, v3 ) { + + Curve.call( this ); + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + + } + + CubicBezierCurve3.prototype = Object.create( Curve.prototype ); + CubicBezierCurve3.prototype.constructor = CubicBezierCurve3; + + CubicBezierCurve3.prototype.getPoint = function ( t ) { + + var v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + + return new Vector3( + CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), + CubicBezier( t, v0.y, v1.y, v2.y, v3.y ), + CubicBezier( t, v0.z, v1.z, v2.z, v3.z ) + ); + + }; + + function QuadraticBezierCurve3( v0, v1, v2 ) { + + Curve.call( this ); + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + + } + + QuadraticBezierCurve3.prototype = Object.create( Curve.prototype ); + QuadraticBezierCurve3.prototype.constructor = QuadraticBezierCurve3; + + QuadraticBezierCurve3.prototype.getPoint = function ( t ) { + + var v0 = this.v0, v1 = this.v1, v2 = this.v2; + + return new Vector3( + QuadraticBezier( t, v0.x, v1.x, v2.x ), + QuadraticBezier( t, v0.y, v1.y, v2.y ), + QuadraticBezier( t, v0.z, v1.z, v2.z ) + ); + + }; + + function LineCurve3( v1, v2 ) { + + Curve.call( this ); + + this.v1 = v1; + this.v2 = v2; + + } + + LineCurve3.prototype = Object.create( Curve.prototype ); + LineCurve3.prototype.constructor = LineCurve3; + + LineCurve3.prototype.getPoint = function ( t ) { + + if ( t === 1 ) { + + return this.v2.clone(); + + } + + var vector = new Vector3(); + + vector.subVectors( this.v2, this.v1 ); // diff + vector.multiplyScalar( t ); + vector.add( this.v1 ); + + return vector; + + }; + + function ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + + EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); + + } + + ArcCurve.prototype = Object.create( EllipseCurve.prototype ); + ArcCurve.prototype.constructor = ArcCurve; + + /** + * @author alteredq / http://alteredqualia.com/ + */ + + var SceneUtils = { + + createMultiMaterialObject: function ( geometry, materials ) { + + var group = new Group(); + + for ( var i = 0, l = materials.length; i < l; i ++ ) { + + group.add( new Mesh( geometry, materials[ i ] ) ); + + } + + return group; + + }, + + detach: function ( child, parent, scene ) { + + child.applyMatrix( parent.matrixWorld ); + parent.remove( child ); + scene.add( child ); + + }, + + attach: function ( child, scene, parent ) { + + var matrixWorldInverse = new Matrix4(); + matrixWorldInverse.getInverse( parent.matrixWorld ); + child.applyMatrix( matrixWorldInverse ); + + scene.remove( child ); + parent.add( child ); + + } + + }; + + /** + * @author mrdoob / http://mrdoob.com/ + */ + + function Face4( a, b, c, d, normal, color, materialIndex ) { + + console.warn( 'THREE.Face4 has been removed. A THREE.Face3 will be created instead.' ); + return new Face3( a, b, c, normal, color, materialIndex ); + + } + + var LineStrip = 0; + + var LinePieces = 1; + + function MeshFaceMaterial( materials ) { + + console.warn( 'THREE.MeshFaceMaterial has been removed. Use an Array instead.' ); + return materials; + + } + + function MultiMaterial( materials ) { + + if ( materials === undefined ) materials = []; + + console.warn( 'THREE.MultiMaterial has been removed. Use an Array instead.' ); + materials.isMultiMaterial = true; + materials.materials = materials; + materials.clone = function () { + + return materials.slice(); + + }; + return materials; + + } + + function PointCloud( geometry, material ) { + + console.warn( 'THREE.PointCloud has been renamed to THREE.Points.' ); + return new Points( geometry, material ); + + } + + function Particle( material ) { + + console.warn( 'THREE.Particle has been renamed to THREE.Sprite.' ); + return new Sprite( material ); + + } + + function ParticleSystem( geometry, material ) { + + console.warn( 'THREE.ParticleSystem has been renamed to THREE.Points.' ); + return new Points( geometry, material ); + + } + + function PointCloudMaterial( parameters ) { + + console.warn( 'THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.' ); + return new PointsMaterial( parameters ); + + } + + function ParticleBasicMaterial( parameters ) { + + console.warn( 'THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.' ); + return new PointsMaterial( parameters ); + + } + + function ParticleSystemMaterial( parameters ) { + + console.warn( 'THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.' ); + return new PointsMaterial( parameters ); + + } + + function Vertex( x, y, z ) { + + console.warn( 'THREE.Vertex has been removed. Use THREE.Vector3 instead.' ); + return new Vector3( x, y, z ); + + } + + // + + function DynamicBufferAttribute( array, itemSize ) { + + console.warn( 'THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.' ); + return new BufferAttribute( array, itemSize ).setDynamic( true ); + + } + + function Int8Attribute( array, itemSize ) { + + console.warn( 'THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.' ); + return new Int8BufferAttribute( array, itemSize ); + + } + + function Uint8Attribute( array, itemSize ) { + + console.warn( 'THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.' ); + return new Uint8BufferAttribute( array, itemSize ); + + } + + function Uint8ClampedAttribute( array, itemSize ) { + + console.warn( 'THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.' ); + return new Uint8ClampedBufferAttribute( array, itemSize ); + + } + + function Int16Attribute( array, itemSize ) { + + console.warn( 'THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.' ); + return new Int16BufferAttribute( array, itemSize ); + + } + + function Uint16Attribute( array, itemSize ) { + + console.warn( 'THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.' ); + return new Uint16BufferAttribute( array, itemSize ); + + } + + function Int32Attribute( array, itemSize ) { + + console.warn( 'THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.' ); + return new Int32BufferAttribute( array, itemSize ); + + } + + function Uint32Attribute( array, itemSize ) { + + console.warn( 'THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.' ); + return new Uint32BufferAttribute( array, itemSize ); + + } + + function Float32Attribute( array, itemSize ) { + + console.warn( 'THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.' ); + return new Float32BufferAttribute( array, itemSize ); + + } + + function Float64Attribute( array, itemSize ) { + + console.warn( 'THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.' ); + return new Float64BufferAttribute( array, itemSize ); + + } + + // + + Curve.create = function ( construct, getPoint ) { + + console.log( 'THREE.Curve.create() has been deprecated' ); + + construct.prototype = Object.create( Curve.prototype ); + construct.prototype.constructor = construct; + construct.prototype.getPoint = getPoint; + + return construct; + + }; + + // + + function ClosedSplineCurve3( points ) { + + console.warn( 'THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.' ); + + CatmullRomCurve3.call( this, points ); + this.type = 'catmullrom'; + this.closed = true; + + } + + ClosedSplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype ); + + // + + function SplineCurve3( points ) { + + console.warn( 'THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.' ); + + CatmullRomCurve3.call( this, points ); + this.type = 'catmullrom'; + + } + + SplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype ); + + // + + function Spline( points ) { + + console.warn( 'THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.' ); + + CatmullRomCurve3.call( this, points ); + this.type = 'catmullrom'; + + } + + Spline.prototype = Object.create( CatmullRomCurve3.prototype ); + + Object.assign( Spline.prototype, { + + initFromArray: function ( a ) { + + console.error( 'THREE.Spline: .initFromArray() has been removed.' ); + + }, + getControlPointsArray: function ( optionalTarget ) { + + console.error( 'THREE.Spline: .getControlPointsArray() has been removed.' ); + + }, + reparametrizeByArcLength: function ( samplingCoef ) { + + console.error( 'THREE.Spline: .reparametrizeByArcLength() has been removed.' ); + + } + + } ); + + // + function BoundingBoxHelper( object, color ) { + + console.warn( 'THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.' ); + return new BoxHelper( object, color ); + + } + + function EdgesHelper( object, hex ) { + + console.warn( 'THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.' ); + return new LineSegments( new EdgesGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); + + } + + GridHelper.prototype.setColors = function () { + + console.error( 'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.' ); + + }; + + function WireframeHelper( object, hex ) { + + console.warn( 'THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.' ); + return new LineSegments( new WireframeGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); + + } + + // + + function XHRLoader( manager ) { + + console.warn( 'THREE.XHRLoader has been renamed to THREE.FileLoader.' ); + return new FileLoader( manager ); + + } + + function BinaryTextureLoader( manager ) { + + console.warn( 'THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.' ); + return new DataTextureLoader( manager ); + + } + + // + + Object.assign( Box2.prototype, { + + center: function ( optionalTarget ) { + + console.warn( 'THREE.Box2: .center() has been renamed to .getCenter().' ); + return this.getCenter( optionalTarget ); + + }, + empty: function () { + + console.warn( 'THREE.Box2: .empty() has been renamed to .isEmpty().' ); + return this.isEmpty(); + + }, + isIntersectionBox: function ( box ) { + + console.warn( 'THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().' ); + return this.intersectsBox( box ); + + }, + size: function ( optionalTarget ) { + + console.warn( 'THREE.Box2: .size() has been renamed to .getSize().' ); + return this.getSize( optionalTarget ); + + } + } ); + + Object.assign( Box3.prototype, { + + center: function ( optionalTarget ) { + + console.warn( 'THREE.Box3: .center() has been renamed to .getCenter().' ); + return this.getCenter( optionalTarget ); + + }, + empty: function () { + + console.warn( 'THREE.Box3: .empty() has been renamed to .isEmpty().' ); + return this.isEmpty(); + + }, + isIntersectionBox: function ( box ) { + + console.warn( 'THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().' ); + return this.intersectsBox( box ); + + }, + isIntersectionSphere: function ( sphere ) { + + console.warn( 'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); + return this.intersectsSphere( sphere ); + + }, + size: function ( optionalTarget ) { + + console.warn( 'THREE.Box3: .size() has been renamed to .getSize().' ); + return this.getSize( optionalTarget ); + + } + } ); + + Line3.prototype.center = function ( optionalTarget ) { + + console.warn( 'THREE.Line3: .center() has been renamed to .getCenter().' ); + return this.getCenter( optionalTarget ); + + }; + + _Math.random16 = function () { + + console.warn( 'THREE.Math.random16() has been deprecated. Use Math.random() instead.' ); + return Math.random(); + + }; + + Object.assign( Matrix3.prototype, { + + flattenToArrayOffset: function ( array, offset ) { + + console.warn( "THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead." ); + return this.toArray( array, offset ); + + }, + multiplyVector3: function ( vector ) { + + console.warn( 'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.' ); + return vector.applyMatrix3( this ); + + }, + multiplyVector3Array: function ( a ) { + + console.warn( 'THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.' ); + return this.applyToVector3Array( a ); + + }, + applyToBuffer: function( buffer, offset, length ) { + + console.warn( 'THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.' ); + return this.applyToBufferAttribute( buffer ); + + }, + applyToVector3Array: function( array, offset, length ) { + + console.error( 'THREE.Matrix3: .applyToVector3Array() has been removed.' ); + + } + + } ); + + Object.assign( Matrix4.prototype, { + + extractPosition: function ( m ) { + + console.warn( 'THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().' ); + return this.copyPosition( m ); + + }, + flattenToArrayOffset: function ( array, offset ) { + + console.warn( "THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead." ); + return this.toArray( array, offset ); + + }, + getPosition: function () { + + var v1; + + return function getPosition() { + + if ( v1 === undefined ) v1 = new Vector3(); + console.warn( 'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.' ); + return v1.setFromMatrixColumn( this, 3 ); + + }; + + }(), + setRotationFromQuaternion: function ( q ) { + + console.warn( 'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().' ); + return this.makeRotationFromQuaternion( q ); + + }, + multiplyToArray: function () { + + console.warn( 'THREE.Matrix4: .multiplyToArray() has been removed.' ); + + }, + multiplyVector3: function ( vector ) { + + console.warn( 'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); + return vector.applyMatrix4( this ); + + }, + multiplyVector4: function ( vector ) { + + console.warn( 'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); + return vector.applyMatrix4( this ); + + }, + multiplyVector3Array: function ( a ) { + + console.warn( 'THREE.Matrix4: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.' ); + return this.applyToVector3Array( a ); + + }, + rotateAxis: function ( v ) { + + console.warn( 'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.' ); + v.transformDirection( this ); + + }, + crossVector: function ( vector ) { + + console.warn( 'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); + return vector.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( buffer, offset, length ) { + + console.warn( 'THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.' ); + return this.applyToBufferAttribute( buffer ); + + }, + applyToVector3Array: function( array, offset, length ) { + + console.error( 'THREE.Matrix4: .applyToVector3Array() has been removed.' ); + + }, + makeFrustum: function( left, right, bottom, top, near, far ) { + + console.warn( 'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.' ); + return this.makePerspective( left, right, top, bottom, near, far ); + + } + + } ); + + Plane.prototype.isIntersectionLine = function ( line ) { + + console.warn( 'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().' ); + return this.intersectsLine( line ); + + }; + + Quaternion.prototype.multiplyVector3 = function ( vector ) { + + console.warn( 'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.' ); + return vector.applyQuaternion( this ); + + }; + + Object.assign( Ray.prototype, { + + isIntersectionBox: function ( box ) { + + console.warn( 'THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().' ); + return this.intersectsBox( box ); + + }, + isIntersectionPlane: function ( plane ) { + + console.warn( 'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().' ); + return this.intersectsPlane( plane ); + + }, + isIntersectionSphere: function ( sphere ) { + + console.warn( 'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); + return this.intersectsSphere( sphere ); + + } + + } ); + + Object.assign( Shape.prototype, { + + extrude: function ( options ) { + + console.warn( 'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.' ); + return new ExtrudeGeometry( this, options ); + + }, + makeGeometry: function ( options ) { + + console.warn( 'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.' ); + return new ShapeGeometry( this, options ); + + } + + } ); + + Object.assign( Vector2.prototype, { + + fromAttribute: function ( attribute, index, offset ) { + + console.error( 'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().' ); + return this.fromBufferAttribute( attribute, index, offset ); + + } + + } ); + + Object.assign( Vector3.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 ( m ) { + + console.warn( 'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().' ); + return this.setFromMatrixPosition( m ); + + }, + getScaleFromMatrix: function ( m ) { + + console.warn( 'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().' ); + return this.setFromMatrixScale( m ); + + }, + getColumnFromMatrix: function ( index, matrix ) { + + console.warn( 'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().' ); + return this.setFromMatrixColumn( matrix, index ); + + }, + applyProjection: function ( m ) { + + console.warn( 'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.' ); + return this.applyMatrix4( m ); + + }, + fromAttribute: function ( attribute, index, offset ) { + + console.error( 'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().' ); + return this.fromBufferAttribute( attribute, index, offset ); + + } + + } ); + + Object.assign( Vector4.prototype, { + + fromAttribute: function ( attribute, index, offset ) { + + console.error( 'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().' ); + return this.fromBufferAttribute( attribute, index, offset ); + + } + + } ); + + // + + Geometry.prototype.computeTangents = function () { + + console.warn( 'THREE.Geometry: .computeTangents() has been removed.' ); + + }; + + Object.assign( Object3D.prototype, { + + getChildByName: function ( name ) { + + console.warn( 'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().' ); + return this.getObjectByName( name ); + + }, + renderDepth: function () { + + console.warn( 'THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.' ); + + }, + translate: function ( distance, axis ) { + + console.warn( 'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.' ); + return this.translateOnAxis( axis, distance ); + + } + + } ); + + Object.defineProperties( Object3D.prototype, { + + eulerOrder: { + get: function () { + + console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); + return this.rotation.order; + + }, + set: function ( value ) { + + console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); + this.rotation.order = value; + + } + }, + 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( LOD.prototype, { + + objects: { + get: function () { + + console.warn( 'THREE.LOD: .objects has been renamed to .levels.' ); + return this.levels; + + } + } + + } ); + + Object.defineProperty( Skeleton.prototype, 'useVertexTexture', { + + get: function () { + + console.warn( 'THREE.Skeleton: useVertexTexture has been removed.' ); + + }, + set: function () { + + console.warn( 'THREE.Skeleton: useVertexTexture has been removed.' ); + + } + + } ); + + Object.defineProperty( Curve.prototype, '__arcLengthDivisions', { + + get: function () { + + console.warn( 'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.' ); + return this.arcLengthDivisions; + + }, + set: function ( value ) { + + console.warn( 'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.' ); + this.arcLengthDivisions = value; + + } + + } ); + + // + + PerspectiveCamera.prototype.setLens = function ( focalLength, filmGauge ) { + + console.warn( "THREE.PerspectiveCamera.setLens is deprecated. " + + "Use .setFocalLength and .filmGauge for a photographic setup." ); + + if ( filmGauge !== undefined ) this.filmGauge = filmGauge; + this.setFocalLength( focalLength ); + + }; + + // + + Object.defineProperties( Light.prototype, { + onlyShadow: { + set: function () { + + console.warn( 'THREE.Light: .onlyShadow has been removed.' ); + + } + }, + shadowCameraFov: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraFov is now .shadow.camera.fov.' ); + this.shadow.camera.fov = value; + + } + }, + shadowCameraLeft: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraLeft is now .shadow.camera.left.' ); + this.shadow.camera.left = value; + + } + }, + shadowCameraRight: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraRight is now .shadow.camera.right.' ); + this.shadow.camera.right = value; + + } + }, + shadowCameraTop: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraTop is now .shadow.camera.top.' ); + this.shadow.camera.top = value; + + } + }, + shadowCameraBottom: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.' ); + this.shadow.camera.bottom = value; + + } + }, + shadowCameraNear: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraNear is now .shadow.camera.near.' ); + this.shadow.camera.near = value; + + } + }, + shadowCameraFar: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraFar is now .shadow.camera.far.' ); + this.shadow.camera.far = value; + + } + }, + shadowCameraVisible: { + set: function () { + + console.warn( 'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.' ); + + } + }, + shadowBias: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowBias is now .shadow.bias.' ); + this.shadow.bias = value; + + } + }, + shadowDarkness: { + set: function () { + + console.warn( 'THREE.Light: .shadowDarkness has been removed.' ); + + } + }, + shadowMapWidth: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.' ); + this.shadow.mapSize.width = value; + + } + }, + shadowMapHeight: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.' ); + this.shadow.mapSize.height = value; + + } + } + } ); + + // + + Object.defineProperties( BufferAttribute.prototype, { + + length: { + get: function () { + + console.warn( 'THREE.BufferAttribute: .length has been deprecated. Use .count instead.' ); + return this.array.length; + + } + } + + } ); + + Object.assign( BufferGeometry.prototype, { + + addIndex: function ( index ) { + + console.warn( 'THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().' ); + this.setIndex( index ); + + }, + addDrawCall: function ( start, count, indexOffset ) { + + if ( indexOffset !== undefined ) { + + console.warn( 'THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.' ); + + } + console.warn( 'THREE.BufferGeometry: .addDrawCall() is now .addGroup().' ); + this.addGroup( start, count ); + + }, + 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( BufferGeometry.prototype, { + + drawcalls: { + get: function () { + + console.error( 'THREE.BufferGeometry: .drawcalls has been renamed to .groups.' ); + return this.groups; + + } + }, + offsets: { + get: function () { + + console.warn( 'THREE.BufferGeometry: .offsets has been renamed to .groups.' ); + return this.groups; + + } + } + + } ); + + // + + Object.defineProperties( Uniform.prototype, { + + dynamic: { + set: function () { + + console.warn( 'THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.' ); + + } + }, + onUpdate: { + value: function () { + + console.warn( 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.' ); + return this; + + } + } + + } ); + + // + + Object.defineProperties( Material.prototype, { + + wrapAround: { + get: function () { + + console.warn( 'THREE.Material: .wrapAround has been removed.' ); + + }, + set: function () { + + console.warn( 'THREE.Material: .wrapAround has been removed.' ); + + } + }, + wrapRGB: { + get: function () { + + console.warn( 'THREE.Material: .wrapRGB has been removed.' ); + return new Color(); + + } + } + + } ); + + Object.defineProperties( MeshPhongMaterial.prototype, { + + metal: { + get: function () { + + console.warn( 'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.' ); + return false; + + }, + set: function () { + + console.warn( 'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead' ); + + } + } + + } ); + + Object.defineProperties( ShaderMaterial.prototype, { + + derivatives: { + get: function () { + + console.warn( 'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); + return this.extensions.derivatives; + + }, + set: function ( value ) { + + console.warn( 'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); + this.extensions.derivatives = value; + + } + } + + } ); + + // + + Object.assign( WebGLRenderer.prototype, { + + getCurrentRenderTarget: function () { + + console.warn( 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().' ); + return this.getRenderTarget(); + + }, + + supportsFloatTextures: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).' ); + return this.extensions.get( 'OES_texture_float' ); + + }, + supportsHalfFloatTextures: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( \'OES_texture_half_float\' ).' ); + return this.extensions.get( 'OES_texture_half_float' ); + + }, + supportsStandardDerivatives: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( \'OES_standard_derivatives\' ).' ); + return this.extensions.get( 'OES_standard_derivatives' ); + + }, + supportsCompressedTextureS3TC: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( \'WEBGL_compressed_texture_s3tc\' ).' ); + return this.extensions.get( 'WEBGL_compressed_texture_s3tc' ); + + }, + supportsCompressedTexturePVRTC: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( \'WEBGL_compressed_texture_pvrtc\' ).' ); + return this.extensions.get( 'WEBGL_compressed_texture_pvrtc' ); + + }, + supportsBlendMinMax: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( \'EXT_blend_minmax\' ).' ); + return this.extensions.get( 'EXT_blend_minmax' ); + + }, + supportsVertexTextures: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.' ); + return this.capabilities.vertexTextures; + + }, + supportsInstancedArrays: function () { + + console.warn( 'THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( \'ANGLE_instanced_arrays\' ).' ); + return this.extensions.get( 'ANGLE_instanced_arrays' ); + + }, + enableScissorTest: function ( boolean ) { + + console.warn( 'THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().' ); + this.setScissorTest( boolean ); + + }, + 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.' ); + + } + + } ); + + Object.defineProperties( WebGLRenderer.prototype, { + + shadowMapEnabled: { + get: function () { + + return this.shadowMap.enabled; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.' ); + this.shadowMap.enabled = value; + + } + }, + shadowMapType: { + get: function () { + + return this.shadowMap.type; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.' ); + this.shadowMap.type = value; + + } + }, + shadowMapCullFace: { + get: function () { + + return this.shadowMap.cullFace; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace.' ); + this.shadowMap.cullFace = value; + + } + } + } ); + + Object.defineProperties( WebGLShadowMap.prototype, { + + cullFace: { + get: function () { + + return this.renderReverseSided ? CullFaceFront : CullFaceBack; + + }, + set: function ( cullFace ) { + + var value = ( cullFace !== CullFaceBack ); + console.warn( "WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to " + value + "." ); + this.renderReverseSided = value; + + } + } + + } ); + + // + + Object.defineProperties( WebGLRenderTarget.prototype, { + + wrapS: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); + return this.texture.wrapS; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); + this.texture.wrapS = value; + + } + }, + wrapT: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); + return this.texture.wrapT; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); + this.texture.wrapT = value; + + } + }, + magFilter: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); + return this.texture.magFilter; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); + this.texture.magFilter = value; + + } + }, + minFilter: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); + return this.texture.minFilter; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); + this.texture.minFilter = value; + + } + }, + anisotropy: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); + return this.texture.anisotropy; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); + this.texture.anisotropy = value; + + } + }, + offset: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); + return this.texture.offset; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); + this.texture.offset = value; + + } + }, + repeat: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); + return this.texture.repeat; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); + this.texture.repeat = value; + + } + }, + format: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); + return this.texture.format; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); + this.texture.format = value; + + } + }, + type: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); + return this.texture.type; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); + this.texture.type = value; + + } + }, + generateMipmaps: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); + return this.texture.generateMipmaps; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); + this.texture.generateMipmaps = value; + + } + } + + } ); + + // + + Audio.prototype.load = function ( file ) { + + console.warn( 'THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.' ); + var scope = this; + var audioLoader = new AudioLoader(); + audioLoader.load( file, function ( buffer ) { + + scope.setBuffer( buffer ); + + } ); + return this; + + }; + + AudioAnalyser.prototype.getData = function () { + + console.warn( 'THREE.AudioAnalyser: .getData() is now .getFrequencyData().' ); + return this.getFrequencyData(); + + }; + + // + + var GeometryUtils = { + + merge: function ( geometry1, geometry2, materialIndexOffset ) { + + console.warn( 'THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.' ); + var matrix; + + if ( geometry2.isMesh ) { + + geometry2.matrixAutoUpdate && geometry2.updateMatrix(); + + matrix = geometry2.matrix; + geometry2 = geometry2.geometry; + + } + + geometry1.merge( geometry2, matrix, materialIndexOffset ); + + }, + + center: function ( geometry ) { + + console.warn( 'THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.' ); + return geometry.center(); + + } + + }; + + var ImageUtils = { + + crossOrigin: undefined, + + loadTexture: function ( url, mapping, onLoad, onError ) { + + console.warn( 'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.' ); + + var loader = new TextureLoader(); + loader.setCrossOrigin( this.crossOrigin ); + + var texture = loader.load( url, onLoad, undefined, onError ); + + if ( mapping ) texture.mapping = mapping; + + return texture; + + }, + + loadTextureCube: function ( urls, mapping, onLoad, onError ) { + + console.warn( 'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.' ); + + var loader = new CubeTextureLoader(); + loader.setCrossOrigin( this.crossOrigin ); + + var texture = loader.load( urls, onLoad, undefined, onError ); + + if ( mapping ) texture.mapping = mapping; + + return texture; + + }, + + loadCompressedTexture: function () { + + console.error( 'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.' ); + + }, + + loadCompressedTextureCube: function () { + + console.error( 'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.' ); + + } + + }; + + // + + function Projector() { + + console.error( 'THREE.Projector has been moved to /examples/js/renderers/Projector.js.' ); + + this.projectVector = function ( vector, camera ) { + + console.warn( 'THREE.Projector: .projectVector() is now vector.project().' ); + vector.project( camera ); + + }; + + this.unprojectVector = function ( vector, camera ) { + + console.warn( 'THREE.Projector: .unprojectVector() is now vector.unproject().' ); + vector.unproject( camera ); + + }; + + this.pickingRay = function () { + + console.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' ); + + }; + + } + + // + + function CanvasRenderer() { + + console.error( 'THREE.CanvasRenderer has been moved to /examples/js/renderers/CanvasRenderer.js' ); + + this.domElement = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); + this.clear = function () {}; + this.render = function () {}; + this.setClearColor = function () {}; + this.setSize = function () {}; + + } + + exports.WebGLRenderTargetCube = WebGLRenderTargetCube; + exports.WebGLRenderTarget = WebGLRenderTarget; + exports.WebGLRenderer = WebGLRenderer; + exports.ShaderLib = ShaderLib; + exports.UniformsLib = UniformsLib; + exports.UniformsUtils = UniformsUtils; + exports.ShaderChunk = ShaderChunk; + exports.FogExp2 = FogExp2; + exports.Fog = Fog; + exports.Scene = Scene; + exports.LensFlare = LensFlare; + exports.Sprite = Sprite; + exports.LOD = LOD; + exports.SkinnedMesh = SkinnedMesh; + exports.Skeleton = Skeleton; + exports.Bone = Bone; + exports.Mesh = Mesh; + exports.LineSegments = LineSegments; + exports.LineLoop = LineLoop; + exports.Line = Line; + exports.Points = Points; + exports.Group = Group; + exports.VideoTexture = VideoTexture; + exports.DataTexture = DataTexture; + exports.CompressedTexture = CompressedTexture; + exports.CubeTexture = CubeTexture; + exports.CanvasTexture = CanvasTexture; + exports.DepthTexture = DepthTexture; + exports.Texture = Texture; + exports.CompressedTextureLoader = CompressedTextureLoader; + exports.DataTextureLoader = DataTextureLoader; + exports.CubeTextureLoader = CubeTextureLoader; + exports.TextureLoader = TextureLoader; + exports.ObjectLoader = ObjectLoader; + exports.MaterialLoader = MaterialLoader; + exports.BufferGeometryLoader = BufferGeometryLoader; + exports.DefaultLoadingManager = DefaultLoadingManager; + exports.LoadingManager = LoadingManager; + exports.JSONLoader = JSONLoader; + exports.ImageLoader = ImageLoader; + exports.FontLoader = FontLoader; + exports.FileLoader = FileLoader; + exports.Loader = Loader; + exports.Cache = Cache; + exports.AudioLoader = AudioLoader; + exports.SpotLightShadow = SpotLightShadow; + exports.SpotLight = SpotLight; + exports.PointLight = PointLight; + exports.RectAreaLight = RectAreaLight; + exports.HemisphereLight = HemisphereLight; + exports.DirectionalLightShadow = DirectionalLightShadow; + exports.DirectionalLight = DirectionalLight; + exports.AmbientLight = AmbientLight; + exports.LightShadow = LightShadow; + exports.Light = Light; + exports.StereoCamera = StereoCamera; + exports.PerspectiveCamera = PerspectiveCamera; + exports.OrthographicCamera = OrthographicCamera; + exports.CubeCamera = CubeCamera; + exports.ArrayCamera = ArrayCamera; + exports.Camera = Camera; + exports.AudioListener = AudioListener; + exports.PositionalAudio = PositionalAudio; + exports.AudioContext = AudioContext; + exports.AudioAnalyser = AudioAnalyser; + exports.Audio = Audio; + exports.VectorKeyframeTrack = VectorKeyframeTrack; + exports.StringKeyframeTrack = StringKeyframeTrack; + exports.QuaternionKeyframeTrack = QuaternionKeyframeTrack; + exports.NumberKeyframeTrack = NumberKeyframeTrack; + exports.ColorKeyframeTrack = ColorKeyframeTrack; + exports.BooleanKeyframeTrack = BooleanKeyframeTrack; + exports.PropertyMixer = PropertyMixer; + exports.PropertyBinding = PropertyBinding; + exports.KeyframeTrack = KeyframeTrack; + exports.AnimationUtils = AnimationUtils; + exports.AnimationObjectGroup = AnimationObjectGroup; + exports.AnimationMixer = AnimationMixer; + exports.AnimationClip = AnimationClip; + exports.Uniform = Uniform; + exports.InstancedBufferGeometry = InstancedBufferGeometry; + exports.BufferGeometry = BufferGeometry; + exports.GeometryIdCount = GeometryIdCount; + exports.Geometry = Geometry; + exports.InterleavedBufferAttribute = InterleavedBufferAttribute; + exports.InstancedInterleavedBuffer = InstancedInterleavedBuffer; + exports.InterleavedBuffer = InterleavedBuffer; + exports.InstancedBufferAttribute = InstancedBufferAttribute; + exports.Face3 = Face3; + exports.Object3D = Object3D; + exports.Raycaster = Raycaster; + exports.Layers = Layers; + exports.EventDispatcher = EventDispatcher; + exports.Clock = Clock; + exports.QuaternionLinearInterpolant = QuaternionLinearInterpolant; + exports.LinearInterpolant = LinearInterpolant; + exports.DiscreteInterpolant = DiscreteInterpolant; + exports.CubicInterpolant = CubicInterpolant; + exports.Interpolant = Interpolant; + exports.Triangle = Triangle; + exports.Math = _Math; + exports.Spherical = Spherical; + exports.Cylindrical = Cylindrical; + exports.Plane = Plane; + exports.Frustum = Frustum; + exports.Sphere = Sphere; + exports.Ray = Ray; + exports.Matrix4 = Matrix4; + exports.Matrix3 = Matrix3; + exports.Box3 = Box3; + exports.Box2 = Box2; + exports.Line3 = Line3; + exports.Euler = Euler; + exports.Vector4 = Vector4; + exports.Vector3 = Vector3; + exports.Vector2 = Vector2; + exports.Quaternion = Quaternion; + exports.Color = Color; + exports.MorphBlendMesh = MorphBlendMesh; + exports.ImmediateRenderObject = ImmediateRenderObject; + exports.VertexNormalsHelper = VertexNormalsHelper; + exports.SpotLightHelper = SpotLightHelper; + exports.SkeletonHelper = SkeletonHelper; + exports.PointLightHelper = PointLightHelper; + exports.RectAreaLightHelper = RectAreaLightHelper; + exports.HemisphereLightHelper = HemisphereLightHelper; + exports.GridHelper = GridHelper; + exports.PolarGridHelper = PolarGridHelper; + exports.FaceNormalsHelper = FaceNormalsHelper; + exports.DirectionalLightHelper = DirectionalLightHelper; + exports.CameraHelper = CameraHelper; + exports.BoxHelper = BoxHelper; + exports.ArrowHelper = ArrowHelper; + exports.AxisHelper = AxisHelper; + exports.CatmullRomCurve3 = CatmullRomCurve3; + exports.CubicBezierCurve3 = CubicBezierCurve3; + exports.QuadraticBezierCurve3 = QuadraticBezierCurve3; + exports.LineCurve3 = LineCurve3; + exports.ArcCurve = ArcCurve; + exports.EllipseCurve = EllipseCurve; + exports.SplineCurve = SplineCurve; + exports.CubicBezierCurve = CubicBezierCurve; + exports.QuadraticBezierCurve = QuadraticBezierCurve; + exports.LineCurve = LineCurve; + exports.Shape = Shape; + exports.Path = Path; + exports.ShapePath = ShapePath; + exports.Font = Font; + exports.CurvePath = CurvePath; + exports.Curve = Curve; + exports.ShapeUtils = ShapeUtils; + exports.SceneUtils = SceneUtils; + exports.WireframeGeometry = WireframeGeometry; + exports.ParametricGeometry = ParametricGeometry; + exports.ParametricBufferGeometry = ParametricBufferGeometry; + exports.TetrahedronGeometry = TetrahedronGeometry; + exports.TetrahedronBufferGeometry = TetrahedronBufferGeometry; + exports.OctahedronGeometry = OctahedronGeometry; + exports.OctahedronBufferGeometry = OctahedronBufferGeometry; + exports.IcosahedronGeometry = IcosahedronGeometry; + exports.IcosahedronBufferGeometry = IcosahedronBufferGeometry; + exports.DodecahedronGeometry = DodecahedronGeometry; + exports.DodecahedronBufferGeometry = DodecahedronBufferGeometry; + exports.PolyhedronGeometry = PolyhedronGeometry; + exports.PolyhedronBufferGeometry = PolyhedronBufferGeometry; + exports.TubeGeometry = TubeGeometry; + exports.TubeBufferGeometry = TubeBufferGeometry; + exports.TorusKnotGeometry = TorusKnotGeometry; + exports.TorusKnotBufferGeometry = TorusKnotBufferGeometry; + exports.TorusGeometry = TorusGeometry; + exports.TorusBufferGeometry = TorusBufferGeometry; + exports.TextGeometry = TextGeometry; + exports.TextBufferGeometry = TextBufferGeometry; + exports.SphereGeometry = SphereGeometry; + exports.SphereBufferGeometry = SphereBufferGeometry; + exports.RingGeometry = RingGeometry; + exports.RingBufferGeometry = RingBufferGeometry; + exports.PlaneGeometry = PlaneGeometry; + exports.PlaneBufferGeometry = PlaneBufferGeometry; + exports.LatheGeometry = LatheGeometry; + exports.LatheBufferGeometry = LatheBufferGeometry; + exports.ShapeGeometry = ShapeGeometry; + exports.ShapeBufferGeometry = ShapeBufferGeometry; + exports.ExtrudeGeometry = ExtrudeGeometry; + exports.ExtrudeBufferGeometry = ExtrudeBufferGeometry; + exports.EdgesGeometry = EdgesGeometry; + exports.ConeGeometry = ConeGeometry; + exports.ConeBufferGeometry = ConeBufferGeometry; + exports.CylinderGeometry = CylinderGeometry; + exports.CylinderBufferGeometry = CylinderBufferGeometry; + exports.CircleGeometry = CircleGeometry; + exports.CircleBufferGeometry = CircleBufferGeometry; + exports.BoxGeometry = BoxGeometry; + exports.BoxBufferGeometry = BoxBufferGeometry; + exports.ShadowMaterial = ShadowMaterial; + exports.SpriteMaterial = SpriteMaterial; + exports.RawShaderMaterial = RawShaderMaterial; + exports.ShaderMaterial = ShaderMaterial; + exports.PointsMaterial = PointsMaterial; + exports.MeshPhysicalMaterial = MeshPhysicalMaterial; + exports.MeshStandardMaterial = MeshStandardMaterial; + exports.MeshPhongMaterial = MeshPhongMaterial; + exports.MeshToonMaterial = MeshToonMaterial; + exports.MeshNormalMaterial = MeshNormalMaterial; + exports.MeshLambertMaterial = MeshLambertMaterial; + exports.MeshDepthMaterial = MeshDepthMaterial; + exports.MeshBasicMaterial = MeshBasicMaterial; + exports.LineDashedMaterial = LineDashedMaterial; + exports.LineBasicMaterial = LineBasicMaterial; + exports.Material = Material; + exports.Float64BufferAttribute = Float64BufferAttribute; + exports.Float32BufferAttribute = Float32BufferAttribute; + exports.Uint32BufferAttribute = Uint32BufferAttribute; + exports.Int32BufferAttribute = Int32BufferAttribute; + exports.Uint16BufferAttribute = Uint16BufferAttribute; + exports.Int16BufferAttribute = Int16BufferAttribute; + exports.Uint8ClampedBufferAttribute = Uint8ClampedBufferAttribute; + exports.Uint8BufferAttribute = Uint8BufferAttribute; + exports.Int8BufferAttribute = Int8BufferAttribute; + exports.BufferAttribute = BufferAttribute; + exports.REVISION = REVISION; + exports.MOUSE = MOUSE; + exports.CullFaceNone = CullFaceNone; + exports.CullFaceBack = CullFaceBack; + exports.CullFaceFront = CullFaceFront; + exports.CullFaceFrontBack = CullFaceFrontBack; + exports.FrontFaceDirectionCW = FrontFaceDirectionCW; + exports.FrontFaceDirectionCCW = FrontFaceDirectionCCW; + exports.BasicShadowMap = BasicShadowMap; + exports.PCFShadowMap = PCFShadowMap; + exports.PCFSoftShadowMap = PCFSoftShadowMap; + exports.FrontSide = FrontSide; + exports.BackSide = BackSide; + exports.DoubleSide = DoubleSide; + exports.FlatShading = FlatShading; + exports.SmoothShading = SmoothShading; + exports.NoColors = NoColors; + exports.FaceColors = FaceColors; + exports.VertexColors = VertexColors; + exports.NoBlending = NoBlending; + exports.NormalBlending = NormalBlending; + exports.AdditiveBlending = AdditiveBlending; + exports.SubtractiveBlending = SubtractiveBlending; + exports.MultiplyBlending = MultiplyBlending; + exports.CustomBlending = CustomBlending; + exports.AddEquation = AddEquation; + exports.SubtractEquation = SubtractEquation; + exports.ReverseSubtractEquation = ReverseSubtractEquation; + exports.MinEquation = MinEquation; + exports.MaxEquation = MaxEquation; + exports.ZeroFactor = ZeroFactor; + exports.OneFactor = OneFactor; + exports.SrcColorFactor = SrcColorFactor; + exports.OneMinusSrcColorFactor = OneMinusSrcColorFactor; + exports.SrcAlphaFactor = SrcAlphaFactor; + exports.OneMinusSrcAlphaFactor = OneMinusSrcAlphaFactor; + exports.DstAlphaFactor = DstAlphaFactor; + exports.OneMinusDstAlphaFactor = OneMinusDstAlphaFactor; + exports.DstColorFactor = DstColorFactor; + exports.OneMinusDstColorFactor = OneMinusDstColorFactor; + exports.SrcAlphaSaturateFactor = SrcAlphaSaturateFactor; + exports.NeverDepth = NeverDepth; + exports.AlwaysDepth = AlwaysDepth; + exports.LessDepth = LessDepth; + exports.LessEqualDepth = LessEqualDepth; + exports.EqualDepth = EqualDepth; + exports.GreaterEqualDepth = GreaterEqualDepth; + exports.GreaterDepth = GreaterDepth; + exports.NotEqualDepth = NotEqualDepth; + exports.MultiplyOperation = MultiplyOperation; + exports.MixOperation = MixOperation; + exports.AddOperation = AddOperation; + exports.NoToneMapping = NoToneMapping; + exports.LinearToneMapping = LinearToneMapping; + exports.ReinhardToneMapping = ReinhardToneMapping; + exports.Uncharted2ToneMapping = Uncharted2ToneMapping; + exports.CineonToneMapping = CineonToneMapping; + exports.UVMapping = UVMapping; + exports.CubeReflectionMapping = CubeReflectionMapping; + exports.CubeRefractionMapping = CubeRefractionMapping; + exports.EquirectangularReflectionMapping = EquirectangularReflectionMapping; + exports.EquirectangularRefractionMapping = EquirectangularRefractionMapping; + exports.SphericalReflectionMapping = SphericalReflectionMapping; + exports.CubeUVReflectionMapping = CubeUVReflectionMapping; + exports.CubeUVRefractionMapping = CubeUVRefractionMapping; + exports.RepeatWrapping = RepeatWrapping; + exports.ClampToEdgeWrapping = ClampToEdgeWrapping; + exports.MirroredRepeatWrapping = MirroredRepeatWrapping; + exports.NearestFilter = NearestFilter; + exports.NearestMipMapNearestFilter = NearestMipMapNearestFilter; + exports.NearestMipMapLinearFilter = NearestMipMapLinearFilter; + exports.LinearFilter = LinearFilter; + exports.LinearMipMapNearestFilter = LinearMipMapNearestFilter; + exports.LinearMipMapLinearFilter = LinearMipMapLinearFilter; + exports.UnsignedByteType = UnsignedByteType; + exports.ByteType = ByteType; + exports.ShortType = ShortType; + exports.UnsignedShortType = UnsignedShortType; + exports.IntType = IntType; + exports.UnsignedIntType = UnsignedIntType; + exports.FloatType = FloatType; + exports.HalfFloatType = HalfFloatType; + exports.UnsignedShort4444Type = UnsignedShort4444Type; + exports.UnsignedShort5551Type = UnsignedShort5551Type; + exports.UnsignedShort565Type = UnsignedShort565Type; + exports.UnsignedInt248Type = UnsignedInt248Type; + exports.AlphaFormat = AlphaFormat; + exports.RGBFormat = RGBFormat; + exports.RGBAFormat = RGBAFormat; + exports.LuminanceFormat = LuminanceFormat; + exports.LuminanceAlphaFormat = LuminanceAlphaFormat; + exports.RGBEFormat = RGBEFormat; + exports.DepthFormat = DepthFormat; + exports.DepthStencilFormat = DepthStencilFormat; + exports.RGB_S3TC_DXT1_Format = RGB_S3TC_DXT1_Format; + exports.RGBA_S3TC_DXT1_Format = RGBA_S3TC_DXT1_Format; + exports.RGBA_S3TC_DXT3_Format = RGBA_S3TC_DXT3_Format; + exports.RGBA_S3TC_DXT5_Format = RGBA_S3TC_DXT5_Format; + exports.RGB_PVRTC_4BPPV1_Format = RGB_PVRTC_4BPPV1_Format; + exports.RGB_PVRTC_2BPPV1_Format = RGB_PVRTC_2BPPV1_Format; + exports.RGBA_PVRTC_4BPPV1_Format = RGBA_PVRTC_4BPPV1_Format; + exports.RGBA_PVRTC_2BPPV1_Format = RGBA_PVRTC_2BPPV1_Format; + exports.RGB_ETC1_Format = RGB_ETC1_Format; + exports.LoopOnce = LoopOnce; + exports.LoopRepeat = LoopRepeat; + exports.LoopPingPong = LoopPingPong; + exports.InterpolateDiscrete = InterpolateDiscrete; + exports.InterpolateLinear = InterpolateLinear; + exports.InterpolateSmooth = InterpolateSmooth; + exports.ZeroCurvatureEnding = ZeroCurvatureEnding; + exports.ZeroSlopeEnding = ZeroSlopeEnding; + exports.WrapAroundEnding = WrapAroundEnding; + exports.TrianglesDrawMode = TrianglesDrawMode; + exports.TriangleStripDrawMode = TriangleStripDrawMode; + exports.TriangleFanDrawMode = TriangleFanDrawMode; + exports.LinearEncoding = LinearEncoding; + exports.sRGBEncoding = sRGBEncoding; + exports.GammaEncoding = GammaEncoding; + exports.RGBEEncoding = RGBEEncoding; + exports.LogLuvEncoding = LogLuvEncoding; + exports.RGBM7Encoding = RGBM7Encoding; + exports.RGBM16Encoding = RGBM16Encoding; + exports.RGBDEncoding = RGBDEncoding; + exports.BasicDepthPacking = BasicDepthPacking; + exports.RGBADepthPacking = RGBADepthPacking; + exports.CubeGeometry = BoxGeometry; + exports.Face4 = Face4; + exports.LineStrip = LineStrip; + exports.LinePieces = LinePieces; + exports.MeshFaceMaterial = MeshFaceMaterial; + exports.MultiMaterial = MultiMaterial; + exports.PointCloud = PointCloud; + exports.Particle = Particle; + exports.ParticleSystem = ParticleSystem; + exports.PointCloudMaterial = PointCloudMaterial; + exports.ParticleBasicMaterial = ParticleBasicMaterial; + exports.ParticleSystemMaterial = ParticleSystemMaterial; + exports.Vertex = Vertex; + exports.DynamicBufferAttribute = DynamicBufferAttribute; + exports.Int8Attribute = Int8Attribute; + exports.Uint8Attribute = Uint8Attribute; + exports.Uint8ClampedAttribute = Uint8ClampedAttribute; + exports.Int16Attribute = Int16Attribute; + exports.Uint16Attribute = Uint16Attribute; + exports.Int32Attribute = Int32Attribute; + exports.Uint32Attribute = Uint32Attribute; + exports.Float32Attribute = Float32Attribute; + exports.Float64Attribute = Float64Attribute; + exports.ClosedSplineCurve3 = ClosedSplineCurve3; + exports.SplineCurve3 = SplineCurve3; + exports.Spline = Spline; + exports.BoundingBoxHelper = BoundingBoxHelper; + exports.EdgesHelper = EdgesHelper; + exports.WireframeHelper = WireframeHelper; + exports.XHRLoader = XHRLoader; + exports.BinaryTextureLoader = BinaryTextureLoader; + exports.GeometryUtils = GeometryUtils; + exports.ImageUtils = ImageUtils; + exports.Projector = Projector; + exports.CanvasRenderer = CanvasRenderer; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); \ No newline at end of file diff --git a/fancier/main.js b/fancier/main.js new file mode 100644 index 0000000..72d3b8a --- /dev/null +++ b/fancier/main.js @@ -0,0 +1,93 @@ +var container +var scene, camera, renderer, controls +var Y_AXIS, camera_pivot + +var mouseX = 0, mouseY = 0; +var start_time = Date.now(); + +var windowHalfX = window.innerWidth / 2; +var windowHalfY = window.innerHeight / 2; + +init(); +animate(); + + +function init(){ + // setup scene + scene = new THREE.Scene(); + + // setup camera + camera = new + THREE.PerspectiveCamera( + 55, + window.innerWidth/window.innerHeight, + 45, + 30000 + ); + + //setup lights + scene.add(new THREE.AmbientLight( 0x666666 ) ); + + //load skybox + // made skybox with Spacescape http://alexcpeterson.com/spacescape/ + var textureLoader = new THREE.TextureLoader(); + + let materialArray = []; + let texture_ft = textureLoader.load("./assets/brain_space_front.png"); + let texture_bk = textureLoader.load("./assets/brain_space_back.png"); + let texture_up = textureLoader.load("./assets/brain_space_up.png"); + let texture_dn = textureLoader.load("./assets/brain_space_down.png"); + let texture_rt = textureLoader.load("./assets/brain_space_right.png"); + let texture_lf = textureLoader.load("./assets/brain_space_left.png"); + + materialArray.push(new THREE.MeshBasicMaterial( { map: texture_ft })); + materialArray.push(new THREE.MeshBasicMaterial( { map: texture_bk })); + materialArray.push(new THREE.MeshBasicMaterial( { map: texture_up })); + materialArray.push(new THREE.MeshBasicMaterial( { map: texture_dn })); + materialArray.push(new THREE.MeshBasicMaterial( { map: texture_rt })); + materialArray.push(new THREE.MeshBasicMaterial( { map: texture_lf })); + + for (let i = 0; i < 6; i++) { + materialArray[i].side = THREE.BackSide; + } + let skyboxGeo = new THREE.BoxGeometry( 10000, 10000, 10000); + let skybox = new THREE.Mesh( skyboxGeo, materialArray ); + scene.add( skybox ); + + // pivot camera + camera_pivot = new THREE.Object3D() + Y_AXIS = new THREE.Vector3( 0, 1, 0 ); + scene.add( camera_pivot ); + camera_pivot.add( camera ); + camera.position.set( 500, 0, 0 ); + camera.lookAt( camera_pivot.position ); + + // renderer + var canvas = document.querySelector("canvas"); + renderer = new THREE.WebGLRenderer(); + document.getElementById("canvas").appendChild(renderer.domElement); + renderer.setSize( window.innerWidth, window.innerHeight ); + renderer.setClearColor(0xF0F0F0); + + // controls + //var controls = new THREE.OrbitControls(camera, renderer.domElement); + + + window.addEventListener( 'resize', onWindowResize, false ); + +} + +function animate() { + + camera_pivot.rotateOnAxis( Y_AXIS, 0.001 ); // radians + + renderer.render(scene, camera); + requestAnimationFrame(animate); +} + +function onWindowResize() { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + + renderer.setSize( window.innerWidth, window.innerHeight ); +} diff --git a/fancier/style.css b/fancier/style.css new file mode 100644 index 0000000..1c08128 --- /dev/null +++ b/fancier/style.css @@ -0,0 +1,89 @@ +html { + padding: 100px; + padding-top: 0; +} + +#canvas { + width: 100vw; + height: 100vh; + display: block; + position: fixed; + top: 0; + left: 0; + z-index: -9999; +} + +body { + font-family: 'Inter', sans-serif; + font-size: 14px; + font-weight: 300; + padding: 50px; + color:white; + /*width: 800px;*/ +} + +a { + color: #009ECE; + transition: all 0.5s ease; + border-bottom: 2px solid transparent; + text-decoration: none; +} + +a:hover { + color: #006666; + border-bottom: 2px solid #006666 +} + +.vid { + margin-left: auto; + margin-right: auto; + width: 800; +} + +.opener { + font: normal 20px/30px "Roboto", sans-serif, semi-expanded; + margin: 10px 10px 20px; + padding: 20px 20px 20px 20px; + background-color: #D6DBDF; +} + + +.title { + font: bold 36px/30px "Inter", sans-serif, semi-expanded; + background-color: #85929E; + padding: 20px 20px 10px 5px +} + +.toc-1{ + color:#009ECE; + outline:none; + border-bottom: 2px solid transparent; + margin: 10px 20px; +} +.toc-2{ + color:#009ECE; + font-size: 15px; + outline:none; + border-bottom: 2px solid transparent; + margin: 10px 40px ; +} + +.main-text { + font: normal 16px/18px "Roboto", sans-serif; + margin: 10px 20px 100px; + padding: 20px 20px 20px 20px; +} + +.block-container { + display: flex; + #background-color: #85929E; + flex-flow: row wrap; + justify-content: center; +} + +.block-container > div { + background-color: #f1f1f1; + color: black; + margin:10px; + padding: 10px; +} diff --git a/fancy/index.html b/fancy/index.html index 7500bce..a1ad658 100644 --- a/fancy/index.html +++ b/fancy/index.html @@ -3,7 +3,8 @@ <head> <title>WEBSITE</title> <link rel="stylesheet" href="style.css"> - <link rel="shortcut icon" href="./sample.jpg"> + <link rel="shortcut icon" href="../media/favicon.ico"> + <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;700;400&display=swap" rel="stylesheet"> </head> <body> hey hey. @@ -55,7 +56,7 @@ </xmp> </div> <div> - </b>should look like this:</b> + <b>should look like this:</b> <br><br><br><br> <h1>header 1</h1> <h2>header 2</h2> diff --git a/media/favicon.ico b/media/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d4b24dce4e11dc9e8a9264b59e790f9d0d87df56 GIT binary patch literal 822 zcmZ?rHDhJ~12YB&1`P%V1_3B$WRL)hGcYqSDC<EmM1X<e^T!XDj_$jBbpOReyYE~& z`{&Q^t0xa%I=uJNk-b-rAN>9M*S#wjE*#u_<>>y4NA`Yv|L*R^(`hPvnX3E=5{&KP zZohv0C^lC~mFGxP<jT{R`u6Q}UwlBkI77CYK#C&w)su%GTt1txEmou>mZiYi8{_lq z_s=Rjtvq%90u7-OGo|m}zD!9C&6H;^))mju5Wac(=-u<DlBHSGWmsbQ8CnADfBpVZ zU?80!%8(?+kfkp4?c0~`NY5BPhIBdB1PR7##|}Qfe`iWY<h0Dl{sjM3-SxkI|D0Zs zG%G7)c5cX&teEfLzipV<))((LEi-CjTG*qTSAYNd_4U)cZ=c?O{q+9ZmrsBH{rUIr z|AjMO&Yt}I=kNc&|NeaY^64vB_Uos2zkdC?fB9Ulo^+vsbfyY_SG3>%|NpDfPKz;Y z6=T?zA9dpY|Nj$`Lo$?kiw$M6btJBzK6d}onQV2zd=0@=Ddq_Y9(Qhim1o|e#&t-8 z=dcvRw#yek&&Ui+kz~r(6v|ZLyK(Bsy^E(alz6g~xD!MedZJvPJo=%`zC(fKfD+q5 z8HR1QZ+xGU?3W<IkfXwrD$jBK#Nmh6E>$_|xBD2^+G$M8i248j|Fq5<8a%tzxOR8f zUjG08|E$8)GE3D4SEFi2-P;#V{r&gn@9&?tFTZ+x@9qEpfByXa^Z)<fhxb3;zw_bW zzdyhK{`vX+`;Tv5!RYg^-@pF<|67-LNr`>8w&3m+3m*Lc|GhQDwZ+q@)yJgC&+hy8 zuM4YktL(H|yv%FdOzvDfyKn0=NroM&9EW5W_8Cd;fBx`Qg_UxO6id1+Tb_=@w{Kti z;(QZD7_ybQQ{>pMpE$gA&0{f!U79?H6<H2y3+;V)`(>@8R+b`njtXC~k=*xhUnV65 zr%E#yXbMBZ=hx3)=|QKY8FtDsZJ*S7<L}?E<qn2<TB7+n;w4sU-@bjBk`bAq%v)qA zn*$F2|NsAf`}%wDwkKzfzWV>~-=9CfpFg_y;{NRy_wPJ^c=z|8KW|?=eSYuOiwAd} K-M{_q>o)*gVYAZ! literal 0 HcmV?d00001 -- GitLab