DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
+ DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
+ Unity's Time.timeScale * DOTween.timeScale * tween.timeScaleDOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScaleDOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScalebool and accept two parameters:LogType: the type of Unity log that DOTween is trying to logobject: the log message that DOTween wants to logdebugMode and useSafeMode are TRUESetCapacity to this method, to directly set the max starting size of Tweeners and Sequences:DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20);
+ .OnKill(()=> myTweenReference = null)
+ SetRecyclable(bool recyclable)()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ Get() method
+ you'll need to call to assign the correct plugin in the correct way, like this:
+ CustomPlugin.Get()()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ The axis to tween
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end value to reachThe tween's duration
+ To(MyMethod, 0, 12, 0.5f);
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The direction and strength of the punch
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ 1 creates a full oscillation between the direction and the opposite decaying direction,
+ while 0 oscillates only between the starting position and the decaying direction
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction and behave like a random punch.
+ If TRUE only shakes on the X Y axis (looks better with things like cameras).
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction and behave like a random punch.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ Randomness mode
+ ()=> myProperty
+ A setter for the field or property to tween
+ x=> myProperty = x
+ The end values to reach for each segment. This array must have the same length as durations
+ The duration of each segment. This array must have the same length as endValues
+ transform.DOMoveX(45, 1); // transform is automatically added as the tween targetDOTween.IsTweening(transform); // Returns trueOnUpdate or you will overwrite the onVirtualUpdate parameter
+ OnUpdate or you will overwrite the onVirtualUpdate parameter
+ OnUpdate or you will overwrite the onVirtualUpdate parameter
+ OnUpdate or you will overwrite the onVirtualUpdate parameter
+ OnUpdate or you will overwrite the onVirtualUpdate parameter
+ EXPERIMENTAL: Curved path (which uses Cubic Bezier curves, where each point requires two extra control points)yield return myTween.WaitForCompletion();
+ yield return myTween.WaitForRewind();
+ yield return myTween.WaitForKill();
+ yield return myTween.WaitForElapsedLoops(2);
+ yield return myTween.WaitForPosition(2.5f);
+ yield return myTween.WaitForStart();
+ OnKill callback like this:
+ .OnKill(()=> myTweenReference = null)tween.SetUpdate methodVector3.zero if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit().
+ NULL if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit().
+ myTween.ForceInit().
+ aspect to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationsfarClipPlane to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationsfieldOfView to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationsnearClipPlane to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationsorthographicSize to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationspixelRect to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationsrect to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operationsEXPERIMENTAL Tweens a Transform's rotation so that it will look towards the given world position,
+ while also updating the lookAt position every frame
+ (contrary to SetRelative),
+ in a way that allows other DOBlendableMove tweens to work together on the same target,
+ instead than fight each other as multiple DOMove would do.
+ Also stores the transform as the tween's target so it can be used for filtered operationsSetRelative),
+ in a way that allows other DOBlendableMove tweens to work together on the same target,
+ instead than fight each other as multiple DOMove would do.
+ Also stores the transform as the tween's target so it can be used for filtered operationsSetRelative),
+ in a way that allows other DOBlendableRotate tweens to work together on the same target,
+ instead than fight each other as multiple DORotate would do.
+ Also stores the transform as the tween's target so it can be used for filtered operationsSetRelative),
+ in a way that allows other DOBlendableRotate tweens to work together on the same target,
+ instead than fight each other as multiple DORotate would do.
+ Also stores the transform as the tween's target so it can be used for filtered operationsSetRelative),
+ in a way that allows other DOBlendableScale tweens to work together on the same target,
+ instead than fight each other as multiple DOScale would do.
+ Also stores the transform as the tween's target so it can be used for filtered operationsmyTween.SetAs(myTweenParms)SetId instead.Rewind or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callbackstartValue + endValue instead than being used directly).
+ Has no effect if the tween has already started or if it's added to a SequenceHas no effect if the tween has already started or if it's added to a SequenceHas no effect if the tween is added to a SequenceSetTarget)
+ Has no effect if the tween is added to a SequenceSetTarget)
+ The behaviour to use (SetId instead.Has no effect if the tween has already started or if it's added to a SequenceHas no effect if the tween has already started or if it's added to a SequenceonStart callback for the tween, clearing any previous onStart callback that was set.
+ Called the first time the tween is set in a playing state, after any eventual delayonPlay callback for the tween, clearing any previous onPlay callback that was set.
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused stateonPause callback for the tween, clearing any previous onPause callback that was set.
+ Called when the tween state changes from playing to paused.
+ If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.onRewind callback for the tween, clearing any previous onRewind callback that was set.
+ Called when the tween is rewinded,
+ either by calling Rewind or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callbackonUpdate callback for the tween, clearing any previous onUpdate callback that was set.
+ Called each time the tween updatesonStepComplete callback for the tween, clearing any previous onStepComplete callback that was set.
+ Called the moment the tween completes one loop cycle, even when going backwardsonComplete callback for the tween, clearing any previous onComplete callback that was set.
+ Called the moment the tween reaches its final forward position, loops includedonKill callback for the tween, clearing any previous onKill callback that was set.
+ Called the moment the tween is killedonWaypointChange callback for the tween, clearing any previous onWaypointChange callback that was set.
+ Called when a path tween's current waypoint changestarget will not be changedstartValue + endValue instead than being used directly).
+ startValue + endValue instead than being used directly).
+ DOPath shortcut)DOPath shortcut)DOPath shortcut).
+ Orients the target towards the given position.
+ Must be chained directly to the tween creation method or to a SetOptionsDOPath shortcut).
+ Orients the target towards the given position with options to keep the Z rotation stable.
+ Must be chained directly to the tween creation method or to a SetOptionsDOPath shortcut).
+ Orients the target towards another transform.
+ Must be chained directly to the tween creation method or to a SetOptionsDOPath shortcut).
+ Orients the target towards another transform with options to keep the Z rotation stable.
+ Must be chained directly to the tween creation method or to a SetOptionsDOPath shortcut).
+ Orients the target to the path, with the given lookAhead.
+ Must be chained directly to the tween creation method or to a SetOptionsDOPath shortcut).
+ Orients the path with options to keep the Z rotation stable.
+ Must be chained directly to the tween creation method or to a SetOptionsRewind or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callbackk6j6cz&Z%9Mi61 zlI8nTyOybz^Kx9fj%hEG(3db>$vM;YWlZ#RMk8iKZf2r&rHz=1TET<`j38UTo#}MW zOSHaJV7i@i)=qzl z2?JZmlJ#eq{$OgauV=#2G{~I#i%ger&QkPEOm5Cgs=kHkU8WBDD@@ZlXKDItOme@w z^f#E!<-DZpJDE(*OGkY-)00dY`a4XMIWL*|KBh#@OP0Q$=_RIY{Q%SToU oXtIOBFVoGCs1^Ty4+nEaWqf8gGb+`T_Qz6?c(tlxkhsmS=&U7DJ zFV_EL8pHOynCzls#o(GK!NMV;g-kx(VyfnNrFt~eJg%2AJ(dZRtf={Nd^M2b9bl@~ zQ<<*goYm^tOg%U+b$TAt*G#?iLZp||c~q9=YDaZW2?>cDyFtCumYWa_6^GJVeR z2I!rcZswc~)N7b<4-2Ub(YrJK#57#5Ws*I^NWC}HXwJ)My`D+uG{@=#n07IZ*9SAT za?Tp{VNA=JPSHm)m2%D|=wq0kV4A3pH?KgwOwXdcoT@jm>@Ga!Pc(^X6GoAZ;xzqC zreAR7)QEHMG$t=D-WtVJeFjqxmQB+yW~xjinO|=)ak>x><7P{}n4vE)b)22n 7Yp=-OzV-edT}+#$W9OwQb}_$s68| zqZx%Uqtx2)>= ~`&vQzZ$eFt1;?|b0JjG>SVb05{6VmP~Y0flrgcvNpEs D|p*|#D5kq+d4s&GBrV 3qQM`|MtlMIj5=y`0_La!!ZcEOs;4-O5&uRBaBH^ufG+h}**MBz70E zdp^5gvzt1ebe?7ZN9^9p?rU%ZZKJ&C1L!=ELT)R&*T4-(U+Vc0!Z%lu`(W)y!SMVs zpCZJik$Y(xxmUss#2Qg}7$Id< zqP*uexc82ZM##%!$(@@)?)@He`xld2!fsO)`M=1CgX=~+G( 5oY@l3gMyy5t-z*~c$hfsQzUbJoL}4F_ z+e|H%^KWtfEzZAnQvNN@xh1+F&lcw&SJLdK{9BxVOHlqTmH+*m=U6Vq$z^eMrF@=P zB26T9j4YAGCBjStl}P-+H9RGD6W)b%aU!|qpiONx;p14#(kSkNk*TN$PY0^2)3Vdy z@8+WLzJ<3XYvN~=R}=j@lJ%cz$i0ngbq|hf=ogdw*;opn#{O4FP&x~_o^J~~y0_G3 zw;$I!J&WDS?Dm1$ZqsQ!>bcfK?t|&%<{|{M5q&BDzt&Q1``DIUmyf(94I^7;LTYgD zF|M^D?NL2ZJkztNeYrTh)(5w>zOsF1(YC59+!aOSKEdw%eqGxqir3KI0@g |dRM<0Y2bnXwg7S=7%ts8~6$sB@^ z1>MPi^GK4OJC6LfrjT3NmFlX;=piUY`Dn_&-IGFo=|R%tSvUs8qETe)@t&0as9_ZT zMK|&vD %G$Vm;0T0o -))HoYxP3m7h2vCcL%PD&s0!L6)o{a8NE8oOk3ns0 z?Luy94Y|4OCUJNMyJxX<0lRmxJB!0_WOp;W2ig6GrM)?Y!SIi4eRaSh^#AV-Xv7|Q zsP~z0{~9z6c^;NZC2E2j9-b)v=y?J1;HjMrcSvnBbe^cEGJZIC8cOlJ`y-U1b|jVM zFj6+eV?)nG_@xz8lY3EWL;RRK0wI5~yKfBXglgCjDT7*ZavocF1>B>MYGP9DHSmAK zM?o%I$;6&Duz#cRjmLu)7Ct0s6fc z+82lwy>V6&M(J&+jfF#~PJZn}Zh}jT9oc$$C5<$`?nNVkAJOx)6RuJk39Nu-I}z8H z+;?EBotOfP_LE;`-h-C25pE#X1;t-MXI>9- zt9z3B4f|_6 WSi$FgnZM3+?&~-Ui?!~`fl24SgFV$ zH-Fe_w3+0jNA;1dn{ZrbiwjDBZ(ph1nDiIiImxE8Qk&(BhMOz?Le1YWhK`Q>x_GB0 zF6l)6D?Lv3Q(t$bCk{H7bjpW&rKcl@Q_pjyC!hT^a=y}20)ITl2JmA%K -8~I-M4vyLLLNz>JV<{aH46VHoqr0KDTGT;4hfeA?8;IM<-AFk z&PV4D|Ib~S!hfzGuKB+i*Gi?m(|I`cND1us4NFB?ekh^6nbKtxmyxXh=bC?450uV# zJ*ZWjKb-b;z%TbNl_)$!)_Hh{toiSFY#`H*^wZcN5FYNQQUt<7{y>|NHCg4<#GfAO zfv1nMpg(uasJ{uZ#5ow7{b!m(de9l_KS)zurCvDxZXCa7uzLkuIuoI1;A>2rariv4 z8RJGv9AbAeyDQm!h~4km-O27acGs~xlih2`Rkn@|ALks`I=PJ8>6PSG7mafUq>uDD z1tEvVk^45>&cd5A$>|iSj^y@Eaegeh^AgG3okZ^1cI3X0Om1C!a`&_Ql#~2rDdcK` z+%MXY`&|OLUXEMGah)9Z7`vBoTo=cEo83D(ZVcN^WV^#S?qrTz&9O2#*7NL+;#e_k zcR$DN!*Tm_-02*50mp4Z+!2^(z&ln`XY`taJwAzPdDLs&&cmD5uU7PZ*YlhX@r0s3 z#?5wO5(R%4ha+A;JzCK=tuR*;^zK%YZPRjcTbv 3>8N9 e!VkS9986K*a$kV=n2U3gd ;K2OiQC~ zFYBunU}Qz{mPV~9+u|$`bxcddz_jhoLNP$b6Bmtm1JtTyGe=+%rFdP@MI$~1?aO8B z;=}PG#V0;i^nA}P&NA^e(^Bz#Pb;Ndtk090N&UAwE5*x-hI-b6wkx{S6Pr>gjw)K& zBPpdy{28Q@lo}D8FH>3BV?as|(LPA0r}PrpL260Coy{QKnlez-1ZiE$P~7hgr1ECU zNHH=<-=&Nd6NA(?wNacMq|(%h;=&*ePd!b{3z9!|idY<^WvOS2TZ6PV^*nLEqNsj* zQ)h^6ih8B~mU@vm64XrX&@8G8WX{a;f)1C7sfChaa|d>~LfjA}e~0VDV@yj#Z0=1R zmWv}rQgi&c7dosGm(zk~u~e+=aj?U^;yR|~G^3cdTC56^1GHAro1NOEJt#IRx}Z2A z?IH0F(^4^f^m^wSfzQHnn!`ss)7FT;g5*kDD>@WQS=YMkv`0lT({k~1r}fUqL=Q#P zJ)LQfi7|@4?NpfdxR|Wyn;s=;Pl^i_y^p*+Ev^bur?h9p21Sdj64IU%2ZPitZM}%{ zlJ(_c8|=L((iGKroM|tLaz);%_0El=kD@(eooO3IQ;=L~FNs--jw6+q#X?0@eVl18 zi`#?bO4}@+QM4MGTg7%oe`Gk*wu*y6a;0q(zbneFYLoV=h%1r#TtB*Z+IEp0q=9L# zi)ux8pzJ%vAVrHa64G{w(-hqTd%MLfMQ6d@Zm~$wOOWjmcPdIn+4qQN0#r6K?QQXf zqR0BLcfKq3C>k?_=zT?-`w)GsD0u+UVMTUYLfX6H7e&Pb#;5HQ(LPzCuKmZSy(e6X z($mgNdtX#4`q%I?(>@gan3jm;mD`;kiK&Wi?r~AtN8%PH>OVEyiC!gTsh9QI?)*%Q zD3umg47)q+GjXq?k48M2_NDk$QC`x9v~R_bGO1bJ?)9|q#VSRI>h`DoERHIArsV6i z-?3&zYCco)Q`&Li4bop}hE^Y>7+17*VUUttaoVaNWw{cySA$gIa%$fMshcZZE5ceQ zYLT6)2Dq}cA&SQK80pH@<_76hSH8A9NN2eUweXstJA?GM&5_pNcNJ+bD9sCsXS<5E zSA#Ui<<;^kNpravTsYt5)7B}f?m634szr5@vI!$* Y^P{vc*+%T-~$@ynbc5xYV=K)k9mSsKztjRi~A8mKOGmo$u F~`+kGpl7PXF+qI)}ScWGut&tTcgMx zy~Z_IJBIrfRN7~|t#b|2it(HX(ZY;%uHjl!fU4HHMrc oO%h~Vxm)4UWZbCkjN)NjxX@eEH`W$whrcG1yXYa$V$=Y5; &nxa)J+E#Yhb*9#!=oOUVEbU@N`$v7}nyL-JU2cl^ z;?Q4Q=V%8Nom;WrHBGy=j%4%s_&ZN~mT9R-%@FD5X=8ekY^iu>bac93>)u<^>7Cl8 z&(J0)8VQ=EZBaC}(v?12OXx$In{|EMbqSYf{S+-5u8B*v>57JW+G>|-4=Y;JljuoB z?YiWrU#e|kS}LyXS()Cd(W|B@FAw#sNuQ@-!4Okom)i8pHTrgf5KBZw{*d&mv|k5H zYTK_V{d#S}5J|m;*QDQ|tzlX&wBb|ImuNpKI<@Yi^krK2p`^K7++8pw{bp@}qMOG| zNnfG8uIO>dZr75BNzJE9r=+jaCMbGf*rN1%w0jk;0^P5Dtthqoz3C5X6NbxpsokGU ze@uH_QJ=2&raz-~A0cIZx;~lyqP9lSsdbyvw`xBsI;UZ8`m0*^ky3MB#oqLPYYP;e zTK8r84sB b{DEhH Ty!@ z$I{0;{;oZyXko8cIv&^D ^^iR8%wUhKxb_w~Bg$hU>?emWb1b-J3B+Uv;X=S@-8M zn)KLzN!p(KO2#C8x}wotU&)xF?@^T6eNV mJcPhX{|bM8+WSLs=krL1$VnR&f_gQ6ZilQWm=WoJlPU(iZ@=M+hm (ysU zIu-PwzD7}Hd41+%x_MSWR-d^}pQ@-&?x~s2>W?Y9t I!IS! zZqggh4#<{dZq=jCk#y16+cUT8XDGTF^oIVDqCsOH%-p4CovW;a-qu?cosK%&r~jy^ z%h;zgKhy_IlbVUen=(HNqwSf8^pQ$7q-s; r9N57 zKIw5F^Q$oWBJ*2)nv%tPc4Zz7qrI8m>$8+>&DdR;KZMcV%pdhRN> ?Mv~qNPR(sf-vW4o1A998j8(s%UgoeU{6}QS@%kkgRmWt0-;UxU7ywXGP!oe$LD=>J(L^ z|D2g=3}RZsBkC+;9Mf{t=X_U|adnU;WMvy06s_(sB`eqXI7sJb JArW z6&huV_EolK6&bBTx;CrW*r{mL@F`h7qtgX4-j=}^WtAB(1?iTo3Zr3$l-*c#Pga%j zY>?JwbukiV24v4>bv0%MX-ig5 a2W(9T+n7lJe)>oVijAk}8iGy2YzX?|8UFnfV X+tJ%wqvdg6Ax4!wVTaBxNG$Ct+aZphO_Vh}lU8~frNS}~( zyU|b4HG|&DzSEc-q>r=jGFpQ4WA;79{XvS#x!-s>NNG8%jW2`b%X!$a<_Y{Q7uO7` z%UNsqf;1-QF=IrK&dhnjm=>gqbJiJG1!+;v)5gz1x-;i_BkA%$nos0xFuDfmm7I;n z`9XRwXR~ohkp9ToW~@~-X;{bH*Nm5fG$?n6@okXK$=zi{&6gG?4Z9`xZKG?Dp3B{9 zj0n=Fx%-V)rX^z1Ff;Ffk-mW9EfKlhYVtleoL3MnjN0jIt9@x?FwKuT;A=0wGzyh0 zzqGCPl~Jl>Wu@)KS4OpxJ=cAT{ Oq&h5Ci%{wT;h7grfZV#jMo-28Fcj$lF=2) zk)S4Bp&T*xu;x-+GdJY@Y `698!Ll!Zr(8?>ROU5;H#{^j4~#9&GnZ` zbDLw7@6x;wZ7G?Tr $Dyd6uHh_Mxg<@}kW;PLr;d?#PQVk0}!4 zUdu}`J1wGA=-TQ1yd?9g#gaz&zRGK7{;KHZlBj&AX =X(M8X&oPC_%(;UIFZQ@YX_xZJ^_a>R -GS6E(B z3hK?xO18V?
W|ChYN@3Wk`TTZp9fhA`{n3mVK$ zEF $ex2 zY3^i_)@OuS-%v2a+^aMXRlQa))682T;~lEnS8!pN^)Cx9G0#!5-6b0en$61;CHXcK z%rTcKI#Bal!CZ5lB73}E*lNzXEmZbJVb-$?7nuuKMrAK8Tx{+PQqRKc!>kW4TxvR3 z%AD;k$u7LfELN1{%Pw4Q)+strb86wu<|IY-__GREnB8s n$S%1kK!9> }mh>#> zW3!P-wwF(WIa@Y-t@{)643^Ozd%^vwxj#rd+@FW-v5(zfnWNTFn%l(glC|z{%yShb z`PRC>4LeqTa(`zoP%?Y`U+(YCx7SiUY5jPZ^_-&P=0TQ`^|GSBOz$Jo!lA0#BFz!% zHAWOU95a+`cS%l>?YL4=k}szy%CS<>ftr66MLRYqvd2#?ignC;G-N&15$eINEJ}4O zVi{S#xu}C< G} C3@-{YZM)*Im6S-aYT_l-tXz_ zDBVDs()tKT7bbZ%F(Ry%mU~7x`m&5_X|-phW5Ns4!lA15p3!0Z=q=B9$73%_+3u3% zo<>Kfjgpdl%RNnw)rt<(9QK^z*rUiE|D)$r$Df->Q|9HIFzc@3a~x4G%Tx|k6&0WB z7!#!G;`73+4=ldGu|mmqm$-^&Iv!J$ dY98=zc6fJ5vd2H> z-R7v?O*BvBWW4Ep%dzHdNyCfwdEasT$|Q64u0y;-GTA=gb)-hn8m6TpVaP|`cO3^6 zeLeVd@7`d}mJR>G`@W<4T}p+@r $%kPj$}aiX@u!mQF8RUxi6d#RjF;s5 z!TYJht>{2aS;=RP0gCMLH6@1~wfjg@=K7~F>kTD8IR>zdtWPcZ*-`hNOcS+R@@ts& z#U;la{oj|e-6ahr#~qUtCHWdk{tD}DR+R|Ly j23DG&F+7MUd<<1DfYW$Yw{-Wf62$1U(-?uQM&hwZ$7HZLLWMDKATf zR{lXrg7vkc=-dxV60tB;%G}*QD4{3I=x>`Nq3+v~c0o$1`!$TdEYW=-*=2+5Fj_Wz zMN~+3s461?%X?IshpK!DSQ4e^bl+7`X+hduvLY%yNJ+jGQ5}PHpk`}SMv(0BBNMW% zTYQv^yecTMZct_TzB<-dVom>qWXnb8Y8PlH(^BzFr|r%XYrv-@+Z=OnXogv04Uwde zEcZY&;d7Sh2S-);%B;Oi^Tn>d^}bG4>lY-OFE-TI`#M`Q4im{%P;FhxB#)eG>&BpL zsIS_(n~7H6jP-T3wlHlIUCQQa-BpP;+hjdNWW6>ZYfJg;6H(eeR{ED@U6!Gbl_iPG z(8o&nie+4ee%64miDVfDSw|F68HPlZVVG6*EosU!42!TZ%o@tF&1_+qHA@lYbEK90 zUC6>%OSWWLOXDLfG+Hl6%_u5SqxCuy)!-ywqc!#jr^45G6Ric3#K`gsd=stWqte2` zQJ4BASz{DEoqAouWUKr4QnoL3p6_()S*E4p<)K&lrdY{8kZh@FGkA&bEbC&X`J!UH zCZ<|@6eV@K#W&ST|5>K8bLgGEv#m1}#n(RIJJ)(w(T!s?G0i&2v_#xEW{Gc_HQ`r^ zw?zCnYOU`)>vATn-Y9#<=T|jBV~rO;D_KVU(i^_%*4IJ$&^N;hjlsV6&9=J!MrqOr z@CDz+)@VgZz88F#SZ63YP~#}Q)LNj(9^bZfuC;|pw#cg^+RN44mICX#0z~Vx(zI)p zOs?w+QEF~Q>EeiZ*9A3cUDpjk%E?{iToNQ&*R{-go%6Chs;ObU^CoMLB=L3G$L38| z^6yl> zCkeXu5$L31wF+~SPe{9}veW~c$&a+*2 zSidNm1G>{PkI8t)K&z}oMf*W_Ss9AfHq@2gZIuUUqw^kXprYQr>PzpnCMYTf-Ea97 z4Q_bKx!SrxkS=(FzUmaek|R)A8E zvSxHs>C;wQrlsNy&vxfCR*j {+GHSbr*t&%3PjIm vTU(WE5@cJfH EJtm4?YE$j5($}p0mZbBr z;_NkRwJqs^!h?`KkC&B_=9sM6t~abLiVk7@(hjQ?ugNFbydHC0JFLEKBt6qCr(UW~e${uTayp++p z!*{Gbine*aFMY>qXe(vgJinLjvyu}fy-{P7ePFG|b0B2>g5q{%pIC8Nk4jYC^RVl4 zD^t;g5p!H$SVI(j)1zbAm)4((YCMNs-&*bz8E? ;eFm5Qpc2IPqKgQ7n&4!e$8 z-c+f%ezd#nd+QcOi!;i~ezK-@kg~I&`HN+xNlJxXdrR0_}kDV1Hk>IuK6iu#wu&mUc#I#wb8Qlu| zBBuE`-!8B#?Hia5;aseV&h{rtlV+?t+o`- *T?N)RHG_SVH z6@7u; XAiN5s1}BHp$3R3&@G7Kzu|(-mD8>i}J% z=q|)t6cKNcy-3O4ws+`@>}85p##SUQvTs-PDB>-Sh_~2&Ovx6 9*^LpYEVVO~?1ShX`ck`0 z(Y^5%iAy6im)QftG?&>;VVcV#G;gwJDA}zj(M|SciiV>^H$`YJw-+nfJILp9dxfG! z2}fg=M`+$`uU4|_qo?RM+fOMP7k@P7<_OJO?9EDcYmB@67W?0dhPN#Ng}1?5?eBt` ziT17bv7qKV3AaXQuCQZz%KD@dt*|>Pq7to$(7eqq57WHO?i;3gTZHCHyFtljMkU%S z?J0`7#=VoUGD7oqduCXgx7)2@Y2F^8d53*nSekd(cZH>SM}+2`_ETY+ciOLpY2F#3 zxys(JWS`;qTV;QzXeHXxstC=yY=d56gQJ)<@3NhWNb{};&AV-nlI64!iFeyw6zy&6 z0EO?Pd+ho!&3o*IFwJ`+H1D;iDcNb!BJp1P5=HKK2Pizv`|K;jH1D%lglXOvp?Sak zh?2b+Q(1n$y-Crmw$-5UG#{|v4%2+V{vu5Cfe6jj_Aw>f9W_N?ZAaJ1I$IHUG-h># z=7V;Ml8r)%9<)0t!slH<;np9r8 MW#f2%*ltzyMO;PV z!x5Tm?CX^5d-P{(?AsJQhyH9$gyvfNK_$zH+M%ztpH_4jnrkC8AF;P6*(hi}V((Ja z0oEUh(0tTBpkzMe^HKY2ML$9F(Fo1Q?BA74AkD{YyO*rbS780I2+has_DWU;&ByH= zMZZAv@d(W)>@p>r1kESx9*PQK{fP+8C+)#X)(t(_lXiomqiFL_Mrf|H&s4JGQQt+c zvu7&W8s~{w7oqu-Jx|H*kNz(DDf>D_=f!(so{G?X+Fq$-anO9)eo)aKr1^A&<}>y) zO12T2&)8cOEkv5nL})&1zolfYDEqVa0Y&{$_GcqBpR>OS(|peUJxuet2+im1sNQm~ z970=q-fpkxA=Lcy5t{4mTqSD<>+9_@Mejj#eT3!)yQh-%f#wE#u%Z~`b3=sY3wEQD zeSxFn1^Y}zkK*WfAwu&-dzO;D5%XR2i}pN4^V@o2UX0M(XkV{nJ!5w08|{^f9BnHS zH%4f_WIv>2Pa>Z$+0Q7t6#0B9LUWV7Rmpxpo8M%=rRaH_i#J7RzHEQ0WNui0+5TS9 zchGz}LUXe%`pB9m&CPb4BGTL(p}EDz0|VT9(@0>8?N&r1fh`f5TkURPnp^DwVVYYb zG`HEODA{!=`!;*3qOmCZwg}Bv?Ac0Ihx7X@_IyP)&hM{8XufJM2}|=;`;M?QUyab* zZm&_Y^HKKg_H&Bzu#dLeuPAx}Bdgbfnm;7%&|eE`zR|8CF(msSd58Y*plnk6io}20 z^yXbU;~m5G>gy5KU$@WiD`m~F{<__)s2tW`x35<88mzw&)D-P@=x+oy--Gp#>`PeR z5tN+=>pSdwRVvZA>U}f9`kQt|y|g|Zd-F}ZR#6x1%}C9i_E0683(cK&lcK)R+!>MP zE_-TNn!D@^!_wRpq4}0QKP=6+>>I+;d@Dk8w|$3_-GyUwxBal9sW>)wM`-S`pHs32 zFb3OWZ&5T6W3W9Dns3|3!ZhEu&3>{bNb~Io&3EkXN~X2xk@${1P|-7O`+&mFu ;Z~)qJ?}Aq4}Zxwvr7;K0mY%Dsmv7A4X^%uu})hG=Ka*?7a(MTvfF< zzR#JN%p{q-+JY2HNhyz_r8KWTpe=b!3X!%+n)C%|GR;hqp_7?(X3{oF?@g(SASx)L z_-qBP;`IRn_xdOh1QoO@Xz_y9&mct})<+e+qImE3TWha<&Y5IV@o~S8|Npb;*=w)0 z*WP>W*V=2ZvuCDcWz~;^XA1Ty^!$(WI46R2l13VABG@VzX|Rbr&ZmN#J)BPkukdg_ z72M6(O=@oSBPaeOc&%WM!RPps;QIypBxAP 4b!A)!Bv`aWmm-$Ta zQsJaBe;SMlMrHmq_!W(DnLo`d(@mo?e;WLTr_7%QpY)XZZ19Mu%x8n=UE<35Y+jje z8kPBMa4B ;Y&jmXKBRQW7-s>szxx6ynG%EAC;8#6mJ{LUXDf9W@gs05s zgIm_Paz39|rkh4(J|B!Sr