From cb5354a306ee5792e0af0c74dbb58749682dbde8 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Sat, 19 May 2012 11:00:23 +0200 Subject: [PATCH] Update ActionBarSherlock to 4.1.0 release. --- libs/ActionBarSherlock/AndroidManifest.xml | 6 +- .../libs/android-support-v4.jar | Bin 247894 -> 271754 bytes libs/ActionBarSherlock/pom.xml | 37 +---- .../abs__dialog_full_holo_dark.9.png | Bin 0 -> 882 bytes .../abs__dialog_full_holo_light.9.png | Bin 0 -> 1003 bytes .../abs__dialog_full_holo_dark.9.png | Bin 0 -> 2159 bytes .../abs__dialog_full_holo_light.9.png | Bin 0 -> 2302 bytes .../abs__spinner_48_inner_holo.png | Bin 0 -> 2769 bytes .../abs__spinner_48_outer_holo.png | Bin 0 -> 2432 bytes .../abs__activated_background_holo_dark.xml | 3 +- .../abs__activated_background_holo_light.xml | 3 +- .../drawable/abs__btn_cab_done_holo_dark.xml | 3 +- .../drawable/abs__btn_cab_done_holo_light.xml | 3 +- .../abs__item_background_holo_dark.xml | 3 +- .../abs__item_background_holo_light.xml | 3 +- .../drawable/abs__list_selector_holo_dark.xml | 3 +- .../abs__list_selector_holo_light.xml | 3 +- .../res/layout/abs__action_menu_layout.xml | 6 +- .../res/layout/abs__screen_action_bar.xml | 12 +- .../layout/abs__screen_action_bar_overlay.xml | 23 +-- ...abs__screen_simple_overlay_action_mode.xml | 2 + .../res/values-v14/abs__themes.xml | 6 +- .../res/values/abs__styles.xml | 4 +- .../v4/app/_ActionBarSherlockTrojanHorse.java | 144 ++++++++++++++++++ .../actionbarsherlock/ActionBarSherlock.java | 15 +- .../app/SherlockActivity.java | 6 + .../app/SherlockDialogFragment.java | 44 +++--- .../app/SherlockExpandableListActivity.java | 6 + .../app/SherlockFragment.java | 44 +++--- .../app/SherlockFragmentActivity.java | 85 ++--------- .../app/SherlockListActivity.java | 6 + .../app/SherlockListFragment.java | 44 +++--- .../app/SherlockPreferenceActivity.java | 6 + .../internal/ActionBarSherlockCompat.java | 40 +++-- .../internal/ActionBarSherlockNative.java | 10 ++ .../internal/app/ActionBarWrapper.java | 2 +- .../view/animation/AnimatorProxy.java | 7 + .../view/menu/ActionMenuPresenter.java | 2 +- .../internal/widget/ActionBarView.java | 4 +- .../internal/widget/IcsLinearLayout.java | 24 +++ .../internal/widget/IcsSpinner.java | 4 + 41 files changed, 377 insertions(+), 236 deletions(-) create mode 100644 libs/ActionBarSherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png create mode 100644 libs/ActionBarSherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png create mode 100644 libs/ActionBarSherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png create mode 100644 libs/ActionBarSherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png create mode 100644 libs/ActionBarSherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png create mode 100644 libs/ActionBarSherlock/res/drawable-xhdpi/abs__spinner_48_outer_holo.png create mode 100644 libs/ActionBarSherlock/src/android/support/v4/app/_ActionBarSherlockTrojanHorse.java diff --git a/libs/ActionBarSherlock/AndroidManifest.xml b/libs/ActionBarSherlock/AndroidManifest.xml index e4de549..c4a75f3 100644 --- a/libs/ActionBarSherlock/AndroidManifest.xml +++ b/libs/ActionBarSherlock/AndroidManifest.xml @@ -1,6 +1,6 @@ - - + + - \ No newline at end of file + diff --git a/libs/ActionBarSherlock/libs/android-support-v4.jar b/libs/ActionBarSherlock/libs/android-support-v4.jar index d006198e6abd489276ad3c69eec894d141c2289f..99e063b33a53c8ba7980a5b5244ce0e0da46ae54 100644 GIT binary patch delta 42484 zcmb6Ab97{F*F6fyNu^`kwr$(!j%{|#if!ArjgD>GPC9ndIsM%C^L^(%?{AzxPF0Pu z*WOjDYSg^uT4Swwt-TzF7%_o_pdAQX?l4e`%WHW)(sKj(`i{~q6H zAQbF9;wmp;K+^Qh?=1P{!|_k$3I4D<|`;^>W(`&pb-jr9PHmW z7g3r2HI&mRQ-Aw{<2P&@1I2dUnlMMt=&CtnO)!ES4TExZD#>Dg| z+5f&EZR=noV(4VbU~FUP1B6;o%=#q$|%A0VQ8m_@%-f%;*BJ?UBbFDQ4A~J=GFH0?^ds!-=8n9pJ>2eqFCf; z4zz-@p(u97vfR&Wrznn?;B;XivQ4Jk`13wE$AuWJ3!v{nzeh2*0ukcSZ1BF;YDu>|IifYFj>FaWB^xGmL3S zqTfrGyKD;4hgXYI$`c2{o_$kOM&LyK5TA^ziYqZnXF)&9pZHFX1_V`-g@!>z#iYRl z0|7~g00H^GgXlj&l4?H<`VZ|=k%GbDTZM=~F%kdeqm&Z({|7$)%f)ELKA8a_Bp+34 z6=O)mH|PLQN93-dL`cJYgW_%vtwiD?UCxQ$B`>xFA0UDEGtCzPjPuR~6VDv#Z|+7|a*U6NF{9CM7HT`71O% zoAZAAQs8yxU_c*4zwU=HK_z-s{$AdhLAKJSs#dxWP{gj&M`ZL_L?7iCT4o}5Y)DCB z#0ZP2feVHoIV((R?G1Y}Q;>$@5-#YeQ0dh!D{92hWOJ;BcG&p&`{0SBg!{=33i=Dn z8?u$hRWRlNLq2!Hai#g97&iFpV8N6^3(rZl4*bF2A%^4XK(m$hk?UGL|7 z{e-?W@J?i80u3g*d_QPSN{@ntBOP(kJV(a-B|Eyj5)i!Ok98||L?uU}=&QM$J5>(l z&4Y@nEDkCTjjP_IMC$EZ8yVD*>fCDO-1M>D+NJu5vT4hl4W)sBYmw3EIO{(98o2S^ znH}%@o=d9H`yT`_AG^w70Cx?qfEnVQh|I z@*t+uNHV6j54tdGW^DFTB>;sPZt7gI?5rszrLH;a1(dyd>?J>F>d2McUE&=<+5(TK zdb%t>$Vx6)!bX;}#FKpSIa6X?1Kvwc-h>UH9#1+Tit+?sF0sk-=uVX_4J?+MK$yCO zFE3XsTNU!+j$FKumw?k|wGpu!U!Pj_Bv~~7aef(>(?YGnTcC(tkzH@Wp{78Q1&z## zZ<=2JLR+YBQ*fPC=q9s$bMGw0Y7P-Bj`75c8v~hXhIbs9rTCJ&CCfHi_LL$(S2@vGUeE z$^HkW^eH3z?wdXRn~#M5cy%%x3qg}Wl~xuPEZIYK8fL}2QHwy~Mx!+g!`y_tGJCnW z{Ci$H^M2rovDWyqyl6i^`FEAES*F-Z)pg{h-32Q~FEu}T-uA=+GGKl?pT=>$T@m}l zZ&DBHelZztH1Z&D$fZNIlZ-Ii4g$YIq5ff%Y_K(#bk59i)170ZJ%`e=$ah)4@W*BY zZNcJp(CgBj(Ir%v1W#MvA0pO7C{q0UE8OY|ellYq$VQ5OI1RV-~q33j0 zHWIQMYZ}TvH2Dg1QJi?PZTx0HVUQSwoMj_d`@RU#cu<|>0>+IEgmaQv`61>GRSQ)I z!nXEuxg9kJPJ#S9OhW*#pwVV(pvB+V&gXkrN$Wgd&!#$Mx$MzSjnjFmwP!mf$>^j5n>-FwK2CQzE!51dV_A|T0^JEbO!*T_2m@U+P^2er@DyKeks znugO70Ewtey-xs0>CkHWd@x`kXK>a7j6~j%h9(-AY&drm2MO(prKctTFpe}I$Dee4 zkAV$O2KLTiBPVlt(U2(*@k;w`tMn;;^wZi9HSXiol!cNJR$bmkJZbiRnCKWsIlY_l z9448(ukO~zkIqqTb=+~VIJ}sU@o2>-2Yoi@P5yFRii1o<~m4ea1A< z2q@lji=&#?VFMl5dd#X-^uYRYc7wPSC04x&LJ{ib)$RdS5=4osz$q0pb$k8|x`f9|&{hT)^(Q|leQ0nw=R>XEC? z(J*8kZwQyaJTavy>p>KMMN%rqmewIFs_tWtcL|l7BmZ*xpnm5Qy)6iIW@LsqU84%Y zzYe)i8*oP&Dcg}vM~+ef@{7PN8IB~100IfKz0dt5-}CoC8g2K3PnV-qB+c9HkdmS2?*-nwC?QjFw#83HLLXoj1)*f5v) zx=BA+bCwz($rl;(O$%;Q#GCX`tr<2D=eqn_OgDKJkIpQ+Y(X~$!_Q4$urIF|3yUi+ ztkkrv9>B0&; z-0i1_12U9eL0W3(QHHoK9-F6FOxeuh6=16Dt}F#xN$@}695<&N6{Azx?;!DlUo@=% zgauE)|CAY8S$_hsVL(9SQ2%$C(ds7-y7O-{n3{e6PsIV3YTykHnMxD_4%3Q)2g>_z z8=3m|gOor8duK~COJhT4OM5#}ds_!X=YOk_YPB8vc_p+zzfZMJe-WSi?jCc9Lzd8% z*)y1dx6HvAf{HXy{-jp#Olq;5K-u}w^uAk~3MFT_MZAe+$O}%y<^zpgOmRcU3Gx$%Lizp?N+Dc{J`|FrqvxuAZH~3FA zmIAGw%gQ-2tlrc7%i+QsY&`^8KM*)WJ%g-Xe-V|{##+G@4fG@xaymy)ncdU5h8eYY#j3^@|9;)J2npJlGaHo z^a0IhL)Wr$U`&(ROU`mqsnKBJl5Kti)sVNACzbJkP7rit^w>i{VAgK0^6ZuJ#qfR) zGe(w0Y1yYD8p_j49np_gYG=@xWr1r4mK$Ov2)m@?## z);-`3JtZOWEUa0#EJ|b#U(D2~b6-|GayWi*;^DH@FrPnR(;ZN#7_^~lwZ1deJG~- z-;GXn$yqKA)RK`=dbV>9}vb=)o zksG=cv;6oR6VAM2A~2*VrNk0&$?nOdnPq_0rAkQe{}jU&Re*H-A;8Mkdz^NK1>KFf|Zu1%F8P30bW4zm61>`0a94pl}035mzG$;7K{MBXz zWla2?4V~)Y2mY;*G*JlrAIT+AIZYg>DsTT+!|=)EB1{vKT@Qhhp{7^jq-H1VMpqXR zhbc-TK_B=3hUgHtSeTvQ9=>d25 zlgIR^>i9lj+qlU*u?4pL?FQ>E)|Bj#L3DY8%gEtrUx{gw&4f(viAO$P@7@fUNpd8C zck_g-Ie)p3S135jFz^W#D}p{Td;OF^rm=o)|IR1;n zDpKm5v8uitcK%JQR$)l_-LMvz$mE@sknh<4zG;77c0_1JUZ{Z+U;ic7GNd{OpCsp8 zHGHcHv0$IPD5C6t@>0^|T`*YxVMForcNVb|9t)kqgy^NBMivwkGv(u;dgOXeW?Xh3 zf0P#ul0>qh<+yVzTzwE&1f)%p1NIQgcv-TNaJJ#ajsSYdnj=2+6e=>%BIH$iMIO=v zn0~q3ozH0PBiAWvW`l_97Hg5xWKT>W zj2;Cy88%6!tCLH&`$NnWNvn|;)vjic8V8kGy97O&qyC+IIzzn-PPshb_PAaMN1UfU z!>XIodD_AHamq{G9OOi-YMW<|udlk9)k|54Wd+o~%~$bbtYRmCu)-ZNF^5)nM?i`}MVf*KO<6Yu(L+8zY0r5n1s zesUuE`Vo>VK#=bXUx})!Z>h6=zCC?_?c$~XQZkU^qRR4_t)#et-=K)q0bHUEw@2F? zs29ou$NZVbtB;sCD{9&)=oB!dZ5Sl ziq9xq!vq#vi}bCmGZAmB^J`aX0OVjWfiTPm{=gLfZxHW2{o54(BNwH51cGBUR@BJ<3vcV+2={^dS3P~Nb@?ymH{JhYo>-Rw z*NVsi`Uv-Lp7@Va`j6iEKkz4$wsSVMb5=1m{HuHZyAau$uRzoh^snFJ64v#2Da;0$ zM(G2q7~lP8LF&PqgQb$kIqHM@W;t|=n!AavXeyKao8;$7Z9QAh0Q?J0@`xE&5s>h< z2^`dHXIl?;_fEjyg0qS{mo>``Z2fG4tM{(JMCX+&1z5&UQA^p(r79<|WePNYV;n7t zg2VgxJ3j1JC&w)n7ujE)isZJds>tTR;3SQs0vQfjJp|gbg>g2+T80_Aw$rNmSe*8* z{6w~jL$!eTpM&b^KOsS@r=cQJQljC~OMWusqoLbEN_sf zT27HMIcBml3EQs-Dyb|S+LT_Bqo!=6nTU$lXh4l9ueWzoQR$+h$6a)uT4&6wCddSc zw3@Mzblt-vY3HL~F8$Q-;qM+9qa`&son|qmuUwaD0~Uu+E8>X9Ord6ItYE2t<1{%FXQnv!nyOUc>JXkz~0vhPq{U_Ji{vz~j}JE88_CVJNY5kxiImLDIzo8uJ(fwyV+z z^HIjzw%U+y3T#K$kk6Lp6`Ni+%tY=8t}<>^Sd$3Cf3uaPNqK-rEOUAgI9;;TmDugW z{^!0uOx9Cu?yR>x*jlE|CxHz zSiHBRK<532?}xjF(BT)IB{nIR>DRHzW;CcE!&qAs;TYB+KTC;&_^|I~GIO*CHuMdK zpbSgRJ{7YI|D!dBPVWL3@N;bSR9LWP?1ed}&~H)G)8J5w1YIyIY%I;d-B!I~5v*iB zHv(UFtSu%N=5&{aO!c5X9~oP4=zh^o{fNOBW`HHeKxg=y`&?}9*bBEFiQYFzeDf!n+Ixa&awU!0mmU(qi=jqrrVd7I#Odnm`q=qM6fWcAFHw+Y8c`Ar& zpBOAZE->iW2b}HpsUlw)O}qNh^oMG#4$f>CIatsXM_<@|MV;Gl=BVcOYTz1+;Xlgo zv3nRXibwxo^d{bVee}f&j=RGHQR+_MpZxr;oWo35iMQ%3TG1F?G~g|RP%>C1mDZ`x zm0ru94rW*s4j5Vf03&*px3*KRL?lOFc>fR|qQ%uA&^1BgH(dJ!9W-ZKa!|R zGAeROJ6CaPpe&eG{*1yKBgEa_mT0v)cc#));#UkgN6+aE(ExlTXk{w-1XXE4a_FQU z6XX@~(@nZE>~FL7jHF78lL+%?z(#6icXa7g_pzquQ;p@bt*z^?_7_Y-Jg}CZ>j7@! zuJq+%q21a;-+-}x-)B(x9W(8NmQ3k82~eQOjp7jaLkBpzTq<^;dm*Z|jo!ByVT2 zdbllei11!T<{|v^qyq$J#}uDs^n_yHGLQzeEh!XO-GKd)D6`J^{U$r=VNNaUJ}tCb zNQv&aV-1BtK^GA@JPg06-%u=yz0+?EY zQB)&>;0rq7>f4ZD`YtjN`CS$Mj?4{r!-M7c^jf#C7(XC+I{n;i5zb^U&Q;FU_89G#&z`Ip zn<&1+0%rTx817cl%ccm=e?fk0pu-ipO|vH=U3P!SL)RDuFX_9d52j0ocGoU0{$98?06x@ z6r>9fAPEql3E;dq9oaz@ z(VW+V^84^N?pf_Tqri&n5Vx-vH_F3fr;(Cov(x+ik!g7 zuY-MH`|HjJA?BCn@Q6-?PQ;x0c=4Ui_@2ru3ylMHscgGW1yWfO?)M~Z82{UW3aMi_ z%aAb<$L)G!2(|%XrR3dBwem1b;llB(3LU5`FrSD?H7WZbplY;pg|fntA&nN!vwb8) z;TZcLTe%QM9QfhPfj?p-X$E&yVd9y_bJMdeIcmD7Rznp2t*v_ZhI%*G!rsnKX848k*tb^5gB~e2 z_ZkEH80gP21L!uJ)V*_q0!k85%_4g2i{B}B%x0f^4!~Ugz2U!qC_)5Xj+B(PQ`|m$ z*`R3z^Xf5F6rW;PIsUlDz`(1{*phA=<=zeA0K>6l57~)iF6Ci_-QkCcA=f4%?7SR- zOvcfa?baW6k~SuS=V#%V{+8L6GQl;}5#=g@a{2p^fb)?+jfH^rf;*+EH;9^)o-<@JCVTRSnvL=&bX&9fj; z7fUL{Q&d`6QkpJoA5DN3)fCD9P_JR14??r}o+kfG~e#`4GRUZQ>Y(JcIKG+FEMrx90v zoa?*n5B*X@AP?l&Pe2R3AWwmPWITOh$0J`olY9W%W{rM9X$-` zg`!+sU>fOptdQxnUpUCEyVPbKz93RRI!&x7lu|Z@LI|-ZbaNoP4~+5IY`%z+l%7gd zFUTG!6F8djtri&<($nrT3K4HLX`q$y9B}9+)V)gac?RK$KISScU}lrGZ#+To%8?86 zi7cYkx$s7eOo{dA@Z_2<^y+BO23~Z-g z#*PflLzb*<5w1l-SwcKQmx^ImZM<|oTE5T6;ND^?I!2o2m`#)#Ciz@whu2t5m(EA0 z@Uzr1BBRd_`UMwhjZrlSnHdh{=O*?Q2S3r!|701MkIizix~HBX??Ja7(w2a#p;Mnz zv^0c#ItZvQ!W50l$kI@5OmVUh2g?j7N7K3Ct!w1T0Y}4=PcCwuv6p$I?Ud zV?B7@9%f;pV{OIc9$xeaSt4T$@~g0Mt*Z1d)2C_k9N?@N+{e6;$A`9UZ@kq3?AqnPd$ z=_Vb+qu|$u6G^LPs=)BraqLVaaJfx2re-@%p{d1Vv0T5lqS3>=)b|_9^w7a35&8&B|o# z94eSYDpZV#Js3bO*j83CAA|bwwJ0r#YJaqOEacBr(y}rZL~$;kMa#Y}9cK3|C>)t1!P#1S+S3mQ{Y-fR4^~9sZX%|hL~iPpCQMNHZ6m4BVnNE0>ZpdfM-yAX89VH z@u=IELA{OU3C`!jvCC&jP|3?{vSwM8m9aSaIV! z(&Xk(tC-_faUo(00*Rg#ORbpIDzyyDlC6?eedd)a)iYJAnHRN`A9f3k`(cP)GtV9DA6yUIV) zqdwm?O!vc2fNfEMds;wLH*Xl{0UDI*L=}!8IHyA?gdoI6zlecjk$hgKf`PRyVg!dz z!J$jImUrnWq(em4vaB*_bE)ATXYDL`ySc#u|087N8}Ne{?8{QrM*@U`DeBzQB{1I( z0;C&2euKC7MB&nyZ-=a3!@Z_tS*9KQW~*cFK#$|n*)g!2z8~yX(Fy0$+A*@b*59v9 zB)Wqhe2oI-HnHi&(xvHn4U1~+UY-9tap}GIwTj8B;(-9kmfxZ*ba6o8F)W`zJ+mkz zIbtI70yq<<9E*MK*enUBl&hbZpA!c^9;r$z*X#TXh45&I#jxAOf>*xR)j(TBB{ zUU4)eA&WEe^=IG;tDY<~(SSTuF2j_{-j~xnAN7=K0-;sro>IL9*6%bJ&w+aURTkqI zH|x;|;E!jkz!@`$(C&Sl+!Muu8m@Fn_}lqXc;I8yx_Q~B7285mB3wvW?m}EcR(g(0 z!(7u2uJ$M30_we9WQU5xlS=bM*vhQEFN6W+d<2znlfWWCnd~$~SZ1aiyrim&vh|pb zQ8K#VTTp?CjfX=iAp9`K%A}5FE;*`L_)VYHCM>}hb3O%&2>UsOT2y1?Gc82TgGvvI z3230NNYi1wb*BY3@y+I0+@OhAH$#ZDjRD=cfJfdr|L_8ayyJ6BXl0j?ddOF|(hQ+h zO&{_t?$&2+x=ufJ?!f9N!}%xZFS#Sfls%bW?Tds$j@u_{Gy68x{!|BTX_fRs9&>W5 zTt#4f<+?_a2UV3*v#B`dTs~g3_%{-PxIls@^BlLdbExLJ{Oy2{!ZuLazTmw&7kTR{ zY%up(+!84zo7_BgZv<%B;{hwJKJ|91Nj)gsoIg}=y6a|(aGN}%<@tT8-edh&3&ll*KrJ-x*fe!LPJ!Ru^Xc8}yy!Sb@#v zRnJcg3e$~HkH>O`6&(GK5(u}uWcCT#N5?BEm*1dyZ4iitu(A0Oy#3ctGkJDZ*mjpJ zFK>zCat>uoEEO+N#$@zG56`H3hffmo_M)J{eL(9M=Y7pB1U8S1Q-xxYDr3k+jG)gd z8yT!o2ghvqdov1xjLvnj4>mGF&wV# zHdXSldt^BaT>zH+r=_BaR!TfEuQ1_tpGz3@6$wyMau}Q<`z557P&k659=N@mkv8OS^#I%79DNy7&9)vl z9>Zv7AsL6+74&vlsZ!oib*ul_y;_R++KnA*Do)L=xqo+4?A6f&b^&vl-|UweRV*Ki z_^1A4H=%I~-b=fR)0J;w1h@=VJ%4{MtEx9#HalLZq8l+7xoLR#38k}*S_;1x$$?rA zlb1SD(AOhG*MN?Iiu2*J%qrG~G&c_IK^d&;JW&R``z?D)2rnaoe3B#{$9cIjcS3L6^op! zfymV^Pk1|}B)d+-f&NVL4XG8?`z`mO6Rr$;Y*#}^-EI(5*k2#X&^_*0^#sC=7OaY~}%T*J*U3BKTST5*611Gs(aK z?vG}%#U)UgCV}8jENXms@6rULH-{Qc|NHn7fA~n-L)b#c|GDz+`8l8`6T|s zU9_dN0L7^rF4Q|@d=gB4#0f7@f=80*!c+@bzFLGHj&B6d0QWU8Dkt_XYw#|a!!pRw zZ>MN)yq}`7Yj(1W3SULB#A9fepM-Cir*(WwS`EOhFdq_a(IdMIHSHh3Fe^+ofaYTy z)OlsEO<&`plF9?pk>-`lB|Guc`eh7xsjC+BW-W{YFAf4P=(HBRWELE!T%!g=>no!{ zP%~6!GZc^64>|A&eQAu4 z3TR6WanNCudvMZCsmjY7YZqHuRa_GU-8wfu!EJGMs?(W$5qLf1neL)ZV%K zrdGa&@&Taq3hz8BaHd_X*j6g7a!P!PHkuxq%*(V~PX}qby&2+&f^!meZ}ONc(!SN7 z=Z%en5=0=)9^YQC`7xr;8vWr$9H>atdJ%PC!^<~8b*JjHBEH(AZAbHT7%&1(TylBW zAixGOxrR+w2SaC@4;N3p*a-hhP>lFUr()N-!<_+5SSX9jEDJiBm&%be_7K*HB1nyy zyIZ!8=OF}>Lb@TTXd@_zkU0rdQ^_r;?kq<_rZfmni;)YPdreJM;?9M{F;5KDw7}6r zjm4Mi(lLZYWsI>bLZB$LLB<4rFCX>`6ISh*&YJvnK{Vq@v+vYk!eoQZ$G6_^l1M(l zH+9~kn{>UZ{hDMJP-2;N+{^sJ=<Dcs;)ukQVa}#VGv|^8FYL|g) z=ZTK{WbNm4W8g7g%^|baG!23EEk?b2rUkQFxl_?=?IsDZ=h(|jA$$NR%@gcp3HLk) z(L)sZAeQ;hi&l^K@B}-v$x_@!$*~RNQ4Qh&FRXJ;SIx}Dxa7QZYNnKh?o_Nl6?_kU zb}-rCh^Fo*JB+Suv$yVY_+l|F!_#`vidGS=FppilOjWH*8lRuaPoI!Qm~!nGGorTO zklSjt;nq2e9{xx%V6nVWm%LH7xJblsj&L!ylrbmMrYzJB^g(wn&1+*IS`3|_;t#f- z7^k?53iz>?su0p9v@kC>MTlVv!bOIK>eY`afZtsh6B)x$_! zB&l=|SFrL3{gjLGN?eJbvdE1 zxnKb22Nua!ki_jw!^e&>VMnO>naWQrDcO8#G4oRXpcx1Xe;^*g&+fEK@%c@no_!{t zBZ(w1;C>Qk2Huv5ubo0CVo&R3$qz8c$aIg8^z@Tuem2og$-}JP5)ERgqo#(8|@`0 zi&YK%P>Hl$DY}4#J%g`;g?2rvrEn^%$$Ed-yhLm$y`x-c1uwDDmB#CY@-n-6aD9&! zScR)7oBe$mv_k@R500gkLAxYgR(__#TKzkWE)!{ctkf*m6h`L~O6O*WOPf`0q3*l* zpKTovMd*DGld@MfIr@OfsUJG28#=i$cY{qc6Lqp8bI=&)T~Io-uAE6*wDhB!rLsTd zHggMRv>+|BlL`>iiY-)q0|)Uz_{!XV0drIzltkACmZ=IPW4{+hKAb9BJBvmT$X@$y zW^_V2m89odIyQ`GttAXiq8dn)KpB?x2+JJJoJH2G0a*$Q(Pu%+)o15$Xf&-YtF$DS ztoXBQrt`_Iz?;im?<%9~HszZ{vt>0a?hV>A&p4Wce{1@B%Gefv(g@X-6Zz=70N34s zr!z6ogn5?>>NKAB?mYtAi0+`d`3JwCy(t*Q9C)({_Qd@XxfUiPs{?;GF$! z(ykPEb%iEA~#pimw zAlH6DFjMcqEt2biXLBNKUAZ6J=a6-AThxUx)}ugvb}%HKbViKi_iroppx?t#9yo#%wPVZc}q$E#4sEY zrfOaiKc=zIm4`ZljH4WT4g_DT+^*oQb7orMP-O}iH8|ydS-)o!?iOl37uQxjYU@gi z7gX(+xqjw>W~x2rh)llEqc&_?Z<0&(eo9ZDmh(lReI4^wkmG|T=m8z-0{eQwh*sU1 zW(huLQ-AFwja)XY+c1AF5tw`oKrOtqcig*w5a| zRSKr>y~>b|)FSkltjnu-RDCev{@!NwL6PS1P2i4Wsm#qH#WQtU?Rr7w(O=g*0H94T zAWMI`r}5OGk%8#OTJArbFM}@56W2C9cV-RVU8E?Gs~04s9{^PN^=w+?azRmIc8}m< zB}}Yeno?$}_R^~)iw6xe|5QS{g$n`_#`8b73;($RRe$jBsAQZkID9Hz;NOwRn4)RG zKeJKEXaAY>HFQ;XwzP5jcMPgn^WAO375$6Kkz_=5VbG&V8cRK+x=jJctx1U^6^+xD zM>IiT-^4_*rygChn!dats~K*!(3o-CIf|KM6{-pj%9$z4ZY_||J*!dBD%8t#O~Z(n z`rsw2_OSB(WwZ6+mh##MW*4Cgx1Wp#yi8Fv$P2UB#}wd6w`Y$WCjy=I2c9ey_b5E8Mbag-5pf9v{=UZ2GT zY^diRS&p{R>5q|KpyKLxz!0k`gS-_5@XnA;XJ^UtC#A`eVd`l!zE;7ewb)9Asp-o7B zyK(k1lst-p*m)Y|tLIqwyNn?VC2Vl@!}wVP5@boa0DvD?^~frDR@Xetsf`%8kXkL% z;>F2I7_EQ=JUuLKGIN}kG91auVGmMm3jbQ1dLPMXak$;Y$T%lFq+iJE{6Ujeo%CDk zotyk}O(Hp{r{gD;tVAY;Xkbi=R9@_nnY{Tp9ZtH{OPNVxNdB6g7#r+ywo6!*_hpon zKGF|c2`uOJR`x|Pvy!jaICdf6meCP;luc~tckqsSxlfMGu=Zt%35w@8<*nIlK!zW( zU8`SX0p>?SaDi!h3#vB%C6ud1)ikeXOe7oINy>fFbZ~p&ok3Ro#7let;Q=MAZ$u>u z6u;>~N2E~~pWd)J%GeL=8QK?YJtYS?{rI}pV>g!6g$9z;y2c?sz^e+d$=b;w2J=xz zq7i*F^1bX2EkOmWZww~-2N>hnOL0Id_JlCIu@&SJ6TXXhl~sk(1gkJQI&~mR9tItK zHRFYrnNI(f)nQPMGGnH=%i1Aw1y2bL3-;0vVviYiMume+jzCYgTJC)z2`(d%WTql3 z?&vLLmq7G&D?O~Y1`P*b%$4R1Y)u1VugZ<79MucEp85@rp5_hiX6Y{5^sI@+rYx*) z2|^`B|uWZw7PL$koM(U4XryaF!`1f@_P4r zab`nIQbM{9$8M1;b15^ZMr&D-F?(g6%_gw9v^%;Z*Q&4e28tA@Ek|M|=dNALIbZkH z!Ld;0(G)4(cl=JWkh$01*_FL(AtBN4FV#KnNvlVkSWmQfiy<}x#g&X+?}Qqz6(@H5 z(3QL}PRe|mhMwgUU3FhkLX$HdPA82ho}dkH1+J|}QFfDDLL>|MWn~qC&WmN}A#FbHYj|V-#5^%PNWigElFVFL zylKf6V>I|vRHR{ZZ@7KSu=^V)istn{Q4*=r)7bg36UWdb5CTHVkBaw+nr$*50UUE{rF6fj0%1Rc@5M|#bhxc9R;krPbh zL1erV-e$T8MkM&(TgcwwXwY+kyki#M(mTF6&Mcxs=)4-w;aX%8d?F%L7y3Bj-|gcB z?8Tsn1ns2&QP4WRUGEkq#%4Pw%{GVpjx8wUMDp!~EhV&d&M9D(4(XAhm@xu7(Xse6 zRV8TR2yk2sUheZ61b0qxPpkA|+f)^~=AWBGd4mxJPKjZCj5Ukp8d_34P%lAFmG*R= zd$_6dU)d;rf{BN=Lyhg|UfO3m``~wC4pduX8E6LrS1Mh3wxqNm9!Tu`uNs-ZyW}GR zIOA;&xNaMxCBvo@NatMO=p`gqZqjkvT+D0|>zQZ1SI(>+IClr=@tw&Y!B9B%yI4R_ zGK&xM@Hf(8kSS&b?%;u0sSFuk2s1(8}?0>Uad8x#@ zxl`B!Zi@m4Xem8P2pR;JG|v_uJ#HqH1@(xO7~k?nDrXPU`sn(sN=K9PSNvRWXaiGo zy}CXg!~j7uShb2y!YXjjzK3tvWKVnW0M9_Gl`{D4DhevGq(-Us4}QIh)zL1@U__~y z{9FoLQdZ-_E%&OR4Ku{9z>O`x8+mtqKyD|HmI=v$8r)wdDuiR$f=CGg#c7$OG1UNU zQQ19Js3%nSJLUR28-f5)9H9!&pS=Knoe<^dc}qqa+oUeY2=Q;yls7JPD7)QkbX-3{ z^$)dPhFIXckeYa%HDhLEqhc#W@L|)O?JqNn~^Acy+T%GlufRT zWJDq>Wo4v{5K@UW{^yQ*^L~H6zkiSSxSeyJ^E}VeE#(Pwp_`3MAc z{gZ+u1ZLW+w^QVgWV>Lx~TjxY*d4SlS!jaemUbD}(Oj z2@2Y=NPnx7mn=m{NCY-Sxb8+?gWtWYHte?%`dLak*zFSX{bOXyo&8+D$Dtbvf!ixe z-`MbcSZ259jl+*zol2r@daczq6trcj_NM9et)WlfJ}d7Lh(BKG4VZW;-O|>SM|5GK z^P+F!G)Pd$J9ywBe6qtqY%;#T#3?UA|pETz__wD!3# z^VY4qo?bgXeh^XMXXNw1A5BD|!6nb;_Zd9Y$lLq7LMLzUH|?>JZ!TX)*j~+VCwdh8 zB#J0_k&~Rwxyk*}9&CtZdx4TXTwq>Tiz?)@OnDNq%-8a)LK|6yvC71Fe`v}4NYLn~ z_$nv=2s&M!lnmpU9uneL_llJ2CR;O^^;QKFGy?AzT?*8BK^BPA3M_jB``8(osqM;h zznG{#rLgc$=8$`Egr<630l)D~ij4v5n(h+gh+HzuU|9&KmaFF#DdBz-vXw`U&OuLw zh}reiJI3#g^E~gJmFc^5DZ807bSyQAQGatbU026&eD9G*_7gJXI8ACfr>Iu*LRNg{ ztr8PNi=5+-UC!}bqW2dJm$1)Tkh?Y zWx5uNp>p`g!Z=DhW}9`CwX`e&-v*`6eRXyC*SJ$+TF25ghT`i#cCYDmsESHgY;ue* zyr0_Zi_aFCo-zscaNxdIWE~LgJl&(zLRAN=sZG;xPhIj=s2AKG*7EFIVUkK8jJT>d z{B!vDXH{s>yl?Fi(m;;i4H^5kWchg8_UyOod@Z|L0mN^bVWIW{;r{!5X)3w}{m*`^XK<4DE9`Gl zKQH7|oMH~CwgW8D3eo%p!#9dj;XZ?MH$8=4(x5VRG@sfGD-O9+) zPw^)nh;BcbXRLijNB|D;hft*_a^!5zmW{@h${P#qvgVm@AwydW=E;LnxC#_+(*B@C zZqE;q*mm~o4P2n{=%FJh<+?jh+j^g)t80AAoB-LiMk0n!@I-*Eh{?_UHHYNT32%WQ zYGi4&dB7%3EBR(=x?5TmZQ1%~g@S#>>Dgs{_YjAX4iYT`IrXrPF<+13tk~k5&W)O2 z&r=$CZsz9Ymykw3XUh1*3~xLPKdz7Ra4vgMwGgaD(rg*PFMdJGRY&E6V^SR>6SLLw zv@)O2X;*8oVZd{q#o!UNJ=mPCs8@dfVQY^bh5uq2lO(a zmz(Y;uqos@s%Em;U2&66$Zg2F_s)}gQIK+}!T*Yhbe|`(LCI98wX*wnQHu{H@S;ddpgs8>^6 z7kapli*dX>A&6`ps3&Ka?J}8_A1KYw5?(Y` z*cj13%aG;N&rke(jApjq2IH6ei}sMpr`#XE)GF}NP0HV%A_s5Mp?`%Qe_XUn%9oc@ z-tD9QIV$<+6QLIgzwOvLw@m1Eg$@h2G1e{z7s}7a>{b1IlxQ3t z#}ZVCPBfDWyKMGoU%s*B3nlxRnXdx=aSV(ce)ImLL34t^*4l4)wx1nc zb23-b%=^t##cqk@$BmnlEHw8S)a}|=Sf;*l+pyx5rW0JVUoDO8j*Y8*(^;^>$)Y$u z===Kzi~C)AM2@71*Vwa}O+zIzmMXA@PwF^T|GG44Cu()+= z(TF(Saq_tq+2pLqiE##`zn|+bA6|$;*Q0hFQaZ5;i%H8 zZ;DuNNm*|}66Y>Bi%_G6O&`&!EHu`=A9tUecAv7=a{Jmf_Ri<$5!Fjpk6#swx~B7Z zms9M)r8}>h_LC70Cqy=pviZu*nBLdmQ8X|dKF84AyHX-~60)N7Pb_yn_MrS?WCp?g zFj*5;9#e7-4z^Pdf|~SRvFN^Hv2pHseJ@k%-o!VffTPIGu0HC8RpQ97IU8pJju$txFr;#XAfX&W77%#u4eM_kYL=sJGwKiwmIy61s$vhQ_PM*T*| zAGa>fCGP?dW*-;_JskYPR#v7M$I%=gseS+xkh4 zj=|MMEX}`=;NiVz`cDjQeHI&o%cRZUnZ|_R=rf?`qlwh@WM2(&M;0aYFc(>oK{LVN z&NgkD5nTB{#~ZJ?AaG^itmxtJ{6MIF_}aBx=i1wPMSiU$SC-Mx=hmu;49_xF>k z=kV6;dY{5CiQR89?eIjt@vZq#urbf3zLzoj{IRpZ_XO^kbHb~-F&T-Y+Z?Pr#R@cS z$y^U|1t{L8NC;VC=W53qWqgaRVldWNKMrnmir@u!jYA0M34w!1ZyfUxab=lgw9QiT)e&=HuGS=V9 zPtWuvUDfgWrMooOnjI`iB<8*^ z`AACIS#UCzC$Xv4zfyNp%zx8uu z^%aNVH}NTi>xw;$@M$_<6Gn`ks1- z_8w{|?`YwYhPu5lYVzFX9Ke&!x-+NnMq8}-p<0#+PCFopwJJ74j?_;gyb{Uv=L1^J!~~F|0`feT z*`M{gvZSu&^nUI@cIKhYOam=3g{FW0KxfdC{1T(T^f3!AR z7*~~houA#3aJS~AE#@DHDq7f?H6RbAZ44})TwLRtxF~TjyBHxQ+D^7 zNNChs{TS3%W4F@4?9))HP3fyowmAD$JA0|}=Z)ir7*t($;pV)LyH(?=Z-*s#^E`eU zNHzD4DB>e3-21~s)i`o2=xwXihY7O=9g>W*YipHrIg@T054st0T}%l|zqp27uK4QY zrq~r*Ny^)E-r$A64V{Si_x&;N#@t=irE)$#GkFIeb5}JmlbXG%&!*Sd0%NtzZ#Vqf zLdX3sEkwjeF<435SW7kZzU_;L_?aRiSNaCD=Sm*Iikv5HRkt#Xka>3=3?E&2*ZPX~ z3a|I*ipY%-#+G?znB|(HoY~n06ZJaI;HrA*1jXk}S@Kd=F7GyKl?i$)EF7Qr^-tdW zaBX8xQ}N9p*P5WBX1Nu)+Z)l~FC@MhxgXC28wxAE2AI#=JEaL0=-IGT#Y#?^@N_l8fguIb@^tOY$fvab9*YvFKO#j z>??}ugw1llZ=Q)|TMa4KQ2$~?PfA%@r8Yu+ipuh|r*AB5l~7%z&`a>4)7ZulU;cpp zP_YXdGTYQ#Gn^at9TzX8IbP2slhvl;v1GJ=l}Ygc71N}2@??c}@_wkRy+C&xaiYT> zm5tjutDJ%-8`IQhyVWc9k->J$zPSa*cd5x&XUtcXx_^F=W6Jg{Wh|ULwm$Zt+K#@~ z>jfJZ-N?G#dP#-kbd-!!`lRi;x=H=d?(Z^6*P>!m+HK?KlXrf{CN4=xDYAuBt(@H! zu>Xzml0?uD=P>Y)L!<|%X!LRy_SO(QytGMT7Nn1l_(8{ryME!nMd*q4UpFUKnz(~Y zPH9v?x}TS$01hV+5+d+;Ul?1!Wy<3~#A3I*E^GPRzAny<F`f?XcT1xtjDC#=BJpa+;C|sL5qSE?IP{QzvarbW7#kwirq7 zGDZyPRV+M;I8L~aY^NL;uFR=ZuDbbJ)9$RiWY>0kiOY(+<84*xS~5X3`Z9~wqSs=t z$a_YFXswS^kIa2w*YA{=SWj1apkUg{>kwvx*i&b_+@d^1b)QuI$J_bTo|rV{8KsUX6KbJG30%Mn#yl74En56YKPQG@)VA5YHesnwum{z zeTpfTb8e!{b$KoK_NCXUaW}nQ%S+!y9S!t3G)J`Ofl$fAQKhEhFGQFa6FjN& zJ5=PdX^{5P|DqH%e;Q3|Vba33 z*6w@Zd8?BZ3yaqu{xA~zmc^rg#@H<^D@-gDITyGy=~BJ7pMN0_9z-zrOg>Urs)|cc zbzJ#OUlTHsKr(ndN<&gx*J67?!fV$D&d5I7rBB>XH48~z6K1>0v3_IWa|#hVX$w~o zd;T+;v`?qH?nhU|8`-2Jr%CdOKs9`vLj`3eUHUF5?h0Nl#%a^O>cSa8+MS9ZDPs4y zg1PF3T3gkmvKQ^m>>|3GF-&Kr$sURhy7Sr(GwvWCdPnjvnpCo&1oBBVd^jshKxbz&E_n<@JTcSVx*ZE@wWRFv0s|lnA z)^o3){Kye(@H0Pzltz#I9)c^%rfkj3k4(>L>&_6<*VOcvW|M>4y3J(|JLpnl1&$He zo#uISPU6-y37MgR!7D+ofQXdm9?|%kimJ-QC2&#=g6en1FZJ|F$G2 zDe=|m2u8LFb{H9IUVm#*Ut@ZIsnxlA{c2X-JkN$>@W_a0+D2pBcT~vmNRz4TW!THh zaQEgc(%3Hqr%&R``n#wUEW=4;eYCEYjov^sGy1#^K5?gSIQYed4i_#5yQ^YvbqT)t z#JwGuZMiZ1Yj8uw!2itiu3Lx?qdCD%k3(*`xCu6|A(=d6c3y^7T7^i5s?l~u80cTm zjAG5nf)tJ4#U&D;PxEbqBWpZe12NuHO7Dx0#hW+A3B$&L15ZQ0Ba>C}J2myCZMr z8ONr@{~j41UCpRzo%p`Tz?tfn+t-krCod(A(pOiNmGcU{yb{QAk3E_DOU}y#^&rNR z5_%&Qq$)Dx4+nUk-PIayN_t&ZI3lN0Zw@X`YAfu$NPd3&<(G^;`10^e+9EZ96Xgna zF>pNbfKKUvYs~Kjuij8M_2(_kFU%*L`IRRWlJ=6k5sCM+_{iAp5TnAaqhxQZNR`i# z_E>UJ<3|O(F#UMXc25&5BjnnrC-37wEzspOeY=O4{U|a=H5hhkH*vV#+m3O@o{=k4 z0lIGGoXcyVKx6w@D_Q;J+4(iiP*t|%unG7|7eOmQQxS^t0b+0*wwcDj>B1-T3txx+ z+*=p<$8pGCi~3|DYCWpIFVgP!KG@p7;cECaqL<;9%GFhuc$r|WGa_5U%DV|0^MdE+ z^SggT4>(QK`QOr?KPr7@J~i~LbXB(4O_E0>EpGn7YtO}-ry`zkv#_x2!lH5*cvWtM zNB-dcE+?s(=9_(lwt}~ksjyDdLgVxq{PN3qadp0CH5v8p zlR0O8D!d7eAf+V=#{>5@U(q))yd~t}HaoE1Dp&9Ddw1`n(zVdCX#xB4Xp*W4i=J2A zHuXL;okwF9)XR$}?Vp*utHhjAC&%yd&_xQ3upQm!np*sMO=>Z7CwTZ>ir#{Vr3Aav zK+WvJB?>o%tpy{7)n`HPh}g*0y{F|ai@Z3gPOk1H%Sczu^!dawFh35Tsa$|gB`^rR zitE;%b^ds?OJ;~G=IP4^uCo(c&m4&bT}$>|1Rm!WhgHTK_PCcMH`Y0>Qny`pW{sLb zzAAb~uOwyJ@gqO*&BU_9#*@y5>$F4G>!_xakf_T}4k zZ;>&E%<%evbrr_Gi#1cBJI&MU4Q@Me%Q6{MM%?qhcRV^*Rl{n>JvOCk__}%?eODXT zVc89t_}yFj;pb3l-1}c)L=_ir{u+MY7sZQg;kLf}jN38V_-pmW{Jy>pK5M z0v)GLJGcm%=!iiVymt?L`L`qfJ*7h|jJWyvzo9G7e~S(;8-YO9o9ZNu3L^bpQ<#P5 zy?Mk#p@wI404gt(qQi7&u!$_mo9h#%7gZF^>MBI+VY)W6617l%Ag z7BN4@cuo{0&OoO)O4;(ZM)(I}_F-TBm~ZGC)%TCbKF3MlOLTf-I1!McoT^e)yw>oh zu-7znWpY}XBXRNy%UhHO8-8Sy66?m7F!P;CjxWmN=C57*kqdb)xvwm4L7wO05QPTR zWF8U>(}fNDoh}o?`3{BJX7y4p_A<_p)`_XV6F*(v`}oKyYons@()^h~^>+R%#T)C- zEjy-&*?p<$FJ_nBbzNY)#3$mB?Z1luZA7BRX#vK@6x6--11XbjXC&@E`G(OVbcTAQ z$WwXW+$qM!rT`hfK`1?N^sE-6R9EJjz^53U^SM`AOV20P@fDUBxF>`Wo%@ittfbaB zrMUF#aS$s>X{mUQ!adFVpXW+H9$~zx#=0*2_RBqK1|mTv_Q2IImIS8)ny4Z|ByWC6 zw23*X(74(}?cNzpV#e>a!^iKn>qQdIsAsI`a)>Fbm`&?cN| zmNCdbvxZWB%HVrhU|8hjP{x_JLYdF#V)Hv#ZFp?>a*ED7^;MNh&tWW*{+XhQGzc+y>jG?Z_y zf7FI*XG*N_5UH$Q_x7x=h*6Vh0C)Y}sp1WgF4SPn$%zY&`Cj1U%rfJD<*VcCi(6to zX-c=q*j}~wa}ZR@yD@XWk&&${M|91Okf+9Q)Z2$#Hb*^@r_V_BdnQfhKsggXO_$`J z<$+Z6oJ`Ej8TsOGb&GAak+R{O+YB*L(fc+9=PdSME_dd&n5?5pnm0L%Gv6wBvAEyM z*{icM6n)B)_inK7dS)3*mw!Wz@Y2l6qyC9tQqDyU1)g#WUfGz$oHj$drvConfE+DC zjosH0~?U}Zb`>*q{4t{Mru_r{xw-Jc10c*po| z3(3^5n1exwG95$ArZa6Uy-CqpeeIn^ZMlZ;tW=3^?dnlwIS^Tu57Il{Irmmr8d(xj}@V(9_NiEpW#mq8;>>1K1{XpQ8cqV z`|}w?qV)rcA^FTOE-Tw7jdL^tPNRmWqHje_S!eCtLyg=iuUM-1K4kyhJ6Mb16n9t- zUJRQ|(RD}R-1{6a+3mTsU!GJ-;NiApl_%I=MP~btt_EbxtlTvfWEd{L;V2q1Vvhg& zF1P}&@8c83`wX%ZcVzac^M+g%Z@75>pc%dMh2UYD+I&`8^F2S4&D_puu4NdaIm?BN3E5n?V*5rXd&CecAt^196# z^^NNR6!}j{IoQB$fh3Y^JiMl+*E!q+UrW0T#wWQTfByPJ{e=4s%Bb@=Gp&u>H1a63 zoNs@pCut7dhD3Uv4)0g#n5&iH-G;6)=R0a9QgvFj_gN|17jv&EXPB*go{#MvZB4pE z5GF!>^I=l3NVc8Y!ql2p#JGpFeBL=OFG6K)e7n4crq!Op^=54*4ZDh&j>r8)&vKv5 zC=R{6XtAUI)o5qbqLohQYr~55gtGuLREPB5g<`3do3{&1l`18Y7t)jn<$m4UVyx2S zi!Qc_c}RMOk&Y@&P0uk%Ih2;Lg|(zs+*YS(aTI^MgP7fi$nSQb5B)cmF+)_%yNir1 zbUO^ke(CB7*~iXYdyp48p+Ncg!__N7*-3tRH|oRH1ShD!KdN3lu{uPy_V9ao3?I^$ zg)?`FSe~v~5mwY8VGzi`J-_pXPm0l2KQ}{~)y8Capl|6*>coi@G0rFrIVr7Mzl7T+ z{V#(c`)RKC#S3*?@Q?Qf_KqF`&hJ&NFvYug*M=I>n>+l#iK?m=+- zXe2q~NDqZFmsDwgQ)&uS8xwG9+2{E2{wn(vkBlvi=gp^onmwyB9H*PC9DT!%wwxD_ z#%^zdh`{zgxd2So$rYV-%KoN{-NFsYpZ`BzkNBU@`TTpi%eVt=VcMK*<(BE$*MGAfG?*?EOsqqg=ottww6`np6C5DK3jw9 z(^+y#L-ok^aCSCWQ1m|2c2l0{0;!CNk9wDWMOjnjLgG!+m>-#69KS?!T2}@zq?c?S ziP_8i(mhx+N82H`*&NLvI=AF?gGg#N=_Kz|8mGDwbc5()>@?9(%xJ*ri(iR0bmyq^ zJ=^D;hDC>{Prh8V6A<{JaVykdUbmO*MpOj*=_S{f$oEkZ!Kuz)ZDtA8Yx(bvcls5N z*SDStqU_39jh@+|9`NYdF&+y-uJY(#vM}?!Of&aRTt}#AN)VwQETo{(hhIq8Z!9c1 zK(O!*JnVB{8ieueHnT+{l^@9w)*k&9lcRmF+1Ec)jvGB8p#A1wQF#Aui32OM&??!` z?_0&iu1K36|3~A}7XrRr*H`iWNqW4ib8>58l0=fG>77UEO%d~?pSO*5RPTJU?QOQc z8ytK|>oO0wVCN)%Z?>x9^4Yc-B(i289VZKi)rVkr^_Zr zMcG_fnDAx3(O7Y>_F>;8bIZ#0ru1Yw*GCPDQ;`u3Z;Y$-Ik*T^*=^_J_=9dBfk{E( z@-Bf5w$@h2GUSQ;q``spf$$-3=fOLZYHgpV=MX`7?FI|BHs+sfs3dK?dtk~#OUBw) zneyFAT*PaFQ(m}CUQG;D8(Jduu(kgz71-MOQ2g>oU7P*OsRQOsd!}CD2`?VJxtj1| zeDZ443#J_Jx;?raZ+>4yHERCoRjsFirdQ9N?&XqdIN-QE$3R`M};?`iJil7iRw zqiI7VPUZzCQu!XQmiYU4J>U8Cw@Y77S-4DDHPDvr^_>epDNm9vGZZ*_B|(F`sD&_U z$BTk>gZtdet{A7Lq~r#Z_f$JC1Y?sXEUj90e7mR~*IR}~nAiKg8C+Sqv%&Btll-06 zpg?MsF>lvEotUVnWhbNLS9>GF-jpZiwI%`+iAptB8+5=q=Unj>uWH9+v*X5-UJnJ{ z^!i2e$)z)`Js_pK@M+e(=M2k;^LDe_cT%-%u~_jW5$yrB&N9V)nkDc2#f?416u=(d%O_sJHx6Yeeuph=e>HLJ9T<( z!8dojBS@yRISh;1nw~k;-L5wm@_()7Bsxjcdxv6;%>GpshoW-cBSjCA8$yg$8D^oz zIWc6AP3Y-TKHiREwo45`TE0f&SruX_NAF*yj?Y$nnKy(`ZYb|UOVSEx_^O?KB^&hX;5 zMt8=1sH2!PCtCYT=r>>asO7-C*p{Y}d=0zylSj9xWy3tG>`l8gHa;%Tst2_bvXU}| z-@Fr(|EWdIuXpA`8?HfgP6XtwYv+qAk=8?^#-z~c7%BtxoAiof zlJ!>p8hHj5CGX{DD>LY+W8Aj2@Q#)YdyeZ`cI6SXrZ_(q?fpqwtr32C_ky<774=b5 zNSH|bxW<*;H(AEvp3k#y7h23SX-Jqd(+g5ObC^S_=qA?bY0}(ki;9XOxni1hW|_2j z(|>h_<=PYtNhLDvx3GGL$^FE%CXLpYa=&2T5!&C4n<9}k8MeXgB7zKUb!RhaqHMM8 zRx)lZ%HOoBE}r0TA^K8yqsWoHI5UCp`%Qkc-{%E>wyUpqo|j3d+*GsBbokBMJ*R2R zC^T;G#N+jHm?7rbh6eSd$U+dyM~aCEmYog`U&tpu?|Kug8}uzr-6*Fk`YtedMm$O9l~8rC zZpM4_k=XH5sjrZD4;Hu^xJu-1ST7|A+Suvh(&WfN#yGD-t;=9X| z{Fj8?A4Ilk)L2v2XqS7CxVV3m`84$)2wA|o=g@6%_T@>tS%rZys&ONNed)M;-RLGu z#V|4@_9wEprp=!23&-tSM>mmpCmzcjQW8(nR=TyeJ{Pk#gAA-~6C(U=!1X)A?1wZ> z)JIs;`N&5*_+mkl^6Vai&V5Svd4AvG`K@$nTjP=1=UrD01wLN$pc~I89$D5=sh@H? z@qj8Rc|Gb;k9ALKez)<%MvrmlHXTwXT2cFcO@Whjv!$OTiF49x49dUd>2y9wZO!G` zJaMB=y8BqZfAcS1q>{1lEt83vhZFm8Vb>qDo>EJQ`pvPGhloQePX4~ZM4{sXt!-B0Ok=zH-OMoyKb{~bWAS@^i`@^y{=XGba1lc(UIaLJJe+st@Ilb_wH;tvVA4Mmnud2T9%Bs-JXT}h@O2& z*gUe+aknPXxIH2APPcY&3-5R47Fjk%q;}76u`-=i>gjpmljcJN-r9Gr$%?qW_{kcV z-Nab-+~deN%Y3#`x;%=ms)%nxuv3LKLRkCF<>ZR|^d`1Pb}HvrA0B`1G}e5AnR2dS zH@CsWaJylbZi{-y-zd8+HvO!?6F-DM<>I zcfzl=Xz9Nr#QYs7-aJYniR1`)OWz$@blRTkvfod6`k&XrP25Dz-Q=3EB$Ed3uXPP9 zkMAL#FnGo&s;3Q4^>2AaO_iU5a#>V>bA-SZ*nQ(=uhqBykz-HCU~b{Pytop5xNKP`)Ydxl$!izykmxZiD5se znKD-8&|fA}5zjZqfhyZ^cld+da^MeI(a@j{>^N4NpktL#4qh;PT<>8zzaSTO1j-AC zQ6p1_&|e%q?fRp9(doZnI&Ol76vLNeujBdRangoB@P@W(ZgOp;*V^`+kLi7L>`jUIovtTt z`){aQUv1mulny4&pWg`i(Y7oh63oA?XQhs0JX(>c?JpDbLc*nYWa8N~|3#m>LQTCj z!EPOh->r@W-x$rbUoUmeE{1na(usO)ev08%Mp2v8bktmx44?Np>p(6L*!%8iitTtn z6gTD8U|zwkz?}UtF~3_+lq4!_OeXWXrn52^@)HMOQ%odmqR0vL6!yfG*HoR^rc zhE(`i&Xe3$s58fY{`w_s+=o?;A@7I7$(ZYN?ru8k zSM9#~{eDqa8?no693~T2aie!EWA#=Fnc6dC1eLl<$p+i``?)LOC0&FhU-IGgO$k)a zqxzJzhJ01;cS(GY_nODKE97xMj@k3G<**(2M3qbOVYqLWXUMNEetqDj_{DtbKB=$= zjuFQ%IkBQvO!j#@Niq<*=F*E(XVG@jZMbHK-p%IxpEYef$RiOZ1YNs{AVOK4|C5|X zxhKNrapuBq1x7J27d8}W04x$)hytGm?KbfD2xI{ zR{-0``3Znn3HospL5q^LgU#Ry(PJA!0`j>9YCIia?{PIqH!LC&l#DK{@CX+BUjs&6 zbAlCP3sJzzhq0%zFfW^;(H()};t_191|Jw1KFNWhky#3p$6)%y`w`U7QkVwpz-cWA zZQVa|V?Dez4sRlE$nC`(Y!w-U#VDr+D(MI(&hz}v@|alLK=Dr)v&OsFIVI0X(n@V)}j3rhGgRQ4A9 zH}*wi6yW0~P9wmF15Zp0CxkBCMNmLu#Rx*wGz179-?W5AKaFpgFOl=K`%0oCroUt)J$VyIy%I9A}y zsIK3za-6I{3;|TlceoP{Ma2RTYp5MY59K{X@T2sW;AJ>IepkbYaE&nNIIXb&IN8t} zJ5WIXp14K;ivTp7i4cVJJ7D`5iBOC`;S;##=seTk?vg~kq=g5-4;qI#2mAyU2rM?a z!v8a~UVtJb;j&P5DX@MTT{r=bVestrpV<_ME&$D2!TC_GvG7+o*&<}&A8hO9(%ufjH&{jt?K#D?Kfq%yV z0Rospaj^Lt&WJ5UvFgJWacUV62K5}J2r<;6B%Byaztq_sPK50XjD=jRL`b3bF2L{M z#{H$sa4qb6QYcdaco2?hfGM8<%L!VUnE)qb6Nn&2wO@mqW6_}~xZo#oF9iW^EpfxU z$qIfI#||(~0qEj+U;xKd;E^~YAU5g3i38|iMjbh7ss%=c(*cN$UgO|_RR}=9JS9;a z<1jEPG2<7&3qqj`a2nL}eV7Nf5LMC+JBLGxu|!}hI9=$r4exqb#Vorivu>gjdMt14-r(T@ON+r9Lr#X6-NEcDEZ&;^Y}Oyjd67tC8M1v zB%BAlFT*YjiKBz|%P7FP6YlRAn?p+iB^Lk@pEQ6W74{bX2v?2X_>CT^i1CJORe$D5 z@L(ENR21;NX*ek{Q!VgZBGCI+usN*Bqb&t99W=g$0cVF188hMhBS?4}7z{dfumo&1 z3NV=iJLqF7$q_PGlL9KZerRq?W=9BRT7X_45kP=93eo5>T{ujRAcCryfz>8bA^wbM z%w&zOL7k97T)+)7FeZU}#_)xS^)Zmwx)6-0+gb<;+(^65jPSr}1GPwwu*1oVUS5YV z_}YyTf;epffw>`{4g?n}Q3&CMH4F&NCgj5jJ}*9^G4JajByr9Ep~;S}SyDl`V;ApH zV0K-?5yE`YUK#8lY1O6dNz%{-OCJAAyj-4pfYg-p7FL5#u9ta9x5Xh605$hk6}Y z2seaj+HwSug7bEOk`V4EFvRUcR6qzLg;fmjRMR-83w+NOoD6~g&%t;I%x2tBk~0wa zs13rJ1j`rz5rATP!Qd=%MhwG`!QeD_SQta}*Nu%oLJlAE3-U*(VpTfn59ncRiaY?J zh()6xfKb7H@+Jl#&QYQ---(W$BKrnn;YpAO^n^YIAk5R4$r+*TKm-#98d|`5&~Xve z{{oBdXEEPXfBwUbpLUY$40;}+#p1NRf?$GQCj_N-X~{%KA+It783&ri(Wvu5M*#jz zuro>T4>;!k$B8jG&RjuIVR29dA+oW&Rs|t6vA=eM5Ern&tb-9JG1L3z)1~J}0awM~ zUm2(}7-(lB93jYo_Mg6+LS&I3zHOz)!;?Kk?Gh~{8H(To?|>uNFiokc>4jK8Mj;Cb zr+KKUAxBz=5Tk&Jou9k0znz0SE{X6zlUAqf{2<9>1T_Zblv9Dk$}#YeItLz}!XcFN zTxgWo2jfm~z-Xbp7@!|C$CCBBzotQ3Zy?R7Lonh}Xc+eYA2y)&XaobMw+=qzepvPp zX*4E^e`A6Y^AOA!CJsK$Dtd^COUKcmM-PEQPvStgW2SKSSkUdWDrt7b;L;im7&+t- zi@?2YH+vmab*N#r4&HI4!B9H*yr%deO3J4oUo99j$vCFGp_XlqkkK`S8b;LzA7GR@)asNgT3_g0bXbFIaF~)^22@MQ z@bH8Vwd}owR*gJ6TE0<*FCUD6d`^Hz2|1fP17#`>cpmidP;VbV1F>RJRJ>c^e541(Ef@YYcU0AiY-{K$ z&bAJoAv|p0Qg6|e*bXv$;5TmLAjZXF8SxASjD)@pr>*$vJTG+ zUEeY8s}+gU=)rxw0*B0}-{EJ4dl|EIKARxOeF=KX1tX;y!WEg#K&+{P!R_xR*ug5SQ{`c?G9C z!vmQ9{YviN%~1cwTzi(NOp+K6FNEsfPCuFIFJ=gAmSM*Xql0@JbPqAY$nv*2@1ZFe zJPrFl!;ycc^n@Y#0#|f10C*0u7WO@yFL)0COumLh3KGyx2h; zhIWA^+Sp=r)&_bS4T4m(=Y?!TK;5gGe=%ZXI*_%Y!*Jnt>uv}yV0s=fEqzGsOF3A4 z==-wL+T4ypZf&?3=3wgLa3t!H_m_^^|LCg!7X6d#LE9t=-hrjw8T5pL%10w)rTDkS zLR+^$?H0Bcvr-Ky#N!;s!4>nv!J+hB3^sJ~gbEV-GhyDzraSu`bOaoz;KU&ncoai+ zi3oPc^gQ_D6Ys!@f4Tnp#ucElG+-8o+mDrC@uOGHp^`)pHlxD{jGkS;Ygm~8ph`eQ z;}DUiawsJUAq{~gdK!o+0oOjkjF<-rMGdkISm|F07(lxKEe+_q!?XL{ zHMF8|pNf^qfG@m_10vbC;Y|2z+790;&>Q+2LiLdTP+M62f&9e5Am}DqJx90y;-ZJ9 zfF)to6B-BVn7?A{&?yT#YVy!`r-z8+P*N=jJJEd>QS;T$7T6dW==sCG zvWXBHc>vHD&cP|s*$xt@;4$I|CTbcE$JfmT8o34l4@c5|B!7WeA@_zqeAN~J+J0o% zI*i|_d>Fo-mrUGT0t$}>WDduD8PwRO6jk7>u?7Xk_CNB! z%?7v@Y5w9Oh0La4?3fr8gVmVxuB!zY%rM|F4%;{hJr>CDEm()lDZs@e1i{C?t^+P| z02hZHY#Sr4Jz6`01qeZG7c*r623VPKby)}n4B2eY?^JaF%@^?RVI_OBVw++zGk2PR z)uH<;LQ~Z)2I!U-eBc}wKAa8Pe|`A~TFeJvi_xgK7?9{SF!94(;RPApLoh=ii^F>0 z>%j0KVDL8&jzN%OL1%QNF`cG~N(tKlDCjt*2R%yX zlFR@D34j5MLktk9V0+N!C!80Ge}r>tcl_=)*a6ySfMFgEeBY_!7)BeK_gw_9z(JpS z5H;Vyzu>i=M8gR{vBiJ{+NipdQ@B3^mdXK%!@(lnDRk50=v35Eh^7+f8T=ehvCM$> zAAmY89764J8rvS78-ozQM_{`tybNgKwdP-3%+P=$oE`d=_eWI&HJ|~X_FrI9tarjp z9UG;fPGA2oFc)N3hG4`ZPACU;ibns`W!?wtjA$^O-3ymT!M>dfEO>a1hj_eef^M!3 ziIsvN%q<8`hFMr-M=N5_7RH6%@R13G^Em_rJYEGt3)~$JaXu2Cy*86ZP@^ea5Xz@gKL#w0X_6SSo^}%=~sig9T#jJI==^%SN~ZT zvqkIS)TO_5xLKDIXc<1@{+FKg0jD=q0_w=U&~+GjMKG#a3VQ8xg%A&qi2-bDIwWO+ zFBT1kD-IDj4bjELwdE6_2YaB0^M?>7Mf`0_24N7s z0NH#ewH;i3BW)|1wp0uA;_s{EF{MA_)GpM;RISDv)IE}xuEtE9Kyy&8jdP} zjnj<(9xZzbXdrdW`Z7ih$1c!C)&YyZ2iA3+4$-d4z%~UILI*v#hqI`!sRk!j0H5c% z{=H!MIS1X|6ssbk3c#UZDV9UbILNBNeXN|KJKAgyq-_9L4$m3G<=FNZX+b)a5HmI~ zgY(3f9$IH$k10UGhok?JN;D7?^aKJk@V9ydE0zJh48VYAHMS091j!+gKjp$&1;)s3 zLZCr&?O$Nra*PdnhD>ij`ygEiq*Ory251$Fvoa6VZK1Frz@gGYyLo?{EfdKRYTl*-5!_@Kc9!C5-BK^_+w>>e` z759g-Z6UyQ4gq!aB4{zYInXIo0w|FT*zDh^enj6O3hk__fwR&()XkYku#kUtZcsuX zi;Gnh#z1Zb7tB!rC_B(yhrRwslD{-DS>At^DRyVsV#)!vQP9oj4pB2E$HHLpqU^VU zi$@117(#ec!gZ+ts0$D?J_K}?@-HC*bgo+p>WoIvVt_8rm_3W6z{A7m{CB{TM124V zom7UN=l)UIJ_@MJgXeDpa&&GP8}G4vt~=%cxR3{|AO4)V!27p7T3lvGIRnSJRG)Vw z+M?NjJ2`!bbAEmt49L7f)0A+wf5dIdl+RcN)=UO~4zFkK3t@pkW|k2XnP4O}u(&AY z3)=gEaea7EMNRAwV?+?hZZrJDU3g)n#RarP0Qm4qFr(yOKynC?i3{n4B@LcM0cqU9 zH^kwoc}VJSdrUu^!1{CS{L}zcIwAYF0XYOx^^z<4V^+W z0!lo*D7mKnFTgLiaclnO?GkyLz;w{bsuPDyXh#WZU#U(d42`$Z(APa>|Xf=9CEF=4)h?Eke)=Czm6fv}xe%O35q;_3J)DhFvC=Bv1 zf(l(VOV^ZydNF(0N`itAAwh+b=**pO_nTR2WuNArne*MbbHAB8XFaa7X_&#HYQgS> zGIY)@Z%i4;@E4g{{XCcx7)zTQ2m_)C^zmZ;)GmNB;b+yy>vJX0zKJz^al^i+9>+Ew#67R=m1dx7kbyFk zNvJp#7)jj9LzNIiIa~N9VgPi0TXiFnC@@GAOjL~$o_D>1mE){r1-ZgnJxM2>Xl(uo z=2nbhTL^6hntAYF<)qP`i+iX{*(=@SLl&Oxx4xFoefPLZMS z=eA^d&2wN8k6nSf8%ZmbKwx2M@E6)rZr_~#1jYrxse9+v%Mu0}f>d^N)E{UW!(g&_ zMHoO?v5jUS)@}2}pr0^2lsXGt*QCDuqKiZVm4`g-$wpx~VqLHoQg28gNHMfZWZo#o z{#qfmQ9x8%a1+OClGJOmyR>y5;`ta-fSRKxD_wZe oU$li=c@7`*CzULYEAWaoho$cVQ|R#GY@-KrC&-}9X3`9AZU^PIQSFWGw2SXrFyAR-rz4*cP*K5LrJqEAHswL3{< zMZR}SVE-;E5P87&OgX$V`T^ajVNHQ}Zo2i`d-A8OJBgnAab+0vn9Z_rzI-Cj+F8~|1L+oV1WPA@B#=txuk1$Xt z1(~sFD=`EL+T!SwiQEazQv4UBuUsGo4a^ip0xcY6uw9x8^$JI;>z{kkT_3} zjo9aELVg+GBOZ4|H{#3DWW&osdtKSd)elLok9@;_jHJz|?44#|Vcgu5SZ=aI6rfwbb5wC3`S1+(U>S{eO zC0j^ZDAdZ`Gd-}hOLl_iy0OZm=MFn2Yma|3+4Y0>gJ|T`36&#FPjlJLO%;!uC>=N6 zlr-Y9Yj)%Gd9B>ck*HlcY1?z_jpfgqOnfZfvUERru6mx|E6!s(>xPK>W_e!Gy;ITQ zeRLn+e~sPcmo}1?G_{U>%KGi3b;mQi@T%kf`=?>j{L6cj-1vnXT6gH00!M|@2VWO1 zRA~*RRYq)_RyLp9ty}lvj_tIt*J0m_x?6uaTsUZ#5b<(S7=MJEG&DTHkQci3$H9Ax zhc6uT_aKQenx3l^t(1R?-(?c{^DJY-$8wGNQ-U_VDqm(@cO8*wZClr&y0uI7vl~hJ zi9h3mp$*d{AFufO#2KA$EOZWcUrY#^kFm+Z^3hPV7HsV!K_TP?z+qY)X`j<`cW1OxAOF}`%J0m)&E32XQhz#*mVUnFUvs>q^s@yi zw@&@r+5OrNq=)l%zCLu#<&9)ybINjL1l#cEah^LneILXf?)RuIiTr%A=cSJBon5|< z8%^}2THqJn{T`$+UvgNK-OG_%yT@Ob`c{XPl$OcGUs{(CCk9Xh4n9sfRcOj}QsMlw z^}RDmgB-UScHU9#`@))NV1H&LkW;Lr<8jy0jF!wS(C@{sw;{*pH}uq|e{YzN`#T%yY_H5SnW(!sEY9zf znY#4=UDf&6noM7z4GD`DnY9-MNYmO*SE8m;o1YgDzFAMbe;#+@RH6Jy!`t%bA==cz zvzel&I9!j&^|8NOmw3t=o`(#3gAQ1{BH5=3>Ku47v^6lUm2K;rEecFlh zl4EDhw!J!f3O5yF^{!0Vl5#{}`X#EKKY{?G-Fw&z(mZ}8i6rVjT3 zuV%>=JmoE=$2R-EmqX0(mgI?$;Etln#F$e5InQ;!;b;5TH|+RvAz+(V?yTPB37qj_n?c~JO3O-(3rx?|+JsMD}_K>YTn zcy7;9-Cg^lhz3y>N~2HN3a%Bqcb9$^@^a~_I^N7=+Xbl2@YXG)XJ(>Bc{1+oqfY#t7c zFjXgd6ph#yGIkz6>MroGKd5%YLQrhky?0iJ?`_U9H_c~t&cCvAPj0K#n}TP8Gs=rP zj!TWn`%m~4y=HQ6W_HwWaCQ%okZP00rHlyt&KPulXgMy${7IWpH^N{hcHg!U>vL1j z3~Hm~>qr-C%J=h!Wc)Pf*=p(F;>zrP>zaPgUdvWz?SzXZAs1wX6JxJ=RZ11yW$Jma z()cu<7eBPstgFz!U6t9rc#OHnOq6d%cCkFqG5Z?(M%VK0uwsL!&e7dQmRGJh>VA!w zIbeCELGwJ%-#SGlOYM$1rbU&*tb>7pq4&zP-=2D0LK+baIp)1H(pZ--B;BCPc?bQS zzj=QJLhgD8UEf~OU6L&rA}zdMAvf=p$4w@W%ZX=1(|#AbR`A_$zopYHP|;iRO1;~l zXT)usxx(D7)@8Rwcje46*WEg9)j~7pT1plle+Yn0YxD+t6u&9;bJLAYhFw<<5$L)o z6QM|`(e2ie~b^4x~BX_)@*aHa}1GuRKgPD$` zikuzSr+d~V^xb&C|HA3cxK)-s_a$6)B+uo((H`zM77tTntJLaF2CeUB=4LA&bvC!$ z*Eyarmj5JSEL+CPU#I(|2HEnPp}nYpLcW-zy?A@JPAmzYosGA|w{v92+nd+&mL9x& z{VjR^0gqxAp)q5iA?8`1z1JX*f#`5n!s+RqnS#*9M8x%9<$8;j}o_TweYzG+Jm z_sY1xXinIuma5jQ$<%XmkxAu*cBH1NcDLi*WYKn3<_f#i@*!v5l2bH)TyQTIq)t4~ zD>hNFWPS38r0N0ljcwYc;tC6HdCJM0Bc(TZ_4So8220!HYzCz@hzIdUX$)@{^StS_$JnYE-%uV)AIuQCItkj*6zYbuw|@cl~46LCNI6!&XEn}1CG z?bRB+ipMi{v`SNfehQquK8X*yWZ%D%(2TX+#oV$a}!g!kwJ(A@$T%U7`L{%H>~T$%&=&@V+}bG2D`R-#A~#WVD(4 zMoF9%_*j&y+wD5G%ksPD@P+M{1JtbkTuwOmxn<@uXUeq`gKx&p`sltn%e}asy~DE7 zfYnv=C9}?67iZI)`S-JCoM$A=b(vh_UI}Sz`)pjPy(3mXgp1@W#w8uBc%s^VgVX^x z$tUioZf{j$)|kH-XnBsQD(yiduK6Lkh3~F`NTXKa3(F~uc>M3UO&y%$>9099`voMb z5(=0{JBb1f`%12I_Uy_Rl=iog>lk*TsY)c-%Fm8_YezpUT2yF1duAeef5M-tGdXUV z(JrD)xa|sO?=pE3NUuIG<4#W>DUPGr5z1`E|GaU_Zv2bn?T?>{bHAtm&S7|QtMBgh zkGl1qjQ0DCrs)d2n=CV(u6g37TY55OhDS@_Df4D}6_&(Xq29r*boEaL)vS*P{U+Y} z7_GHgL)4>-;r0vn;8~3~lT7Q?zjo?WZ~xjGsPaMQ!G-URzm#tKpCIjBN4hciFwFN- zL~DqgR#&J`RmjbVUvYYtw>ty!lfstEw%iU)=p(-=+mQxstNVI>dq~^niSNa^=XWrV zw_bScw)@z4itvX9+d(Pv%ho%}Z$(-5zY#J!t*IF&v`DCUsvF%@w6p1ES7WfHm~nGf zQ)kW_>5QyL2~AzDM^f5k%}G!AS!oubppv2!ui6hieED4En24l@uw8s3OQ+`!-)=Xi z9fN9*IT|xl?`LGsFs68as<&%bXUIb4mRj$diWDo@wpdh?RehFr$zm-(cEZg z?Q+z!GZ{A%2jjobz4*%+YRz6LbLm)9Y{pGmF zhn8?tA7h-)UAjQdG+Wf(=N9)k?trrGRh&1^sO_xJB{P+WihP@scfBd&qkYqo!myp8 zzE$%pt>WxV_(}MSR1zF+Q!)%7*^RFB;>P7cZw;*!`TZ9OkIuB@Hia zxzf=XWuAs)Q>-z<~MY=X}_NR&iU6~q&B(_7FLR)BUiZgcSsgAG*_GEk+kIK_ti7r z^<{ay^fYMmT=tp5yYb??j$OCfy605WwV7@FPhQpJ@mQ6T>j_;ldmBwV`cI@f#2RyW zJnx=QVAX$GYn-2J|JLvqajdyC!^C%{eXD_$zgYez0Vn@_Rn9KYPr7k?f|q(qr?k$H z{PUj7&eNq7+}V~=mpY|;@7YixM=Xt1ot4PkhUE{BOY0&w59!{T@adh~J^nlO*WuTT zk9Hicvm1hzCqkDd3jW~#uzla!@+Zl}?04{)-gL+~pT2_jR48kD-xuQ=q;l&%rigPn+f!0)$ z2JR0XFO4j`{%xB=#EZF4qItF#lx3OUer&#@bo1d}3(M2bzTLTXxji!N*>(j011qNLwX`jVMkS^Z2*I>?!8^j2qST@PBV^(wd^k5VbVUwWo)(J{#)p`ebQl_YR=}8 zE4}zR#p7M6iBBAlm3us4FMh(@Rm$D4+k|kYtT&*X)N5v=oV+VwAylkPrmayXH1^Br z;lhxYjx>@f2d{Ql#qs?tEf#zjHaop{qlmWtm|#wxzWhZ-IP$%b(L$`eK}GY2<^$Kc zS}%FNZ*GI>i)nMa9yWhI_Ln>MeRT0K@#hG)2iFbSU5?iHKAN-BbUi}(nmRt=J(EV- z>J7y&MhZw%diE0r8yNivOAt_qt8izY(Duy!VH1nbB3}aEi1HZey|y0tWGnXbsJ@R2 z-K5N%=H8L;iXf>hivY+|M?AJSuAWxnH=U!Q#D zj)`m8fkpnAtpna4n&oSww^p@Z^n(lXv_3%H4-(h27G28!rE&KIox5m$%C3vsE`_~q za~SSh%GjW{(K7i#|2|b~pVZBnk6UA_=I-x?&psKW>-D7bQM3-oIU1ua%zl$aJ%lBw zlVDX;l(fNw6n~b7m^S@>mR)c8N@RL%WX7M!bk+Kxv-K83M;&2)oc^X@q<6MMA(CKWf-hq{@xxfN78 zrhJKWZc+x*(_R_fxP9%IGRdyL3JNOV?&UGtO8Sk25*vQagV3MxML)w&U-&QG-(|heIqD(LFE`?hP*QcrfZO(c!PmwPwzNIhQ2J{1*c105tG&@Z z;B!dX9%edUn~FoE!@Z}vixgF6`wDe87b=_BJCBgJH^B8Q-R4nYOh7N?&L1{U#e3}#h(XGt@}I9z*HVPQFt!6rMmSV`c{ zd!fQ>A(k2@)gRQ9X+J(1a1(#=&C+PF+0ExvM)+%)%VHXVbzCs1s&qq#HGC;+JNa>|b+F+RI}*QTNiJoiwtXg;?QgW!h1{dp=EUtxY;VrXw~lQob4|_) zDGV>+=nHe*S?-XRQY_viH^5oYRIn-Mm1e2;LqWxl(A@FXQmJMzVN3@f8T7ECMpPmfm z8rI#(TW1UZ^x3Oj=b-!3aIayVUG;+Tt+uSPpXEny(U3C^oimM&y{2+HPt>lwXm94y zZMyHVUlkTk3NPL)R7{g8jOnxPd6zWv>AhFB_yy+JKE4rp>Yz}&8bukCubOy6~SEKJecIhNH{+Q)a-MQ6oN%Tmjvv5+Sv>}dJ3+?%>@eO`K>XAeJys?GU11|Z*;p{ za*1JYtGaP$@x22%+b6=Lds+Mg2V%U(8t<{RS8Sr&kyg3y?H-NF?$Xj~kCP|c*J)<_ zrc1hddcJ=B?$f^E0|r|v+B$yxks$fsu8BT2ucgsFsq|ccrGDVvo7Y0Km-7<^ zUYG=@NW{%}h3>s8VjPwd?${wYI&juInjHK}Yr0&?an@V0|K9mnrk18|HKrcj4JAwZ zhdZ=?pWU(dzJP&P1%rXN<>wG(2e&UI=L&C|9oKcdul2fK>N7i1!Jb`xYX6PsQH2Wr z?0&}sH{?c`1AHMe5gO0hZp+~>#$1?kM}*y?tj)3!T(yQV>$ey_*C<0t*m*YyRyQOIqxp1 z#F<7I^tD&OddJ)kt5Y${dBH`vF2C10gYqfs9;@!n_g2o`5}N$#O3 z89ku8-S+VVsZz!L&9_X>)yte-|MI}}$=WTXxmwBOBaa+N+~iMN6K~Kz%+Aru`!;G9 zRhMze|Lu{=s-9j4y$x-j+!8}roBeN}ahdzD97XcjfBoJ<=|_)uH#WEZSzq^8?aqic zPlsXsX{oBW?hiw%L&vk)uM1dIiv)i1dj23I!`FQqHyke5m~@-HNAlbqks^r-_|t^_ zi=JVU+Ofl0cE-C*b&e*rc8A%;c5=?1^W&Z^{OJGk%jR#s$GO>yU)f7`-D-?7lTCf1 zbxov)_MT_0`+0ESLLU_ZLFJm(m7yLS9bDdNzuBtvZEq?!7qqAxsr)zXblzqAfQYTEZ?g;bXh8`^rq! zAX@n7XNZ}sdl_$vae-GZGhwG;h><)+#Lr^`89}PZBTjO>BHo8W3qWa+y$N_P?A9~8 z2;r+ignd6j+~k)U_|H5TGUuJLS{qk_BY(g?RMdHq&{hH7Uc_iPM}bVW=zn_HFA&=?Y>58SaxkO};6o8u(Oi zoEMAyz}z*E#}a-(r|YeR=}STTnn~LEf-^g^nca7()F zw@%)>r{lA#OWX}cYtwDlU)NRfs)H`xeh`|k$3Bv16J_nv>p-8oKEPWxU-kHAsVf0( z0$F<*&UQ8^a=(P{@d{*l@1|KkAhey8lya|A%XCXm_2U~Q>CeZ?1v|4Q;ya_PHuGgA z_7v-1-l3r-J11qISZt&zW!Ny(b%DO9fP=?|>Cj91(Cd$<%RHXw)d*ZGb9}Q%7PUDq zbgr!5Bt1{Mh2@e~VBM5yLJGIryhL?zi|PU5BfhY8HJlT{g8t_IZ{$A2iM+pj;Qcho zyPB?^`9Xbt)H|g{C)KB4xCh9qMY*~iXjx`IZog5`ZHu`yH)lE%yY_Hvu`g7=< z`-9heUd&o=HIM3L+8%xHtbWUv4wLXe@riaDVR9wmql{406fcq?QX2jJy?7k16Z&t4 ztlp`U&#U35DS?H*j3xyW8rQ9Tka*^yH~nbv+zWb+#TXW%*-Wt0TZp-QZ{sQGUwR>7 zOJ81e?=3y{EJ}eOnf(b`2OG6ROy%wSgDGMhRQ{z;`Hv%})Y7@i1+76CBNzYwa;feU zxbUB`#gCg|2?6pOc?p0SHtUCI%Cp`&W9X2)hdn-kBzwbwx1(qO@5>F+nNwC0N?}a$QLRD+(_2jLoZ=iMMr|v)5UXIG%?**MMK3I0cj+MVMh6;vhq<_zXG}W=0T7 z%tzJ-x?!pVlSz^RJPqPnWVtcm6%yy^}R94(H8sicO3~Oe*u*?ru5XePqS(bltlTR7z@J z7;ux4IXP&L;7l3RZ9Uoa&dmmx)?LsYo;pKXTACHEXEX{Arnwm%qnD_iQ2cJ3*2d)< z>D%w;?5x3q-xH2Kw+mJsfkfh$EWc_hCGPlW@$dqvU6Q;by2vJif5f;z)?=q3o0quH z<{fVyX?(DqG2F%|$TTixICA$ueZgUp?vFhaX%oMr_+}QB!!$~lzMInTFMedhL>`pC z_3dE7h3{AJmR*`9TQ}2XWxGU~oQw5m()98O=SXL^y1mgvTjzVpMYV777R8k=C5H0P zf-`;QK4y_F@$D{p5bk_z$E)X$JA?a;T|b?A=elia)4=GtTcht)c=&RBHN~HN%uNts zZrf^c?R8gxjr&F$DG&bdO9%8K!Z|!I;kDoAZdiCb^4Qj~MB&1-;PgWrlKeYDEP9M9 zH~Cz@-x z`OK>SBk*8`!6K8$?zR~ z88a69|Kd`(7+*wjKC-?d5yVTb8NyF8qLk#aalH3RaBRZH`N#>i_}^GClT%9Z&!|HT zF8dDFLgyd&Py!|K(9CHW!0VwbQB;xNAW5?0AYK8#mZq-^NVqCYpkZEp4-1_OUayja zC+`v%$jXe68WBSVbl}7!lf`5SwAc$%XkmlZqzUw}y)1!|e8wHhrXUs7C9tg3G?JUh zN;WcsJSe#e3X~GLjgufop$EmZm%{(x9fB=o>M!#*QY7ItX^0hWrz6snp?ic&6fvN} zQ#Agw9-{1X$lxInQyxy&hp=(jh>OTew%75m-f{sztGv5TMP-ZhrgV|+j1a;V%p2$L`uOLieM484K=tMU7(oaZ~ zY|Tw*qf7zsp2@*iogfByfq}?LmU=|^h>eg7=^$5%rYMmU9bj4F3SIvvOdf7$B67nf z^N>7wlQyB5G7}h&kzxsCPe!iigdVV=J1ZEtNe*s9CiSxe2PT?8By7(G0~vtbG}tt< zT0;+4&><@UhzA-(5Et3-At8*y7-fXuCi}`0*eE>EhXD{lgxo1YxJFrm2TOp+zl=l< zc=t3UL>3ny&``J|;MPQ&6E7i#Vp9+&>nR^W^rm4S!77TzHv>5Zf;iV&#qWPyh!NE(qKF1v?IR8$v%uO$MImr103_Lf8tS7|0HRgmP@NK#sE_ zY^RugD3oA8`3SaOUX*&~S4=pB#Uz=o5jjtpvxF7_SS zBO=9q9TNO3721Tq*c9|R2xxkwfH9Cw6(I(SQC5l~4b1urVuyuziHzh(PsjzoHc`-& zL~1)+Dh1VIAVB;xQY?fPBCwR8Jb1|s5(Kb8MO_7uT9P*#6S62~110tJ~OhIWyA1aZRZ$kwu8I8&VZbOFz;FA&{ z`P+*j#+Aho-KoCZ3~6EeQIKO`Vdf>u!S4is>+<$MbQJc;h96GjBg&E8d?C#>J7c(g zFGQQoPh^J6lA(5#4H>NO=Gci92}_hC9~{O{6eaHog+RGQUH&E#3Zr;G>O2HfbVJoZ zSi(oof(kgAfe;}mQD;$P(ZGJfL?$wC668lI2EaO!C=z5EJDEQpDp@fBs^ThJ1Sz@M z8v?5&Ism+cO(d)Ahrme)c}NC1VTMU1$De^-QAkmLQxI^HoBSbrMhcJJkOF*A2;|D~ zgHR|vC8Bpjt`r-r6^=rufdvq1hB!!_5-h-C3J7#Ia^^Xx4^s+V2oZT?Fd$0d1xkq| z89Y>@-~-iq1j9#m$$_jXP_ZpKFHwWM*$a@ajV-YA(ZFIA6y$gYETTZR%8@TUgN6u9 zE3c)aIR&2gQ>qC1;(35HaUEPOMPwt(RzeR6EO-JJ?%!MNa8fg*i<#s}Gh~7V`??oE z9vX&*FCYUoQFQFkw)13wK$;eZQ-j~Wg5*GJ ziXXP?0dmnWYUlwH*myI=ZN$OJn+ay`Yw;&7@|Jc_&!aq4j0Fu;zM6O}f=#AOT08uZO1#So1y298yJ z1bh8Lu-Dh1VxYTYRZGxQ`1_K!eT=}dj!0^7N_w`9vse4 z3x`vpqTjI>aOOw49O4+fmRA7YnPk|!4-$Y0ZIB!)P}fCTR2m4Z0Rok&82mo7!hjzB z^%0^dDKH4Q96XCyRsjwegoH8XVQ<0X=ya5MrhF3z{AYsVpXD1jNHV~*2_U4^sRVRq zAiA%#CD&=F1cwDiM?2e5r`nxNH?PycJq-XPwe7sJDf5|N&?@8+f&|L8)^@rEFjoo4wOPXhhdX$A6*Fi#DWg8n*d0?8 z3efHNKkweXLZRk_n^xlWx{0qv1hB^my8n9Y&{c#Q=~eNgD5k^8?C#S8%W?iU7OV?V zU62kIT=-@sMZ|l7LYrvv$aj^Oqh#U05fv37CnPn8~eOVmX z{tgIV>iBOGTqVz3Hf4rWKCe`Pscs7L1>p6uIpRqZPa4%Z}x!|78AUlv8l zR~m$v?440 z{YHdF7~VLtVxdE0;PC?bSQ4%t1GYwLjiu+2uTvmuwLm;ld;Fy<#-Zg0#1D&&Lv$#r z%NKc^7D2=jfN#vGPzm@V^o}UiugqDQF)&&MC{3uSj{752QZVfgNDedL#ZiFkO#mjW ztPU^zZyB)4{bKb3u+Rj;)>E;e4@T%k;el~H7wkC($|1Urbs#$0Y{Phg1|h{q-iSp6 z!dFGG!385LUN|!j#(X2OF`z3eT>KW#`u|BY^##z?>|G-kbPmNZ6_gMjCl0LPzi*sU zb<*XlCvJmS_5dM8UFkdzuAx8lgF?TyNkv_{w;jRg!}9TKDsfWjk%cr6s;t5|oDP+V zb{$>C$_ew1QgUlg`N<#q0iH}y*UYHseN)%q0o^WcIJS>cYVM!zcWDPZn-bCg28nt4 z>LgZp{M$+uz<&n@iMX-~KoH(Fxe|xUh`(ENSLd<8`$r)$G;C5l=%uy+aI?VQx>Vq3 z^ViVd`U>%hB9)AJoi(o~pbrQ1)W+?A)xJO?@YU~-pxjDwAT!o76;uJlV)fYo%#WWO-hhi+-NUOam^x!P$b7*9byB>0zq!dQOVj%nT4Ju zk$oa2u!D;zKiqgQ7TeFFb;sI=y?otyl z!l1)P4_{qJ#CBL0t~|%5g49X`6~==KTxr=d! z0dPD4zH_C*Ve%N`rwQr8885;196cDM(E(8|jTqCFCM8zG%fETGJOcsx1JrPEMZD%m z@%bt}8@#+8;{7MzJvUkRDzHHnD9hB7yk20FfE~Euf!USvw!{el1io6s(3p!Tfo4>; zpS8^p&;^M@>owxRNu(X4{}*SV1B(53UD%WxFnrXB5db$+{_}1g@;I?)^)V|Py$LKa z6X5uQ3d@DI$-D;I5{9I1Ja4XuO~ z3k-U$tg!L`MIYfUpM&lIrgH!UwLUo?DNHH-QnWEkxi0%V3$*I|v?`TyXuQY_Bz_pd z9)mWm0M!zM1rm~7kLIXZb0O_pK@7Dz;^>rxRn}PN2L@eS3^f+y;YjF{e*c$EB|VW+ zXOt0yO3N4ln#H?kAsKY5eQdo+U;4$IO=EXuyvf%V4f)On>>}geY7Yg)-aEqS~;ox zo(Ej&=#eo&*jt~#iXKWZ2~mtdaaSg6UOO{5>x1qwGaLe%EvPV!=7{4#Ksgbx7F$sX zgW0i3NOu_q-DP34Vxf~RN9W%U1VOz4ESMXqCWUe%la%1pMMx@phO$38=QlRc1IQwQ zQjS#QR(zNY(30nYL0fulReZ@o6u@V}W}s^hE7TAekQO!Ngy+lxlzJwB%|)(u;4~H@ zX1rr%zoPwsK1`rcP@j@hg%Em0xPB61Slt|=tH+~7U_V2&~H1}Fy9)!ar7 zp|^n3h(xSPzU`ee=K|(E&kYt!DzQ%#G1e=6askvOT-9v%CV)#mf~rbQzg>M5iVA$` zB_)q_XyRD@0=`H`A&83qCoPm7?JPUtiE1c&SDD}^z5w|qu&tsdkJdrRBT=fBAI{ko zz)q(?Iio#!7+!+-P@9+yKqiI?&re={uFK z6Om%d4(Nla_$Qdb9evaG2{v;8qlz$8rYj~HO>)rQ7K|F?D;z}mqeq_$E`I=2&< zHk|FnUYqJpf@la*mA@?31Ug}3|5-JU7!qn z@b}6tKMmOkHk`%Az~vzq+Bm~v(1`&kci|i|CWw?f$$!<>vra8%0@x=4_}YxhP6x6v zUTBF1mp0gz81=~fphyC8v5&lCw25j`H;hdJHJ8#I6++gCKNnVU(ZfFAz7jQ;*~~NU z?SM@>@Dufc+jRh=N6Rm``w>Rz+m8_Kt^oR@KrHnhMPLY_SA>P9D9O*-PqQl*ke&vl z)G;aW0b{*#V+7vXoK}t|JYdj_~dgRvXUkP}at(P?h=$ZbH{_HeDFNoeu!{9axOHVA++K~NP*DS_x zixuP3Ms1yQ5?DW6Tr~<^8xWj92grg#s;g25Wz8z4+J&ZEQ%8b1dq7jC^4b} zTrW)IMCEKTNeTG^OrZ`6Cv`)tnH%G!Dh3W$2nTt$^OvUpq%FXe8`ogR;aK=r#j+ze zhl&`aC4M0BfZ*yF1(JgRk#fhBCJG3?2>qAf2q!2}h<}SO-MDKDB!&ZkRK~*{7ll8F z5FIeh#1PHYLTkh?}cEQ=M9;OLb?xGTfpj*$=k#!0d6ohSPf835BXpb9nPMp?{2 zFTBAS)rpTnFJQh<>;`Jgd9ct@XNI8yh92BU3Zh$Y3{ssKko{8`8v~b(oG^npsH2D( zJDNW^x&hglAo!fA%&4QfY6%OJbX4iEz6NMSEr1n`I>YHS5Sa3Cst_<0!j(iQzvBWH zGB$9LLS4 com.actionbarsherlock parent - 4.0.1 + 4.1.0 ../pom.xml @@ -148,39 +148,4 @@ - - - - release - - - performRelease - true - - - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - ${android-maven.version} - - - true - - - - - manifestUpdate - process-resources - - manifest-update - - - - - - - - diff --git a/libs/ActionBarSherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png b/libs/ActionBarSherlock/res/drawable-mdpi/abs__dialog_full_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3660eab1c5c380435a3cb29e836585a75346f5 GIT binary patch literal 882 zcmV-&1C9KNP)d5lfPH{+~ zs&ZK!$GJ#`+OXn)bEl7O^s7vMLr%~_eO6@BP#xDsWzJIxbKZ~=QHwoEqiCN;6|k~9&?6VGu8wVeg}kjlqBUkXd|o%rApJ7Xx?SmelE6^*`N?mP%?P7H@yM z@176Te{31>^aeVqCP$2D`iM8b&G*loT1#z02OAN3)TGUD#xbYXQgqexFre>@9yw_< zoN>t9>xRrEIA?_IE1YrUo=P<2hNadJXB=4rbb%a&IXb5^sO2P4AoU2`8OJ_N3+RuU z?3bPMlGWJT{|mv5xDeck3qc!^Tkv+yM^@uWqQKxnw{tZ6G_7EN(=@mR#5tHjEptZL zT?o!N^e&F18P*7EfGlP>S;He0o_$19Sz!q7up>N&hdzT z+KgUQr1}UkLQL4KR;yolWSqh_YPX?lMz7!1&pz~~fd%z~_Z{#V_yT+aKE`}mgO%s( z*Zy2en({y`_&;C`{0061zkwyNiuqzpAev$qeWYoU3d{J#NzC8IACaX$H=;%xu?3!~ z#a`2j|4di>P9KpnLiZ0Fl^vDJdHW{hJgNDYHbk!VsHwq51hhtobGl;RmY>GHkg{)E zesWUhFRGl6)Eh$fMU__)%@X*lTj%8LuWk+fh;ux9b*`$4|A#h$uKO0E`Tzg`07*qo IM6N<$f=1Pyg8%>k literal 0 HcmV?d00001 diff --git a/libs/ActionBarSherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png b/libs/ActionBarSherlock/res/drawable-mdpi/abs__dialog_full_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f18050ea589eaa31233bc08e4f8a4e361747bc94 GIT binary patch literal 1003 zcmV%vbFc60S)hq5aquQtN zO>~Q-PMt}eDy?tfo9G5^U3x~HVu{=o-l^#5`3AXbFq#7CZ= zx~R)Z%-PngELWXE=jG+4wH{HY%RHtL$z+_dj#xsD@Y&isDVlJd1j7%A; z{S3ob2!NCVl}{yrl8B^V**9f-6IC==^T()w$-W%VAY54pg(^F>UjitZxrB-eCn8Lf zB*stQ-rl}17K`6RG#lbS(&{_eIc1V`#=6_}di{5~T>e4x!ZPZXM|a{QRmt`XV*pbC z)5T)(D?{j2cRHWXf1>hHw<=z1GC@s9Ro2lk0Wc$?r`}K3Qx5<^GzKt(+iwt@SwZ#Y z1K3Z>bSEt!roEr8rydA`NJoVD>nPSV+2(05UE>4T005_GAOuI89vS#iG4B18N9tN{ z^Z@tNBTj+gCOB47*w+ z+2Hb~>!f2H1$Hq!D=_Sb+i%D|qnZ-1^bbIwX<}v&QHjdz0&e>kOOQ$(hHgzP5DjJz z0f>y6M3En>w55Wi4nf3bKUf4p>o0~xvY>6}4YBjHqH^B)8ba{Lja`ks{5OurR;$m< ZjQ=n8%sUGgc=rGR002ovPDHLkV1nUn!$<%C literal 0 HcmV?d00001 diff --git a/libs/ActionBarSherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png b/libs/ActionBarSherlock/res/drawable-xhdpi/abs__dialog_full_holo_dark.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f4970ad1c3278235157ac72f71fc98f159fdc439 GIT binary patch literal 2159 zcmV-#2$1)QP)7pj*K04R=GS>IExgb+dqA%qY@2qDDdSi?}MdX75WMJ|ri_~yampZf~b zyDwJPzURp0aERFLx!K0Z6`{S(+b^7Rq0fZm(kDLm@P!|`&m~8kF)y`OQ+*6SLgj(n*c6WFZ`T<6tC6A%w8 z+L+Kg_>sWYRhaz=AtQLA^@LuUvKr4zS(=h&ATdHMd1uOv+V9M9YYe+zz%fKlM3B!~ zyq*EP{ZyC9dltDoQc<8ZrM^eE_Hte#g^dKR2>{;+o?xX#_XJ<6fcSW3 z(2+n3e1qrFpfvl1x~?#Fy4|E$M6lRgKuT?d8dD>b&VB465lv_ms575+OWy%#u@k+N zI%?Q+K~hGrT_7#|a=gF%@ZrOc@87@w`1bAFU(2$bW3Gd+|4`xmgT=9~$+>Rd`_AEe z?tAPdzh~^4zVA1WkB@)c-QE59<;$19v5OvFA}vv41E1cCHa5&@4N;9-`R?7jpWeKA z^Yg>QL%m+FvDt*4cRX_bt0?zBkB(K>DX%%#=N+5R(_-8y- zVb>j!?$Wbc5y%%}IfCs9*+@_USOKV3tJQDczI|KW-rgqvI6{s^UDwxjUH<~$ckEhw z$wzfwA%@V6dv=Zxn=8;sa(#b)ziOIh-@k{Dz1VCvD9chBW?(0HZ$3-*gQG?|lNRhy zsce!AuP~V46@dEg?(QVrAwo2L-=l3?V9=qSyONQk&Kv_~&Lf1nMm8E$0BV|mEX9~d zNP}Lf5}1xu21h4T$+9&-HQuut%PRmY8i6duXoOerBY}OxLGlJ5BU$zc%^yh8OvsW{ z7(^}+!OmYLNsSuWi7|-^5)oDyq5>gHA{u-eOKk`#f#=$OmM4_(@m{kC%_W5DAmmhR z=d>`52C;YCwuB;r{%j}Ebe_P7K+b^`h8A8*tydWpwYtuV2y(IKDEl%UBLZ0(i3V1m zfUn~Tp;05RlF3Ax+6Y;a8pF(Tjoo`iqE#Ca+!sAl5kbmO&cKL3&H*nkK%{gluy`-t zg(lV{G7z#PI)C*NX293=me{C~cPz9KvLxQ9W=NZ^Ugspsp|?>vp+=TQM}wGdXLXG{ zVi`Ci0$G}v=(F^hV}w+)Oe2t`iJ2g)`#yKX$5zN3ft&-L4rl3d-=WWF22RL{IarUJ z10V#?jlh->hk8-+(B={{f_KC0$_Y6UbF}H| z)iXk95=}<}9Szz&zBnPrq{TEU=*R&0y55rN8c7*TmhI~1gq#|$ON79_OO5CMyD7gV z9}@irgLxzpwBV#1S)NvH5*4HjnIZdKqfiE}-PZx=`o6zC@DCwmFGlT6G>P~~(uABG zK}Q3f7d(yIx@nqEUDtg*;O`-1HeJ_!ZJOp2fHih{)cJyq3PN^{5b9^?iHmLcxw*Od zt7)3gecv~S{b_{c(f57RG|lImo14Ed?FxBAs6Zqt*x!B;W5{pK*JF7#9(y&G-;L+K zAIl#wtZ4Xp+<&dElXaOZRbPeOuW5VVgIpFOP7$z(T3Yv~vHW)|AI5VJTZ64^6BEBSg#y zGM}I)%~}j17KiFDEnOcuUt#E@>0HCEcF3*~0j6Ce`xZm1O5Ih`IeuTN+ty1RWW4eh`~TOU@&BM)3MkQgMM@bdYm8B8c#1 z#@ViWE78D40!D<(#Tx`hXJ-KSDrqoae31hLi8 z$z>DjeP}^jBk1AK*j$2rhW(rzJ{2JYJMmiAitr^tE-^SXloO=ZTOgN*_a2ZHvyBd7 z1l@JghOv{s(P7lwc?A9CfSo}^z#H{B))n$biD&`>gkS9e;$0Z5~J8tXRDNuF002ovPDHLkV1mNB_TK;i literal 0 HcmV?d00001 diff --git a/libs/ActionBarSherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png b/libs/ActionBarSherlock/res/drawable-xhdpi/abs__dialog_full_holo_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..172fc3b5e3caf3357e706be2a1f0d91f357c8e5f GIT binary patch literal 2302 zcmV2ok^m97efLZMJ76bgmHN3TVPgynL1iZF^o zv0AMLkI|bD5@Z+S7;_RWD$X2Q#-Gi>; z=tN2`078B~PH0>efZ`B@1i||(&~g>qMGRTwTrQXXbnj39hPAQB*)bIg_=HbA_WGzO zR;yL=j9HSDjSEl*;KYv!A@o|O_=;IUA}l9+ObGitX|Dzg#M7mV*iktr2nZlVbl%^^ zH53Ym36TIhGR!|u7{3PC~!L=Y2z z32ZT8B;zY)i(nCqF!62X25hwu6@!!-aVKznAwf{$S4ay%(<6lhDJ|l}=KVE%xD;tO zjxokGV%Vil6ww-?fi&aiwtz1TI;KLw!36;9iSC?$w}w5ZTIo^H5hBZ^Apum+pFjWp*|TRqUSD7TX^iIhX;RaeQQ zE(9uq^MWzvYwRam(2Co38gn;jAmP?U& z&MGvUhjxmcRMYbSg3kR zZt4g}LPgLEq&hYm(J$si0u;4;IwvxY6?fp6l#|X8fH;pmq-q5ISi1H|(Ge;Lg>w@fkyi)P5d7;2~0$MDQ@!DE$`cg61AQt41xJiqTo9Dlsio7bTA}sD9BZvH#!%wZ zmJ%ND@1^DnZ%X(Ld?$$A6k0J~NE59ixD&!XX{j@~=b>7mwKZvxCyp*B)cAo?C*Y0% z?1kZeY?X^e-9W)XxdpU^5OahW`IAUpYa}@W?W5#&t4q8l2swcYLBS!VH7P;dBP@_? zQAk2?GdMjs_n0oBI`TV#(4X2ifxe2hDg*@upKxQ&K(mtAk|`HJPz)_1HaAZ&&GHf7 zsz6IO?f{EsSe^=LZJ-DtRGZRNi3)(P24xANDG)6Gj(#dNGOP_9D0K*+?F8HR`Nj#&1(CYoj<+oYNw{1t4Y0L^ri-RBp`1VD6hPVuR0IkNiMUb`EeV02O|F6c zauGd$;Lv5&C{!~b&}Udb7lOKhLPE$D=wt2>b>Q`^nt&r(EH@_=La)06a5Fwnfw+Sp z&{C)%=8X_pC077s0o1}imRwSiS1dcYq8ac~BtElCsZ+`Ul=zAmLOFfPAwvBY@Kn$$ zk{zOiq+$R>LAX{rQ>;#)$VHAb@IJ99w*HlMq6mNtA~I*7`@~Y7+@e^8prDZQ`Pk}@ zSYXq1DD{)3Sw!SFBRAo~AvKngUU3Lg#cu0$<^+@bU0;P_H1st~XDv}F6a(QX9$Rbi YKbh+rFQXz7g8%>k07*qoM6N<$g2q=E^8f$< literal 0 HcmV?d00001 diff --git a/libs/ActionBarSherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png b/libs/ActionBarSherlock/res/drawable-xhdpi/abs__spinner_48_inner_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..19517c4b0aee1010c7041a76089fdfdbfa495e80 GIT binary patch literal 2769 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 literal 0 HcmV?d00001 diff --git a/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_dark.xml b/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_dark.xml index 9510eeb..85c2c02 100644 --- a/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_dark.xml +++ b/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_dark.xml @@ -14,8 +14,7 @@ limitations under the License. --> - + diff --git a/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_light.xml b/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_light.xml index 9510eeb..85c2c02 100644 --- a/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_light.xml +++ b/libs/ActionBarSherlock/res/drawable/abs__activated_background_holo_light.xml @@ -14,8 +14,7 @@ limitations under the License. --> - + diff --git a/libs/ActionBarSherlock/res/drawable/abs__btn_cab_done_holo_dark.xml b/libs/ActionBarSherlock/res/drawable/abs__btn_cab_done_holo_dark.xml index d470e98..cab8962 100644 --- a/libs/ActionBarSherlock/res/drawable/abs__btn_cab_done_holo_dark.xml +++ b/libs/ActionBarSherlock/res/drawable/abs__btn_cab_done_holo_dark.xml @@ -14,8 +14,7 @@ limitations under the License. --> - + - + - + diff --git a/libs/ActionBarSherlock/res/drawable/abs__item_background_holo_light.xml b/libs/ActionBarSherlock/res/drawable/abs__item_background_holo_light.xml index f989197..da5fb2e 100644 --- a/libs/ActionBarSherlock/res/drawable/abs__item_background_holo_light.xml +++ b/libs/ActionBarSherlock/res/drawable/abs__item_background_holo_light.xml @@ -14,8 +14,7 @@ limitations under the License. --> - + diff --git a/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_dark.xml b/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_dark.xml index ee497a2..08b8b12 100644 --- a/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_dark.xml +++ b/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_dark.xml @@ -14,8 +14,7 @@ limitations under the License. --> - + diff --git a/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_light.xml b/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_light.xml index e1522ee..ada490b 100644 --- a/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_light.xml +++ b/libs/ActionBarSherlock/res/drawable/abs__list_selector_holo_light.xml @@ -14,8 +14,7 @@ limitations under the License. --> - + diff --git a/libs/ActionBarSherlock/res/layout/abs__action_menu_layout.xml b/libs/ActionBarSherlock/res/layout/abs__action_menu_layout.xml index 7010bcc..a6f8e53 100644 --- a/libs/ActionBarSherlock/res/layout/abs__action_menu_layout.xml +++ b/libs/ActionBarSherlock/res/layout/abs__action_menu_layout.xml @@ -4,9 +4,9 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -18,6 +18,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:divider="?attr/dividerVertical" + android:divider="?attr/actionBarDivider" android:dividerPadding="12dip" android:gravity="center_vertical" /> diff --git a/libs/ActionBarSherlock/res/layout/abs__screen_action_bar.xml b/libs/ActionBarSherlock/res/layout/abs__screen_action_bar.xml index 17fd16c..1fb82fe 100644 --- a/libs/ActionBarSherlock/res/layout/abs__screen_action_bar.xml +++ b/libs/ActionBarSherlock/res/layout/abs__screen_action_bar.xml @@ -4,9 +4,9 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,10 +19,10 @@ This is an optimized layout for a screen with the Action Bar enabled. --> + android:fitsSystemWindows="true"> - + android:layout_width="match_parent" + android:layout_height="match_parent" /> - + diff --git a/libs/ActionBarSherlock/res/layout/abs__screen_simple_overlay_action_mode.xml b/libs/ActionBarSherlock/res/layout/abs__screen_simple_overlay_action_mode.xml index 58bafaf..f8b9fb1 100644 --- a/libs/ActionBarSherlock/res/layout/abs__screen_simple_overlay_action_mode.xml +++ b/libs/ActionBarSherlock/res/layout/abs__screen_simple_overlay_action_mode.xml @@ -21,6 +21,8 @@ enabled. --> ?android:attr/actionBarSize 48dp + + @style/Theme.Sherlock + + ?android:attr/dropDownListViewStyle - + @@ -112,7 +112,7 @@ ?attr/actionBarItemBackground ?attr/actionBarSize - 56dip + @dimen/abs__action_button_min_width center 12dip 12dip diff --git a/libs/ActionBarSherlock/src/android/support/v4/app/_ActionBarSherlockTrojanHorse.java b/libs/ActionBarSherlock/src/android/support/v4/app/_ActionBarSherlockTrojanHorse.java new file mode 100644 index 0000000..3e3db62 --- /dev/null +++ b/libs/ActionBarSherlock/src/android/support/v4/app/_ActionBarSherlockTrojanHorse.java @@ -0,0 +1,144 @@ +package android.support.v4.app; + +import android.util.Log; +import android.view.View; +import android.view.Window; +import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; +import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; +import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import java.util.ArrayList; + +/** I'm in ur package. Stealing ur variables. */ +public abstract class _ActionBarSherlockTrojanHorse extends FragmentActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener { + private static final boolean DEBUG = false; + private static final String TAG = "_ActionBarSherlockTrojanHorse"; + + /** Fragment interface for menu creation callback. */ + public interface OnCreateOptionsMenuListener { + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater); + } + /** Fragment interface for menu preparation callback. */ + public interface OnPrepareOptionsMenuListener { + public void onPrepareOptionsMenu(Menu menu); + } + /** Fragment interface for menu item selection callback. */ + public interface OnOptionsItemSelectedListener { + public boolean onOptionsItemSelected(MenuItem item); + } + + private ArrayList mCreatedMenus; + + + /////////////////////////////////////////////////////////////////////////// + // Sherlock menu handling + /////////////////////////////////////////////////////////////////////////// + + @Override + public boolean onCreatePanelMenu(int featureId, Menu menu) { + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); + + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + boolean result = onCreateOptionsMenu(menu); + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] activity create result: " + result); + + MenuInflater inflater = getSupportMenuInflater(); + boolean show = false; + ArrayList newMenus = null; + if (mFragments.mActive != null) { + for (int i = 0; i < mFragments.mAdded.size(); i++) { + Fragment f = mFragments.mAdded.get(i); + if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnCreateOptionsMenuListener) { + show = true; + ((OnCreateOptionsMenuListener)f).onCreateOptionsMenu(menu, inflater); + if (newMenus == null) { + newMenus = new ArrayList(); + } + newMenus.add(f); + } + } + } + + if (mCreatedMenus != null) { + for (int i = 0; i < mCreatedMenus.size(); i++) { + Fragment f = mCreatedMenus.get(i); + if (newMenus == null || !newMenus.contains(f)) { + f.onDestroyOptionsMenu(); + } + } + } + + mCreatedMenus = newMenus; + + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] fragments create result: " + show); + result |= show; + + if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] returning " + result); + return result; + } + return false; + } + + @Override + public boolean onPreparePanel(int featureId, View view, Menu menu) { + if (DEBUG) Log.d(TAG, "[onPreparePanel] featureId: " + featureId + ", view: " + view + " menu: " + menu); + + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + boolean result = onPrepareOptionsMenu(menu); + if (DEBUG) Log.d(TAG, "[onPreparePanel] activity prepare result: " + result); + + boolean show = false; + if (mFragments.mActive != null) { + for (int i = 0; i < mFragments.mAdded.size(); i++) { + Fragment f = mFragments.mAdded.get(i); + if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnPrepareOptionsMenuListener) { + show = true; + ((OnPrepareOptionsMenuListener)f).onPrepareOptionsMenu(menu); + } + } + } + + if (DEBUG) Log.d(TAG, "[onPreparePanel] fragments prepare result: " + show); + result |= show; + + result &= menu.hasVisibleItems(); + if (DEBUG) Log.d(TAG, "[onPreparePanel] returning " + result); + return result; + } + return false; + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item); + + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + if (onOptionsItemSelected(item)) { + return true; + } + + if (mFragments.mActive != null) { + for (int i = 0; i < mFragments.mAdded.size(); i++) { + Fragment f = mFragments.mAdded.get(i); + if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnOptionsItemSelectedListener) { + if (((OnOptionsItemSelectedListener)f).onOptionsItemSelected(item)) { + return true; + } + } + } + } + } + return false; + } + + public abstract boolean onCreateOptionsMenu(Menu menu); + + public abstract boolean onPrepareOptionsMenu(Menu menu); + + public abstract boolean onOptionsItemSelected(MenuItem item); + + public abstract MenuInflater getSupportMenuInflater(); +} diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/ActionBarSherlock.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/ActionBarSherlock.java index 3dc3fd3..8340fb5 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/ActionBarSherlock.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/ActionBarSherlock.java @@ -37,7 +37,6 @@ import com.actionbarsherlock.view.MenuItem; * counterpart and you should refer to its documentation for instruction.

* * @author Jake Wharton - * @version 4.0.0 */ public abstract class ActionBarSherlock { protected static final String TAG = "ActionBarSherlock"; @@ -524,6 +523,20 @@ public abstract class ActionBarSherlock { */ public void dispatchPanelClosed(int featureId, android.view.Menu menu) {} + /** + * Notify the action bar that the activity has been destroyed. This method + * should be called before the superclass implementation. + * + *

+ * @Override + * public void onDestroy() { + * mSherlock.dispatchDestroy(); + * super.onDestroy(); + * } + *

+ */ + public void dispatchDestroy() {} + /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockActivity.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockActivity.java index d0a6d81..9cb57e9 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockActivity.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockActivity.java @@ -76,6 +76,12 @@ public abstract class SherlockActivity extends Activity implements OnCreatePanel super.onStop(); } + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + @Override protected void onPostCreate(Bundle savedInstanceState) { getSherlock().dispatchPostCreate(savedInstanceState); diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java index 0ec5833..a7c856b 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java @@ -1,18 +1,18 @@ package com.actionbarsherlock.app; -import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG; import android.app.Activity; import android.support.v4.app.DialogFragment; -import android.util.Log; -import com.actionbarsherlock.internal.view.menu.MenuItemMule; -import com.actionbarsherlock.internal.view.menu.MenuMule; +import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; -public class SherlockDialogFragment extends DialogFragment { - private static final String TAG = "SherlockDialogFragment"; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener; +public class SherlockDialogFragment extends DialogFragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener { private SherlockFragmentActivity mActivity; public SherlockFragmentActivity getSherlockActivity() { @@ -22,7 +22,7 @@ public class SherlockDialogFragment extends DialogFragment { @Override public void onAttach(Activity activity) { if (!(activity instanceof SherlockFragmentActivity)) { - throw new IllegalStateException(TAG + " must be attached to a SherlockFragmentActivity."); + throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity."); } mActivity = (SherlockFragmentActivity)activity; @@ -30,41 +30,37 @@ public class SherlockDialogFragment extends DialogFragment { } @Override - public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { - if (DEBUG) Log.d(TAG, "[onCreateOptionsMenu] menu: " + menu + ", inflater: " + inflater); - - if (menu instanceof MenuMule) { - onCreateOptionsMenu(((MenuMule)menu).unwrap(), mActivity.getSupportMenuInflater()); - } + public void onDetach() { + mActivity = null; + super.onDetach(); } + @Override + public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { + onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater()); + } + + @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { //Nothing to see here. } @Override public final void onPrepareOptionsMenu(android.view.Menu menu) { - if (DEBUG) Log.d(TAG, "[onPrepareOptionsMenu] menu: " + menu); - - if (menu instanceof MenuMule) { - onPrepareOptionsMenu(((MenuMule)menu).unwrap()); - } + onPrepareOptionsMenu(new MenuWrapper(menu)); } + @Override public void onPrepareOptionsMenu(Menu menu) { //Nothing to see here. } @Override public final boolean onOptionsItemSelected(android.view.MenuItem item) { - if (DEBUG) Log.d(TAG, "[onOptionsItemSelected] item: " + item); - - if (item instanceof MenuItemMule) { - return onOptionsItemSelected(((MenuItemMule)item).unwrap()); - } - return false; + return onOptionsItemSelected(new MenuItemWrapper(item)); } + @Override public boolean onOptionsItemSelected(MenuItem item) { //Nothing to see here. return false; diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java index 3247c98..078f9b0 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java @@ -76,6 +76,12 @@ public abstract class SherlockExpandableListActivity extends ExpandableListActiv super.onStop(); } + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + @Override protected void onPostCreate(Bundle savedInstanceState) { getSherlock().dispatchPostCreate(savedInstanceState); diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java index f02f5e4..0f24e9c 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java @@ -1,18 +1,18 @@ package com.actionbarsherlock.app; -import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG; import android.app.Activity; import android.support.v4.app.Fragment; -import android.util.Log; -import com.actionbarsherlock.internal.view.menu.MenuItemMule; -import com.actionbarsherlock.internal.view.menu.MenuMule; +import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; -public class SherlockFragment extends Fragment { - private static final String TAG = "SherlockFragment"; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener; +public class SherlockFragment extends Fragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener { private SherlockFragmentActivity mActivity; public SherlockFragmentActivity getSherlockActivity() { @@ -22,7 +22,7 @@ public class SherlockFragment extends Fragment { @Override public void onAttach(Activity activity) { if (!(activity instanceof SherlockFragmentActivity)) { - throw new IllegalStateException(TAG + " must be attached to a SherlockFragmentActivity."); + throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity."); } mActivity = (SherlockFragmentActivity)activity; @@ -30,41 +30,37 @@ public class SherlockFragment extends Fragment { } @Override - public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { - if (DEBUG) Log.d(TAG, "[onCreateOptionsMenu] menu: " + menu + ", inflater: " + inflater); - - if (menu instanceof MenuMule) { - onCreateOptionsMenu(((MenuMule)menu).unwrap(), mActivity.getSupportMenuInflater()); - } + public void onDetach() { + mActivity = null; + super.onDetach(); } + @Override + public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { + onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater()); + } + + @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { //Nothing to see here. } @Override public final void onPrepareOptionsMenu(android.view.Menu menu) { - if (DEBUG) Log.d(TAG, "[onPrepareOptionsMenu] menu: " + menu); - - if (menu instanceof MenuMule) { - onPrepareOptionsMenu(((MenuMule)menu).unwrap()); - } + onPrepareOptionsMenu(new MenuWrapper(menu)); } + @Override public void onPrepareOptionsMenu(Menu menu) { //Nothing to see here. } @Override public final boolean onOptionsItemSelected(android.view.MenuItem item) { - if (DEBUG) Log.d(TAG, "[onOptionsItemSelected] item: " + item); - - if (item instanceof MenuItemMule) { - return onOptionsItemSelected(((MenuItemMule)item).unwrap()); - } - return false; + return onOptionsItemSelected(new MenuItemWrapper(item)); } + @Override public boolean onOptionsItemSelected(MenuItem item) { //Nothing to see here. return false; diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java index 8d0b4c3..5cd13ba 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java @@ -1,36 +1,31 @@ package com.actionbarsherlock.app; import android.content.res.Configuration; -import android.os.Build; import android.os.Bundle; -import android.support.v4.app.FragmentActivity; +import android.support.v4.app._ActionBarSherlockTrojanHorse; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.Window; import com.actionbarsherlock.ActionBarSherlock; -import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; -import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; -import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; -import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; -import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; -import com.actionbarsherlock.internal.view.menu.MenuItemMule; -import com.actionbarsherlock.internal.view.menu.MenuMule; import com.actionbarsherlock.view.ActionMode; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; -public abstract class SherlockFragmentActivity extends FragmentActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener { - static final boolean DEBUG = false; +import static com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; +import static com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; + +/** @see {@link _ActionBarSherlockTrojanHorse} */ +public class SherlockFragmentActivity extends _ActionBarSherlockTrojanHorse implements OnActionModeStartedListener, OnActionModeFinishedListener { + private static final boolean DEBUG = false; private static final String TAG = "SherlockFragmentActivity"; private ActionBarSherlock mSherlock; private boolean mIgnoreNativeCreate = false; private boolean mIgnoreNativePrepare = false; private boolean mIgnoreNativeSelected = false; - private Boolean mOverrideNativeCreate = null; protected final ActionBarSherlock getSherlock() { if (mSherlock == null) { @@ -87,6 +82,12 @@ public abstract class SherlockFragmentActivity extends FragmentActivity implemen super.onStop(); } + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + @Override protected void onPostCreate(Bundle savedInstanceState) { getSherlock().dispatchPostCreate(savedInstanceState); @@ -138,7 +139,7 @@ public abstract class SherlockFragmentActivity extends FragmentActivity implemen getSherlock().dispatchInvalidateOptionsMenu(); } - protected void supportInvalidateOptionsMenu() { + public void supportInvalidateOptionsMenu() { if (DEBUG) Log.d(TAG, "[supportInvalidateOptionsMenu]"); invalidateOptionsMenu(); @@ -161,7 +162,7 @@ public abstract class SherlockFragmentActivity extends FragmentActivity implemen @Override public final boolean onCreateOptionsMenu(android.view.Menu menu) { - return (mOverrideNativeCreate != null) ? mOverrideNativeCreate.booleanValue() : true; + return true; } @Override @@ -223,70 +224,14 @@ public abstract class SherlockFragmentActivity extends FragmentActivity implemen // Sherlock menu handling /////////////////////////////////////////////////////////////////////////// - @Override - public boolean onCreatePanelMenu(int featureId, Menu menu) { - if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu); - - if (featureId == Window.FEATURE_OPTIONS_PANEL) { - boolean result = onCreateOptionsMenu(menu); - - //Dispatch to parent panel creation for fragment dispatching - if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] dispatching to native with mule"); - mOverrideNativeCreate = result; - boolean fragResult = super.onCreatePanelMenu(featureId, new MenuMule(menu)); - mOverrideNativeCreate = null; - - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { - result |= menu.hasVisibleItems(); - } else { - result |= fragResult; - } - - return result; - } - return false; - } - public boolean onCreateOptionsMenu(Menu menu) { return true; } - @Override - public boolean onPreparePanel(int featureId, View view, Menu menu) { - if (DEBUG) Log.d(TAG, "[onPreparePanel] featureId: " + featureId + ", view: " + view + " menu: " + menu); - - if (featureId == Window.FEATURE_OPTIONS_PANEL) { - boolean result = onPrepareOptionsMenu(menu); - - //Dispatch to parent panel preparation for fragment dispatching - if (DEBUG) Log.d(TAG, "[onPreparePanel] dispatching to native with mule"); - super.onPreparePanel(featureId, view, new MenuMule(menu)); - - return result; - } - return false; - } - public boolean onPrepareOptionsMenu(Menu menu) { return true; } - @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) { - if (DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item); - - if (featureId == Window.FEATURE_OPTIONS_PANEL) { - if (onOptionsItemSelected(item)) { - return true; - } - - //Dispatch to parent panel selection for fragment dispatching - if (DEBUG) Log.d(TAG, "[onMenuItemSelected] dispatching to native with mule"); - return super.onMenuItemSelected(featureId, new MenuItemMule(item)); - } - return false; - } - public boolean onOptionsItemSelected(MenuItem item) { return false; } diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListActivity.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListActivity.java index 83114c3..00c00fe 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListActivity.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListActivity.java @@ -76,6 +76,12 @@ public abstract class SherlockListActivity extends ListActivity implements OnCre super.onStop(); } + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + @Override protected void onPostCreate(Bundle savedInstanceState) { getSherlock().dispatchPostCreate(savedInstanceState); diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java index 4f6891e..13ca3c4 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java @@ -1,18 +1,18 @@ package com.actionbarsherlock.app; -import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG; import android.app.Activity; import android.support.v4.app.ListFragment; -import android.util.Log; -import com.actionbarsherlock.internal.view.menu.MenuItemMule; -import com.actionbarsherlock.internal.view.menu.MenuMule; +import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; +import com.actionbarsherlock.internal.view.menu.MenuWrapper; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; -public class SherlockListFragment extends ListFragment { - private static final String TAG = "SherlockListFragment"; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener; +import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener; +public class SherlockListFragment extends ListFragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener { private SherlockFragmentActivity mActivity; public SherlockFragmentActivity getSherlockActivity() { @@ -22,7 +22,7 @@ public class SherlockListFragment extends ListFragment { @Override public void onAttach(Activity activity) { if (!(activity instanceof SherlockFragmentActivity)) { - throw new IllegalStateException(TAG + " must be attached to a SherlockFragmentActivity."); + throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity."); } mActivity = (SherlockFragmentActivity)activity; @@ -30,41 +30,37 @@ public class SherlockListFragment extends ListFragment { } @Override - public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { - if (DEBUG) Log.d(TAG, "[onCreateOptionsMenu] menu: " + menu + ", inflater: " + inflater); - - if (menu instanceof MenuMule) { - onCreateOptionsMenu(((MenuMule)menu).unwrap(), mActivity.getSupportMenuInflater()); - } + public void onDetach() { + mActivity = null; + super.onDetach(); } + @Override + public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) { + onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater()); + } + + @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { //Nothing to see here. } @Override public final void onPrepareOptionsMenu(android.view.Menu menu) { - if (DEBUG) Log.d(TAG, "[onPrepareOptionsMenu] menu: " + menu); - - if (menu instanceof MenuMule) { - onPrepareOptionsMenu(((MenuMule)menu).unwrap()); - } + onPrepareOptionsMenu(new MenuWrapper(menu)); } + @Override public void onPrepareOptionsMenu(Menu menu) { //Nothing to see here. } @Override public final boolean onOptionsItemSelected(android.view.MenuItem item) { - if (DEBUG) Log.d(TAG, "[onOptionsItemSelected] item: " + item); - - if (item instanceof MenuItemMule) { - return onOptionsItemSelected(((MenuItemMule)item).unwrap()); - } - return false; + return onOptionsItemSelected(new MenuItemWrapper(item)); } + @Override public boolean onOptionsItemSelected(MenuItem item) { //Nothing to see here. return false; diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java index 71e4030..4f80be5 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java @@ -76,6 +76,12 @@ public abstract class SherlockPreferenceActivity extends PreferenceActivity impl super.onStop(); } + @Override + protected void onDestroy() { + getSherlock().dispatchDestroy(); + super.onDestroy(); + } + @Override protected void onPostCreate(Bundle savedInstanceState) { getSherlock().dispatchPostCreate(savedInstanceState); diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java index 26f0515..05353d2 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockCompat.java @@ -71,6 +71,8 @@ public class ActionBarSherlockCompat extends ActionBarSherlock implements MenuBu private MenuBuilder mMenu; /** Map between native options items and sherlock items. */ protected HashMap mNativeItemMap; + /** Indication of a long-press on the hardware menu key. */ + private boolean mMenuKeyIsLongPress = false; /** Parent view of the window decoration (action bar, mode, etc.). */ private ViewGroup mDecor; @@ -79,6 +81,8 @@ public class ActionBarSherlockCompat extends ActionBarSherlock implements MenuBu /** Whether or not the title is stable and can be displayed. */ private boolean mIsTitleReady = false; + /** Whether or not the parent activity has been destroyed. */ + private boolean mIsDestroyed = false; /* Emulate PanelFeatureState */ private boolean mClosingActionMenu; @@ -411,7 +415,7 @@ public class ActionBarSherlockCompat extends ActionBarSherlock implements MenuBu } // Next collapse any expanded action views. - if (aActionBar != null && wActionBar.hasExpandedActionView()) { + if (wActionBar != null && wActionBar.hasExpandedActionView()) { if (action == KeyEvent.ACTION_UP) { wActionBar.collapseActionView(); } @@ -420,20 +424,32 @@ public class ActionBarSherlockCompat extends ActionBarSherlock implements MenuBu } } - if (keyCode == KeyEvent.KEYCODE_MENU && event.getAction() == KeyEvent.ACTION_UP && isReservingOverflow()) { - if (mActionMode == null) { - if (wActionBar.isOverflowMenuShowing()) { - wActionBar.hideOverflowMenu(); - } else { - wActionBar.showOverflowMenu(); + boolean result = false; + if (keyCode == KeyEvent.KEYCODE_MENU && isReservingOverflow()) { + if (event.getAction() == KeyEvent.ACTION_DOWN && event.isLongPress()) { + mMenuKeyIsLongPress = true; + } else if (event.getAction() == KeyEvent.ACTION_UP) { + if (!mMenuKeyIsLongPress) { + if (mActionMode == null && wActionBar != null) { + if (wActionBar.isOverflowMenuShowing()) { + wActionBar.hideOverflowMenu(); + } else { + wActionBar.showOverflowMenu(); + } + } + result = true; } + mMenuKeyIsLongPress = false; } - if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] returning true"); - return true; } - if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] returning false"); - return false; + if (DEBUG) Log.d(TAG, "[dispatchKeyEvent] returning " + result); + return result; + } + + @Override + public void dispatchDestroy() { + mIsDestroyed = true; } @@ -968,7 +984,7 @@ public class ActionBarSherlockCompat extends ActionBarSherlock implements MenuBu @Override public void run() { //Invalidate if the panel menu hasn't been created before this. - if (mMenu == null) { + if (!mIsDestroyed && !mActivity.isFinishing() && mMenu == null) { dispatchInvalidateOptionsMenu(); } } diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java index 74831a7..9afca18 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/ActionBarSherlockNative.java @@ -314,5 +314,15 @@ public class ActionBarSherlockNative extends ActionBarSherlock { public MenuInflater getMenuInflater() { return ActionBarSherlockNative.this.getMenuInflater(); } + + @Override + public void setTag(Object tag) { + mActionMode.setTag(tag); + } + + @Override + public Object getTag() { + return mActionMode.getTag(); + } } } diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java index 1bd0eac..e390ea4 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/app/ActionBarWrapper.java @@ -217,7 +217,6 @@ public class ActionBarWrapper extends ActionBar implements android.app.ActionBar public TabWrapper(android.app.ActionBar.Tab nativeTab) { mNativeTab = nativeTab; mNativeTab.setTag(this); - mNativeTab.setTabListener(this); } @Override @@ -289,6 +288,7 @@ public class ActionBarWrapper extends ActionBar implements android.app.ActionBar @Override public Tab setTabListener(TabListener listener) { + mNativeTab.setTabListener(listener != null ? this : null); mListener = listener; return this; } diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java index e284604..067d049 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/nineoldandroids/view/animation/AnimatorProxy.java @@ -140,6 +140,8 @@ public final class AnimatorProxy extends Animation { return; } + view.setAnimation(this); + final RectF after = mAfter; computeRect(after, view); after.union(mBefore); @@ -202,4 +204,9 @@ public final class AnimatorProxy extends Animation { transformMatrix(t.getMatrix(), view); } } + + @Override + public void reset() { + /* Do nothing. */ + } } diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java index 5f1cd59..6f568c6 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java @@ -305,7 +305,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter */ public boolean showOverflowMenu() { if (mReserveOverflow && !isOverflowMenuShowing() && mMenu != null && mMenuView != null && - mPostedOpenRunnable == null) { + mPostedOpenRunnable == null && !mMenu.getNonActionItems().isEmpty()) { OverflowPopup popup = new OverflowPopup(mContext, mMenu, mOverflowButton, true); mPostedOpenRunnable = new OpenOverflowRunnable(popup); // Post this for later; we might still need a layout for the anchor to be right. diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/ActionBarView.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/ActionBarView.java index fbb0ea0..4636de1 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/ActionBarView.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/ActionBarView.java @@ -132,7 +132,7 @@ public class ActionBarView extends AbsActionBarView { private SpinnerAdapter mSpinnerAdapter; private OnNavigationListener mCallback; - private Runnable mTabSelector; + //UNUSED private Runnable mTabSelector; private ExpandedActionViewMenuPresenter mExpandedMenuPresenter; View mExpandedActionView; @@ -383,7 +383,7 @@ public class ActionBarView extends AbsActionBarView { @Override public void onDetachedFromWindow() { super.onDetachedFromWindow(); - removeCallbacks(mTabSelector); + //UNUSED removeCallbacks(mTabSelector); if (mActionMenuPresenter != null) { mActionMenuPresenter.hideOverflowMenu(); mActionMenuPresenter.hideSubMenus(); diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java index 59d836a..1b4463a 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsLinearLayout.java @@ -106,6 +106,30 @@ public class IcsLinearLayout extends NineLinearLayout { requestLayout(); } + /** + * Set padding displayed on both ends of dividers. + * + * @param padding Padding value in pixels that will be applied to each end + * + * @see #setShowDividers(int) + * @see #setDividerDrawable(Drawable) + * @see #getDividerPadding() + */ + public void setDividerPadding(int padding) { + mDividerPadding = padding; + } + + /** + * Get the padding size used to inset dividers in pixels + * + * @see #setShowDividers(int) + * @see #setDividerDrawable(Drawable) + * @see #setDividerPadding(int) + */ + public int getDividerPadding() { + return mDividerPadding; + } + /** * Get the width of the current divider drawable. * diff --git a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsSpinner.java b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsSpinner.java index 319c9ab..038d1e0 100644 --- a/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsSpinner.java +++ b/libs/ActionBarSherlock/src/com/actionbarsherlock/internal/widget/IcsSpinner.java @@ -78,6 +78,10 @@ public class IcsSpinner extends IcsAbsSpinner implements OnClickListener { private Rect mTempRect = new Rect(); + public IcsSpinner(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.actionDropDownStyle); + } + /** * Construct a new spinner with the given context's theme, the supplied attribute set, * and default style.