From f2ee5a05fa14b3fcdb0884b6ea39a2add13bbbe7 Mon Sep 17 00:00:00 2001
From: ckloss <ckloss@fluid38.(none)>
Date: Thu, 10 Oct 2013 16:15:09 +0200
Subject: [PATCH] release version 2.3.8 on 2013-10-10_16-15-08

---
 doc/Eqs/model_C_part_1.png              | Bin 18342 -> 12830 bytes
 doc/Eqs/model_C_part_2.png              | Bin 24178 -> 5540 bytes
 doc/Eqs/model_b1.png                    | Bin 31067 -> 28056 bytes
 doc/Manual.pdf                          | Bin 6551336 -> 6551572 bytes
 doc/set.html                            |  10 ++
 doc/set.txt                             |  10 ++
 src/atom_vec_sphere.cpp                 |  14 ++
 src/atom_vec_sphere.h                   |   2 +
 src/atom_vec_sphere_w.cpp               |  46 ++++++
 src/comm.cpp                            | 103 +++++++++++---
 src/comm.h                              |   8 ++
 src/comm_I.h                            |  81 +++++++++++
 src/compute_erotate_sphere.cpp          |   7 +-
 src/compute_erotate_sphere.h            |   1 +
 src/compute_ke.cpp                      |   6 +-
 src/compute_ke.h                        |   1 +
 src/compute_ke_atom.cpp                 |   5 +-
 src/compute_ke_atom.h                   |   1 +
 src/domain.cpp                          |  39 +-----
 src/domain.h                            | 113 +++------------
 src/domain_I.h                          | 178 ++++++++++++++++++++++++
 src/domain_wedge_dummy.h                |  14 ++
 src/fix.h                               |   4 +-
 src/fix_cfd_coupling_force.cpp          |   2 +-
 src/fix_cfd_coupling_force_implicit.cpp | 126 +++++++++++++++--
 src/fix_cfd_coupling_force_implicit.h   |   5 +
 src/fix_contact_history.cpp             |   2 +-
 src/fix_heat_gran.cpp                   |   1 -
 src/fix_insert.cpp                      |   5 +-
 src/fix_massflow_mesh.cpp               |   2 +-
 src/fix_mesh.cpp                        |   4 +-
 src/fix_mesh_surface_stress.cpp         |  25 ++--
 src/fix_mesh_surface_stress_servo.cpp   |  16 +--
 src/fix_property_global.cpp             |   1 +
 src/lammps.cpp                          |   3 +-
 src/math_extra_liggghts.h               |   8 +-
 src/modify.cpp                          |   3 +
 src/modify.h                            |   1 +
 src/modify_liggghts.cpp                 |  16 ++-
 src/multi_node_mesh.h                   |   8 +-
 src/multi_node_mesh_I.h                 |  28 +++-
 src/neigh_gran.cpp                      |   2 +-
 src/neighbor.cpp                        |   7 +-
 src/pair_gran.cpp                       |   2 +-
 src/pair_gran_hooke.cpp                 |   2 +-
 src/pair_gran_hooke_history.cpp         |  13 +-
 src/pointers.h                          |   1 +
 src/region_wedge.cpp                    |  37 ++---
 src/region_wedge.h                      |   2 +-
 src/set.cpp                             |  35 ++++-
 src/set.h                               |   4 +
 src/surface_mesh_I.h                    |  45 +++---
 src/vector_liggghts.h                   |  29 +++-
 src/verlet_implicit.cpp                 |  39 +++---
 src/version_liggghts.h                  |   2 +-
 src/version_liggghts.txt                |   2 +-
 src/volume_mesh_I.h                     |   2 +-
 57 files changed, 844 insertions(+), 279 deletions(-)
 create mode 100644 src/atom_vec_sphere_w.cpp
 create mode 100644 src/comm_I.h
 create mode 100644 src/domain_I.h

diff --git a/doc/Eqs/model_C_part_1.png b/doc/Eqs/model_C_part_1.png
index 6a18bdedafe93a7bcb68cbc7e64a4bf77a0e7280..ec6e131607758f8c8bbabe4465374016e01a4dd7 100644
GIT binary patch
delta 11838
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
VF7WcWF)%PNc)I$ztaD0e0sxl_zCi#0

delta 17393
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
Z*>n_QRNXpF85kHCJYD@<);T3K0RUVewS52p

diff --git a/doc/Eqs/model_C_part_2.png b/doc/Eqs/model_C_part_2.png
index 2bd4c4b89db12a24f911968a073a739b81c311c5..e8030e83f9fc05a514617347936f32051dfdcf71 100644
GIT binary patch
delta 4490
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
F1ORo*xds3L

delta 23275
zcmZ3Y{b>)QVrPJ#J1>_M7Xt$WucwDg5Ca3FA_D`X7Y7>y14EGB%chNr?kx2V44y8I
zAr*{o=d$k*alO{&s>0cnzz{fb!3@z--;N@|&DrNHf4`pfSSyXS*l%@qpTxD$o2Kg?
zGP#|ZVOZcQaD+oGWXk`)&%*d^ZSUIJ7N@^EbI0;|<-V1xiv5-bUtPX>Rdrg_*_p=a
za*LmBcF^v)b*s7TLHL{h-k-1LnT9s8*3V$-zSK9b=kM&P7v>dhPrO%TzF^v`^iR6}
z_3_N{jqeZGCCL5YZ{B`DJb~+n&>p6L{+|>M-j}Z7TgLqKC(9hkE1OH6Mm7{?d9R+w
zygfAT^{LB?!nO%z)g3k#Y!7~|nNa!We`6HGdeejA4&^7AAKrJ7@O<&z$wE+ub)9p4
z*^*85oLa}2dTtv?88g)!osqdFdtQ!e$UMyrW>@Q8S}K?}{*Y&p*W}xp$&+Mn?ows-
za~<2Wh9uumNhg^LleVNtU!T?Lc|KfHS36((45#VlzcVYM`uJHEJFmKS%I(T>LyrGT
zdh$HVn4h<2OKf-2Ens~6Y1<7e={Io;-{xFPn<<<XR$sha>#|lxUBG;=)H;<Sr<98+
zc30QVGxFXL;u_T;eca6?hbwv6;TQR_%Hpd}95X9koMU<84BPTuR^h38x&Jygd%LV_
znQ^B1;?K^Lf4b}!AJx9j)H8G2b@j&FSncIPS*F>39Lh6<i#9J3VVwMa{gmDIKV)8P
z{IfNIV@98F<$QyBkB!=jr!FV|y?mhTV9&I58Qe0yuk(`5)R(NCA{-?+L--KKvz9w+
zG}0P2U#R=<wLwwh)RWn4-sz6zjim?c9V9CKG8DgvE8OR2TsqnFwSv_N{uPm%f^-g8
zd|RR`ZIBlI^Onikqh~o2Ijn_0o$XO_YY)EWm{4u0FxC5q^ufsv+VzX71l*zwEB$vF
zZA<Za_H=@-yCwfm<3sV>Is9c`KI_IAidpned-3d{`q~zkXDtRzmJ6@MXxw8zm*DGl
z`QQICnPcsZllCrG{K{CT)wxgZvVYm8Ey9a@)~?ZGJ8n7CUc%v#Qo)M(Gfn(1ayO(O
zO!NFaBhH9BA$acn+QU2c37<%;_dAg;aJw&&NA2`Gmff1KHv3L`Au}Z}b&~CaV7sY1
z=KS7kH&1-6@}lWi?tPX}T(~V|udL0-e=hSB?u+z4Z2j=h^LJ?a-s7i@bK3Wv(~|mh
zCjFJ6Sb|SUZY=9O#kw$u($MMKrV6wfs9&*=J|^&DW9B};7yh4m@^zG+o)J@6CwjEr
zKVi-B@Dnaqj@k*>EGpqS$;r!DyTsXUZ|H8}8%{436yJ0E>mTgpJ2h!ZVN(3!=l1J8
zCY>!Qihf`aQo{Blt7Fx(S#eP&>Meq2I1^d)j+|t13eK$Ly1@8_d&){<1^czmi<nn@
zH+Fth<g{ptu+o*V*D9wbALd?cHDmLE(}_-xP3!lw?l8=_y_Q`ly8UWjjnJRdj^&Sj
zy_yns#nk)rwVd<bmp`(`Zd~6kvi@rCia7Z*dk;HEA7#Gs;8N{`e6N`J_Z7wq9{cBc
zJc=z~`n9|{y7Bu}hW&AFGIOUMT<Q=%Z>#fLp4TRphD}0ST>BQS^jq*T-ok5T*pFu|
zUDlWGX+5j1uiqH+B&zV$-Ff*9<#JoZ&OI&PKd-wwHAA&T$>Q?I#Z6W$zdpUT*La_E
zNch116~&o{0-Tnetk<!SJJBf1+tZc6n6rBJA)RANdwu!Ex_#0MnpQm9p7N|kO5G{Y
zZf49crdQn#`iqu!cxtjQEN@GBeg5K1=KR!0_ojz-rcHR>Vs)^7uf*5+#!L3GJUwwy
zhp*4cpU*G)^m>jhrMDwqa;$2u=ihbdHsg&jK4p`s68ty+*nMz{iG1-g+xlKv?MjQg
zQ4^m2(d6e@R@~=%V3R}nmy-|beG+1G+!(nN*6-Wk);Rm%bcbz|g)hB&9PhB2UzX)R
zuk<;EGYX%!H+|%;;P|;t@=(14(^ck#mz-ysUMy2HwOPBsj+OoJ?nZ-27i4=j$gOF}
zyCHpNVx_Oab*3AI^+8dMS)q$R3g2z?<<IXit6Q{u_Ay<D;w8!#d>zbZo<DH&g}q}$
zvB=97gBwv1kCO~|W7y-EjAqUI(8Dn6OLfwY^PIgkVh75i{;uJB)^L5}#5c=|>lNlo
zu4TB_BEJ2QCDYuAFKT=xJg0o;Z_!?~y>U5<f8R^D370o6sJ5>9dt(2*>Gz#BI}}GN
zoaQt%+<I##%L_dn_0Rhg7GKC@f1i0ldQD^ByB}_6a~O|3j9T@k<L~#6tJ=QH6xN#O
zR?GXB-;;mn`~BlCf%#lplrATJd)iWF_C)eT{h_qY2lo7%HKQX+$&ROtxzy*B4!cV2
zkNrX!D|cG#kdl~soQXeZ?Y5JeNq_hhFG<Q=IpMi>U&-ML_8#YTqO;s@rIj-*esEpT
z>-Y(s3va|c*0;>)xOF-!==Gi?XPL7vV%932W+~Zn{%!BSB{9F$^!Kq!G#}O|bzSiG
zWB-GiV@`?nvo7pxJCc<ko-*H?!CyOWu75`9lBt(jTintb)3!I<=bY>G_VB^2J|4br
z<{WXkw#rjK<*mP*Z^mM-tqjSfHolkh1Jf;5aOJKuUEQWL;Z~oaWA(-Ky)jFd8>K(L
zSpTwn%Ka5ix(9w_&H2i5RwkgeFHqN9`)P~80m}upJLY%JI$y8&`OvwFTc;#L*RlF7
z%PbGe`@AM~Yfj_O9p0}te$+e1q5RpTtz2W(@gKfww>B}fu3@ryJ|ll-71I~DeKWHh
z{tLZX^nSYNTnS^_)M!o-t2E=x+tIH1Gejdy#V$O260ksBqv}y8zmVW$|ND314r%s#
zPtn{y>7MVUn;{E@f2rTvTF*PVs_fmWEceABd?z9cY@Ozsi&~`_pV-~2eY#0%OT(NC
z4A<X(tn|C48?#TJV{@3iMf1E5@oen@@09(_%^dvS%W=AeCNUm+6F5stVkRrsriM8e
zl=PO%ZGY}uZSgdFMn{#gg-6ssdzLs(E-lsG#d~ILyAf+q?O>MVVSgrV`t<t46>t5y
z`xt-DbIhuX^Pg{WFLTizN0m>uO&-tJA2`ADYsK2a(1~oHgBCQNeSY!JtrxGeWr7?3
zor>^&wMtnnF<i>F{;KJoFTB^zw};%BHtpl3h?f!y_t(y!Ghv_2pUL-2rYuk9c>k~~
zK4k4j`<IK?om{1~w#BYY*Uv<PXO7JD?@9Hu<9?nma#*qAj@gMl?myOb{b;E1Ubrwf
z?sdgkkC*)(d5iCDm>L<Tc4c3)ri5q)<FPgJk>;#Ft=QJP-QD~CgHWMjmA$h5Ew0{A
zC45$@>-;89y~k7}*3Vdbuqd>?)Ms6-$9l#sYo!i0RGxe0ajCg+-`CY|!`LR~8%sDJ
zcy;8fYW<nn#v+e|qh@|#Z}rQ#`*O;6{)8(wVlUiGPd7Ln&q@1iaye^d2=|hEGmb^R
z@Y|vu!N2??)62b`uP?rIKC;!xYSNCnt@-MYlpFU+6=)^0DPDhEXQ}fy>p|&}-vZZT
zFP+dy5HsLzi8@g16g#1h@mBGAX20W=GOja}WKPAp*s-(MHyoaLceW6V-G#}AFP`pu
z&!}6h@ATctNqKWaq{0!V7~}Fo_hkOaDV>|XbnV+sKhw0f@7tFAE9?(X&%*DvCD)Ak
z&Zz9|bV*RSAr!+s&H1~uQ!S&>*O1;X;a=Sx_6r4Wo@0p;y}N8n;1<>mQ@0szN-bZo
z_H4wPjN6_(7cX^gygs>pP45AQ1<C!(CiR7`>I>3VtY2;DlYXhW;oj$oiT7ClGu<vM
z>{0g-teP&oljmM~-&DQ{ww_M;`mg6Z-WC=+eBkA$=pdHgJd5pbJ<C#h^&s^AN3CPA
z6BqS-+RE_w;zXP7#`hBKS9s0u8%=r@eEsf=SM2Yys<uyf+H#1eW8;^tJ+tc#uNge5
zvMS@a(YR$#1)JhK*2RoDoqr53nG48GS(wtP!=0dRyR=#~I#)(S$(rw;M2hI|bD<l~
zUY%C<`J2+MyPP%rTbM6gj+NEC;}j9HXx~!J53U!cf2!vY>#H&R5#0P|+6=$k<3c4q
zx0@#$o(XW04f)O}-C!`u=Zna%--219^{FDsjBmEsJYsdM4dA^w>w_MfI#aQeBeSSt
zZ?E|B8514sJttSOGR#}o`})AyBVW&Jv<vC0&2>o(cehxecw*kNduJzPhhJQz`7$}Q
zGUsB{0{sgIzZNI8OyJv5dXa~H|Dx$u>RcC%uf=d*+4<td&NU@I!a*k63^$w?ig3_g
zuy|(uYEAYfpE}R0S@67IJgsQaqRY|kG-au{-gf42HxZ3U?GJS=dt5h8&O2UpA=`G+
z^}E0F*j`)|OKmkOZ}Y5__x+)Lq4Glhzh?^7EnC9o#@=mxC?371Q|!RLsE--HO&MR9
zU%mfXyz`ILrF!P?3b)VdYn%AZ{M9~XzJ~wmg*s0E#OlxZo%o%~8Li;VJYljy+qo9L
z^D8sBDx(`Xms`ilp7`}T!)5Km*NO*=dm7)JaXY%*!M#f)j5)fAN8P1LNFbB_LQ0a)
zSCNwP1-cbtito9KQwxfxZD=(TvRo*3>wDV!X|ofS2Y*a*I9+48!1|!l0=XAo*>ta(
zGCpm%#caDahVx&&aZ6R|BOjSbxn~Vr3^}4-eVvl5>3yGXhw_p$tup?rmnK~(6e&{w
z>i3;%aoySW(t~>vL>E+kWd9?}`Jcsq!GGbzZk1xEvnFeNRy<wts@|b};_($x71_df
zR$G`v$)B)me?QlL4ukjPV)YMEi*JOv+*r7x<*a_UX2AQ?owI6K4%Y8@WxL_;K?czm
z%4_SYc79o=_h(80=K|3UbAq~;x}-blZu@@rilN&4c^dmTj~PDP{yn_=P3fhgfW+sH
z{RgKDM|ISEV^VI*@Jq_sB6@ArXXg!4$sfFfUoGEbeDeO}BECK?_PN_9yu7<Bb#ciN
zcmM0_!j6UdNBxtWdXH(><yVFuGV2vXzqWi=`m9-@ur@U7m6AgmpT?1br74BI+16{8
zhgT&A?!R_3gnbLc(-#fDYXrQmtXw<)T=T2LA`|o(|1n>gw&QAa#J8@eGljK2UNA`f
z71YY7bU#^X|LgU9H@TMVZmzPwfAqi84bCgOx3HegX0+taZErKmi{eZbe5`II_hy!A
z{h72Aj4yNCZ?Dl<<-A~Rxa|q0PkwDX*)!PZoex?O)HauMYTbh^e<y9Ow^_1Ev2VH+
zKi7%ZF}v&zY)|RbZ3w>EuT`R9)4^Tu6jA!(Ma}b~4dOpKzSO>WC1BY-p|qjW<c5Lw
zjFT&hPyX^LbMsoAY`JQK<>ZACx}4FRQ|p#|+2UL;QubVmsa~uil8bSbvMuu-!3WWs
zTEq?{zA)SyrpvroX2R;Y=-0vry%Quin072`7I<OW{e7{B%>KR)&R>=td*S)Kwq)7y
z7a>zm%n5kezIyX&rNc7~ZkC#_X13!0HFe3qI?w+6(ibZ}cYJNwr$24q?nCy%^8!0{
z8fvdEdy(8&mt1dsSWsd2wRqi6$p=g-ew8(7n3nZk+&TYAw)d-wf_E`_WjwZX+1GNs
z`Wy74%HW~;-5qX+?+eah`^FerD;r+=_^)#C!H@nix3{eNcv(%w<l~nwt|kIC^Sey<
zomlo+!C&q85>Bn>DIrYU3HSer{4U?1drmcZ&4ibC^j<wY(0sz=Sbg(_$->;1?iqaX
zH<L79xIiegcYmJGR|VH8%hgk&W-je05m#E>Y<fWDlui2v`5nR`x-*5f{$9B2COYfD
z>Z(w~nIhMPVwW6tyQufzVMxxr%DRF?ueLh(OHse(KmQ>na*^rAcJ`yTO#2v?Puh2&
z{q%#EvFpA&iaq4m614XU=axsF^}?wymK6#~OiXigzrr>#?x}}ulX^g0{!-O%za09q
z@?XiSvwe}c(Ys5`d+DkVhxwLy+hq7m`{*;FdF8VtC*O>_g|{2-HmE)4`><P}uIb(N
zma4>$#ueehcUuFrmG1uZYy5A#Fi=ppq1IGv*M#Y19a?|aXfW3Nz0&^VcHq3aS&!?3
zm+#hon7$;w<mHYBk}dn2@}?|2{xiMl^~u+3`#hJ`-H!E-v=2CRagkok41;9umzp6}
z8T#60mpOKJE`9pdMQ!3eTTj71aV}rZt3+K&7ua;q;FjWV1LuU!MUf2BuTM@5Te$PZ
z{hq^TG*nMb6t<F$X}vdbNwi?S^o#E|pC%LuMb=+)^2|T}I;~jvr`k_r#p%Y?!v7Y^
z$<K>ZwP1VEdQIN8&b0Me%c{&RYu1WpGtN1vWa8)N9Q|I^QPzU-_=3&z773KrcsYs(
zJo~COVT;V%ynrg<djF5BCcg1mA?1GdR!pJT0nQrN#d*wD`!9Pv6)}(znY?9F)@$v6
zzVx~Yg<?<ZCx^RU33CcH^tpB-YXbwf@Z9e&8Gf6$TBzBc)RGGP$0bsxdm-4+_Rb9%
z85djLmQe3!Evw32ta&&!gHh&a^Oo%B4a(;pHYRPK`04Ato3|3Up6(BS^XYWpJj;be
z5qDqZY!o}-dBSlH@0Z^fbRR{(TPmkh?6h>-hN<~t2HZ!Y4)E14OFo<Iw7DU2!4)wB
z^^h#?=$~nfn;q7$p5Z(?>v#)@y;3*9Z^ad{ZJ*9Er8P!y&k*i1?dJrsgQ5@230SF{
z^K>@r8K#Y52I?Z&a>BD%&oC|B)?m3XDEh`JbM6_eNxBJs8rN*pOt@#TdgU^rSU)GA
zeoduMhL{2Olv_;SKCfH4t-$4H&Ba1Z7h4B&gYNfMcHH@nkAB%o{S`Sf-{JA%`SO36
zE3f&NFIs=!;F|sJb8M%S?_PW1r)IKBh})oV7PEOXv&8N%>+`}qKhM776U}LQvxQZ>
zK*#btYkyO7jOK0OSI@1!2Cx6M_vQJ6rVkPX-1gQd#4$c8`La0bKl9;+z|u&E{kHpf
zUxde=)$_}K8~x?z#$?B(1?)0T$I=h{FJ%9-Je;HE?}@*O56XW0uK2S;;P3Sbce~%U
z23j3k@560S_N#v9MhE+=tM*HO`d7HrNIIq|?55WW7PqsDPkf!5SF3P-x!&H0hWS%d
zgw}Hg|Ibe4)2KgfHT7)5n=Nzgg!jCPnpM1KZd^Cl8P2KY7F&g8burHr$T;RQ{hjcG
zbd{M$tc<1j`c4Z(EQ-=8;NaaW{z5&`^;wJ5+l2XN6B%VZs$WI2_wcPeU+lE^Lig@K
z8Q-|voBMb*4@ZdRFdhs2FT7232WJJp>>19`4>PuQEHnH#jipMdUTqTdB;{4?j#&jg
z+ghrAO?91eS^8O(#e&_NT8^z?<9@O5$jYAkGKXfBIYph5o_d4HqDOXxQ+>d9iyzG;
z;)miJSJ-`h`8y%5uD|bJWpMwSYGzwi?n|l$tA4GIYm!|x)g*bhSnc1*h2PFKo#DKC
z>cRBI^L;Gl-h9KoCF`e8Zo~KbdY0#nnIG&#^jo&5M)Q7Qtg4!%_UXOTqtH*U0`~=q
zMmB7`{OwoHhW7P0FUQ=8R{iawYcExP@4~0*_(yU^5BU~!1vmVY)_U3yGxfjP8!orq
zB@qwia-ZZ}+G(`a%1R(+PMT2Ten|`N80Ihe3s{AJx^DB*yV0~!(o|h8$?iwISN)eT
zr@I@g&&EzRz5ejV%Rm>!$(f2>m%TIc4Ij#Ji|pOweVzTszm#V06br?QD95>eGxuBX
z6t8huVtqqAL;JeOrEMSQEfYzo+^l<G&V|_*t((4BC;FW(b}IT~wPBs+rrmS%cg$2-
zJ^7Em#u2^q4<)`F+w9&h5Xq2nRd|VFU!c55{f|qL+KRW#Id+~Ciu>|%>7ox(6ISmN
zcajMSunqrZCvxxP(v(kobPeXncsKnw3JaY1wI!!&$_CX>+&gbXEs_nYee|ey?#YFr
zUW#Qu4HG2xw&_<bGCc8Pitw*VzqV9$F5*#l+5Kh78=nQv??4s&e$G6hi+Z+ZW?G9_
zCG77$h^lYis@zp8`|py2-;1>zbHz^TJxR)**!IEdD67TcZgaz!X@B-Nng4leAZa}z
zj@{<X^Y$asGWms{UUaWiZ+gA>R=Z#Q6WfCskD@MZcP{5jOj3$ZpCYa_|2c#3bJL?4
z+zH{j)g=;p^|$?1^br>Ao%+1xP)L-{`8feE+rr*6)E-z;|64cUsKceV4tsz2>^m#6
zK-|XslT72ew`NSt7bN{8T%%(DGHzpGcCbEmZ$iQK6`lP$zAxmwoYKX(h2p2#L@#d@
z%Us3!ZDE7^#+Cb~$hh9yIU&r+)V0hYcGttY*^9OcaZNhc<#OJf?Q@Q!MA@;=#x?JA
z9PTf%zxL9dwUnd8d~bc%$vV>u)h<P4>J1TxUgoqm)%m5cJXB85uJEloBo>{>%eirJ
zoSCga%>2c-pS2W8oH+6``hnM`HAhsgymHc>ckO}GqI+fUqc2%`ygPDK{;SF9Xx@`6
zeS$0vO(bS+%Z~q1Qm431{BcpB{-?W-rj(>Dv@W|7YaL!`s-K>7yUEv}{z$}v*^PDT
zT2n5(?pm;3c%9EK-xW#RsmK0JVLvwEVTr)1)V&_;*^jO^N6*-?@ON~ITLi;zS^ou{
z7JNEfB@ceD;x;wh8fwjLU3Gt!y5;l}_LD;DH;7r?%4!v=I;}8+fo<XUJ<D0*`@H>6
zmwm0+>GUZh`iF33*_ox;p9;7W4y)ErxWoG;xwz?A)b(?GH@<owGFiCVa-re1m<!qB
zR!S59y?!C*dgGDi70$#Nl`nt(XViWApE2)<!hOM4hc3<iTeD!fz4c*v-wcsN#y3ly
zPky`Mxq6bx!8~UDAM5<1)^S*!7W~t3?+K5iLgT%%4eywvLYHo9_z<S>SMNgNi`*8=
zPMi8&3?}E)CqI8RN7Cn@P5=vc#-&sN;XwZ|Ii{$OR}3Xf&3%Pm=6lNY#8n?U&UwA{
zds@^%B}uUZX2l6977CgN`br)A)ZYp23$dBynZlO(>->U}3pR3ho@yF~X$!}*?ln0-
zdFKcHmbngly`vMvG<LFXdE_ZPxkOV)pTTyO?4gwUvjq;BM~|H_XfkuqR$crlDuL&!
zfBK)WKx2+_wHpFCXC<<%A6!gzdFQfk<8h9b(k1(uq8ue>vd%in^zyBQaIm(#<$^kg
z^3xZJx$0M+_-ys^>VZ`+Ua!jzQR6lcvt98kLSebF?28Fj$*gVXc6~5s|E0Kf&208h
z$0z=6$WeDv-dyjnIpV;6+1+hYrRsmJCmSqhE?PU=LqmOwoq_t3o}j)4!`W_o)sJ26
zJ=bj^wX%fs)xr7l_Y?|B0@5-!J80^HM!XoWFPXHrQSS7!VuhEs8!yJ*SYf5JfSt>K
z<;tGl8U@?4zX`SkAM}{M?SRe&9kCB#PKQ_eZa;B*NA$lr?q|E}E$>EFJ~6y%6v@!O
zSvA!Dm_+q+7yF6VW?u~#%+mR);AEq`*<o{}Lti@Q0_KdP*As>I`OKI+W5=cIr&dbe
z=&#u>B-X02OP%#C%a=S?MU~|h!nvR9b+wkv5u48*{o2)XulSPhA+vm@ESJ9RxWKuw
z^{?l?`pa@>Jr_%DXiz&7pitj#B)o@d(xp!trx-hrnXx^b@8h#~*Sh@P>hcE#M|Z~f
zCfuDl`%w$mS?lehrUJ=6U*ZA`J)>)K&zBwx;mGWc&$#FGYO_u1wuU(uy4LaL8z`2F
zdwE$!3+#2?=P$MR=6s6<`wHw?emAZ79xQNHHT<4uvE|a<i*CMEd#5Fc<T0+TpCYtZ
zwtrq&NP3HSaE)H_^6M@wH7~<&y_%c3>~qk(dy_AhUJQCs{VVd~aaE&j-<P=f?-CMZ
zUOII$-zL}Trfd`EPo5~lAlGq4W4}YK<=Q`ISKJW0<8<0@?UrkXyjvetNxwLHv&QqY
z?bo<ag~u9~yjd%*&as(tY_-3rcahV*>FS^BKTeBceW}e_75uAA!1LWXiPge0cg|$l
z^3iIQP|vCpOg*#Xyd##(@LhJM@u<%EQ>StnEf<#0iTZx$)ym_$tk&=3c;UL^ujG~s
z#d7b0tfVhAyn4EQJBP4vW$C>VCXFvK?tEWaUR|}E9%vlZu<`OLm(`D*&X;a+y>x!!
zo{K$ax2-x=pTTIk@OXpFDJ!1^*Le2*6ZfuuW87Gm<#hkWUXFjqTNY_IoU8nj9Jx@q
z_0O+kKR62bEm})#cZm!5d&MvMVIQzU_)_r3nmALBTY8sI=Q7Ua%zQKJQOmL?>yDX3
zb+HD;-#*|u$F<#$y-4T#B)iTZhmYJ>*K04avyhv^-p90Cxw?LW!ITr9{aMr(F1~*z
zaF6}RT>+`dpf+SCcfsBldqUHLe%h#bJ?HPNIlDFdqIt^N7MJwq)Ptor5||RprT*C^
zzPf$y!<J8#LM4pZ3f27vQ!ZS6_0q9qUnv(eXKA{L5%&z%qUZ++Atj6TOH?J-JS>p-
z&ugTuIrksaYN=M{o73wbcq}L{S;w}B(INlVtJWjcM+FwHE|#`^_Q&KX$4>|M_O{Ch
zx4p2HS(KzRpLIjH`=r-Rat_hA(l^ZJ``?>&fT?G{7^^(vTa&moje5&>y;$24#A#Kh
zJu!Oj=NFza>8@6%FIL;lXSUDeE?+TUP-uPg^3<m@1ZHmBq<ew?T9|`heErAXhCoT(
z16vmqM)00td|%XC6L9F+8_%2buS{Z|r2CxLSi|iH*Ngei>I}AjFNwX@sLZm|C=h;m
z^Ta;R)9)W&6%4n$|Fc4@cLPJ26#o{H>#-lq7t9YksgU#E{K48F<CJL{^H?_&hA)`9
z|DJrbOh)T3ragrTrH@=yPhHu%VsnIT{e_cCPna9Z<aPUuwj~GdUHti0(O1S@1|<P&
zMJLrcpQui9Gn#$kyWSo33)W`QS#vbF6Skk9;Cm?V_3zRLuP+4Mzdkwn{ssNb6(4mP
zW^Q$^;F;4kH~yPf+x_V~F3BGFb>iNK6klG=>hx0<vy9l;PCG5TF1L)a_GiWR1$%B?
zUZ}mWeuAIvtBPFCbjG)l#g+<lGuJS@Y7BJZHhB2tO?Bf%#mKO>>%2Xj6D3zyh~1dG
zC@!&Yx$J~4wY9T1&J%h4=ABo7kCa>DVP&ou={oTV7w2)@U6rg}>J)YI4RascX+w#H
z?Pp>f?l!!;w&-j_n9tV(8ar9rEUx~Vpwle-{-(gpja~KWjA!poo_WfujN{VdK0}V5
zha3|XGf!Q#d@w&I{N7o+2%m1b?>)^g6VC57Id;+PO_{!|Skj4oAMUgN7M?!YN^*|#
zy_qd;f?@~4tnx2EeD0EC+8p5bqI^QB9E<<tK<$gu8v<YI7#tT}%luLy)B4TCu;2f-
z96xVv)5^0j-Eo~lZ~gALO3C+^bhSL5v<Q8RXg~k>z^er50z2`mxh-yrVh4VfwACuU
zV3cEGKY01KOp(*$4R_DCREa)vYkJxcwl->7J^#Eme}nUnU%2W%R5jN+!xZ)NbrXN|
zNBxIgQx?y9^@x?d=W&2hw%(uH+AML|kCr!o>s#(zXu13I-5vI4ci6wIPYIP5Im?+S
zV!5!V`O2#8ew|haTweKI{F=a1c026qfysxb8DE+_W6Ni^I)%)W;ffX9F>L2$`g?+u
z4(*E%`ob!BH2?h%|3%9!?}u1TWpWFcw*A+oo0IohEnPcv-FZ_-_5$-C{1f8dRO)<M
zwP=y$!d0(IC8bY4xfJVn&TX6hrR=VHHN{OEmuzSIDtBKzt5s!{f9);z&Cv}XU-~R%
zZ<>D~&^MRiDen><+m;>b5n`7WOF4Sax%ri;?<sGpI#KFzPq@VKUsgaIZ)UO6S$nVc
zfTvauIMmLrZ+!Lji}ouU4?mA+libSQQ^}3RE6W@g<TKPnw5Yw%d0}(vm-4bTRw?m}
z^?Tn5xw#*{BVNMP-MDJ;6940?)+LMHdGI*)_7*9wNiw~1ys!OctGz3eTF%?>FFcN)
zvuD;#rk;c6LU!8Um}gj_v#RO~AH#aawH3;oJNfpOUfyZz#VI?N^QBFON$Ilf*>$xy
ztS<a>v8t;xJ$jbY^l^sa%CJSd?m4Xg@Bb~lca41gOI61kDVHh(!UOohCiiaho!;mx
zvEBX9D);od0@h9YnQiCX)blxi{IZsZ{Y2sN;EP>5Wmm8-beVhW>>Bo0&Z4UtGW}Lm
zvaj5~TJO#2&M4N-S6>f4`PA<_w<4hS)#X~2l0Qn_;wPDIR8)5D63gj1TyaiYY~Q|X
z7q58>=ke9AV^O!5xBXG+$(@bb!F|5|c8^z_<9wYw<zJIe^u`Ud!+o}$68x!N^>oXs
zr`wLq-jewHH}A`DIUn}C{&&^R_{GZPW0eBJKMN{mHMps6VlaE>dGUJV+X9F8tg9}1
zxv^i>bo$3|VOxgC42ElJ{})U#_?;}V=Jdt?s?k#pO8R73RlThL=`=H%X>FJ7rL);q
z5uE>CKHyqV6YBh|Wmfr$dqr3OzFR-d^YZj9`z+VLZ~5yImCpF9Z=U<DzL$3whS)vX
z^?9x5Exwhu+@h98j>T#O)pPAsFPkS3w5M*x`_~Hc^Umez75;hLRAhc__M!jo0nhvw
zFV8O4H8}S8@Z~u-y0!kSXS-5=@bWaDbFXro_Qrn^*fq;I)G=#MpmAh_=c4#kHFI9I
zHD!nBzFf+Ajw!#vz9A$0f&Gqat`l};@9L}&d}-Vm$f?uNTgvy@AcEtL+pYL+zByZk
zK3X&FkNJ4}pk+e#C%wZv>Q$C0&y|d2e$U=7D0qtV<*zUHt=1F2Je_BkdRlWWdwpAA
zT$Z()1@ph@AIexBJ06{Ex$v3%qPr_TMX8<AZ81LJ|3G2E(*I{an4YXlGrH^b;^IY@
zb?#+`3-ttapB{d9Zr;9D-^~qgY%JUb|MyHXHrp(rox6Oik)@c7R%}JLa1Q@3ZCUpz
zhSGndFGfx+U_BIj;P;1kr7s!0N>%<ZIQtvx*UecXSCC;ED>~)Ha+_6))I+a%sCDPq
zFF!RaR`_gc#uuiA+x8SLxqs)<Z|j9Fl2NX{Oi^xMoxW#R>^gWxsZJ=-&ndproZ0rk
z{}bjn=W}k%^NV8Def9C-THlyHt*_M|<@Qf<j^>=2Su(@oS;MK6-!WH>Op4@ul}`O&
zYcJq#m8oa@;#~4y;f`=d=;V$&GL<@Rk*gQ*GZn4fV$aOa`a^W~mZ<?p`Fc&)+|q4$
z{L)=sts(zFY(kvO>A)6O#Z&Sgj@yIMvZ~#q^zH4Kx3!6Xlky0BrCX->tfebAQ2V^j
zgUt+m59=mbsr=*pa@aB@XJySQR#(k>3CXRsbJ(7=oLf}ix5{F|vbCB<>Q5pMIc;{}
z)M=Rf;ao=E0ZW;fCasbOYn?OJZmQFB{kc@{GGwsp`X1H-q36jgw$uLadDbhK#8B*{
z=w>)A@_^2T8nFx9fo^Gxpy9L}&~TdB<>;dzu1<pAiD!+G2Xq3$xMv7!t^T>TXmdm4
zfjJY-)`JzV0Vxjq9Q_oe*ivyeGicl`5;X3%=GpdBXPMF%i=E8a&oHGmZi+fECm`}{
z{#4MI+q0G&z8S1%m{PYkST5W&>%Nvb_YBrEoHu0*xM#4Q%3>^bN;TadnkQz!Jwtet
zC1@sc%2lRkEvK^TR^I_lOsc08*B{VH5Yt%AdWLiA)jvzu&Y3T2EA&F%N}01VyFf8Q
zDd;4N>sE$s?>N>m$#z8*2y-vC{WX8{BH^QPykdP?6?QFi1;4TGZ@B63|G|p-pI73~
z^gS;xJbGH;(;5zEzMN^?&(-HNto!G?MXA$F-|27_)7Rko?Q8zWWOGMderL|Pxx=QO
zIbqfR{Y)=kvmd?h_`m#6m)fm$_5a@ZM9)8e@q+XO`>wb}^^FT+{_bA>&o-%afv2|g
ztNrWWE$ZRtjAps$AIm<w;cSDR!rAh(&FTmL`p#s2^0)KTS8)er&T^HxrM-&TVT)v=
z10J%rFlY3CFMo10>u{<_34dz7|4rk=T(TUWtLi@(UXcI9xw!G4_FnCo&p4U>O??op
z5c~K2*SQHV7sRP9&AcDqsJCOK!`pwtHe4wRmWz7o4qc9Y6}F(>U_u@94oMx6D{Hry
z<lf=1;SSobD0kKF$uIWvs~111v#Tn4u)W#5VNO8xNyWPxzOnww*ZsR-_rI@-ho@bg
zwv2x_qh-ih-ul1OYgXBJH3udzMcjNWE){gl@WCUe&*Iwhxfjm5m_PD-a3E>wYyI}3
z?X3JiD&uTyBLi;8WrX>DYbjK$N^d;wc-&&I*W`=$k{f^hjG44;VY&1U)-9fk;`3y0
zt*n1KhhtiQHutAGhsk-37Pco9)^e0wzUV5M#s1?p^Ib>%)1h(oOHXC)4%_ve@n-7R
z4P}Ssi@%5uOzpQzwDPQ6w`MyhyV}`cF56erFUxX&`R?+ndbiUn#ru*EHmullqU7>@
zU5)S73$F%T==sfi<lfl{uit&wc_E~;;nL+TmDUUD>gKFo`yxZ~pU4dT>3K^}WWLsX
za4+WV#J&>Y7nx02emwpQs`;zxH@%J8Su$H|IbZJNuCk9o*P0x}ABkMBURQf!I`gaL
z+cv(;UNONU^$lN~j!M4ar-1E!l6FkZA#z_7EY$9AI=T2U-&?(Zl2gTR?s{N6;o*}@
zY%Ui>SBM@G3S`~cHm~vAwnD3^T8r=gw74yOF@AB-Z=oFV+^a2@zExxdJo8t+ZeLb^
zYU7s=pPLJxG#`Bbz+Ry&d-<LV=Nu+lH>HYN`^t(pJnjnAdzw+YICSs1v}?XWYE|zU
zzm~pK`4wpO<T`Kc>Q%gpO1w@kzxSWHzoJy&dgXhQ3B|2%o(6JMTCd#u_fLY%-tvQX
zb^CheE6unsIP>MCy|FVy3wCTV@p;=We@ZBfeR2Ik)6KjO9|ig@o8LU)uakXz_obB%
z|DJ8}O#YSAx9x4~AJ$*XPKtSb*>BC1>-%I4pR2j)Wv8jnjY|8JZf!8sc)9$XVN245
zmm-@qcTCIMH)Df??6K}ySHfTYo@%sZ@9p?jQ+2~*Z&$t#S#Y(uE2DqT5n+epVm~Kr
zd%Wmkuj7;DVNvyxwR6oE+<I_nFLO=(CnX{EACgx^j-RlctJ}O-^r)l*bBOO2=3ZG}
z`K>yA$}eq&mp8o8*`Tqb?~~f|3tx}e?>>=qu1#)#lJl*dBE8m}f0*2!Tnt#hJ}T5~
z>bzwPwsW)ctmbf)nyqrqw4dwwh$Cn5<BlaN>R%*NYo{qU|FY`XRKL5TD$s95|MCa?
zCwCaX3}2D4XnuU_N4D$F?g{4Fv;EWkQtZ~UC+KF>-lOa8NE~Lp5UJ|NFT1vkpCRgR
z4D+NQ^W`_XHk4lSNxe3C^VMlD;(NAl+vIujb++NJpH@@#n(j{bjj9a(x?;6)sto@Y
zt}_bdwfC7nKjCTAcdXlc@3Z}f`aKO93@;un<^2A6<?qF>R{uG-OD?#)#@=*?OTK+@
zA=lL>f9)5j)?e%>GM!=7uhmjA(dTf+y;#jmNnVXtPH%XPI=;O)x6Lj!Z?58s4=iu5
z9n7+SkSn|>YK^gBtVLlJyVCVL678~fsy<$)EsnlFxjfg+b@Jw$>()(F{+yFjzkGgu
z|KqMzkDS#bnlE&_zZC1%Xa8dGc!~2%11Y}GvN=nZ&z;=N^&w69HqX91i)bd<^D^vt
z>{i+H)*5(xNT1+;oZ;2$$CI)b{akrawd(gwy*jgn^CrCLQE<%@xURBM<3e|DzPZ<@
zUwc?{V<lQA%(-yZp?q`Aii4Wp`A$yRdUwfuEBX3BX>rEnm+8!jO9SPvFVHVC(dnFb
zZ>7*uHP2*|i_dTQz3z3n^)y_{OLz;{r8(=^J3D?Z$nBEZx8h`Ns@-3wnfHUj@<k)E
z7U`XR?CkKQ)P44{h2Q;4wgg#8qzGEocXZyX^82B)C*Zm837giE{Ql`DI0HMUMO77k
zjMQJuT`iDT&-H|{oUzhc@zkBRnzO#V>ki%f*Y$F_-oE~f;179QME=Y@@Gn930)tlX
z6Ajl{X9|}X&UTfr=L|l?_V%Iv`xO25mq$LBm2FZ#T%r-ZZMR5{-(TZHC9`I3-?iG`
z{6avr%a(NI<Nq5!9OalRGTScR{Ymht{RV#gH@`1P=bO7_M$y%Jwz~m&%ic^e_TVmd
zFA=Df{`rLGkw@-4hgk82(p!^){vAv(vJ#%^;c$Q9<agN@IBTDAMNI1Yy6(dKmbDM&
z@_#GbRMPN=`H26)3Bppd#X{<q95mgy{d&kRL;H`(jnk${y4W9AyxuZ(aj$Lh$rCSx
zo?N~3UEg8bnRb(%dQ1O>3#Zfv{dV2C%~7`K#fh1j=k<OqFg)?sQ$E}^JMx3{4$+p0
zVQ1nS=ZM=p)os6*sbJxrxYXn8Stoz(j|M^3eh11fA8P5_K7(8M`{kFfb3&GIM}9pL
z$lr4Qn5M<doJYNhYpiO+X7)4Zu1;^Xc2H7U-zQzhey>-}NWS*BT<u+xbBw#&>NS<#
zv&3INwm0z;$Glr>YBag{3Ys5pSB#OV;oBl2?b^Igg=aBuLe^IUQ=f>1dvwyht^HZ2
zU+7=K?eh1EcdF;K*$4CN*_GcValER|v|Q*Jr<C}@a)QNI3)%Yr`}(w16s!*|EluZp
ztNkbN1&60c>L2zOPTY(847LhYs`zlcFRx#4)m5gl*7uIT-maw@1=<U^J;gJ0E<Vpq
z7JbH5+WhI3@pNgq;Qghxui74-eOhof=bhw+b&F!}r*u16h9COdQTN(9HNP!m4ZD9`
zicg15*VK#GdDLB0?+4Aa+QIO`H>T~LTn^u&41=Z`sR@C6rC(YW+LkRe=`4FbE9c-Q
zX&L4Er#YF;dy3*uNs5JhS$g&S>zbEG0#DU)rY@Xfa#?iV>pZQ!e1^O;`+Um3Z(Cse
z;gqVB-;MS1llC@zI(E}wPlLcZ>C4qlE}CMc>ztlse|gt)$@9ScHziljFDcRL+Ld>1
z$-7QZW7P|ncl@2<;NQOQ7t@<hFJ5t<ijyx&Q$1g#@iMCZ-TdI2ngRdLKaqC)6tltA
z!|v`J*TvG!F7s#AzpPYEW?RX4?9>AD8~iV>{<G)Y+;Qw=K@^|8Uya2>nFS}S`6`7Z
zMPl#znk?j6YJF0JSyk=Uv+`}VCn}UIOja@c+Gb*8>HRb~cI^TG2Q{a>s=hnzU9u!}
zb;iVF3ZH_js`jihwyS@8)|lho`x9{uk?c=m)R<-Mvc7KNj}Us%`{D{KNBp)OavuA<
zBWAAPaoxsw;ngpVl1cYk1NAkp?!NT<SN6iax5D0WeYrYsw~b^?Yyo?N`hlNv_7aP>
zv+a>>4AZJ&`dSd6uClh!`=*u4w4;lBVvoG!w)9q<Q^@y*`^4-ox4wAotZzI~_{H15
z_jr|$_&Wa|s(<)x?W&@Mub<u!sO|IhtF6EN->tkxOCE8!F<MSmZ=9AJX(h+MQ*C-l
zK2z?|c0GpjN~@_-myUgO;JwyjWw&nb3Db{Ds?9Q<{;JgfC|LM&R<K+2E#_RuZ=I{f
zf4*|4z4*zhBxmAFrb*|f&g*;RAil6(ZGzfT^LygL;d^&i@A@aOZ_XYyJI7ZxZ(a89
zxv=9Di`8e&x6VR#Kc70>XWBJUXO+!`D2G&iE;H74i#q#9mm6eCo|LOiT+5-ySaj-k
z<IJw(TiGkk7o6JOcR9POXVX&&X@_Iqw@sSnxzDz79?$Z(zPn6+NZxt>vGY9pyRVlL
z6^rWM#*`R)O`WP|a5iI3j!_4XTxQNo=Up21?4N&rdhh!y{KBorp-CRU-55(B<xa?}
zkBFXlpU-GtipQ^#51upXc2;b8F1p}q<h31DHcw`$>=JIX;(h73%i=$8iQTf$SGN-4
z<0Y*pT)X>DYC-d}v$l~2E@grf9=~EN*_bbWMN`Gsvfj7MX_a`C@QWLXOT1V6XD)aA
zGe05Lfb$N!)v>MOKhGX0zHnUddX{nN<E~TfH39+2L45{Z>osdmT{~O$-|4i%`Z=rC
zP1W6F)bZNF*<4}ouFEe1q{>BC>L0GMsqc9A$e}j&^y6$Nwv`7B`&>1zCx_@Bo#*I3
z`SjvAms?Cz|F$2mUvpqXquEJ`cD7sc*FwGq_nq*6mCkOznCVe+#^D1y%2uq`nI2zK
zRo?z`kum$+yAxyi<ygy`t}IlkS-ay`^W+2j8}_-ckPZ`>+xo}-(_dNEyNvRkK|1X7
zx9xShZMHb??|~b=Emlbrgs+K}NHSS=d~FDe{Vw!uk@CggXEk}%YWnK8Jd2b$d2(<2
ztuGc!ol?If^M1->+9hbe<3iDi>!NdbOw^y0Y$=`YJ5BkG=MM89T>pw&0+;N|D*dr*
zxxllQIJXt*G7E*Toc35MwPNc5kN)RQyf@mP{5L(Ye#;WQ8#66=mUXVEt<C>n^I`HY
z%X{ZnH0%h|Z@-+jHsNue!X<09b$jcdTz{1yf9jG~qWK2#kNbsQHBC~!bX{hPudkrd
zT}}P=@+HYjnJ(S?dAQDCi|=>6fc;UCkGHIx_f6kd`5Tk-!M#hap3^^g=z;zVA0;0_
zqu88Tk9UO`am20Ke@?C_;dz=yi~19Vr1jfB<aF+wwfr^1+L&2h!OX00ysN@DuwMxN
z^1Ytpu}AIIZ@KRdwYogHWb5bVIICmUgx8f-N5q+C?KxhtCyW2(=}iuQWA41>E`0m@
zsP?IAhqSj#DCS<8WVyGLOIx@yeZlUFS&5%wY(B}d-23`^qMfMByXTdKKX&~-8MnHj
zEFs@NEW<-`*N&}G`WgS!&brG6A2>J9uJG>1r!_^n59`0mP5!lK*>rOqmvyt}teY8^
z_-Wda#r?UBa$ZYn+kS~}6LL~FpBSm%wYT{hlil0Po!JfRK7CweYc-LthCAr*lJilF
zeGFF46%#gGdZ8m_!gELJs=+PW$$2r2e>67aPl@A+H(wwcBY9r<zE}=dRkOh*F0b3Y
zAD>**N-CNWG;fb|{e}F#tJ~&0`?+N|??a^r77OCVW>l-U3pzDF%nbeF)^X;%)tn=D
zr%aE_{Mo9jvrql6q<_3=`ZJ-PruQmSHZfN4<S?#d+1~8utGQX|^QGl;5B_!dyNCJ3
zOZPW(H_Z9FAlJW9_R+0|J<2l}!a6Q<PoC)R=U!fE|BdsqDE}?47i~-HJuC92#HoJD
zTtBB{|NL8dTh3n%D=CTlRxwAeXl;{PlU!kyuA`g0bp!tat%LtW-ZboK(g=y(aB#u$
z<Jp}Hf3ZI)5nuP^-^F994SMtP3Ugi86|YTqh~pEjwKT94jh$o9EPL$OIn|P1jiJRa
zLubt~d##gg77!oL(z(s|#mfmlpVaU8r?8*@$UU7$pTZ~i)Wvc1ac6J-evZ3n@w61i
zZTzn<$mgCmIa%NTO1dg)?wa0nf`L|vHJ>uI_w&qfikqvyHDb~F?n^t*efj)&h2J7$
zj+;IuTb@oSmS+xAS-ZPlY~knf86CxS8%?$Iw;H~9t+%C;`Bzm$#O<@3t&vMxKS=yx
ztS@oZU!H1v^kcc;UR}@qt#O9uvi`VU_mPqQ=a8Pyl-|7jfX16jwM4Onw>h7Mop4X%
zj8<s=C+88L-}7pg<wA|q68Ci`w6pHGz~>qp?I)Y^e|q=3PMb~Fx2&>UI7_bX^`6KD
zf5c{N|Kqzs3^Y=*HHWd-X{*hzYvr3ASR)S138-h~X)-;i6L1<d0&{wCeyuroNCWE`
z&d>u25yEGfFw|39c|EFgsBJt!)9bN#HuP5czoMUR1z}Uo?$46l(D0YH<bcAoH96c5
zYQh$^`ZsM$2>tiD)+=@Uji~9TnKo)Gvej@Ka2<K|bk&h3OE)q+-egq4RHE<8D;oLg
z=N7Nk3tk_bsgQpt?sH@Hfp3-R+jv~JAE>ePvSIys=}vC_zcUNdAAO2=z_IEs%atQP
z9+;RdSbw@<_JKbMOnaWroc~_<e0$r1J=_v={nak(_OdF4Tkx!7tMpA^4wbqszWB;P
zkxz2s55tdYtl>Jfqrr@C@&3&ReI7-L&JB0iooYVu>{~bMDPN5*ab8?i>L?w+-=lSg
z>5fX(g(d$M>^n3oY|^v(3-@I;BGPB@|Ipeo?Z>JUY`-cz7Zo{O)_lEJ<<zp^DDESc
zin_I~=gru3pHKF@ExLwn+L^1`B~{H=9iJP-{#bjkYeDu5o38dc_65ds%j#q=aWh}t
zzG1$+(D!%GI*+w~+Qs-a@|<?}gYWF!KUtSdXW4b4)c92QiOq&PjMn=Io|;m>IJsHy
zfy;g_zbEFGmN#+#{j<X&b*uY6u@(K7jUzutDjeoCbXeZ-oMl#l%@5W)4=Qf8hnrsP
zXMC`~<WbTFqZ<>yoK-m7I6+L7=helV%xf6r6lz&L;wKy_z4)r3B=-Z?OI}W6j(a;F
zXxdLMDZgai^z~r-lHU!kjkiiUA_Q$btm+>tsqJO|aO`<j$+L!J+4qHqN^U<`&T+5p
z0jJROhNlM?E?LjMHi)Z6K-O=A;1BV_soNQLO!<=MP%Gtbb=d7gQDD5tr`UxqQ!5#o
z`U|X*okZTXU7z?ZS6In=<AjqluQ8u}ZSD}gV5dTKAEOle;-big#<}Vow-$X~5P$H*
zf;ADD^{4Lfy$Mx#A|ZBqx$cW>rSlBZl|MUPFREdi^ZN11_x~C78(3>=eD9n;@YL?!
z+9kU+c=s~>dwWtQKd$0_({iSo*av&(oSS~+J)?PZNMxUV#}+QRSLa_JeOS+N@6)A3
z#ZSeJui_8utJjL&2(VdUZ*lzSd4+Y-=jSeHf849CceM9!eJac26XHxoQTMXtZwu8Q
zxvad8YsKeFp3a{#Y}A^kF8ZW!n`IAol>5tynvy3ySLgqeJAWug{=yuynf(Vjl<yua
zxo9h`_T-%6&ua;S1*W{$?y4G2jQ`5VI#($DRLGynPmU*Ksae~&*4|dWc<OQfmam%g
zuVo%-Z#aI`*?)EO?t{DP6I@I7tNRFkyf0wy`6$0-SH#zSU2_ibT)Nw_p6ec4oshqF
z#}`?d*sBY<YlH&7#^2VnoWrQqePMB=-X@-hm*s*Le^v>ds7zTiMddTcT;Y!SJY|dT
zT({ZBy?1ucq@ow)mUa0~x#4*#=S_}ZKKhr@<NLvn&5bg<a`xz#zW3F5u2sKcue)Fj
z!;_5Hj&>zFr~EI?D_>-!SUt(gMEo18x$8^IeaEV`D%GA`FfJ^PY&ggf&Dp!)--+F<
zMzJOC)^qnIriO5x-}=@15Zi>p<tlrvEJU`1RxkY9ptQVYtNgz0tWo_tw)w8SDzWfX
zz&_u<KRsSE3Dwv3`_~i}Ojw;CtZsj(esZ;9&3fJF3LAZwZM#ozpL_gs`-v*XwHbCi
zAGR7zZmy81(4J;&D_b$Y;l|ae%caF8h4YnKT+n)JpwRvyUO|0-T*N#Jxyq1vGB+m`
zR!wruZaDAQt`VCedocgOI}O>#>A#zUZmXPTT<P?J)j)M!(Uawko`qIZ6^h@6EI)VZ
zs$6|ZiJ;eZ{~3BUYZs}+U)ERuYx9GNW$qn~iXyhRe}2Wu{Ht_$nwrb|AhYz7^@}$z
zs}=W1ADF*j_VLf{AN(1$zWWx~U5LCq)j?a(^1NAH?a_s*4NBoGsXv!#I-hf1t-tn}
zlWgiFqm$K^I}AG4l`NR}V2MU;%4`NrIhm!&f4B;q>Ujbd?Pjg=Z?@K|y^yh3kIi?_
z*2lNHV%V=<s<!vx-?weTt$8O6f1K|UQ`c=@kehjH<>YItoPS9^cVwI^J~7?0x?<Jq
z><>Nh_qz}O=h*XdX|tlyTDvRau_cmyhAUn#y?Fcd)6A~R8UB({jC=XdF@0zH`cZ7d
zn(**R0)Ooiq+ZObcZs(Ous4u(v3y=U(X(*olGIuE?pVfZMQ3bc&s69!dl0$5!S?$e
z6DRT6-+sL1D9I~QDZKl27qjl)bm3<zQ(Gs61#v$K;S2x4{4Ms1xn0bhgR!%w$Q+lJ
zyz{0-ZNrPF#}r-{Gh4(SSbRnM`J;=+T%sC}+q7}B3wZsPT>5hJHv9UO+DDg`%6$=E
zz-{Uweei<g`&uE5^-fRKwU#fpi&dQG{^9at=KR3p^}RZqLWNd2d%itg`b{`W?CbhI
zhjadY$<Yh;tzO%Fu<}7{iQ9#F#vSSlA8N!l{VVsJvb6b~`jtZdi-`{^J~A!YR?|3d
zPDK|}+2<Q#W{X*$@HB1Nmwcs~sh%y1<Ky1FCJ(I^Fh@wgVf^xBvE1HNj>!|$c5l-U
z=4$!$k7d$@^%|LvUg{`J$=J?!!?x0SMbKk2H$RIC!Aw?Fsp}F;?4NFNNtSM|^jjvE
zTWKTZl42)NcJV#y|MCKR0a@NKpQBRpueGDzUn&an7P3F?E&Qr;#yzcn$Bv)w*kxD$
zyHe_L`QuMNraC{0Ke$_DjkBbc@TK0ByWjBjDetrND7qX_ALd+cTOfL3dP@6V&BfF0
zl{42~y2kRg&hBG0bEdc1cGejRFLhfUP2ki0YL?mMA5;F&+Ob;RU;L5J0(Fmh_fnV0
zf4ekQ=#tu6leC5_jyW4*KkzfMH|ISNFNo~utJmXL`^k@IV$W@5B?bn`7oIMTAuI12
z%?VS=jGk1-l_5IGN<(#zuEKtXd7n~qgCG25_@`X!@lF2aQ`I`X2?>Jo{;L;#d8k{s
zmTAf670Vy<KRkU>_U*@x*G*IZh03j8shBFuaZEIb@8>+0-(r)(D;HdLyl}55N9f;K
z?dd<%9th~y=RUmi^Y)x=9MPP$rw*JrSW&_@@pa}DK1o|CpC^hHRW+|CzPq!!x|56R
z{1V+)&;9<HWvViiJfHUXhx&zAj<?(1J}eiDcZs>}XK5r`5vLK?Fs~ppf9WC{^~0C7
zp1Xhg;}o@essEgL;yDf}T19K6npDz%>`H#;ZgFY3!NsFbBSP!1&ttKY|8?i1Xbite
z-*1hFg1cfH=iEQ^BL3Y+PSbgd(xsah)ntiYn~?9hC13edhW2fTn!ipC_re?ET)u{_
zR0;M!XW|}QEFBsDvZ0=7u~C%5R;v%!&p*h>E;6r>f1y`nFKo6q)#0Alz3&eFQ}dO4
z1Z(c@-SQ{y>P9WK1-V(1>!-b(+^Bbt??Jl4^IwvQvo6?9IkL^+?{woyyd`EI`4TlI
zKG$Hm-57rG&x6DdLK9@SKK&ys<1T40xU9oQ>%U{gVHs^%h08}5mhEA*b9nCN-?4`G
zV|1gQM(<(o6Qz8U9AD@%K34jmd_i&huRq!o4xcUPcp=9aAH6Je!q0q%4YQ`#XPn-5
zWrz8MyR)4({S^I@J|&zZ^}T<M`3JEJKVJ8EnHg#=X5BO=VBI!@38xo*X1pN1X5~}?
z8`(|E&aph0J85-K)`ZLIH`Dy=a&=Yw?VgISieC9vYm5D~^{J5w_n3Aq-o4(VJiNc8
z{U=|{E5lW`XRb4@+~4{nlg~OdYxk_h@59{dpGGU>s~>6kH!1Hgch0hRh0|r73M6hY
z%{<50bA|~t4VuLLWUp-SNsD=9Ebh#6XJ)W2c`sF|tuo0CG*=p_Fq4(5$mwL4nJ#ET
zRcFF&rpo-|MdF!K5ZRrqXE;^2Pt63aC{x|gV7X98;%XOYC&DDq-i4y*nf1#+v$9N}
zS=q+GwH}~dmjv}tQ%gN=r%}@yoVL`@q^dP+Iu}-ju6}wzjB%UlS*FU!1!{8y#82Hz
zNQj$e_%wh!;ka3XYJnKn`i8YmqP>}79vStGV((jaL{ueqM<4vgnR`hmYfJX^w3RD5
zre1jVSM!}_fyEEr5+=8_MzzQVN39jt7_)3)I&XS1$o0&bqjwq~t<z7McsA(D9LwT7
zw&sJ1ArXe(a;BY&R#n~Xplh*^cf-B;2_+}j%&0%OX}8SciIEGQ=>~B7Wf&~BnYa6U
zxvBlFw0efk4y;iL`x0i~&^lrGmbK)8h3FZkM{^Ii{;^G*bs^XPQGP<~2gwK?ANJ*o
ze={d`UAWzIVp@Xc2aZiWYdJo-K8WWz=k!f8vFpKnAD2y24=7GLczezc18E)ZxEA|4
z2CgS|3+!aw!WxzPg*pDffBlCt1+u^T1(tC}S_`o^SQ$vxpU}(tpZOw7)Rf;U>$qhC
z;{rQ5?l2a1=B-PmcX0i^&e02+^<N_PVA0Iu%#~uS=bL{!rhinlTrl~-+<EgJuV;9#
zTp*Y6wqn<d_e}bYW_{bWJ__pXWB+*nV3Sw1Laj|eYWA;+(k1<cKjoD5)Rp$$t+BH8
z(7r!U?)=O0w(SZN>YJz3s865PoF#f;s`5{U81`G$Mvv;*fB(J|KJgvrF6OC~j5|b5
zB<8ZzvHt(|<+0NjtEQQSR-UO-F0<({PSX*HopkN#^~LKBI+XorpP&D6=jU5F6VHh4
zY6yA~CXnn=!(Dc?q29#n+0FidzGsosudPbRe3X2U`9<c|NlK53C&YT!KeF7Qy@OeX
zy<~!B6z>YZwKjjYD0a?2AZ@oyW?GoElI4{B4b>}?mPjZ)y1c^QFPCFSu#MoKnOqas
zdM>E5;mmKVsB^m4|Hb%0Xn}^+t`#;}3Y*ply*Qb9rawY^l}P`WV+pzyn;))qiaGay
z^TM4H2GLWAuh;@OYJHaVa-GbmJX6o)y0KxMb@|)7zKy#$F0U3m9xr`QV*z)c!d9cI
zxdGx;$GVQ4{C#-(qq7UNcO09Z&-HTp)Nc+^exA|ukK4|>y#H`()ubh%$Aas2PJa1r
z{VqMOQ*-t(-qcPsQm?=DH2&avX8*TxyweJ+W()bR-Nx~qeO2*nhk1VgN@C{hagF9Y
zdbK{-OR`qt&6@;m#rrjSOV37U-7I3*by?qk!PL{)C0|58+9>@s`nYzl$-{FF+Ouv?
zNSz~SId^HyinV9Ur_}a%XK!8n_RLPbx2#bQU(^c6eyOuMp?Xa<hg<FocWjKd!o|<M
z2k-d5dh6?zyHh?z@DroKRW-|FaZ9#pT`CKyX;r`UufCtdHA;8sxi*g14PoJ56?|X(
zo8c$0aE~$P79sA%*9@M!Ki{9|bi8_s(biQaM%-I6xR=Zku)U&KqWz(u>E63{C0nex
zl;0nkt)VDBDK1O+WaUdIKC4!%3Z>W=nM(I{rmrYY+{^v<;4_twI=8sx0nZOriL*8P
z$~do9%zatMnDx2-?v=F_vpl@t1<Fn|e|YwTgy6&452a>eZf_I$*siy5%Dz7=F|+dw
zlkPF5dBRcWzG`H<3SPQARrY<Wz|4puo<$F0>%1#&b-g?}X?}@eR`&AZnFgzxE$7y}
z|JAxi$!fws?H}?+Px*sndDcc8V`J4@dpPEz#;4PQPgS-@MG3iD&Zv)Abmn`2z^0C(
zXYH2KbB}LosWj5aF5Hyyb=hnW#V?|7FJxUmp%Wm+UE#N4?&`mPS=L^Ntzi=`j|!O1
zos?O@d@$pQepONV!Y?Yd+m8ox#NVFen4t5kenQyI--7?y7d|O6$!^{ddfn{9)?V+a
zo$Fr3&D?WuTQ2jZ^^^UqHA?#0>&sbf*5;I)Q_1qERr|f7I4gP5O7re(QCBwcYh2;<
zRa<YlFilcxwaOW$dBRo4Id8XV7JmHJP|qd)Ua+OAN!4B0E&ae1#m|n6iRshli9E=D
zt>*q|(&N*GKek)0a?h1|`{bWPdW3ybyG*gZ(|JW*r#<{Xwog8}a3z239A=^FIg{&4
zOA_50{y7<Z$vUWL=P3Kp-tnk~;w|;%uPx&ixurF}+H_#gx}D_$ubS>z+^ErWTkEop
zL3z#_r9<aFl(PE?zfAVX(JM%-nIdN5rY4l(x@pC6_jvLDo_c>fxyu!5jvN)eva@1_
z@T;yInbN;Lk=(-X9q(AXU(`zH^RTpi5>+_2p7|V`oUM<`+bd><%@?kJb6ah={`|Z>
zeI4hT_kEWzl{xiHNk7Nu=JH4df9@q=PB9^qcYY|@SH$~}sb$xUt&=YN?0-~cvsSl<
zZ`OR*^!!EULUFDd&$lZ7;9S%6hx-sulR0<n+CDwCE3Nv^%_U?wr{rh<n04m;V(aD$
zi$gn4Ox#od*s$i|)+7F^^IzR#ne*nPMzY!;ZqIzjAF2=A9BvyN4R-lso>JscE;!F=
zg=n1q0xRhQaW78HT*@J9X**Z>?xhne_xk4;Oo@Aa>>}G2_WKQrAGWTVl6>v8z^0`W
zBNaBXMj2*aI_0Bg$!<AMFM-P_zje~Jk4i6I$#`nBiGE<*^|F4mxWBr@BzL|%RRit}
z*NLlS_PzSk{G_@ivuVEt=f}<G<}Yc9X+P4<xHsxUdqthoKAz04uBB(co&Hn!B}`@Q
z+v_1;o~Sr;?hO?<5%^DT)r1M2mR2+VO)5&^SKjR48?A7d^XeAWSsOoFD6Vy|KgRhr
z?^xDat<4Uupk-t;+gRP}P4xXd+V8lfHO>NU+Jq08UXYwHF%rBsY&K|Z*x4^(8zT?s
zD1a7{RbpL8238AQM;5jdq}A`lvj$M(3Vq2N%8Ivo`Y(AyacMpAP6fI2KusFcW{0g2
z3qn_i#b&;?N=R$n{<GP#_*qTx!`wA9p3M|qHDlq1HkAzrbYJ}8krH|_EjX2J>TF>z
z3#Ml+LQ<!$oXTblbJV`nWP0Gz8lyVh{QB%Q-;$yZoNMXIJS(Nc{d@z9#6_N1c{kbV
zGnlj3yv>V6E3FmP?!+J5KWpdQ&{)}TS<Jhdz9ra+m#M{QtV%wyM1StK1<WtlqFi52
zpSWMVv|KawZ^>@`r~ItuQ#Q$I@3s*;ahlUm((1yQ)s54Rx}DVBV7O{~^T`M0AGj+R
zWBPsTt%cGAY;q^RXNhOdwcW>}?C2kmsiI!u-YH!w^fdmc){Esr*OQM<KghIJ;>MAy
zMTK*EKV>F}{d_W^=hFs;Z`J~(ch9OP>`yIDb^UKuGL2>T!uUe}mW=!H8Mp6lSzEtu
zpNQ7-zN069v%T=Qz282y`P|A6$Cc$p)y(5kqZK}Sb<{V$a}U2(diUbCq=Tp4MY(Q!
zmwbIyYw=dT-(^njeOb%BN*vbxJ-d<1s&Q9dPoYCm!*d4PUFNHtxHE3fpK{LqW55T#
z40bW*h2?5L+#ZU}cyYt(eq;mp>-K`JBIOqI(-$swza;9uCB8Ua{K4HBUH9BxP1t;o
z`Nhcyk*k&mXK1iKt`FbFDzvs`22cG`>G#EsFZ}GTmU{Y~(6HzBajV^S`jWbq_P1+h
z%ay;a>%X*;;oq_?j<>zeZ=ANs^LW6DZPk~Px#W9%%xd-Aj=PBFG|uts;C5Oq=iBx<
z#(vc~&Wr4UlehOzxhNa6_z;(5u--EJ6XqwM@|HS@+?CoXSNZ?$%h0U)4d%SsHycgL
zE(mXLK5*2MM?w9I*0#Tf?ejXduP|B86?khW7;{$Pb!T5jRPuydeLFK!*?dxLAMNY8
zX3Ns2QYRh3HHVE&<U*FL(0|?&fg)bKddVw<oytshFjv>V{-ULKplojD6}1Qdgv{O<
zoRVvmwflbE@owya%MUCK_-690t2bTd)z2EWRXTJc>z4KXDr_a1EvpR$&wbPs-6FI|
z$F?g@RHTaWzmIj?=dH?SUbRIM=NsBjZttD)@a5h)%NuWf6s-_GB2@V*K*CwFUMMU2
zgYL&G)3|Q_SrV@JS12*)(>DD`zm88S@4ss1-(J!>)iYoH)nECyfA)!dwcah~cvHHb
z<@9pDTGgZ#KVHcCY*4!){V({DWaxa>q`3ljFD7oeckx58qhALTTf=6@g?=x@)$a27
zY@5Tr^~KAtjmI1J?O!}Krt8FS-c8#*PH^_-J#njFw7Ph``@z#kzN=jMZPld5@HJf}
zgZ)?25|NiJ8V`gDVlFjxEp?B7vgB)t=eE5f)=%rJ<kR)PT)7rBagMj`+aDV4tj-hu
zv&EfQ7%pU37CoV<zqEC~OSNfu&!;U8ON0*{h|2RnvO$<BRqRQN#`DTko_7y2J)Npl
zsnxoUVcWvEwF!Sz+6_hj{jN)kkeR#khU2dy9;+WVTs{rU117)E`oKSdztu|d)Sa15
zam&y7f6`pDvVPZ<-J+>63}&qB8GGONDonX>JuA0TK|Q`?(VuN1TDR41hFx7~&NusH
z<+NtGWtVn4lozPKU<0{kg>aGZL#<O)vw!3^8kussivBF=`Bt_l*PTH&BrQhc#FpA9
zX%)NE2~Dqg-mrX{=U$<ELuL>AH0N*JiTkcRF#7V%C}`We74=pvcMm-_O|DQW%?#D3
zKKb*-p)O@xqy5wO{g+$*<m8=-oQ{7Q{nM52u>YL>qQC$0;yX_#d}o-*XRKEroO)&b
z)D7FZ*&C)d$Se<J6yqp$nxfpCrER9R#OE$6dvjNb)0S-I4Gcf{g(JO7?Rk|hve~>&
zf7WIEFwFgV$bwICOs|{jPd|wFkex4dzFp1gso#_M8Gqs@PiwYru2{rvJ^$3Bl9lyw
zPj0pSoxN+nqK&5C{gYcnZ(BFc+qPzwHa~-HXiSq;(p)pETdV%dzTqqioEyC2{L%=e
zozE`uKM?-)wXpNmiq53Xb0(;9+s1Pr&XZ4Ld~&a{ah}cD{<uX;4R&=0-@8`7;DWK@
z)ne(de+94U$@||n2)tq0cuoK`p7+E5mQMPzr{CHfwA-Q&o_6qik@LaMs%mz)f6=5#
zVPTscsxP$vIV}`)WX^_fN?vpAOC8rS-xQhX?!WxY)tL(>e|@sHBcs%mdG3QUlckUC
zrYT-I75F^Gva_m`W6iOBle{JG#$LRbRsXP7AzkHo5p##~)1N(`p1vp!l;wI=Kj&`A
z;Y{bsm6l$!O}>Ab^x}KV!j`^csdgnrwx7c9-*e0N%WypAlhdf9?&5cMYWvYC2C_GE
z7VL@QRkc0*qG_F4?Lt3~^1!PzPji;KxQmn}o}Br@=7qDS!NWFT`_PXZmso=9uLsC|
z5m&6gH+jb|`<^esE%mIOoqLK;Tz6=D+8}dbUjn;;*Nd#uMfvyMd+g{xta6C=;Y-(j
z)g8+_O3Ibe8Ma189}9h8+jp+{$YqxNK%wW&Q<zo$NbhOpIPX@jlqixZTH-#%;K23n
zp6>zg9DeLtc(T*oO7Y7R3;(hz7E90Qh0|9$e^zo8sV`KV82sR`Uk&G@diL55dtZ&?
zm&MO0?B#u!_M*}}<Sgr5h3^dc&5=vORc%D(@}#rGuRgHQA=O8*R{CM}i&%$@kPcRZ
zdGB&GC)8^f?3~`mb#W$>$whY8ms7g^XO}Eokt_Y<wnNnKGRqCWkF;+wvcA54vUcCT
zQ$J+4oLVZauKvG1*`fCb&l{Pg-9CQ5D;98vh~JL55cg|>-YV_AdyYK4vaBh#b`Rf@
z`Cl#_6u8Opp>TryG&g_q2K|FUiJvUwD&ttQzD&@tO}Wivo9K1^_zH`vT|Zau5uC^O
zap^(UeP2|UST`y+9Lp&`sbCp>w)vi2?9D`*hzrN9d%vi~-I70)&s%RI$Nu}L*m>Ks
zM6+4q&ad<qSg*DD<MCl<MPSRkcZ+6CP`c}>-7B}qaaY8(Pf~8POATMI`@uWo(U0GP
z_g+8pWVU3U%e=*RmZDSsqR0CWFSsMVQ2ASz!)gi38Q&5le%(6Nd1b$F@Wx~P)|~eo
z>iQ>r*{Oc;=mW8(${C_R619&Re62s5@TyP$_)PuSmqr<;BCb)jrzKSsbA6viZ1D<>
z-}>unSJ{qBeOn$~)k-t{AoX##?0-Hd+mMWaS$m>nSHDw!SnD5ky{Y1L!-}=@o=raH
z+;@6Kr`QG8t=1P<SKV&8Wb`hA?TN!76GH><Njtbpm~ZvH$h*Y$V$l`Gw})Fq9k+z0
z*Nb0gj(rf@@Gd63LHD5MgZKryxnk>Yc7B`duyj?m>#Yf&7rFfxDA8w%y*T}?F~`p5
zK2JjKGZsy{&nSDY-bcdgNwz})w^e$p){hx4PEEUY>+YLm^{z?VWxFOHaB{Fef6HNp
z+7s!?6AsHX_<S}{pZL6BN*U{aMsLR4wfhy$D15Q2Z!8qwblI3iuQBFa^yf!G$1lyP
zlYXIk{l1L8vcmau2JaZH;=S@;8corec!x>C@cF0hQl%RjWLC+ftJnYbJbkk4`{!BK
zet-8i-0Sg6sV;fXR>ZLI*NH8?*N*OXn&LO1f8CtTpK`>fuwM529)0MXW8@{1%JXci
z-Y-g!tN5z0x0k2>)Z$A|X3D?dOr8=e=DyCV{n(2h$A2DEY<l|lg~iCXp6n5~6Dus6
zDW1H|W6|YB=N*q7RC*cdaC_?}!LR;I$)7V0B$T{P{<8P#l(6NJM`EjGFK9O3oDp&L
z<D{J9WlrJg-p0<SJWuW7bIo1Ix4^bYPE*Nlf`@-Wy|VgG^|wDIYwBeuFXo#WW~_hY
z#fh@Svdi1n=qb(5Nsr#h@%YK<yp4Vu@y;Qu?8KewZ!POCDG8C@DNyRz!(?^GSMcYT
z+gI8r-4JZal`K&_xzdMaXNJB=-ua~>>dSlM73vvESgU`PY_+}CSTs%f!%Gn<S*K%#
zQ`R~^(b&asaMq2iME}ML`$y*WjgfNt0(=U8(;CuGGU-mJIu)D{clsKS*n_4EE%Iz%
zO4MK5oXBRXlI@(&QnKvhX72yq^QL#E3;wdY{j#y9TW4W^V_g0u{U+7NuiWQN*2s>X
zvPG+M`lc|Ywa&?NRlg~(4GjwH{PZ;8i?RI1)jD6;7O5Y%;620sh2e47r?U!Y6zWT!
zuGz;_#r@|d&q7tMO%0X{o6dyIow=i-#9{sP?_cE3L?2nNUY8q_f5BRG=egLvzRTWP
zi}!?I_{%N9wIxW}`DVCan90Swxw`*6c4+cmUHE0ulJ0jF+P64Vv*zR;_e#0Jr5mQ*
zl)iI<m}-pBow*C<N-r$-X4<<%E8OZRHz#{zz4YWXo#}Glq8fL7<>t99oYh@E*>b_7
z-nMD;+_ok&=9-sGs204@&i(Q?OYD7)y*D|(Oj>oPd(o?S<~cq$3!j^Mp4Qnq@7xtT
z_U?wK2j3l7;UTu+ZNx;LNZq3a=I_0u_dkC0e_c%OGT!vS?Qt<NU1cu{_B`q|D_=6v
zyMc2{rQcC|^BrAM8Gb9e*j6t!naaJ3yY}MlDB&ot`D^4`K||yZw{4yS8ig0s`S3rv
XvEWIwPo^6K0|SGntDnm{r-UW|tSH&G

diff --git a/doc/Eqs/model_b1.png b/doc/Eqs/model_b1.png
index a44f9ff79a4acac9780ab09a5b03651b8d04a523..c993913ad10fc602723900613ab82233ce1b83c3 100644
GIT binary patch
delta 27176
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
WAT_p&Ul|w}7(8A5T-G@yGywp!ax(4!

delta 30211
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

diff --git a/doc/Manual.pdf b/doc/Manual.pdf
index 6fe72c9bb17c8efa4b2b77e48d4e9005a812f586..f86b7225de2c0b8471fde55790cc09bf00eb8a6c 100644
GIT binary patch
delta 21406
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
PVmCG9QdM>JcjE#8=H(#7

delta 21095
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
Lxl~nM{oS|#rM`)9

diff --git a/doc/set.html b/doc/set.html
index 6cfebeb9..34a9b496 100644
--- a/doc/set.html
+++ b/doc/set.html
@@ -68,6 +68,10 @@
   <I>meso_e</I> value = energy of SPH particles (need units)
   <I>meso_cv</I> value = heat capacity of SPH particles (need units)
   <I>meso_rho</I> value = density of SPH particles (need units) 
+  <I>add</I> value = yes no 
+    yes = add per-atom quantities to a region or a group
+  <I>until</I> value = final timestep
+    final timestep = the final timestep value until which the per-atom quantity is to be added
   <I>property/atom</I> value = varname var_value<B>0</B> var_value<B>1</B> ....
     varname = name of the variable to be set
     var_value<B>0</B>, var_value<B>1</B>... = values of the property to be set 
@@ -84,6 +88,7 @@ set type 3 charge 0.5
 set type 1*3 charge 0.5
 set atom 100*200 x 0.5 y 1.0
 set atom 1492 type 3 
+set region reg add yes until 1000 property/atom liqOnParticle 5e-5 
 set property/atom Temp 273.15 
 </PRE>
 <P><B>LIGGGHTS vs. LAMMPS Info:</B>
@@ -315,6 +320,11 @@ and the appropriate number if the property is a vector. See
 <A HREF = "fix_property.html">fix property/atom</A> for details on how to define 
 such a per-particle property.
 </P>
+<P>Keyword <I>add</I> and <I>until</I> are used to add a per-atom quantity (or property)
+in addition to the keyword <I>property/atom</I>. The <I>add</I> keyword is used to turn on 
+the addition of a quantity in a region or a group 
+until the timestep defined by the <I>until</I> keyword.
+</P>
 <P><B>Restrictions:</B>
 </P>
 <P>You cannot set an atom attribute (e.g. <I>mol</I> or <I>q</I> or <I>volume</I>) if
diff --git a/doc/set.txt b/doc/set.txt
index 5ab92b75..0bcc0ff8 100644
--- a/doc/set.txt
+++ b/doc/set.txt
@@ -64,6 +64,10 @@ keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \
   {meso_e} value = energy of SPH particles (need units)
   {meso_cv} value = heat capacity of SPH particles (need units)
   {meso_rho} value = density of SPH particles (need units) 
+  {add} value = yes no 
+    yes = add per-atom quantities to a region or a group
+  {until} value = final timestep
+    final timestep = the final timestep value until which the per-atom quantity is to be added
   {property/atom} value = varname var_value[0] var_value[1] ....
     varname = name of the variable to be set
     var_value[0], var_value[1]... = values of the property to be set :pre
@@ -79,6 +83,7 @@ set type 3 charge 0.5
 set type 1*3 charge 0.5
 set atom 100*200 x 0.5 y 1.0
 set atom 1492 type 3 
+set region reg add yes until 1000 property/atom liqOnParticle 5e-5 
 set property/atom Temp 273.15 :pre
 
 [LIGGGHTS vs. LAMMPS Info:]
@@ -310,6 +315,11 @@ and the appropriate number if the property is a vector. See
 "fix property/atom"_fix_property.html for details on how to define 
 such a per-particle property.
 
+Keyword {add} and {until} are used to add a per-atom quantity (or property)
+in addition to the keyword {property/atom}. The {add} keyword is used to turn on 
+the addition of a quantity in a region or a group 
+until the timestep defined by the {until} keyword.
+
 [Restrictions:]
 
 You cannot set an atom attribute (e.g. {mol} or {q} or {volume}) if
diff --git a/src/atom_vec_sphere.cpp b/src/atom_vec_sphere.cpp
index a12cfae3..811fbb22 100644
--- a/src/atom_vec_sphere.cpp
+++ b/src/atom_vec_sphere.cpp
@@ -35,6 +35,7 @@
 #include "math_const.h"
 #include "memory.h"
 #include "error.h"
+#include "domain_wedge.h"
 
 using namespace LAMMPS_NS;
 using namespace MathConst;
@@ -238,7 +239,11 @@ int AtomVecSphere::pack_comm(int n, int *list, double *buf,
 int AtomVecSphere::pack_comm_vel(int n, int *list, double *buf,
                                    int pbc_flag, int *pbc)
 {
+  if(dynamic_cast<DomainWedge*>(domain))
+    return pack_comm_vel_wedge(n,list,buf,pbc_flag,pbc);
+
   int i,j,m;
+
   double dx,dy,dz,dvx,dvy,dvz;
 
   if (radvary == 0) {
@@ -280,6 +285,7 @@ int AtomVecSphere::pack_comm_vel(int n, int *list, double *buf,
           buf[m++] = omega[j][2];
         }
       } else {
+        
         dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4];
         dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3];
         dvz = pbc[2]*h_rate[2];
@@ -349,6 +355,7 @@ int AtomVecSphere::pack_comm_vel(int n, int *list, double *buf,
           buf[m++] = omega[j][2];
         }
       } else {
+        
         dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4];
         dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3];
         dvz = pbc[2]*h_rate[2];
@@ -445,6 +452,7 @@ void AtomVecSphere::unpack_comm_vel(int n, int first, double *buf)
       omega[i][0] = buf[m++];
       omega[i][1] = buf[m++];
       omega[i][2] = buf[m++];
+      
     }
   } else {
     m = 0;
@@ -528,6 +536,7 @@ void AtomVecSphere::unpack_reverse(int n, int *list, double *buf)
   m = 0;
   for (i = 0; i < n; i++) {
     j = list[i];
+    
     f[j][0] += buf[m++];
     f[j][1] += buf[m++];
     f[j][2] += buf[m++];
@@ -606,6 +615,9 @@ int AtomVecSphere::pack_border(int n, int *list, double *buf,
 int AtomVecSphere::pack_border_vel(int n, int *list, double *buf,
                                      int pbc_flag, int *pbc)
 {
+  if(dynamic_cast<DomainWedge*>(domain))
+    return pack_border_vel_wedge(n,list,buf,pbc_flag,pbc);
+
   int i,j,m;
   double dx,dy,dz,dvx,dvy,dvz;
 
@@ -664,6 +676,7 @@ int AtomVecSphere::pack_border_vel(int n, int *list, double *buf,
       dvz = pbc[2]*h_rate[2];
       for (i = 0; i < n; i++) {
         j = list[i];
+
         buf[m++] = x[j][0] + dx;
         buf[m++] = x[j][1] + dy;
         buf[m++] = x[j][2] + dz;
@@ -754,6 +767,7 @@ void AtomVecSphere::unpack_border_vel(int n, int first, double *buf)
     omega[i][0] = buf[m++];
     omega[i][1] = buf[m++];
     omega[i][2] = buf[m++];
+    
   }
 }
 
diff --git a/src/atom_vec_sphere.h b/src/atom_vec_sphere.h
index a9088353..a73085c2 100644
--- a/src/atom_vec_sphere.h
+++ b/src/atom_vec_sphere.h
@@ -46,6 +46,7 @@ class AtomVecSphere : public AtomVec {
   void copy(int, int, int);
   int pack_comm(int, int *, double *, int, int *);
   int pack_comm_vel(int, int *, double *, int, int *);
+  int pack_comm_vel_wedge(int, int *, double *, int, int *); 
   int pack_comm_hybrid(int, int *, double *);
   void unpack_comm(int, int, double *);
   void unpack_comm_vel(int, int, double *);
@@ -56,6 +57,7 @@ class AtomVecSphere : public AtomVec {
   int unpack_reverse_hybrid(int, int *, double *);
   int pack_border(int, int *, double *, int, int *);
   int pack_border_vel(int, int *, double *, int, int *);
+  int pack_border_vel_wedge(int, int *, double *, int, int *); 
   int pack_border_hybrid(int, int *, double *);
   void unpack_border(int, int, double *);
   void unpack_border_vel(int, int, double *);
diff --git a/src/atom_vec_sphere_w.cpp b/src/atom_vec_sphere_w.cpp
new file mode 100644
index 00000000..adffed4e
--- /dev/null
+++ b/src/atom_vec_sphere_w.cpp
@@ -0,0 +1,46 @@
+/* ----------------------------------------------------------------------
+   LIGGGHTS - LAMMPS Improved for General Granular and Granular Heat
+   Transfer Simulations
+
+   LIGGGHTS is part of the CFDEMproject
+   www.liggghts.com | www.cfdem.com
+
+   Christoph Kloss, christoph.kloss@cfdem.com
+   Copyright 2009-2012 JKU Linz
+   Copyright 2012-     DCS Computing GmbH, Linz
+
+   LIGGGHTS is based on LAMMPS
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   This software is distributed under the GNU General Public License.
+
+   See the README file in the top-level directory.
+------------------------------------------------------------------------- */
+
+#include "atom_vec_sphere.h"
+#include "domain_wedge.h"
+
+#ifndef DOMAIN_WEDGE_REAL_H
+#define DOMAIN_WEDGE_REAL_H
+
+using namespace LAMMPS_NS;
+
+/* ---------------------------------------------------------------------- */
+
+int AtomVecSphere::pack_border_vel_wedge(int n, int *list, double *buf,
+                                     int pbc_flag, int *pbc)
+{
+    return 0;
+}
+
+/* ---------------------------------------------------------------------- */
+
+int AtomVecSphere::pack_comm_vel_wedge(int n, int *list, double *buf,
+                                   int pbc_flag, int *pbc)
+{
+    return 0;
+}
+
+#endif
diff --git a/src/comm.cpp b/src/comm.cpp
index 619c950b..94cae842 100644
--- a/src/comm.cpp
+++ b/src/comm.cpp
@@ -38,6 +38,8 @@
 #include "force.h"
 #include "pair.h"
 #include "domain.h"
+#include "domain_wedge.h" 
+#include "math_extra_liggghts.h" 
 #include "neighbor.h"
 #include "group.h"
 #include "modify.h"
@@ -63,6 +65,10 @@ enum{MULTIPLE};                   // same as in ProcMap
 enum{ONELEVEL,TWOLEVEL,NUMA,CUSTOM};
 enum{CART,CARTREORDER,XYZ};
 
+// *************************************
+#include "comm_I.h"
+// *************************************
+
 /* ----------------------------------------------------------------------
    setup MPI and allocate buffer space
 ------------------------------------------------------------------------- */
@@ -546,6 +552,22 @@ void Comm::setup()
   nswap = 2 * (maxneed[0]+maxneed[1]+maxneed[2]);
   if (nswap > maxswap) grow_swap(nswap);
 
+  dw_ = dynamic_cast<DomainWedge*>(domain);
+  if(dw_)
+  {
+      ia = dw_->index_axis();
+      iphi = dw_->index_phi();
+      dw_->n1(nleft);
+      dw_->n2(nright);
+      dw_->center(c);
+      double cutghmax = MathExtraLiggghts::max(cutghost[0],cutghost[1],cutghost[2]);
+      pleft[0] = c[0] - nleft[0] * (atom->radius ? (cutghmax / 2. + neighbor->skin/2.) : cutghmax);
+      pleft[1] = c[1] - nleft[1] * (atom->radius ? (cutghmax / 2. + neighbor->skin/2.) : cutghmax);
+      pright[0] = c[0] - nright[0] * (atom->radius ? (cutghmax / 2. + neighbor->skin/2.) : cutghmax);
+      pright[1] = c[1] - nright[1] * (atom->radius ? (cutghmax / 2. + neighbor->skin/2.) : cutghmax);
+      
+  }
+  
   // setup parameters for each exchange:
   // sendproc = proc to send to at each swap
   // recvproc = proc to recv from at each swap
@@ -568,6 +590,14 @@ void Comm::setup()
   int iswap = 0;
   for (dim = 0; dim < 3; dim++) {
     for (ineed = 0; ineed < 2*maxneed[dim]; ineed++) {
+      
+      if(dw_ && dim != ia && dim != iphi)
+      {
+        
+        nswap--;
+        continue;
+      }
+      
       pbc_flag[iswap] = 0;
       pbc[iswap][0] = pbc[iswap][1] = pbc[iswap][2] =
         pbc[iswap][3] = pbc[iswap][4] = pbc[iswap][5] = 0;
@@ -578,7 +608,7 @@ void Comm::setup()
         if (style == SINGLE) {
           if (ineed < 2) slablo[iswap] = -BIG;
           else slablo[iswap] = 0.5 * (sublo[dim] + subhi[dim]);
-          slabhi[iswap] = sublo[dim] + cutghost[dim];
+          slabhi[iswap] = sublo[dim] + (atom->radius ? (cutghost[dim] / 2. + neighbor->skin/2.) : cutghost[dim]); 
         } else {
           for (i = 1; i <= ntypes; i++) {
             if (ineed < 2) multilo[iswap][i] = -BIG;
@@ -599,7 +629,7 @@ void Comm::setup()
         sendproc[iswap] = procneigh[dim][1];
         recvproc[iswap] = procneigh[dim][0];
         if (style == SINGLE) {
-          slablo[iswap] = subhi[dim] - cutghost[dim];
+          slablo[iswap] = subhi[dim] - (atom->radius ? (cutghost[dim] / 2. + neighbor->skin/2.) : cutghost[dim]); 
           if (ineed < 2) slabhi[iswap] = BIG;
           else slabhi[iswap] = 0.5 * (sublo[dim] + subhi[dim]);
         } else {
@@ -941,10 +971,17 @@ void Comm::borders()
   smax = rmax = 0;
 
   for (dim = 0; dim < 3; dim++) {
+
     nlast = 0;
     twoneed = 2*maxneed[dim];
     for (ineed = 0; ineed < twoneed; ineed++) {
 
+      if(dw_ && dim != ia && dim != iphi)
+      {
+        
+        continue;
+      }
+      
       // find atoms within slab boundaries lo/hi using <= and >=
       // check atoms between nfirst and nlast
       //   for first swaps in a dim, check owned and ghost
@@ -982,11 +1019,23 @@ void Comm::borders()
       if (sendflag) {
         if (!bordergroup || ineed >= 2) {
           if (style == SINGLE) {
-            for (i = nfirst; i < nlast; i++)
-              if (x[i][dim] >= lo && x[i][dim] <= hi) {
-                if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
-                sendlist[iswap][nsend++] = i;
-              }
+            
+            if(dw_ && dim == iphi)
+            {
+                for (i = nfirst; i < nlast; i++)
+                  if (decide_wedge(i,dim,lo,hi,ineed)) {
+                    if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
+                    sendlist[iswap][nsend++] = i;
+                  }
+            }
+            else 
+            {
+                for (i = nfirst; i < nlast; i++)
+                  if (decide(i,dim,lo,hi,ineed)) {
+                    if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
+                    sendlist[iswap][nsend++] = i;
+                  }
+            }
           } else {
             for (i = nfirst; i < nlast; i++) {
               itype = type[i];
@@ -999,17 +1048,35 @@ void Comm::borders()
 
         } else {
           if (style == SINGLE) {
-            ngroup = atom->nfirst;
-            for (i = 0; i < ngroup; i++)
-              if (x[i][dim] >= lo && x[i][dim] <= hi) {
-                if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
-                sendlist[iswap][nsend++] = i;
-              }
-            for (i = atom->nlocal; i < nlast; i++)
-              if (x[i][dim] >= lo && x[i][dim] <= hi) {
-                if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
-                sendlist[iswap][nsend++] = i;
-              }
+            
+            if(dw_ && dim == iphi)
+            {
+                ngroup = atom->nfirst;
+                for (i = 0; i < ngroup; i++)
+                  if (decide_wedge(i,dim,lo,hi,ineed)) {
+                    if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
+                    sendlist[iswap][nsend++] = i;
+                  }
+                for (i = atom->nlocal; i < nlast; i++)
+                  if (decide_wedge(i,dim,lo,hi,ineed)) {
+                    if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
+                    sendlist[iswap][nsend++] = i;
+                  }
+            }
+            else 
+            {
+                ngroup = atom->nfirst;
+                for (i = 0; i < ngroup; i++)
+                  if (decide(i,dim,lo,hi,ineed)) {
+                    if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
+                    sendlist[iswap][nsend++] = i;
+                  }
+                for (i = atom->nlocal; i < nlast; i++)
+                  if (decide(i,dim,lo,hi,ineed)) {
+                    if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend);
+                    sendlist[iswap][nsend++] = i;
+                  }
+            }
           } else {
             ngroup = atom->nfirst;
             for (i = 0; i < ngroup; i++) {
diff --git a/src/comm.h b/src/comm.h
index 586cc5d9..88759e52 100644
--- a/src/comm.h
+++ b/src/comm.h
@@ -130,6 +130,14 @@ class Comm : protected Pointers {
   virtual void allocate_multi(int);         // allocate multi arrays
   virtual void free_swap();                 // free swap arrays
   virtual void free_multi();                // free multi arrays
+
+  bool decide(int i,int dim,double lo,double hi,int ineed);
+  bool decide_wedge(int i,int dim,double lo,double hi,int ineed);
+
+  class DomainWedge *dw_;
+  int ia,iphi;
+  
+  double nleft[2],nright[2],pleft[2],pright[2],c[2];
 };
 
 }
diff --git a/src/comm_I.h b/src/comm_I.h
new file mode 100644
index 00000000..45afbd83
--- /dev/null
+++ b/src/comm_I.h
@@ -0,0 +1,81 @@
+/* ----------------------------------------------------------------------
+   LIGGGHTS - LAMMPS Improved for General Granular and Granular Heat
+   Transfer Simulations
+
+   LIGGGHTS is part of the CFDEMproject
+   www.liggghts.com | www.cfdem.com
+
+   Christoph Kloss, christoph.kloss@cfdem.com
+   Copyright 2009-2012 JKU Linz
+   Copyright 2012-     DCS Computing GmbH, Linz
+
+   LIGGGHTS is based on LAMMPS
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   This software is distributed under the GNU General Public License.
+
+   See the README file in the top-level directory.
+------------------------------------------------------------------------- */
+
+#ifndef LMP_COMM_I_H
+#define LMP_COMM_I_H
+
+#include "atom.h"
+#include "domain_wedge.h"
+
+using namespace LAMMPS_NS;
+
+/* ----------------------------------------------------------------------
+   decide if border element, optimization for granular
+------------------------------------------------------------------------- */
+
+inline bool Comm::decide(int i,int dim,double lo,double hi,int ineed)
+{
+    double **x = atom->x;
+    double *radius = atom->radius;
+
+    if( ((ineed % 2 == 0) && x[i][dim] >= lo && x[i][dim] <= (hi + (radius? (radius[i]) : 0.)) ) ||
+        ((ineed % 2 == 1) && x[i][dim] >= (lo - (radius? radius[i] : 0.)) && x[i][dim] <= hi )   )
+        return true;
+
+    return false;
+}
+
+/* ----------------------------------------------------------------------
+   decide if border element for wedge case, optimization for granular
+------------------------------------------------------------------------- */
+
+inline bool Comm::decide_wedge(int i,int dim,double lo,double hi,int ineed)
+{
+    double **x = atom->x;
+    double *radius = atom->radius;
+    double coo[2],d[2];
+    coo[0] = x[i][iphi];
+    coo[1] = x[i][(iphi+1)%3];
+
+    if (ineed % 2 == 0)
+    {
+        vectorSubtract2D(coo,pleft,d);
+        if(vectorDot2D(d,nleft) >= -(radius? radius[i] : 0.))
+        {
+            
+            return true;
+        }
+    }
+    
+    else if (ineed % 2 == 1)
+    {
+        vectorSubtract2D(coo,pright,d);
+        if(vectorDot2D(d,nright) >= -(radius? radius[i] : 0.))
+        {
+            
+            return true;
+        }
+    }
+    
+    return false;
+}
+
+#endif
diff --git a/src/compute_erotate_sphere.cpp b/src/compute_erotate_sphere.cpp
index f0ba88cd..20e9a093 100644
--- a/src/compute_erotate_sphere.cpp
+++ b/src/compute_erotate_sphere.cpp
@@ -18,6 +18,8 @@
 #include "update.h"
 #include "force.h"
 #include "domain.h"
+#include "modify.h" 
+#include "fix_multisphere.h" 
 #include "group.h"
 #include "error.h"
 
@@ -39,6 +41,8 @@ ComputeERotateSphere::ComputeERotateSphere(LAMMPS *lmp, int narg, char **arg) :
 
   if (!atom->sphere_flag)
     error->all(FLERR,"Compute erotate/sphere requires atom style sphere");
+
+  fix_ms = 0; 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -46,6 +50,7 @@ ComputeERotateSphere::ComputeERotateSphere(LAMMPS *lmp, int narg, char **arg) :
 void ComputeERotateSphere::init()
 {
   pfactor = 0.5 * force->mvv2e * INERTIA;
+  fix_ms =  static_cast<FixMultisphere*>(modify->find_fix_style("multisphere",0)); 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -65,7 +70,7 @@ double ComputeERotateSphere::compute_scalar()
 
   double erotate = 0.0;
   for (int i = 0; i < nlocal; i++)
-    if (mask[i] & groupbit)
+    if (mask[i] & groupbit && (!fix_ms || fix_ms->belongs_to(i) < 0)) 
       erotate += (omega[i][0]*omega[i][0] + omega[i][1]*omega[i][1] +
                   omega[i][2]*omega[i][2]) * radius[i]*radius[i]*rmass[i];
 
diff --git a/src/compute_erotate_sphere.h b/src/compute_erotate_sphere.h
index 815a6655..3e41f304 100644
--- a/src/compute_erotate_sphere.h
+++ b/src/compute_erotate_sphere.h
@@ -33,6 +33,7 @@ class ComputeERotateSphere : public Compute {
 
  private:
   double pfactor;
+  class FixMultisphere *fix_ms; 
 };
 
 }
diff --git a/src/compute_ke.cpp b/src/compute_ke.cpp
index 3efd6983..65927309 100644
--- a/src/compute_ke.cpp
+++ b/src/compute_ke.cpp
@@ -19,6 +19,8 @@
 #include "domain.h"
 #include "group.h"
 #include "error.h"
+#include "modify.h" 
+#include "fix_multisphere.h" 
 
 using namespace LAMMPS_NS;
 
@@ -31,6 +33,7 @@ ComputeKE::ComputeKE(LAMMPS *lmp, int narg, char **arg) :
 
   scalar_flag = 1;
   extscalar = 1;
+  fix_ms = NULL; 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -38,6 +41,7 @@ ComputeKE::ComputeKE(LAMMPS *lmp, int narg, char **arg) :
 void ComputeKE::init()
 {
   pfactor = 0.5 * force->mvv2e;
+  fix_ms =  static_cast<FixMultisphere*>(modify->find_fix_style("multisphere",0)); 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -57,7 +61,7 @@ double ComputeKE::compute_scalar()
 
   if (rmass) {
     for (int i = 0; i < nlocal; i++)
-      if (mask[i] & groupbit)
+      if (mask[i] & groupbit && (!fix_ms || fix_ms->belongs_to(i) < 0))
         ke += rmass[i] * (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]);
   } else {
     for (int i = 0; i < nlocal; i++)
diff --git a/src/compute_ke.h b/src/compute_ke.h
index 5dbfeb30..88406c03 100644
--- a/src/compute_ke.h
+++ b/src/compute_ke.h
@@ -32,6 +32,7 @@ class ComputeKE : public Compute {
 
  private:
   double pfactor;
+  class FixMultisphere *fix_ms; 
 };
 
 }
diff --git a/src/compute_ke_atom.cpp b/src/compute_ke_atom.cpp
index 5709c428..869d56e9 100644
--- a/src/compute_ke_atom.cpp
+++ b/src/compute_ke_atom.cpp
@@ -17,6 +17,7 @@
 #include "update.h"
 #include "modify.h"
 #include "comm.h"
+#include "fix_multisphere.h" 
 #include "force.h"
 #include "memory.h"
 #include "error.h"
@@ -35,6 +36,7 @@ ComputeKEAtom::ComputeKEAtom(LAMMPS *lmp, int narg, char **arg) :
 
   nmax = 0;
   ke = NULL;
+  fix_ms = NULL; 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -53,6 +55,7 @@ void ComputeKEAtom::init()
     if (strcmp(modify->compute[i]->style,"ke/atom") == 0) count++;
   if (count > 1 && comm->me == 0)
     error->warning(FLERR,"More than one compute ke/atom");
+  fix_ms =  static_cast<FixMultisphere*>(modify->find_fix_style("multisphere",0)); 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -82,7 +85,7 @@ void ComputeKEAtom::compute_peratom()
 
   if (rmass)
     for (int i = 0; i < nlocal; i++) {
-      if (mask[i] & groupbit) {
+      if (mask[i] & groupbit && (!fix_ms || fix_ms->belongs_to(i) < 0)) { 
         ke[i] = 0.5 * mvv2e * rmass[i] *
           (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]);
       } else ke[i] = 0.0;
diff --git a/src/compute_ke_atom.h b/src/compute_ke_atom.h
index 3c815ed1..ccd91c95 100644
--- a/src/compute_ke_atom.h
+++ b/src/compute_ke_atom.h
@@ -35,6 +35,7 @@ class ComputeKEAtom : public Compute {
  private:
   int nmax;
   double *ke;
+  class FixMultisphere *fix_ms; 
 };
 
 }
diff --git a/src/domain.cpp b/src/domain.cpp
index 286494f3..d73e79f9 100644
--- a/src/domain.cpp
+++ b/src/domain.cpp
@@ -94,6 +94,7 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp)
   nregion = maxregion = 0;
   regions = NULL;
 
+  is_wedge = false; 
 }
 
 /* ---------------------------------------------------------------------- */
@@ -1416,41 +1417,3 @@ void Domain::box_corners()
   lamda2x(corners[7],corners[7]);
 }
 
-/* ----------------------------------------------------------------------
-   domain check - not used very often, so not inlined
-------------------------------------------------------------------------- */
-
-int Domain::is_periodic_ghost(int i) 
-{
-    int idim;
-    int nlocal = atom->nlocal;
-    double *x = atom->x[i];
-    double halfskin = 0.5*neighbor->skin;
-
-    if(i < nlocal) return 0;
-    else
-    {
-        for(idim = 0; idim < 3; idim++)
-             if ((x[idim] < (boxlo[idim]+halfskin) || x[idim] > (boxhi[idim]-halfskin)) && periodicity[idim])
-             
-                return 1;
-    }
-    return 0;
-}
-
-/* ----------------------------------------------------------------------
-   check if atom is unique on this subdomain
-   used when tallying stats across owned and ghost particles
-------------------------------------------------------------------------- */
-
-bool Domain::is_owned_or_first_ghost(int i) 
-{
-    if(!atom->tag_enable)
-        error->one(FLERR,"The current simulation setup requires atoms to have tags");
-    if(0 == atom->map_style)
-        error->one(FLERR,"The current simulation setup requires an 'atom_modify map' command to allocate an atom map");
-
-    if(i == atom->map(atom->tag[i]))
-        return true;
-    return false;
-}
diff --git a/src/domain.h b/src/domain.h
index e61f6d77..fb4f37d3 100644
--- a/src/domain.h
+++ b/src/domain.h
@@ -28,6 +28,8 @@
 #include "error.h" 
 #include "comm.h" 
 #include "vector_liggghts.h" 
+#include "neighbor.h" 
+#include "atom.h" 
 
 #define SMALL_DMBRDR 1.0e-8 
 
@@ -123,7 +125,7 @@ class Domain : protected Pointers {
   void add_region(int, char **);
   void delete_region(int, char **);
   int find_region(char *);
-  void set_boundary(int, char **, int);
+  virtual void set_boundary(int, char **, int); 
   virtual void print_box(const char *); 
 
   virtual void lamda2x(int);
@@ -134,109 +136,26 @@ class Domain : protected Pointers {
   void bbox(double *, double *, double *, double *);
   void box_corners();
 
-  inline int is_in_domain(double* pos); 
-  inline int is_in_subdomain(double* pos); 
-  inline int is_in_extended_subdomain(double* pos); 
-  inline double dist_subbox_borders(double* pos); 
+  int is_in_domain(double* pos); 
+  int is_in_subdomain(double* pos); 
+  int is_in_extended_subdomain(double* pos); 
+  double dist_subbox_borders(double* pos); 
   int is_periodic_ghost(int i); 
   bool is_owned_or_first_ghost(int i); 
 
+  virtual int is_in_domain_wedge(double* pos) {return 0;} 
+  virtual int is_in_subdomain_wedge(double* pos) {return 0;} 
+  virtual int is_in_extended_subdomain_wedge(double* pos) {return 0;} 
+  virtual double dist_subbox_borders_wedge(double* pos) {return 0.;} 
+  virtual int is_periodic_ghost_wedge(int i) {return 0;} 
+
+  bool is_wedge; 
+
  private:
   double small[3];                  // fractions of box lengths
 };
 
-/* ----------------------------------------------------------------------
-   check if coordinate in domain, subdomain or extended subdomain
-   need to test with <= and >= for domain, and < and >= for subdomain
-   inlined for performance
-------------------------------------------------------------------------- */
-
-inline int Domain::is_in_domain(double* pos) 
-{
-    if
-    (
-        pos[0] >= boxlo[0] && pos[0] <= boxhi[0] &&
-        pos[1] >= boxlo[1] && pos[1] <= boxhi[1] &&
-        pos[2] >= boxlo[2] && pos[2] <= boxhi[2]
-    )   return 1;
-    return 0;
-}
-
-inline int Domain::is_in_subdomain(double* pos) 
-{
-    double checkhi[3];
-
-    // need to test with and < and >= for subdomain
-    // but need to ensure elements right at boxhi
-    // are tested correctly
-    if(subhi[0] == boxhi[0])
-        checkhi[0] = boxhi[0] + SMALL_DMBRDR;
-    else
-        checkhi[0] = subhi[0];
-
-    if(subhi[1] == boxhi[1])
-        checkhi[1] = boxhi[1] + SMALL_DMBRDR;
-    else
-        checkhi[1] = subhi[1];
-
-    if(subhi[2] == boxhi[2])
-        checkhi[2] = boxhi[2] + SMALL_DMBRDR;
-    else
-        checkhi[2] = subhi[2];
-
-    if ( pos[0] >= sublo[0] && pos[0] < checkhi[0] &&
-         pos[1] >= sublo[1] && pos[1] < checkhi[1] &&
-         pos[2] >= sublo[2] && pos[2] < checkhi[2])
-        return 1;
-    return 0;
-}
-
-inline int Domain::is_in_extended_subdomain(double* pos) 
-{
-    // called on insertion
-    // yields true if particle would be in subdomain after box extension
-    
-    if (is_in_subdomain(pos))
-        return 1;
-    else if (dimension == 2)
-        error->all(FLERR,"Domain::is_in_extended_subdomain() not implemented for 2d");
-    else 
-    {
-        bool flag = true;
-        for(int idim = 0; idim < 3; idim++)
-        {
-            
-            if (comm->procgrid[idim] == 1) {}
-            else if(comm->myloc[idim] == comm->procgrid[idim]-1)
-                flag = flag && (pos[idim] >= sublo[idim]);
-            else if(comm->myloc[idim] == 0)
-                flag = flag && (pos[idim] <= subhi[idim]);
-            
-            else
-                flag = flag && (pos[idim] >= sublo[idim] && pos[idim] < subhi[idim]);
-        }
-        if(flag) return 1;
-        return 0;
-    }
-    return 0;
-}
-
-inline double Domain::dist_subbox_borders(double* pos) 
-{
-    double deltalo[3], deltahi[3], dlo, dhi;
-
-    vectorSubtract3D(sublo,pos,deltalo);
-    vectorSubtract3D(subhi,pos,deltahi);
-    vectorAbs3D(deltalo);
-    vectorAbs3D(deltahi);
-
-    dlo = vectorMin3D(deltalo);
-    dhi = vectorMin3D(deltahi);
-
-    if(dlo < dhi)
-        return dlo;
-    return dhi;
-}
+#include "domain_I.h"
 
 }
 
diff --git a/src/domain_I.h b/src/domain_I.h
new file mode 100644
index 00000000..54bc314a
--- /dev/null
+++ b/src/domain_I.h
@@ -0,0 +1,178 @@
+/* ----------------------------------------------------------------------
+   LIGGGHTS - LAMMPS Improved for General Granular and Granular Heat
+   Transfer Simulations
+
+   LIGGGHTS is part of the CFDEMproject
+   www.liggghts.com | www.cfdem.com
+
+   Christoph Kloss, christoph.kloss@cfdem.com
+   Copyright 2009-2012 JKU Linz
+   Copyright 2012-     DCS Computing GmbH, Linz
+
+   LIGGGHTS is based on LAMMPS
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   This software is distributed under the GNU General Public License.
+
+   See the README file in the top-level directory.
+------------------------------------------------------------------------- */
+
+#ifndef LMP_DOMAIN_I_H
+#define LMP_DOMAIN_I_H
+
+using namespace LAMMPS_NS;
+
+/* ----------------------------------------------------------------------
+   check if coordinate in domain, subdomain or extended subdomain
+   need to test with <= and >= for domain, and < and >= for subdomain
+   inlined for performance
+------------------------------------------------------------------------- */
+
+inline int Domain::is_in_domain(double* pos) 
+{
+    if(is_wedge)
+        return is_in_domain_wedge(pos);
+
+    if
+    (
+        pos[0] >= boxlo[0] && pos[0] <= boxhi[0] &&
+        pos[1] >= boxlo[1] && pos[1] <= boxhi[1] &&
+        pos[2] >= boxlo[2] && pos[2] <= boxhi[2]
+    )   return 1;
+    return 0;
+}
+
+inline int Domain::is_in_subdomain(double* pos) 
+{
+    if(is_wedge)
+        return is_in_subdomain_wedge(pos);
+
+    double checkhi[3];
+
+    // need to test with and < and >= for subdomain
+    // but need to ensure elements right at boxhi
+    // are tested correctly
+    if(subhi[0] == boxhi[0])
+        checkhi[0] = boxhi[0] + SMALL_DMBRDR;
+    else
+        checkhi[0] = subhi[0];
+
+    if(subhi[1] == boxhi[1])
+        checkhi[1] = boxhi[1] + SMALL_DMBRDR;
+    else
+        checkhi[1] = subhi[1];
+
+    if(subhi[2] == boxhi[2])
+        checkhi[2] = boxhi[2] + SMALL_DMBRDR;
+    else
+        checkhi[2] = subhi[2];
+
+    if ( pos[0] >= sublo[0] && pos[0] < checkhi[0] &&
+         pos[1] >= sublo[1] && pos[1] < checkhi[1] &&
+         pos[2] >= sublo[2] && pos[2] < checkhi[2])
+        return 1;
+    return 0;
+}
+
+inline int Domain::is_in_extended_subdomain(double* pos) 
+{
+    if(is_wedge)
+        return is_in_extended_subdomain_wedge(pos);
+
+    // called on insertion
+    // yields true if particle would be in subdomain after box extension
+    
+    if (is_in_subdomain(pos))
+        return 1;
+    else if (dimension == 2)
+        error->all(FLERR,"Domain::is_in_extended_subdomain() not implemented for 2d");
+    else 
+    {
+        bool flag = true;
+        for(int idim = 0; idim < 3; idim++)
+        {
+            
+            if (comm->procgrid[idim] == 1) {}
+            else if(comm->myloc[idim] == comm->procgrid[idim]-1)
+                flag = flag && (pos[idim] >= sublo[idim]);
+            else if(comm->myloc[idim] == 0)
+                flag = flag && (pos[idim] <= subhi[idim]);
+            
+            else
+                flag = flag && (pos[idim] >= sublo[idim] && pos[idim] < subhi[idim]);
+        }
+        if(flag) return 1;
+        return 0;
+    }
+    return 0;
+}
+
+/* ----------------------------------------------------------------------
+   check distance from borders of subbox
+------------------------------------------------------------------------- */
+
+inline double Domain::dist_subbox_borders(double* pos) 
+{
+    if(is_wedge)
+        return dist_subbox_borders_wedge(pos);
+
+    double deltalo[3], deltahi[3], dlo, dhi;
+
+    vectorSubtract3D(sublo,pos,deltalo);
+    vectorSubtract3D(subhi,pos,deltahi);
+    vectorAbs3D(deltalo);
+    vectorAbs3D(deltahi);
+
+    dlo = vectorMin3D(deltalo);
+    dhi = vectorMin3D(deltahi);
+
+    if(dlo < dhi)
+        return dlo;
+    return dhi;
+}
+
+/* ----------------------------------------------------------------------
+   domain check - not used very often, so not inlined
+------------------------------------------------------------------------- */
+
+inline int Domain::is_periodic_ghost(int i) 
+{
+    if(is_wedge)
+        return is_periodic_ghost_wedge(i);
+
+    int idim;
+    int nlocal = atom->nlocal;
+    double *x = atom->x[i];
+    double halfskin = 0.5*neighbor->skin;
+
+    if(i < nlocal) return 0;
+    else
+    {
+        for(idim = 0; idim < 3; idim++)
+             if ((x[idim] < (boxlo[idim]+halfskin) || x[idim] > (boxhi[idim]-halfskin)) && periodicity[idim])
+             
+                return 1;
+    }
+    return 0;
+}
+
+/* ----------------------------------------------------------------------
+   check if atom is the true representation of the particle on this subdomain
+   used when tallying stats across owned and ghost particles
+------------------------------------------------------------------------- */
+
+inline bool Domain::is_owned_or_first_ghost(int i) 
+{
+    if(!atom->tag_enable)
+        error->one(FLERR,"The current simulation setup requires atoms to have tags");
+    if(0 == atom->map_style)
+        error->one(FLERR,"The current simulation setup requires an 'atom_modify map' command to allocate an atom map");
+
+    if(i == atom->map(atom->tag[i]))
+        return true;
+    return false;
+}
+
+#endif
diff --git a/src/domain_wedge_dummy.h b/src/domain_wedge_dummy.h
index 8a6bee98..6026d614 100644
--- a/src/domain_wedge_dummy.h
+++ b/src/domain_wedge_dummy.h
@@ -40,6 +40,20 @@ class DomainWedge : public Domain
     DomainWedge(class LAMMPS *lmp) : Domain(lmp) {};
     void set_domain(class RegWedge *rw) {}
 
+    inline int index_axis()
+    { return 0; }
+
+    inline int index_phi()
+    { return 0; }
+
+    inline void n1(double *_n1)
+    { }
+
+    inline void n2(double *_n2)
+    { }
+
+    inline void center(double *_c)
+    { }
 };
 
 }
diff --git a/src/fix.h b/src/fix.h
index ca003993..4d3b27a3 100644
--- a/src/fix.h
+++ b/src/fix.h
@@ -101,7 +101,9 @@ class Fix : protected Pointers {
   virtual void post_create_pre_restart() {} 
   virtual void post_create() {} 
   virtual void pre_delete(bool) {} 
-  virtual void box_extent(double &xlo,double &xhi,double &ylo,double &yhi,double &zlo,double &zhi) {} 
+  virtual void box_extent(double &xlo,double &xhi,double &ylo,double &yhi,double &zlo,double &zhi) {
+    UNUSED(xlo); UNUSED(xhi); UNUSED(ylo); UNUSED(yhi); UNUSED(zlo); UNUSED(zhi); 
+  } 
   virtual void init() {}
   virtual void init_list(int, class NeighList *) {}
   virtual void setup(int) {}
diff --git a/src/fix_cfd_coupling_force.cpp b/src/fix_cfd_coupling_force.cpp
index eefec919..6b5326fa 100644
--- a/src/fix_cfd_coupling_force.cpp
+++ b/src/fix_cfd_coupling_force.cpp
@@ -78,7 +78,7 @@ FixCfdCouplingForce::FixCfdCouplingForce(LAMMPS *lmp, int narg, char **arg) : Fi
                 error->fix_error(FLERR,this,"expecting 'yes' or 'no' after 'transfer_type'");
             iarg++;
             hasargs = true;
-        } else
+        } else if (strcmp(this->style,"couple/cfd/force") == 0)
             error->fix_error(FLERR,this,"unknown keyword");
     }
 
diff --git a/src/fix_cfd_coupling_force_implicit.cpp b/src/fix_cfd_coupling_force_implicit.cpp
index 49e41c3e..1384f4fb 100644
--- a/src/fix_cfd_coupling_force_implicit.cpp
+++ b/src/fix_cfd_coupling_force_implicit.cpp
@@ -22,6 +22,7 @@
 #include "string.h"
 #include "stdlib.h"
 #include "atom.h"
+#include "force.h"
 #include "update.h"
 #include "respa.h"
 #include "error.h"
@@ -41,10 +42,33 @@ using namespace FixConst;
 
 FixCfdCouplingForceImplicit::FixCfdCouplingForceImplicit(LAMMPS *lmp, int narg, char **arg) :
     FixCfdCouplingForce(lmp,narg,arg),
+    useCN_(false),
+    CNalpha_(0.0),
     fix_Ksl_(0),
     fix_uf_(0)
 {
 
+    int iarg = 3;
+
+    bool hasargs = true;
+    while(iarg < narg && hasargs)
+    {
+        hasargs = false;
+
+        if(strcmp(arg[iarg],"CrankNicolson") == 0) {
+            if(narg < iarg+2)
+                error->fix_error(FLERR,this,"not enough arguments for 'CrankNicholson'");
+            iarg++;
+            useCN_ = true;
+            CNalpha_ = atof(arg[iarg]);
+            fprintf(screen,"cfd_coupling_foce_implicit will use Crank-Nicholson scheme with %f\n", CNalpha_);
+            iarg++;
+            hasargs = true;
+        }
+    }
+
+  nevery = 1;
+  
 }
 
 /* ---------------------------------------------------------------------- */
@@ -54,6 +78,15 @@ FixCfdCouplingForceImplicit::~FixCfdCouplingForceImplicit()
 
 }
 
+/* ---------------------------------------------------------------------- */
+int FixCfdCouplingForceImplicit::setmask()
+{
+  int mask = 0;
+  mask |= POST_FORCE;
+  mask |= END_OF_STEP;
+  return mask;
+}
+
 /* ---------------------------------------------------------------------- */
 
 void FixCfdCouplingForceImplicit::post_create()
@@ -64,7 +97,7 @@ void FixCfdCouplingForceImplicit::post_create()
     // register Ksl
     if(!fix_Ksl_)
     {
-        char* fixarg[9];
+        char* fixarg[9];
         fixarg[0]="Ksl";
         fixarg[1]="all";
         fixarg[2]="property/atom";
@@ -113,12 +146,15 @@ void FixCfdCouplingForceImplicit::init()
     // values to come from OF
     fix_coupling_->add_pull_property("Ksl","scalar-atom");
     fix_coupling_->add_pull_property("uf","vector-atom");
+    
+    deltaT_ = 0.5 * update->dt * force->ftm2v;
 }
 
 /* ---------------------------------------------------------------------- */
 
 void FixCfdCouplingForceImplicit::post_force(int vflag)
 {
+
   double **x = atom->x;
   double **v = atom->v;
   double **f = atom->f;
@@ -126,7 +162,7 @@ void FixCfdCouplingForceImplicit::post_force(int vflag)
   int nlocal = atom->nlocal;
   double *Ksl = fix_Ksl_->vector_atom;
   double **uf = fix_uf_->array_atom;
-  double **dragforce = fix_dragforce_->array_atom;
+  double **dragforce = fix_dragforce_->array_atom;
   double frc[3];
 
   vectorZeroize3D(dragforce_total);
@@ -137,16 +173,86 @@ void FixCfdCouplingForceImplicit::post_force(int vflag)
     if (mask[i] & groupbit)
     {
         // calc force
-        vectorSubtract3D(uf[i],v[i],frc);
-        vectorScalarMult3D(frc,Ksl[i]);
+        if(!useCN_)  //calculate drag force and add if not using Crank-Nicolson
+        {
+            vectorSubtract3D(uf[i],v[i],frc);
+            vectorScalarMult3D(frc,Ksl[i]);
+
+            vectorAdd3D(f[i],frc,f[i]);
+            vectorAdd3D(dragforce_total,frc,dragforce_total);
+        }
+
+        // add other force
+        vectorAdd3D(f[i],dragforce[i],f[i]);
+
+        // add up forces for post-proc
+        vectorAdd3D(dragforce_total,dragforce[i],dragforce_total);
+    }
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void FixCfdCouplingForceImplicit::end_of_step()
+{
+
+  if(!useCN_) return; //return if CN not used
+  
+  double **x = atom->x;
+  double **v = atom->v;
+  double **f = atom->f;
+  double *rmass = atom->rmass;
+  double *mass = atom->mass;
+  int *type = atom->type;
+  
+  int *mask = atom->mask;
+  int nlocal = atom->nlocal;
+  double *Ksl = fix_Ksl_->vector_atom;
+  double **uf = fix_uf_->array_atom;
+  double **dragforce = fix_dragforce_->array_atom;
+  double KslMDeltaT, deltaU;
+  double vN32[3];
+  double frc[3];
 
-        // add force
+  vectorZeroize3D(dragforce_total);
+
+  // add dragforce to force vector
+  for (int i = 0; i < nlocal; i++)
+  {
+    if (mask[i] & groupbit)
+    {
+      if (rmass)  KslMDeltaT = Ksl[i]/rmass[i]*deltaT_;
+      else        KslMDeltaT = Ksl[i]/mass[type[i]]*deltaT_;
+
+        for(int dirI=0;dirI<3;dirI++)
+        {
+            //calculate new velocity
+            vN32[dirI] = (  v[i][dirI]
+                          + KslMDeltaT
+                            *(   uf[i][dirI] 
+                              - (1.0-CNalpha_)*v[i][dirI]
+                             )
+                         )
+                         /
+                         (1.0+KslMDeltaT*CNalpha_);
+                         
+            //calculate velocity difference and force             
+            deltaU    =  uf[i][dirI] 
+                           - ( 
+                                (1.0-CNalpha_)*v[i][dirI]
+                               +     CNalpha_ *vN32[dirI]
+                             );
+           frc[dirI] = Ksl[i] * deltaU;  //force required for the next time step
+           
+           //update the particle velocity
+           v[i][dirI] += KslMDeltaT/2.0 * deltaU;  //update velocity for a half step!
+        }
+    
+         // add force
         vectorAdd3D(f[i],frc,f[i]);
-        vectorAdd3D(f[i],dragforce[i],f[i]);
-
-        // add up forces for post-proc
+ 
+        // add up forces for post-proc
         vectorAdd3D(dragforce_total,frc,dragforce_total);
-        vectorAdd3D(dragforce_total,dragforce[i],dragforce_total);
-    }
+     }
   }
 }
diff --git a/src/fix_cfd_coupling_force_implicit.h b/src/fix_cfd_coupling_force_implicit.h
index e4918fc8..7beddfab 100644
--- a/src/fix_cfd_coupling_force_implicit.h
+++ b/src/fix_cfd_coupling_force_implicit.h
@@ -39,10 +39,15 @@ class FixCfdCouplingForceImplicit : public FixCfdCouplingForce  {
   void post_create();
   void pre_delete(bool unfixflag);
 
+  int setmask();
   virtual void init();
   void post_force(int);
+  void end_of_step();
 
  protected:
+  double deltaT_;
+  bool   useCN_;
+  double CNalpha_;  
   class FixPropertyAtom* fix_Ksl_;
   class FixPropertyAtom* fix_uf_;
 };
diff --git a/src/fix_contact_history.cpp b/src/fix_contact_history.cpp
index 2c137403..301f2f9b 100644
--- a/src/fix_contact_history.cpp
+++ b/src/fix_contact_history.cpp
@@ -214,7 +214,7 @@ void FixContactHistory::init()
    only invoke pre_exchange() if neigh list stores more current history info
      than npartner/partner arrays in this fix
    that will only be case if pair->compute() has been invoked since
-     upate of npartner/npartner
+     update of npartner/npartner
    this logic avoids 2 problems:
      run 100; write_restart; run 100
        setup_pre_exchange is called twice (by write_restart and 2nd run setup)
diff --git a/src/fix_heat_gran.cpp b/src/fix_heat_gran.cpp
index f43fd78d..ceb995e9 100644
--- a/src/fix_heat_gran.cpp
+++ b/src/fix_heat_gran.cpp
@@ -55,7 +55,6 @@ FixHeatGran::FixHeatGran(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg
   peratom_flag = 1;      
   size_peratom_cols = 0; 
   peratom_freq = 1;
-  time_depend = 1;
 
   scalar_flag = 1; 
   global_freq = 1; 
diff --git a/src/fix_insert.cpp b/src/fix_insert.cpp
index 332a934f..9dce5dde 100644
--- a/src/fix_insert.cpp
+++ b/src/fix_insert.cpp
@@ -260,6 +260,7 @@ FixInsert::FixInsert(LAMMPS *lmp, int narg, char **arg) :
 
   vector_flag = 1;
   size_vector = 2;
+  global_freq = 1;
 
   print_stats_start_flag = 1;
 
@@ -298,11 +299,11 @@ void FixInsert::setup(int vflag)
   // calc last step of insertion
   if(ninsert_exists)
   {
-      if(ninsert < ninsert_per)
+      if(ninsert <= ninsert_per)
         final_ins_step = first_ins_step;
       else
         final_ins_step = first_ins_step +
-                static_cast<int>(static_cast<double>(ninsert)/ninsert_per *  static_cast<double>(insert_every));
+                static_cast<int>(static_cast<double>(ninsert)/ninsert_per) *  static_cast<double>(insert_every);
 
       if(final_ins_step < 0)
         error->fix_error(FLERR,this,"Particle insertion: Overflow - need too long for particle insertion. "
diff --git a/src/fix_massflow_mesh.cpp b/src/fix_massflow_mesh.cpp
index 2071f6c6..83c04430 100644
--- a/src/fix_massflow_mesh.cpp
+++ b/src/fix_massflow_mesh.cpp
@@ -476,7 +476,7 @@ void FixMassflowMesh::pre_exchange()
 void FixMassflowMesh::write_restart(FILE *fp)
 {
   int n = 0;
-  double list[4];
+  double list[6];
   list[n++] = mass_;
   list[n++] = t_count_;
   list[n++] = mass_last_;
diff --git a/src/fix_mesh.cpp b/src/fix_mesh.cpp
index cb64b3fc..05f87c19 100644
--- a/src/fix_mesh.cpp
+++ b/src/fix_mesh.cpp
@@ -115,7 +115,6 @@ FixMesh::FixMesh(LAMMPS *lmp, int narg, char **arg)
     }
 
     // construct a mesh - can be surface or volume mesh
-    
     // just create object and return if reading data from restart file
     
     if(modify->have_restart_data(this)) create_mesh_restart();
@@ -304,7 +303,6 @@ void FixMesh::initialSetup()
 
 void FixMesh::pre_exchange()
 {
-    // flag parallel operations on this step
     
     pOpFlag_ = true;
 }
@@ -315,7 +313,6 @@ void FixMesh::pre_exchange()
 
 void FixMesh::pre_force(int vflag)
 {
-    
     // case re-neigh step
     if(pOpFlag_)
     {
@@ -346,6 +343,7 @@ void FixMesh::pre_force(int vflag)
 
 void FixMesh::final_integrate()
 {
+    
     mesh_->reverseComm();
 }
 
diff --git a/src/fix_mesh_surface_stress.cpp b/src/fix_mesh_surface_stress.cpp
index 3f10759a..a75f53d9 100644
--- a/src/fix_mesh_surface_stress.cpp
+++ b/src/fix_mesh_surface_stress.cpp
@@ -37,11 +37,11 @@
 #include "fix_property_global.h"
 #include "fix_gravity.h"
 
-#define EPSILON 0.001
-
 using namespace LAMMPS_NS;
 using namespace FixConst;
 
+#define EPSILON 0.0001
+
 /* ---------------------------------------------------------------------- */
 
 FixMeshSurfaceStress::FixMeshSurfaceStress(LAMMPS *lmp, int narg, char **arg)
@@ -228,7 +228,7 @@ void FixMeshSurfaceStress::final_integrate()
 void FixMeshSurfaceStress::add_particle_contribution(int ip,double *frc,
                                 double *delta,int iTri,double *v_wall)
 {
-    double E,c[3],v_rel[3],cmag,vmag,cos_gamma,sin_gamma,sin_2gamma,tan_gamma;
+    double E,c[3],v_rel[3],cmag,v_rel_mag,cos_gamma,sin_gamma,sin_2gamma,tan_gamma;
     double contactPoint[3],surfNorm[3], tmp[3], tmp2[3];
 
     // do not include if not in fix group
@@ -265,18 +265,23 @@ void FixMeshSurfaceStress::add_particle_contribution(int ip,double *frc,
         vectorSubtract3D(v,v_wall,v_rel);
 
         if(vectorDot3D(c,v_rel) < 0.) return;
-        vmag = vectorMag3D(v_rel);
+        v_rel_mag = vectorMag3D(v_rel);
 
         // get surface normal
+        
         triMesh()->surfaceNorm(iTri,surfNorm);
 
-        sin_gamma = MathExtraLiggghts::abs(vectorDot3D(v_rel,surfNorm)) / (vmag);
-        
+        // return if no relative velocity
+        if(0.0000001 > v_rel_mag)
+            return;
+
+        sin_gamma = MathExtraLiggghts::abs(vectorDot3D(v_rel,surfNorm)) / (v_rel_mag);
+        cos_gamma = MathExtraLiggghts::abs(vectorCrossMag3D(v_rel,surfNorm)) / (v_rel_mag);
+
+        if(cos_gamma > 1.) cos_gamma = 1.;
         if(sin_gamma > 1.) sin_gamma = 1.;
-        if(sin_gamma < -1.) sin_gamma = -1.;
 
-        cos_gamma = sqrt(1. - sin_gamma * sin_gamma);
-        if(cos_gamma > EPSILON || (sin_gamma < 3. * cos_gamma))
+        if(cos_gamma < EPSILON || 3.*sin_gamma > cos_gamma)
         {
             E = 0.33333 * cos_gamma * cos_gamma;
             
@@ -287,7 +292,7 @@ void FixMeshSurfaceStress::add_particle_contribution(int ip,double *frc,
             E = sin_2gamma - 3. * sin_gamma * sin_gamma;
             
         }
-        E *= 2.*k_finnie_[atomTypeWall()-1][atom->type[ip]-1] * vmag * vectorMag3D(frc);
+        E *= 2.*k_finnie_[atomTypeWall()-1][atom->type[ip]-1] * v_rel_mag * vectorMag3D(frc);
         
         wear_step(iTri) += E / triMesh()->areaElem(iTri);
     }
diff --git a/src/fix_mesh_surface_stress_servo.cpp b/src/fix_mesh_surface_stress_servo.cpp
index 72599699..648564c2 100644
--- a/src/fix_mesh_surface_stress_servo.cpp
+++ b/src/fix_mesh_surface_stress_servo.cpp
@@ -143,7 +143,7 @@ FixMeshSurfaceStressServo::FixMeshSurfaceStressServo(LAMMPS *lmp, int narg, char
           } else {
             set_point_ = -force->numeric(arg[iarg_]); // the resultant force/torque/shear acts in opposite direction --> negative value
             if (set_point_ == 0.) error->fix_error(FLERR,this,"'target_val' (desired force/torque) has to be != 0.0");
-            set_point_inv_ = 1./abs(set_point_);
+            set_point_inv_ = 1./fabs(set_point_);
             sp_style_ = CONSTANT;
           }
           iarg_++;
@@ -427,7 +427,7 @@ void FixMeshSurfaceStressServo::final_integrate()
 
         set_point_ = -input->variable->compute_equal(sp_var_);
         if (set_point_ == 0.) error->fix_error(FLERR,this,"Set point (desired force/torque/shear) has to be != 0.0");
-        set_point_inv_ = 1./abs(set_point_);
+        set_point_inv_ = 1./fabs(set_point_);
         
         modify->addstep_compute(update->ntimestep + 1);
 
@@ -449,12 +449,12 @@ void FixMeshSurfaceStressServo::final_integrate()
         // cruise mode
         test_output = ctrl_output_max_;
       } else {
-        if (abs(err_) <= e_low) {
+        if (fabs(err_) <= e_low) {
           test_output = tmp_scale*ctrl_output_min_;
-        } else if(abs(err_) >= e_high) {
+        } else if(fabs(err_) >= e_high) {
           test_output = ctrl_output_min_;
         } else { // linear interpolation
-          test_output = tmp_scale*ctrl_output_min_ + ((1-tmp_scale)*ctrl_output_min_) * (abs(err_)-e_low)/(e_high-e_low);
+          test_output = tmp_scale*ctrl_output_min_ + ((1-tmp_scale)*ctrl_output_min_) * (fabs(err_)-e_low)/(e_high-e_low);
         }
       }
 
@@ -469,7 +469,7 @@ void FixMeshSurfaceStressServo::final_integrate()
 
         set_point_ = -input->variable->compute_equal(sp_var_);
         if (set_point_ == 0.) error->fix_error(FLERR,this,"Set point (desired force/torque/shear) has to be != 0.0");
-        set_point_inv_ = 1./abs(set_point_);
+        set_point_inv_ = 1./fabs(set_point_);
         
         modify->addstep_compute(update->ntimestep + 1);
 
@@ -514,7 +514,7 @@ void FixMeshSurfaceStressServo::limit_vel()
 {
 
   double vmag, factor, maxOutput;
-  vmag = abs(*control_output_);
+  vmag = fabs(*control_output_);
 
   // saturation of the velocity
   int totNumContacts = fix_mesh_neighlist_->getTotalNumContacts();
@@ -612,7 +612,7 @@ int FixMeshSurfaceStressServo::modify_param(int narg, char **arg)
     } else {
       set_point_ = -force->numeric(arg[1]); // the resultant force/torque/shear acts in opposite direction --> negative value
       if (set_point_ == 0.) error->fix_error(FLERR,this,"'target_val' (desired force/torque) has to be != 0.0");
-      set_point_inv_ = 1./abs(set_point_);
+      set_point_inv_ = 1./fabs(set_point_);
       sp_style_ = CONSTANT;
     }
 
diff --git a/src/fix_property_global.cpp b/src/fix_property_global.cpp
index d1061719..4edb8c00 100644
--- a/src/fix_property_global.cpp
+++ b/src/fix_property_global.cpp
@@ -375,6 +375,7 @@ int FixPropertyGlobal::modify_param(int narg, char **arg)
 
     filename = new char[strlen(arg[1])+1];
     strcpy(filename,arg[1]);
+    grpname = new char[strlen(group->names[igroup])+1];
     strcpy(grpname,group->names[igroup]);
     return 2;
   }
diff --git a/src/lammps.cpp b/src/lammps.cpp
index 7d956608..e8500e23 100644
--- a/src/lammps.cpp
+++ b/src/lammps.cpp
@@ -100,7 +100,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator)
         universe->add_world(arg[iarg]);
         iarg++;
       }
-    } else if (strcmp(arg[iarg],"-uid") == 0) {
+    } else if (strcmp(arg[iarg],"-uid") == 0) { 
       if (iarg+2 > narg)
         error->universe_all(FLERR,"Invalid command-line argument");
       universe->id(arg[iarg+1]);
@@ -486,6 +486,7 @@ void LAMMPS::create()
   if (cuda) domain = new DomainCuda(this);
   else if (wedgeflag) domain = new DomainWedge(this); 
   else domain = new Domain(this);
+  domain->is_wedge = wedgeflag; 
 
   group = new Group(this);
   force = new Force(this);    // must be after group, to create temperature
diff --git a/src/math_extra_liggghts.h b/src/math_extra_liggghts.h
index 3104dbea..9fb6adc7 100644
--- a/src/math_extra_liggghts.h
+++ b/src/math_extra_liggghts.h
@@ -22,6 +22,7 @@
 #ifndef LMP_MATH_EXTRA_LIGGGHTS_H
 #define LMP_MATH_EXTRA_LIGGGHTS_H
 
+#include "pointers.h"
 #include "math.h"
 #include "stdio.h"
 #include "string.h"
@@ -70,8 +71,8 @@ namespace MathExtraLiggghts {
   inline void vec_from_quat(const double *q, double *v);
   inline void vec_quat_rotate(double *vec, double *quat, double *result);
   inline void vec_quat_rotate(double *vec, double *quat);
-  inline void vec_quat_rotate(int *vec, double *quat) {}
-  inline void vec_quat_rotate(bool *vec, double *quat) {}
+  inline void vec_quat_rotate(int *vec, double *quat) { UNUSED(vec); UNUSED(quat); }
+  inline void vec_quat_rotate(bool *vec, double *quat) { UNUSED(vec); UNUSED(quat); }
   inline void quat_diff(double *q_new, double *q_old, double *q_diff);
   inline void angmom_from_omega(double *w,
                                   double *ex, double *ey, double *ez,
@@ -105,6 +106,7 @@ Matrix determinant
 
 double MathExtraLiggghts::mdet(const double m[3][3],LAMMPS_NS::Error *error)
 {
+    UNUSED(error);
     return ( -m[0][2]*m[1][1]*m[2][0] + m[0][1]*m[1][2]*m[2][0] + m[0][2]*m[1][0]*m[2][1] - m[0][0]*m[1][2]*m[2][1] - m[0][1]*m[1][0]*m[2][2] + m[0][0]*m[1][1]*m[2][2] );
 
 }
@@ -304,6 +306,7 @@ void MathExtraLiggghts::local_coosys_to_cartesian(double *global,double *local,
 
 void MathExtraLiggghts::cartesian_coosys_to_local(double *local,double *global, double *ex_local, double *ey_local, double *ez_local,LAMMPS_NS::Error *error)
 {
+  UNUSED(error);
   double M[3][3] = {{0.,0.,0.},{0.,0.,0.},{0.,0.,0.}};
   double Mt[3][3] = {{0.,0.,0.},{0.,0.,0.},{0.,0.,0.}};
 
@@ -512,6 +515,7 @@ void MathExtraLiggghts::calcBaryTriCoords(double *ap, double **edgeVec, double *
 void MathExtraLiggghts::calcBaryTriCoords(double *ap, double *edgeVec0, double *edgeVec1, double *edgeVec2,
                                            double *edgeLen, double *bary)
 {
+  UNUSED(edgeVec1);
   
   double a = LAMMPS_NS::vectorDot3D(ap,edgeVec0);
   double b = LAMMPS_NS::vectorDot3D(ap,edgeVec2);
diff --git a/src/modify.cpp b/src/modify.cpp
index 31ca3cc3..d9d619ce 100644
--- a/src/modify.cpp
+++ b/src/modify.cpp
@@ -735,6 +735,8 @@ void Modify::add_fix(int narg, char **arg, char *suffix)
   // if yes, pass state info to the Fix so it can reset itself
 
   for (int i = 0; i < nfix_restart_global; i++)
+  {
+    
     if (strcmp(id_restart_global[i],fix[ifix]->id) == 0 &&
         strcmp(style_restart_global[i],fix[ifix]->style) == 0) {
           fix[ifix]->restart(state_restart_global[i]);
@@ -746,6 +748,7 @@ void Modify::add_fix(int narg, char **arg, char *suffix)
             if (logfile) fprintf(logfile,str,fix[ifix]->id,fix[ifix]->style);
       }
     }
+  }
 
   // check if Fix is in restart_peratom list
   // if yes, loop over atoms so they can extract info from atom->extra array
diff --git a/src/modify.h b/src/modify.h
index c4852e7f..f08099a2 100644
--- a/src/modify.h
+++ b/src/modify.h
@@ -107,6 +107,7 @@ class Modify : protected Pointers {
   class Fix* find_fix_style(const char *style, int rank);
   class Fix* find_fix_style_strict(const char *style, int rank);
   int n_fixes_style(const char *style); 
+  int n_computes_style(const char *style); 
   int n_fixes_style_strict(const char *style); 
   bool i_am_first_of_style(class Fix *fix_to_check); 
   int index_first_fix_of_style(const char *style); 
diff --git a/src/modify_liggghts.cpp b/src/modify_liggghts.cpp
index b03a0861..4b014c61 100644
--- a/src/modify_liggghts.cpp
+++ b/src/modify_liggghts.cpp
@@ -124,7 +124,7 @@ Fix* Modify::find_fix_id_style(const char *id,const char* style)
 }
 
 /* ----------------------------------------------------------------------
-   return number of fixes with requested style
+   return number of fixes/computes with requested style
 ------------------------------------------------------------------------- */
 
 int Modify::n_fixes_style(const char *style)
@@ -141,6 +141,20 @@ int Modify::n_fixes_style(const char *style)
     return n_fixes;
 }
 
+int Modify::n_computes_style(const char *style)
+{
+    int n_computes,len;
+
+    n_computes = 0;
+    len = strlen(style);
+
+    for(int icompute = 0; icompute < ncompute; icompute++)
+      if(strncmp(compute[icompute]->style,style,len) == 0)
+          n_computes++;
+
+    return n_computes;
+}
+
 int Modify::n_fixes_style_strict(const char *style)
 {
     int n_fixes,len;
diff --git a/src/multi_node_mesh.h b/src/multi_node_mesh.h
index 67a4040e..5d3e0e2e 100644
--- a/src/multi_node_mesh.h
+++ b/src/multi_node_mesh.h
@@ -142,10 +142,10 @@ namespace LAMMPS_NS
         bool nodesAreEqual(int iSurf, int iNode, int jSurf, int jNode);
         bool nodesAreEqual(double *nodeToCheck1,double *nodeToCheck2);
 
-        // returns true if surfaces share a node
-        // called with local index
-        // iNode, jNode return indices of first shared node
-        bool shareNode(int iElem, int jElem, int &iNode, int &jNode);
+        // returns true if surfaces share 2 nodes
+        // called with local element indices
+        // returns indices of nodes with iNode1 < iNode2
+        bool share2Nodes(int iElem, int jElem, int &iNode1, int &jNode1, int &iNode2, int &jNode2);
 
         // returns number of shared nodes
         // called with local index
diff --git a/src/multi_node_mesh_I.h b/src/multi_node_mesh_I.h
index 3d1be6a6..d995e3c4 100644
--- a/src/multi_node_mesh_I.h
+++ b/src/multi_node_mesh_I.h
@@ -228,19 +228,22 @@
   }
 
   /* ----------------------------------------------------------------------
-   return the lowest iNode/jNode combination that is shared
+   return if elemens share node, returns lowest iNode and corresponding jNode
   ------------------------------------------------------------------------- */
 
   template<int NUM_NODES>
-  bool MultiNodeMesh<NUM_NODES>::shareNode(int iElem, int jElem, int &iNode, int &jNode)
+  bool MultiNodeMesh<NUM_NODES>::share2Nodes(int iElem, int jElem,
+        int &iNode1, int &jNode1, int &iNode2, int &jNode2)
   {
     // broad phase
     double dist[3], radsum;
+    int nShared = 0;
     vectorSubtract3D(center_(iElem),center_(jElem),dist);
     radsum = rBound_(iElem) + rBound_(jElem);
+
     if(vectorMag3DSquared(dist) > radsum*radsum)
     {
-        iNode = -1; jNode = -1;
+        iNode1 = jNode1 = iNode2 = jNode2 = -1;
         
         return false;
     }
@@ -249,13 +252,24 @@
     for(int i=0;i<NUM_NODES;i++){
       for(int j=0;j<NUM_NODES;j++){
         if(MultiNodeMesh<NUM_NODES>::nodesAreEqual(iElem,i,jElem,j)){
-          iNode = i; jNode = j;
-          
-          return true;
+          if(0 == nShared)
+          {
+              iNode1 = i;
+              jNode1 = j;
+          }
+          else
+          {
+              iNode2 = i;
+              jNode2 = j;
+              
+              return true;
+          }
+          nShared++;
         }
       }
     }
-    iNode = -1; jNode = -1;
+
+    iNode1 = jNode1 = iNode2 = jNode2 = -1;
     
     return false;
   }
diff --git a/src/neigh_gran.cpp b/src/neigh_gran.cpp
index 78f69956..8de54ae5 100644
--- a/src/neigh_gran.cpp
+++ b/src/neigh_gran.cpp
@@ -387,7 +387,7 @@ void Neighbor::granular_bin_no_newton(NeighList *list)
         rsq = delx*delx + dely*dely + delz*delz;
         radsum = radi + radius[j];
         cutsq = (radsum+skin) * (radsum+skin);
-
+        
         if (rsq <= cutsq) {
           neighptr[n] = j;
           
diff --git a/src/neighbor.cpp b/src/neighbor.cpp
index ba0f1fa6..8fd321c9 100644
--- a/src/neighbor.cpp
+++ b/src/neighbor.cpp
@@ -1225,7 +1225,10 @@ int Neighbor::check_distance()
       delta = 0.5 * (skin - (delta1+delta2));
       deltasq = delta*delta;
     }
-  } else deltasq = triggersq;
+  } else { 
+    deltasq = triggersq;
+    delta = sqrt(deltasq);
+  }
 
   double **x = atom->x;
   double *radius = atom->radius; 
@@ -1255,7 +1258,7 @@ int Neighbor::check_distance()
         delr = radius[i] - rhold[i];
         rsq = delx*delx + dely*dely + delz*delz;
         delrsq = delr*delr;
-        if (delrsq > deltasq || rsq > deltasq - 2.*delr*delta + delr*delr)
+        if (delrsq > deltasq || rsq > deltasq - 2.*delr*delta + delrsq)
             flag = 1;
         
       }
diff --git a/src/pair_gran.cpp b/src/pair_gran.cpp
index 323427b8..6e2c7eb4 100644
--- a/src/pair_gran.cpp
+++ b/src/pair_gran.cpp
@@ -192,7 +192,7 @@ void PairGran::init_style()
 
   // error and warning checks
 
-  if(0 != neighbor->delay)
+  if(0 == comm->me && 0 != neighbor->delay)
     error->warning(FLERR,"It is heavily recommended to use 'neigh_modify delay 0' with granular pair styles");
 
   if(strcmp(update->unit_style,"metal") ==0 || strcmp(update->unit_style,"real") == 0)
diff --git a/src/pair_gran_hooke.cpp b/src/pair_gran_hooke.cpp
index 4594f003..249a536f 100644
--- a/src/pair_gran_hooke.cpp
+++ b/src/pair_gran_hooke.cpp
@@ -29,6 +29,7 @@
 #include "pair_gran_hooke.h"
 #include "atom.h"
 #include "force.h"
+#include "update.h"
 #include "neigh_list.h"
 #include "error.h"
 #include "vector_liggghts.h"
@@ -181,7 +182,6 @@ void PairGranHooke::compute_force(int eflag, int vflag,int addflag)
         if (cohesionflag) { 
             addCohesionForce(i,j,r,Fn_coh);
             ccel-=Fn_coh*rinv;
-
         }
 
         // relative velocities
diff --git a/src/pair_gran_hooke_history.cpp b/src/pair_gran_hooke_history.cpp
index 3b44172e..f5463dd1 100644
--- a/src/pair_gran_hooke_history.cpp
+++ b/src/pair_gran_hooke_history.cpp
@@ -675,7 +675,8 @@ void PairGranHookeHistory::init_granular()
   if(cohesionflag)
     cohEnergyDens1=static_cast<FixPropertyGlobal*>(modify->find_fix_property("cohesionEnergyDensity","property/global","peratomtypepair",max_type,max_type,force->pair_style));
 
-  if(charVelflag) charVel1=static_cast<FixPropertyGlobal*>(modify->find_fix_property("characteristicVelocity","property/global","scalar",0,0,force->pair_style));
+  if(charVelflag)
+      charVel1=static_cast<FixPropertyGlobal*>(modify->find_fix_property("characteristicVelocity","property/global","scalar",0,0,force->pair_style));
 
   //pre-calculate parameters for possible contact material combinations
   for(int i=1;i< max_type+1; i++)
@@ -739,7 +740,15 @@ void PairGranHookeHistory::init_granular()
       }
   }
 
-  if(charVelflag) charVel = charVel1->compute_scalar();
+  if(charVelflag)
+  {
+      charVel = charVel1->compute_scalar();
+      if(sanity_checks)
+      {
+            if(strcmp(update->unit_style,"si") == 0  && charVel < 1e-2)
+                 error->all(FLERR,"characteristicVelocity >= 1e-2 required for SI units");
+      }
+  }
 
   // error checks on coarsegraining
   if((rollingflag || cohesionflag) && force->cg_active())
diff --git a/src/pointers.h b/src/pointers.h
index 981b5ccd..6fce2ed6 100644
--- a/src/pointers.h
+++ b/src/pointers.h
@@ -33,6 +33,7 @@ namespace LAMMPS_NS {
 
 #define MIN(A,B) ((A) < (B) ? (A) : (B))
 #define MAX(A,B) ((A) > (B) ? (A) : (B))
+#define UNUSED(P) (void)P
 
 class Pointers {
  public:
diff --git a/src/region_wedge.cpp b/src/region_wedge.cpp
index 88ab7429..0c7e0af8 100644
--- a/src/region_wedge.cpp
+++ b/src/region_wedge.cpp
@@ -193,6 +193,9 @@ RegWedge::RegWedge(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg)
     // of pi_half are incorporated in the bounding box, in case the wedge does
     // not reside in one quadrant only.
 
+    // a ... horizontal direction from viewpoint of axis (cos part of angle)
+    // b ... vertical direction from viewpoint of axis (sin part of angle)
+
     double amin, amax;
     double bmin, bmax;
 
@@ -201,29 +204,31 @@ RegWedge::RegWedge(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg)
 
     // find min and max in both directions for end- and start-angle
     amin = MIN(amin, cosang1);
+    amin = MIN(amin, cosang2);
     amax = MAX(amax, cosang1);
-    amin = MIN(amin, cosang2);
     amax = MAX(amax, cosang2);
 
     bmin = MIN(bmin, sinang1);
+    bmin = MIN(bmin, sinang2);
     bmax = MAX(bmax, sinang1);
-    bmin = MIN(bmin, sinang2);
     bmax = MAX(bmax, sinang2);
 
-    // take care of the angles inbetween (suppose angle2-angle1 == pi) then
-    // we need to think about what happens in the middle w.r.t. the bbox
-
-    double phi = angle1;
-    double sinphi, cosphi;
-    int n = static_cast<int>(phi/pi_half);  // get current multiple of pi_half
-
-    while (phi < angle2) {
-
-      // round phi to next multiple of pi_half
-      n += 1;
+    // sin and cos functions are only monotonous within the four quadrants.
+    // if the wedge crossees quadrands, these functions might have a maximum
+    // there, which should be a limit of the bounding box.
+
+    double phi, sinphi, cosphi;
+    int n = 0;
+    // could be, that angle1 is -190 degrees
+    while (static_cast<double>(n)*pi_half > angle1)
+      n--;
+
+    // since the wedge can have a maximum of 180 degrees
+    // and we start smaller then angle1 i=0 to i=2 suffices
+    for (int i = 0; i < 3; i++, n += pi_half){
       phi = static_cast<double>(n)*pi_half;
 
-      // update mins and maxes for this phi
+      if (angle1 <= phi && phi <= angle1 + dang){
       sinphi = sin(phi);
       cosphi = cos(phi);
 
@@ -231,10 +236,10 @@ RegWedge::RegWedge(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg)
       amax = MAX(amax, cosphi);
       bmin = MIN(bmin, sinphi);
       bmax = MAX(bmax, sinphi);
-
+      }
     }
 
-    // adjust to incorporate radius
+    // adjust for radius
     amin *= radius;
     amax *= radius;
     bmin *= radius;
diff --git a/src/region_wedge.h b/src/region_wedge.h
index 31644225..0d0749bb 100644
--- a/src/region_wedge.h
+++ b/src/region_wedge.h
@@ -83,7 +83,7 @@ class RegWedge : public Region
     double onedivr;
 
     // normal vectors
-    // the normal vectors point outside the wedge and are normed
+    // the normal vectors point outside the wedge and are normalized
     double normal1[2]; // normal vector to 1st plane of section (angle1)
     double normal2[2]; // normal vector to 2nd plane of section (angle2)
 
diff --git a/src/set.cpp b/src/set.cpp
index 9bcef1f7..2001070a 100644
--- a/src/set.cpp
+++ b/src/set.cpp
@@ -46,6 +46,7 @@
 #include "fix_property_atom.h" 
 #include "sph_kernels.h" 
 #include "fix_sph.h" 
+#include "update.h"
 
 using namespace LAMMPS_NS;
 using namespace MathConst;
@@ -82,6 +83,8 @@ void Set::command(int narg, char **arg)
   id = new char[n];
   strcpy(id,arg[1]);
   select = NULL;
+  add    = 0; 
+  until  = 1; 
 
   // loop over keyword/value pairs
   // call appropriate routine to reset attributes
@@ -375,6 +378,22 @@ void Set::command(int narg, char **arg)
         error->all(FLERR,"Cannot set meso_rho for this atom style");
       set(MESO_RHO);
       iarg += 2;
+    } else if (strcmp(arg[iarg],"add") == 0){ 
+      if (iarg+1 > narg)
+        error->all(FLERR,"Illegal set command for add");
+      if(strcmp(arg[iarg+1],"yes") == 0)
+      add = 1;   
+      else if(strcmp(arg[iarg+1],"no") == 0)
+      add = 0;   
+      else error->all(FLERR,"Illegal 'add' option called");
+      iarg +=2;
+    } else if (strcmp(arg[iarg],"until") == 0){ 
+     if (iarg+1 > narg)
+        error->all(FLERR,"Illegal set command for until");
+      until = atof(arg[iarg+1]);
+      if (until <= 0.0) 
+        error->all(FLERR,"Illegal 'until' option called. Please set keyword value >0");
+      iarg +=2;
     } else if (strncmp(arg[iarg],"property/atom",13) == 0) { 
       if (iarg+1 > narg)
         error->all(FLERR,"Illegal set command for property/atom");
@@ -561,17 +580,29 @@ void Set::set(int keyword)
     else if (keyword == MESO_RHO) atom->rho[i] = dvalue;
 
     // set desired per-atom property
-    else if (keyword == PROPERTYPERATOM) {
+    else if (keyword == PROPERTYPERATOM) { 
 
         // if fix was just created, its default values have not been set,
         // so have to add a run 0 to call setup
         if(updFix->just_created)
             error->all(FLERR,"May not use the set command right after fix property/atom without a prior run. Add a 'run 0' between fix property/atom and set");
 
+          if (add == 0)
+          {
             if (updFix->data_style) for (int m = 0; m < nUpdValues; m++)
               updFix->array_atom[i][m] = updValues[m];
         else updFix->vector_atom[i]=updValues[0];
-
+           }
+          else
+          {
+              currentTimestep = update->ntimestep;
+           if (currentTimestep < until) 
+           { 
+              if (updFix->data_style) for (int m = 0; m < nUpdValues; m++)
+               updFix->array_atom[i][m] = updValues[m];
+              else updFix->vector_atom[i]=updValues[0];
+           }
+          }
     }
 
     // set shape of ellipsoidal particle
diff --git a/src/set.h b/src/set.h
index de8579e4..23583698 100644
--- a/src/set.h
+++ b/src/set.h
@@ -49,11 +49,15 @@ class Set : protected Pointers {
   class FixPropertyAtom* updFix; 
   int nUpdValues; 
   double *updValues; 
+  int add;
+  bigint until; 
+  bigint currentTimestep; 
 
   void selection(int);
   void set(int);
   void setrandom(int);
   void topology(int);
+
 };
 
 }
diff --git a/src/surface_mesh_I.h b/src/surface_mesh_I.h
index a1752686..7085f6c0 100644
--- a/src/surface_mesh_I.h
+++ b/src/surface_mesh_I.h
@@ -399,7 +399,6 @@ void SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::buildNeighbours()
       {
         
         int iNode(0), jNode(0), iEdge(0), jEdge(0);
-        if(!this->shareNode(i,j,iNode,jNode)) continue;
 
         if(shareEdge(i,j,iEdge,jEdge))
           handleSharedEdge(i,iEdge,j,jEdge, areCoplanar(TrackingMesh<NUM_NODES>::id(i),TrackingMesh<NUM_NODES>::id(j)));
@@ -442,7 +441,7 @@ void SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::qualityCheck()
     int nall = this->sizeLocal()+this->sizeGhost();
     int me = this->comm->me;
 
-    // check duplicate elements, n^2 operation
+    // check duplicate elements, n^2/2 operation
     
     for(int i = 0; i < nlocal; i++)
     {
@@ -490,7 +489,8 @@ void SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::qualityCheck()
         
         fprintf(this->screen,"Mesh %s: %d mesh elements have more than %d neighbors \n",
                 this->mesh_id_,this->nTooManyNeighs(),NUM_NEIGH_MAX);
-        this->error->one(FLERR,"Fix mesh: Bad mesh, cannot continue. Possibly corrupt elements with too many neighbors");
+        this->error->one(FLERR,"Fix mesh: Bad mesh, cannot continue. Possibly corrupt elements with too many neighbors.\n"
+                                "If you know what you're doing, you can try to change the definition of SurfaceMeshBase in tri_mesh.h and recompile");
     }
 
     if(nOverlapping() > 0)
@@ -578,7 +578,7 @@ bool SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::areCoplanar(int tag_a, int tag_b)
     double dot = vectorDot3D(surfaceNorm(a),surfaceNorm(b));
     
     // need fabs in case surface normal is other direction
-    if(fabs(dot) > curvature_) return true;
+    if(fabs(dot) >= curvature_) return true;
     else return false;
 }
 
@@ -714,23 +714,26 @@ void SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::growSurface(int iSrf, double by)
 template<int NUM_NODES, int NUM_NEIGH_MAX>
 bool SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::shareEdge(int iSrf, int jSrf, int &iEdge, int &jEdge)
 {
-    int i,j;
-    if(this->shareNode(iSrf,jSrf,i,j)){
+    int iNode1,jNode1,iNode2,jNode2;
+    if(this->share2Nodes(iSrf,jSrf,iNode1,jNode1,iNode2,jNode2)){
       // following implementation of shareNode(), the only remaining option to
-      // share an edge is that the next node of iSrf is equal to the previous
+      // share an edge is that the next node of iSrf is equal to the next or previous
       // node if jSrf
-      if(i==0 && MultiNodeMesh<NUM_NODES>::nodesAreEqual(iSrf,NUM_NODES-1,jSrf,(j+1)%NUM_NODES)){
-        iEdge = NUM_NODES-1;
-        jEdge = j;
-        return true;
-      }
-      if(MultiNodeMesh<NUM_NODES>::nodesAreEqual
-            (iSrf,(i+1)%NUM_NODES,jSrf,(j-1+NUM_NODES)%NUM_NODES)){
-        iEdge = i;//(ii-1+NUM_NODES)%NUM_NODES;
-        jEdge = (j-1+NUM_NODES)%NUM_NODES;
-        return true;
-      }
+      
+      if(2 == iNode1+iNode2)
+        iEdge = 2;
+      
+      else
+        iEdge = MathExtraLiggghts::min(iNode1,iNode2);
+
+      if(2 == jNode1+jNode2)
+        jEdge = 2;
+      else
+        jEdge = MathExtraLiggghts::min(jNode1,jNode2);
+
+      return true;
     }
+    
     iEdge = -1; jEdge = -1;
     return false;
 }
@@ -741,6 +744,7 @@ template<int NUM_NODES, int NUM_NEIGH_MAX>
 void SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::handleSharedEdge(int iSrf, int iEdge, int jSrf, int jEdge,
                                             bool coplanar, bool neighflag)
 {
+    
     if(neighflag)
     {
         if(nNeighs_(iSrf) == NUM_NEIGH_MAX || nNeighs_(jSrf) == NUM_NEIGH_MAX)
@@ -784,7 +788,7 @@ void SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::handleSharedEdge(int iSrf, int iEdge,
             edgeActive(jSrf)[jEdge] = false;
         }
     }
-    else
+    else // coplanar
     {
         if(!coplanar) this->error->one(FLERR,"internal error");
         
@@ -828,10 +832,9 @@ int SurfaceMesh<NUM_NODES,NUM_NEIGH_MAX>::handleCorner(int iSrf, int iNode,
         }
     }
 
-    // deactivate all
     if(hasTwoColinearEdges || !anyActiveEdge)
         cornerActive(iSrf)[iNode] = false;
-    // let the highest ID live
+    
     else if(TrackingMesh<NUM_NODES>::id(iSrf) == maxId)
         cornerActive(iSrf)[iNode] = true;
     else
diff --git a/src/vector_liggghts.h b/src/vector_liggghts.h
index a8f17b54..2ca74f68 100644
--- a/src/vector_liggghts.h
+++ b/src/vector_liggghts.h
@@ -48,7 +48,7 @@ inline void vectorConstruct3D(int *v,int x, int y, int z)
 inline void vectorNormalize3D(double *v)
 {
     double norm = sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]);
-    double invnorm = (norm == 0) ? 0. : 1./norm;
+    double invnorm = (norm == 0.) ? 0. : 1./norm;
     v[0] *= invnorm;
     v[1] *= invnorm;
     v[2] *= invnorm;
@@ -110,6 +110,13 @@ inline void vectorCopy3D(double *from,double *to)
   to[2]=from[2];
 }
 
+inline void vectorFlip3D(double *v)
+{
+  v[0]=-v[0];
+  v[1]=-v[1];
+  v[2]=-v[2];
+}
+
 inline void vectorCopyN(double *from,double *to,int N)
 {
     for(int i = 0; i < N; i++)
@@ -281,6 +288,12 @@ inline void vectorSubtract3D(const double *v1,const double *v2, double *result)
   result[2]=v1[2]-v2[2];
 }
 
+inline void vectorSubtract2D(const double *v1,const double *v2, double *result)
+{
+  result[0]=v1[0]-v2[0];
+  result[1]=v1[1]-v2[1];
+}
+
 inline void vectorCross3D(const double *v1,const double *v2, double *result)
 {
   result[0]=v1[1]*v2[2]-v1[2]*v2[1];
@@ -288,6 +301,15 @@ inline void vectorCross3D(const double *v1,const double *v2, double *result)
   result[2]=v1[0]*v2[1]-v1[1]*v2[0];
 }
 
+inline double vectorCrossMag3D(const double *v1,const double *v2)
+{
+  double res[3];
+  res[0]=v1[1]*v2[2]-v1[2]*v2[1];
+  res[1]=v1[2]*v2[0]-v1[0]*v2[2];
+  res[2]=v1[0]*v2[1]-v1[1]*v2[0];
+  return vectorMag3D(res);
+}
+
 inline void vectorZeroize3D(double *v)
 {
   v[0]=0.;
@@ -400,6 +422,11 @@ inline void bufToVector4D(double *vec,double *buf,int &m)
   vec[3] = buf[m++];
 }
 
+inline void printVec2D(FILE *out, const char *name, double *vec)
+{
+    fprintf(out," vector %s: %e %e\n",name,vec[0],vec[1]);
+}
+
 inline void printVec3D(FILE *out, const char *name, double *vec)
 {
     fprintf(out," vector %s: %e %e %e\n",name,vec[0],vec[1],vec[2]);
diff --git a/src/verlet_implicit.cpp b/src/verlet_implicit.cpp
index 758600f9..dbaa011e 100644
--- a/src/verlet_implicit.cpp
+++ b/src/verlet_implicit.cpp
@@ -73,25 +73,11 @@ void VerletImplicit::run(int n)
 
     ntimestep = ++update->ntimestep;
     
-    do
-    {
-        ev_set(ntimestep);
-
-        // initial time integration
-
-        modify->initial_integrate(vflag);
-        
-        if (n_post_integrate) modify->post_integrate();
+    // neigh list build if required
 
-        // regular communication vs neighbor list rebuild
+    nflag = neighbor->decide();
 
-        nflag = neighbor->decide();
-
-        if (nflag == 0) {
-          timer->stamp();
-          comm->forward_comm();
-          timer->stamp(TIME_COMM);
-        } else {
+    if (nflag == 1) {
           
           if (n_pre_exchange) modify->pre_exchange();
           
@@ -116,7 +102,23 @@ void VerletImplicit::run(int n)
           
           neighbor->build();
           timer->stamp(TIME_NEIGHBOR);
-        }
+    }
+
+    do
+    {
+        ev_set(ntimestep);
+
+        // initial time integration
+
+        modify->initial_integrate(vflag);
+        
+        if (n_post_integrate) modify->post_integrate();
+
+        // regular communication here
+
+        timer->stamp();
+        comm->forward_comm();
+        timer->stamp(TIME_COMM);
 
         // force computations
         
@@ -155,7 +157,6 @@ void VerletImplicit::run(int n)
         if (n_post_force) modify->post_force(vflag);
         
         modify->final_integrate();
-
     }
     while(modify->iterate_implicitly());
 
diff --git a/src/version_liggghts.h b/src/version_liggghts.h
index 86e6ee13..53eb557b 100644
--- a/src/version_liggghts.h
+++ b/src/version_liggghts.h
@@ -1 +1 @@
-#define LIGGGHTS_VERSION "LIGGGHTS-PUBLIC 2.3.7, compiled 2013-09-06-15:08:36 by ckloss"
+#define LIGGGHTS_VERSION "LIGGGHTS-PUBLIC 2.3.8, compiled 2013-10-10-16:13:21 by ckloss"
diff --git a/src/version_liggghts.txt b/src/version_liggghts.txt
index 00355e29..bc4abe86 100644
--- a/src/version_liggghts.txt
+++ b/src/version_liggghts.txt
@@ -1 +1 @@
-2.3.7
+2.3.8
diff --git a/src/volume_mesh_I.h b/src/volume_mesh_I.h
index fe4bafd0..20fae8b3 100644
--- a/src/volume_mesh_I.h
+++ b/src/volume_mesh_I.h
@@ -346,7 +346,7 @@ void VolumeMesh<NUM_NODES,NUM_FACES,NUM_NODES_PER_FACE>::buildNeighbours()
       {
         
         int iNode(0), jNode(0), iEdge(0), jEdge(0);
-        if(!this->shareNode(i,j,iNode,jNode)) continue;
+        if(0 == this->nSharedNodes(i,j)) continue;
 
         if(shareFace(i,j,iFace,jFace))
         {
-- 
GitLab