From 5c2d161146b8470bc11b4885763b2a7ffe5ebd66 Mon Sep 17 00:00:00 2001 From: maxwell Date: Mon, 22 Nov 2010 01:19:11 -0800 Subject: [PATCH] small changes to mobile --- app/views/aspects/index.mobile.haml | 14 +++++----- app/views/layouts/application.mobile.haml | 7 ++--- app/views/shared/_publisher.mobile.haml | 26 ++++++++++-------- app/views/shared/_stream_element.mobile.haml | 4 --- .../status_messages/_status_message.haml | 2 +- config/assets.yml | 1 + public/javascripts/custom-mobile-scripting.js | 7 +++++ public/stylesheets/mobile.css | 5 ++++ public/stylesheets/sass/mobile.sass | 7 +++++ .../stylesheets/vendor/images/ajax-loader.png | Bin 0 -> 503 bytes .../vendor/images/form-check-off.png | Bin 0 -> 364 bytes .../vendor/images/form-check-on.png | Bin 0 -> 460 bytes .../vendor/images/form-radio-off.png | Bin 0 -> 453 bytes .../vendor/images/form-radio-on.png | Bin 0 -> 519 bytes .../vendor/images/icon-search-black.png | Bin 0 -> 1245 bytes .../vendor/images/icons-18-black.png | Bin 0 -> 907 bytes .../vendor/images/icons-18-white.png | Bin 0 -> 908 bytes .../vendor/images/icons-36-black.png | Bin 0 -> 1692 bytes .../vendor/images/icons-36-white.png | Bin 0 -> 1692 bytes 19 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 public/javascripts/custom-mobile-scripting.js create mode 100644 public/stylesheets/vendor/images/ajax-loader.png create mode 100644 public/stylesheets/vendor/images/form-check-off.png create mode 100644 public/stylesheets/vendor/images/form-check-on.png create mode 100644 public/stylesheets/vendor/images/form-radio-off.png create mode 100644 public/stylesheets/vendor/images/form-radio-on.png create mode 100644 public/stylesheets/vendor/images/icon-search-black.png create mode 100644 public/stylesheets/vendor/images/icons-18-black.png create mode 100644 public/stylesheets/vendor/images/icons-18-white.png create mode 100644 public/stylesheets/vendor/images/icons-36-black.png create mode 100644 public/stylesheets/vendor/images/icons-36-white.png diff --git a/app/views/aspects/index.mobile.haml b/app/views/aspects/index.mobile.haml index a9c155a04..95c790844 100644 --- a/app/views/aspects/index.mobile.haml +++ b/app/views/aspects/index.mobile.haml @@ -4,10 +4,10 @@ = render 'shared/stream', :posts => @posts -%div{:data => {:role => 'footer', :id => 'footer-toolbar', :position => 'fixed'}} - %div{:data => {:role => 'navbar'}} - %ul - %li{:class => 'ui-btn-active'} - = link_to 'posts', '#' - %li - =link_to 'contacts', '#' +/%div{:data => {:role => 'footer', :id => 'footer-toolbar', :position => 'fixed'}} +/ %div{:data => {:role => 'navbar'}} +/ %ul +/ %li{:class => 'ui-btn-active'} +/ = link_to 'posts', '#' +/ %li +/ =link_to 'contacts', '#' diff --git a/app/views/layouts/application.mobile.haml b/app/views/layouts/application.mobile.haml index 68e2ea048..b20c81643 100644 --- a/app/views/layouts/application.mobile.haml +++ b/app/views/layouts/application.mobile.haml @@ -26,11 +26,10 @@ %h1 = person_image_tag (current_user.person) = current_user.real_name - %div{:data => {:role => 'fieldcontain'}} = select_tag "aspect_picker", aspect_select_options(@aspects, @aspect) = yield - %div{:data => {:role => 'fieldcontain'}} - = form_tag(people_path, :method => 'get') do - = text_field_tag 'q', nil, :placeholder => t('search'), :type => 'search' + /%div{:data => {:role => 'fieldcontain'}} + / = form_tag(people_path, :method => 'get') do + / = text_field_tag 'q', nil, :placeholder => t('search'), :type => 'search' diff --git a/app/views/shared/_publisher.mobile.haml b/app/views/shared/_publisher.mobile.haml index b7f01fc8e..2752cf0a7 100644 --- a/app/views/shared/_publisher.mobile.haml +++ b/app/views/shared/_publisher.mobile.haml @@ -11,15 +11,19 @@ = status.hidden_field :to, :value => (aspect == :all ? aspect : aspect.id) - .options_and_submit - - if aspect == :all - = status.submit t('.share'), :title => t('.share_with_all') - - else - = status.submit t('.share'), :title => t('.share_with', :aspect => aspect) + %fieldset{:class => 'ui-grid-a'} + .options_and_submit + %div{:class => 'ui-block-a'} + - if aspect == :all + = status.submit t('.share'), :title => t('.share_with_all') + - else + = status.submit t('.share'), :title => t('.share_with', :aspect => aspect) - - if aspect == :all - .public_toggle - %p.checkbox_select - = status.check_box( :public, {}, true, false ) - = status.label :public, t('.make_public') - = link_to '(?)', "#question_mark_pane", :class => 'question_mark', :style=>"display:none;" + - if aspect == :all + %div{:class => 'ui-block-a'} + + .public_toggle + %p.checkbox_select + = status.check_box( :public, {}, true, false ) + = status.label :public, t('.make_public') + = link_to '(?)', "#question_mark_pane", :class => 'question_mark', :style=>"display:none;" diff --git a/app/views/shared/_stream_element.mobile.haml b/app/views/shared/_stream_element.mobile.haml index 617861a7e..404abde95 100644 --- a/app/views/shared/_stream_element.mobile.haml +++ b/app/views/shared/_stream_element.mobile.haml @@ -15,10 +15,6 @@ - else = current_user.aspects_with_post( post.id ).join(', ') - - if current_user.owns?(post) - .right - = link_to t('delete'), object_path(post), :confirm => t('are_you_sure'), :method => :delete, :remote => true, :class => "delete" - = render type_partial(post), :post => post .info diff --git a/app/views/status_messages/_status_message.haml b/app/views/status_messages/_status_message.haml index c467cbea6..e559598db 100644 --- a/app/views/status_messages/_status_message.haml +++ b/app/views/status_messages/_status_message.haml @@ -2,7 +2,7 @@ -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. -= markdownify(post.message) +%h3= markdownify(post.message) %br - for photo in post.photos = link_to (image_tag photo.url(:thumb_medium)), object_path(photo) diff --git a/config/assets.yml b/config/assets.yml index de451dd07..4a194cd3f 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -16,6 +16,7 @@ javascripts: - public/javascripts/stream.js mobile: - public/javascripts/vendor/jquery144.min.js + - public/javascripts/custom-mobile-scripting.js - public/javascripts/rails.js - public/javascripts/vendor/jquery-ui-1.8.6.custom.min.js - public/javascripts/vendor/jquery_mobile_a2.min.js diff --git a/public/javascripts/custom-mobile-scripting.js b/public/javascripts/custom-mobile-scripting.js new file mode 100644 index 000000000..e435105d3 --- /dev/null +++ b/public/javascripts/custom-mobile-scripting.js @@ -0,0 +1,7 @@ +$(document).bind("mobileinit", function(){ + $.extend( $.mobile , { + + ajaxLinksEnabled : false + ajaxFormsEnabled : false + }); +}); diff --git a/public/stylesheets/mobile.css b/public/stylesheets/mobile.css index 05c2a3216..afd31bc35 100644 --- a/public/stylesheets/mobile.css +++ b/public/stylesheets/mobile.css @@ -1,3 +1,6 @@ +img { + border-radius: 5px; } + ul { list-style: none; } @@ -24,6 +27,8 @@ li.message { color: #444444; font-weight: normal; font-size: 14px; } + li.message .content .aspect { + display: inline; } li.message .content .stream_photo { float: left; margin-top: 6px; } diff --git a/public/stylesheets/sass/mobile.sass b/public/stylesheets/sass/mobile.sass index 142a2f41f..8f59200d9 100644 --- a/public/stylesheets/sass/mobile.sass +++ b/public/stylesheets/sass/mobile.sass @@ -1,5 +1,9 @@ +img + :border-radius 5px ul :list-style none + + .avatar :width 50px :height 50px @@ -31,6 +35,9 @@ li.message :padding :left 65px + .aspect + :display inline + :color #444 :font diff --git a/public/stylesheets/vendor/images/ajax-loader.png b/public/stylesheets/vendor/images/ajax-loader.png new file mode 100644 index 0000000000000000000000000000000000000000..811a2cdd1b492c47faf85c1206ad6606521eb6e4 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0vp^${@_b3?$!tUzY`>n2Vh}LpV4%Za?&Y0OT43_=LFr z|Ns9ZDd7Dck0hX8fs!DgJ6C3d)qYMwA5Sr=f?F`h}-_x&BOOZ@XQnE}c<_xEZu zoIX1zlA-v_?sD-1ZfECkmVe(>o?xwNmGDbK;?2MR41rRzXA2bX{on66#ob*wrsMPf z`i=nRm=4)s4z4?=xi7SyIo*As^~h=O3#~U!U4D?`wnG2XC7uMQrY5F@nOn9v%usT4 zIQ+eo=O@f^)EG;nv4yKy{)Zban#Mw;QTQ|w3l1fm1G7ixyoePnc0 W<<+r~s8k2qz~JfX=d#Wzp$Py*TXTc} literal 0 HcmV?d00001 diff --git a/public/stylesheets/vendor/images/form-check-on.png b/public/stylesheets/vendor/images/form-check-on.png new file mode 100644 index 0000000000000000000000000000000000000000..e6daaaf8b10684cc6bcdb58f038616800182bbee GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQa%*9TgAsieWw;%dH0CE!od_r9R zgTeCU%hfg16%`dFB_-FcT`MFcG;`+6o}L~nD=SAQ$L8kdnwpxDk`iNMV?90Hw6ruJ zJ1Q#5-{0@dnKM8we*XRt1=-ozKv|#^Q03txM}S7{?Z0{wXqQ4skY6yvf1of5IAd&F zKGWC*2tw1!XMQ%wKMhpNS>O>_%)r1c1j3A$?$-SQ3d)qYMwA5SrEak7F}3vKO`$^yJgtcv*14*3Y_+cZzx|D3>>SN+`x7SR7qtid-~HCB>?G5?%?++% z7oxmVJnya8slYUC|DtQNRzq$nXS!NNh`q{qe+_xo?{-f4rhDj!)1)di$jC9c}_fJEuIm|vwqP6 zj=!5%u^;>xXv(##qWAOPW5(wKmkIAN;k>l7Q{wE(lP47G*LYsGDG%dLC| u-W7?3r7X?u+Nai)c3ARHWR%H;Z;V&91T)uhc)bETiNVv=&t;ucLK6Vp3!QKP literal 0 HcmV?d00001 diff --git a/public/stylesheets/vendor/images/form-radio-on.png b/public/stylesheets/vendor/images/form-radio-on.png new file mode 100644 index 0000000000000000000000000000000000000000..ddc40497055e1e4dc24b4cb2397923b9ae3061f9 GIT binary patch literal 519 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQa%*9TgAsieWw;%dH0CE!od_r9R zg8`5S6o3Ez{ne{i&zw24X3ZJ_et|7pwmg6S{MfN$4CnrTk#gdYepReNg_0n@V21ypp@K?E zN}+cJ1(iZWm6VK)LxCU-2+GSlX08glzdIPHmb1VkvY3H^TL^?1FWs&C0~C}gag8Vm z&QB{TPb^Aha7@WhN>y;nEJ`iUFUl@fa1J&t-1^uIs7@55&bcTxu_QA;Paz~TH z&OKalKC$AO@{^t>{r9zE!e{?{5>olJk8kfQ+ldPlwbFNQnA>`SLuu;X*xR?`I9Ov{ zo-F;O7}p^&cfrjKZ_*#1+xsAmWvcgTgX3G&uD2&OmfrSyczV`>IQ#t4sB8BoZTTxV pximrST*Gc(zOY%r`_uj`_t#Y7|G7@rs~+en22WQ%mvv4FO#lm@&w~H} literal 0 HcmV?d00001 diff --git a/public/stylesheets/vendor/images/icon-search-black.png b/public/stylesheets/vendor/images/icon-search-black.png new file mode 100644 index 0000000000000000000000000000000000000000..5721120f8df590d9b745fe96342590600580954b GIT binary patch literal 1245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=$frY8Dg{g^?frWvgp^KZNxsipFqp^##k(sHh zxvLpWuSMv>2~2MaLa!-Ky`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-@<#X&zK> z3U0R;~ffC;SG&XwqMVf^ch~>^Yvx!tm1jqY457ni}SVjYVq%taI-#D(4G9|(WxaX8>%?0 zEnMtZ3AiXPE9g4;pNVTjo8X=Vv9Bv!*uMofb@+W(Ul1LCXEFch9S5!T3|b`D#=Epi z8!X$`Q#^T}SV3DB&kn}5KMpmXj4}KwX0EWLVYv=t|Er^U4l+M8P6%CCB3I7rXTtng z(ro%`J;}32*E3kFzD&w~E`3 zu1)(le}&!cgTHxZ+{t1VE?exk>B-DH*~0fXyl=eG&%n&E;IvbH^`pPBpaRF!)z4*} HQ$iB}ksr6J literal 0 HcmV?d00001 diff --git a/public/stylesheets/vendor/images/icons-18-black.png b/public/stylesheets/vendor/images/icons-18-black.png new file mode 100644 index 0000000000000000000000000000000000000000..38f47267fb628003f6c97a7b6178e24a2fd26779 GIT binary patch literal 907 zcmeAS@N?(olHy`uVBq!ia0y~yU@`!*MOc`DWMZvUD3D?M>?UAix?7ZhbFYWriZcct$6t(}y z#y=^K{seo)rd;8boa&T%&{8Js`LCD=zhz0F5=U3m~F_fxWKa`*ct*)1tOcrEYWX?SE`{PHEnROkCCcE8rLOoZ6 zi<`RNz4$mKam!6UwlimaC%PCd?YAhqcVlhdh6OWORIaym1k6yVbG>2t^q_arp)ZTq z@5t*i2p5`fn1B9r*~)wWK0dhi>aJA(a}Kt)**70g6Kt8vb^qqH`vq3g4s%1wcRS3< zQ$JlIyJ9U{{*-6IH@#Z#ZaH;4pr?Z^+rjsHmyh4mzC&->0=es?jb13_?nulj{B02@ z*!D4ld;7gvtArMZ_3KIc#4SHBcQEWVv#3eI+!O0R9R5BztNj4S@fUp`9^H(a_;zkq zy~Ub3+gIz8@7-7Jnd0d2be3$`Op#>?{3nbf5|_x#JF`z{p7W-uS}tqmZ8JD}@!X8Z zTPK<4$mB`xb7V|ZU%F+I^zBMrjw+dDB0H77^&K>0SGzpr&LVw@FYJ8ruk((|p6^eN zzO8j$l}FxohLN4Y*Xx^3B=sb}l+fmx7P0IH(^tb69*36HtmDp{|2p8@oGn|TlEl1z z#)SXiz8OBHTt8{vv_n(Ai+{XjWNu>;abbo*>xbo`@=8yez6ZG7owLJF>;(6`;^(d> zn#7`$?iJT*i_G|THB_PGY!YMhv@qiLw@0#o>6gLN L)z4*}Q$iB}wB3K1 literal 0 HcmV?d00001 diff --git a/public/stylesheets/vendor/images/icons-18-white.png b/public/stylesheets/vendor/images/icons-18-white.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb28345132b983f4723ab4492849286c72be8cc GIT binary patch literal 908 zcmeAS@N?(olHy`uVBq!ia0y~yVA2D!g;!o#tC7LQe@t0vY|8%_5*GJ>EI3f#DQ%a2Mpdw+yZ5+1-_+MH^!B^f zrc0ZqhE3R1E4Xwa+d;dSn{$>gt=w01Z2ql|=LKO#9-oApB6B{4ygXmD;(gUs(Wkaf zS!z=gfYIQYl z*LP2!>$RaORrtK3Wa;j<$E()&EVs${$ofo4>B>=`dFs*@%eP7y$7(FnOfcCsOOpeA@&rSfntIorpDACESbnzRSW)G^&ypN3ryC#Ybi2fJ^O|L({-Yq5 zi_S40&0i{oPVnkYGZb5PF?G|*p4S3Twu$a$E3&9y^Nj78!STAVMg3dZKA!9Dj@z?$ zB;NQogLB)&b^XVtP3^rZ?~q;N{&I2~%agT@CtrPeC405u7xVLV)8}ux^X`vI*w^(o z(+hU*4&2#ry=|)B38llS5?SZ&#)#`|bnQ>x#eQX8$;CUDC(o*m+T4BV9gp%EhgsFT zUf0VvAM)K8Fw-(>v3Isue0a~h#zx!S!PAfFrG6Ki@V-bny&rm;qH zC(Wx~`~Fh+l&8#vyCyO}m8mrLm{`yHsotTHiS?gj4s!~JVxfh&3nwrEGkCiCxvX~HPAICrCM~hr_evFP{;r!^vCOe@kvxyUpZTT^ZF%q{i%P7%fN8gQ^jE#)) zV`4eUf*7Kh&1*-_j7Uk>9H*VOa@ zTA)7`I0$h<;bZ8`+x4xzNHPHEEPkn7j9k4?_0foi4yJihNs+WT z3fUYN_Y(<#IXb`)4lu`|*oq-FVfux@QetTINGb{Nh^7!p=3a4B5}iVgPd4|&Iww7z zK>&bOxev+%ms+L@^~fdQ4g6Q(aTCIy4aET+B}XuBGcOq>oI{B+^xG#+Ni{ZB!+w>} z7@EaV^t~;O^l(tPS5h^K*=X;<`~?pR4FmlcTCZXkDpFTkrSq15{Kff$gpnM1p}Fe6 zd~#)CC1bAa8pUpQ>R+`dA|neUwKu+C{{7* zD*U2l;go|sLG)%N2H&c_WAcC0Nwm`qR8r+dePP%8y8E8_XRhtt^#Zs3^5J!t-)%sLpT1>X-;TMa5j^Yn zGzf3m`JeZ}4If4O2#q5nrrRMxx8ofI<1~v%%Ry#tfVm$ZRaYFIpQe@GPrhih={{7n zy)JOdgCoj#($>4q_EJoa;o!(6W`cpSF64qFo)5M8DHj$X!gqaFZId!^^71d;eE~-WDGvd+;1WNoMJb4A)=;M)JrEJZ-}aOPp_6NSOp|88VMH zt-WvA3k>Hm7h15ATb;`T+d)6HR&2_0dYVPIz!2zfGh1*Dnh$MVjzWa5Qsu(dQ&V(` zoa=oB)T~`Bv8J2!=t2_D6UDdOqaVUusbWQ9L4i_vxmIvI4zc=>C5kN_ZJbhgp^K4W zkAC1bx$g?SEPvO)FzJqQaXJ|6zq`8Ul(s$0hHlNC+pjr)j&+E^K)o-lokP7%VF^oie`H=Zp+hj_2~8MZk) z*>R5sT7oYPCd`t8I}kZY*TwVCOVhR4haQ1Us`WM~xI~&rL)TtFKYQK}kpf18XA$Kw z*lcoN7U!Hre7*0AfpOZCGf$IF`(07>j&_=i-nY|fGfs0itB+8?2fvF*I-gKah*FAe z#5VhP9d~O9yD*VV%kjqA|M_G4*K0v^5T@{Hpi=T@fM*wKB4RmM(@)ZKzpBT&@xmD5 zt6%qOMt`W9uW}>eRHOA@@xMmq?R}p2ihn@8tqL%yH)D6N#}||?bdtK z>yb}#mAgIbT;oSVtQc0-r^UMa5PKp_Gfy`sxI~Af;$$@^>uUQed)-`YQefd#abltU zx%Rdzpy|J2magK2I+LyqsOI*4xYyNuc1yRLux8Cwyo4=w$!HQ}&SB`WEnTUG&RO}3 zU{3R$vSHb2`X)S8rJr$P{Y`!-`~%qc1bqMi literal 0 HcmV?d00001 diff --git a/public/stylesheets/vendor/images/icons-36-white.png b/public/stylesheets/vendor/images/icons-36-white.png new file mode 100644 index 0000000000000000000000000000000000000000..038cae40d4993a2ed190568cfcaa581bac8057cf GIT binary patch literal 1692 zcmb7^e>~HPAICrCM~hr_#^@;4I6u0v$xi5EHqD8~w)`$XHWIfn%jiUp9ep=uGBz^G zkBLowe0!8fjTE^N`A~?eiavSmu~%akMEz~=i~AI`Fg$oeRJ@>r}cCW=>Pzr z=Y_-g1Au0zx`%0MsIzCR16Ex$lF(j65D280Iy@rYmdlPU$NdTa;_$79+a`b}LOG5@Wkl{h6L@;7$R5N1i zPZR)QZ-+qHA?$}^%7@hslP?YeEtuufH4@sclP|%OT(q(ReGG(=;XCC&)U%Wpk_|_xOG}nArPOeU@ zrq7lBOtYDt`j_?ubVNaf_U5;f?5+%8!4B*>Yb(yTa}=+C4De7Ies7~w!Ezr|MCFDC zY-8TLejl`5tSBwrw!CPaE<8YA>Q%7FApGFUPqHu zeK5OIXVL|NPZ>&igl41S^L{>uT6^6iMgSft92}m$RqZ|YtsgXGp@%d|s5XC6F;_zl z^txD`>2Y`zy2ZPBoGdLP&-*uPl&nm0272%a6X!bdjg=)E;YN~iP4+rs%LX|>_?Tm|BKUt5?LkCZ}cx%po_|5_T0x=I)ih^QJHmQdUsBI zfBKbB&ueS+=dS>p;)AN+P}c}GVYWxmOaX(_NuCLwC$ph1V~-xT2#9Jz>xlxoDl4~##_tI`Msik?2!~SrI5`|MX1V*whjoZ# zoZ%fHU#D~#7FT-GpV{=i?7n06iEn*-Bj07eVr0YVcPr50$FDh8ccOpR2%PnK96*9~ z{^wm_-3Q6OkowV4lbs;3%khp7qg3+<*bqC%&&)@NsVxf2OVvsnpk6TCavd(**$_G8 zB2lG+o|fB=wmtZ4gQ3xj?0B$|F7$kBoDgpHQx3vULhAai$|`yAOvFFMapitlJ6m%=`v+Pe!fa|sYY}>7PWSdBZ(;)tDjPOVvEqB_kZ9w zxb6zRql8?xFi2<0`#P8Zm(((a^OOG0&XyK_x@5kXck&G$D)H zpUFFG9w+r)1skP4I{i4&&FAuR-&m*d*j*c)HltKmQ)##oIrLq4;<$ppE==q5xMmCOM`{$4CU#|x+LHL5l{;JkL{XDub6X7d?nm(<)cPo1>>(7s)zWQ~q zCi#8ke5Feyad}MomGEnH?%pRVwwx~Q#Z3@R8?`Y8492Vcc8ip0ELawnZZh3{s6F8(8E#GSPUN5zqP+TKZOuSMpNo@KG9s)pRwlMR+un8= zH2qif(iNguXVSS2)6~9?__9jKZSHmvSFbzEmIy^o=?$WcIXp9_xhuuMF*9!w!fU!! zIwE&tZXr{a_0vymyvj>qwm*PPH!1AW=sVZ%)idX4$_(w15$gW`CGXTb7oW{5-YZnY Qa`i(8ys*BQ26Q;