From e81d1d68e97a3285b7af0e3be667ccc148668513 Mon Sep 17 00:00:00 2001 From: odex Date: Wed, 17 Jul 2024 11:40:10 +0300 Subject: [PATCH] fix some --- .../controllers/rest_api_v2/loan.py | 18 +++++++++++++----- odex25_mobile/odex_mobile/models/res_users.py | 2 +- .../__pycache__/__init__.cpython-38.pyc | Bin 276 -> 0 bytes .../__pycache__/http_helper.cpython-38.pyc | Bin 4092 -> 0 bytes .../__pycache__/validator.cpython-38.pyc | Bin 7764 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 288 -> 0 bytes .../__pycache__/authentication.cpython-38.pyc | Bin 2282 -> 0 bytes .../__pycache__/web.cpython-38.pyc | Bin 968 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 333 -> 0 bytes .../attendence_zone_config.cpython-38.pyc | Bin 1008 -> 0 bytes .../__pycache__/hr_employee.cpython-38.pyc | Bin 1282 -> 0 bytes .../__pycache__/mail_thread.cpython-38.pyc | Bin 1400 -> 0 bytes 12 files changed, 14 insertions(+), 6 deletions(-) delete mode 100644 odex25_mobile/odex_web_app/__pycache__/__init__.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/__pycache__/http_helper.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/__pycache__/validator.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/controllers/__pycache__/__init__.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/controllers/__pycache__/authentication.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/controllers/__pycache__/web.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/models/__pycache__/__init__.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/models/__pycache__/attendence_zone_config.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/models/__pycache__/hr_employee.cpython-38.pyc delete mode 100644 odex25_mobile/odex_web_app/models/__pycache__/mail_thread.cpython-38.pyc diff --git a/odex25_mobile/odex_mobile/controllers/rest_api_v2/loan.py b/odex25_mobile/odex_mobile/controllers/rest_api_v2/loan.py index c54317841..00520d5c1 100644 --- a/odex25_mobile/odex_mobile/controllers/rest_api_v2/loan.py +++ b/odex25_mobile/odex_mobile/controllers/rest_api_v2/loan.py @@ -2,7 +2,6 @@ import werkzeug from odoo import http,tools from odoo.http import request, Response -from odoo.addons.auth_signup.models.res_users import SignupError from odoo.exceptions import UserError import base64 from ...validator import validator @@ -126,9 +125,18 @@ class LoanController(http.Controller): 'months':body['months'], }) if loans: - value = {'id': loans.id, 'code': loans.code, 'expect_amount': loans.emp_expect_amount, 'date': str(loans.date), - 'state_name':loans.state, 'installment_amount': loans.installment_amount, 'state': validator.get_state_name(loans,loans.state), 'months': loans.months, - 'request_type_id':loans.request_type.id, 'request_type_name':loans.request_type.name} + value = { + "id": loans.id, + "code": loans.code, + "expect_amount": loans.emp_expect_amount, + "date": str(loans.date), + "state_name": loans.state, + "installment_amount": loans.installment_amount, + "state": validator.get_state_name(loans, loans.state), + "months": loans.months, + "request_type_id": loans.request_type.id, + "request_type_name": loans.request_type.name, + } lines = [] if loans.deduction_lines: for l in loans.deduction_lines: @@ -271,4 +279,4 @@ class LoanController(http.Controller): except Exception as e: _logger.error(str(e)) message = validator.get_server_error(e, user) - return http_helper.errcode(code=403, message=message) \ No newline at end of file + return http_helper.errcode(code=403, message=message) diff --git a/odex25_mobile/odex_mobile/models/res_users.py b/odex25_mobile/odex_mobile/models/res_users.py index fde67073e..4ad63af00 100644 --- a/odex25_mobile/odex_mobile/models/res_users.py +++ b/odex25_mobile/odex_mobile/models/res_users.py @@ -66,7 +66,7 @@ class Users(models.Model): d["job"] = employee.job_id.name if employee and employee.job_id else None d["employe_id"] = employee.id if employee and employee.id else None d["attendance_status"] = attendance_status if attendance_status else None - + d['is_approve'] = 'group_division_manager' in d.get('groups',[]) res.append(d) return res[0] if single else res diff --git a/odex25_mobile/odex_web_app/__pycache__/__init__.cpython-38.pyc b/odex25_mobile/odex_web_app/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 30dc47f3d89587316f49c70686e2e69ef373825e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmYk0y-EZz5XX~Ul|%2|z`}Nmy?|gRa)q`wav;})>}J$RzDQ=d_y9hPue7a|uVCfm zL~vmK^P6G5wyV`CtM>T*Bq)3yl7G?=Z^-jGiDsHx=J<~D$_;U|Ylzzi)*XFuYU%iV z;(`X7iO$C0F$HTO<@>IkS*q(&OY*_eapfxCML5t#iT#T~D9;K(Y=_C?ba7V@ycV}% zoE&(}0!oC0eN5pMM#||_xxDH#Dz8=2J>8xx{MDrkgRyYvl6x4Wicv^uyg@0~@oipQ O{|?;L-*f$L$$tPX=1Lm? diff --git a/odex25_mobile/odex_web_app/__pycache__/http_helper.cpython-38.pyc b/odex25_mobile/odex_web_app/__pycache__/http_helper.cpython-38.pyc deleted file mode 100644 index 09f0ddcdf550a51f29e3cc6dfebbb41c86d5f627..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4092 zcmbVPOLN@D5uO3CSnP7SddrgYf)i1$P0UA0RvwI~Sdpbjm3Xa)R4nZwC~#*;g2Do; z0U%PFRjEpjIV{VUFh3x_A-@4vpLF+$l`7}!!M;c-PGX=i=$UEE^yBNE#>3g! zDx>SsA2;4R!PpnNGu4zpe}pI5LL->qA?xrK=R_N!(J@i$=Srd7 zDubsKIxR;!gNm%~^VW>8MOiqaBC4CER_#|z%!t}cCTcH?)~uX;!CG}uT4jyd*Vv6U zcy4W_X}4kIWhI|xGD&miflRt_l*re-;HW(F!$A0HteUwIh`bcWn?aOYk>8PdwHQh8o^Vx&9{w!ud)N9nRC%Fm5GVGoX8{z;wU%7`T=a0 z$Z+F;sWX^6{KH~Liojpo*$Ps*y9rAyK3vbDG;?q7rZN(XAII&iBcn7~l)I22o$so6 zTei`Uh1|VzZ64-}gs;SWCl*;KN8?^6UJpX4xx5{@?)lyBB6-c*(#kA!pXZfLnR?p% zv!sQMh8YI4zv`WxXuU9II-)=M$HAlZ{|AUd`#s*PrRFxfQV(&ihW9`1RVZp;rvsc|oHiLyA>Sk$g zM$=NMSS9)CyK8Iry_*l$?tc2Y;s|~GJ$c+uOVHH^}VGeL~(tW;O&kQH>u~g<0w^e7)te4 zBPLn9ja;^}rZVXU5ztEurCUMbs$u?jK@ZtBve3nvQ9QBPl&d;e$lsJJ%{Y?ou=6#Z zg;o55mncGkl4+)*u~t({w~-oGt}HFN6pL8XPqPH72{~pyu#lAtW%BZH^W379bBh=O z!5WZ<44lrdJ@3liNuisk~Dg zN#R{vTKWWY31vRUd+$u)dz$BP_QRzQ-DaG+cj7D(-$=^8jHFaQC24*}&3}{&+uaAl z*UAMRlItpDQtN>bGWtex{rUfs>+0%%m+R^qg3!^U-FOnjv>SEco6S2YLNxvebp;5? zN*E=-Yb+L{$1GL`J}D4>2d;IDJGOg49?Z%5r@+VEb&(!~wwZw)%#Cmr`Tf z9N^#<97nm;FYO~qDJns5+MUCTYC;us^?|BT{j$8~V(s<3*qUg$(^pBBs;MZ zY6e|Zp)s?&^F~0`g2Wpy@)%qReNHDL-A4dA&3QyYT70ZvgwFr2;GW&LlN)eQi6Tr` zuZ&gHK!Y+&;cQoswTBeymlAqTzub3(eVtr71FHNARV8W_eZB;L0)b7bL=!6 ze$m#MgucK<^w<%Uji{6y82cz5KxteJtbI1n#_sbCbCd7$flc!QMFx^v@8b4O>YmK8%jFE)fJ59Wq2Ha zteg5T={KN}@>cZ(K^VQ(Y*B%D8-WZ(qIb)SI=%SCdYk0AbG Ks2X*%p8Xq8p}z+J diff --git a/odex25_mobile/odex_web_app/__pycache__/validator.cpython-38.pyc b/odex25_mobile/odex_web_app/__pycache__/validator.cpython-38.pyc deleted file mode 100644 index 9f94059b95723488e33b303bf2ce49b27b0a2e88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7764 zcmd5>O>i4WcAlO;3_y?sDUu>3nWh}sF=&f)oH%Pc@?TcuMjM;!5+(m2md8W%kQ@-e zP(1^R#DemcC2x6C@kU#_+59OfAeSv~rFP>=Wh==kl~YbRlYPx4Iwpr4RM|M+>%o8o zO*!^01o8T3x_i1`zwdjm8&?Mha~l1<_2KH!W19AFs&Ggc$iIwl^a}{CaaPqzNyC>4-e)k1BgG@_o_)zR9C(ur<6%)!^%WBz!Dl_q$mbdo!z$!};p%X7Cip1Y-& zru?Z}TIm#L%UW^Z9_Fqs6)kD5$ML4jM84Px%D!}jzZOKX*pd0=tFJFyzPh|{*}Zg8 zGPlTNM)=noeiS1+eQ{y&m8-8_aq;{OG`aZ7m4z#pUR!V%zjgVwSFWIiS@we}QYZ4u z4H3jU&9l))g|GU*@odAt{yz|Yc&Odkd zSI#~9*ssn$@y`4UFTLx&_wCm1&GXluc>Ja3-e{=DWt>vG(Us1z#rn%NJsd? zd7Rv+iSO6(jb4S|Y*&x97Q4lESqoF&(8MIy>w2qO zp43|Un6_)svq@Ox1{2S6vu-ElU9-hnMoVv*t0rD+E!`W#nD-cjAhC$uHiCLgRu%cx zRcUT|YreFqK`n@-9j>lMevC@tZ+)T(>U)1@zUK45o4>Ih#Qyf07yI*9R~q%WF|)88 z`*l8lF)TM~em#!n{q0R(#OF6fSn) zkp7Xjdm4Wlg+tnAC$(J`v$o#Sxqe#fFz6YY#vaUaV;Q@$3?_hH%_T92o`UAFSTw{C zQfbz_cwJXPH0%C$tTdX4ae6j+%w%0^_%NP!SLtAtL-?9{^N}xH zrRvycT(oR5FlAiNA`@#BRskZWw6@XFDkj%CmRGS>jWxy$+D-_%pVg&CmIZ?1y zcf&?p%m{*k$UsQLuW!K~8$6VD7;LxX4M1#k#!!@dmcc(l{!%%!J88jj4R%{YU`^flH|+T{9_c8ko0 zRgA=FU?j$pv|#$NFSCFe06}XprOAVGEOV=YU*(aDNlODlz>TGLBaLvSqAFxg4d9Ya zkFIx!)_d^y*J!0=*BU#=nv?x2JZRQuAG8DXRrW!)oIruI4I&SH>7I?cPrw*ezh2an zT`-TE%U}?>TZCLS(`V2tQY6QkCl4ml*XFCugEm0SL!`5CHoYji0mC|~m66_C(iUX* z>1<9PGn=$s-;4-3w0NbN3&=EQ6F-8z2kCa$MeO%G`Yt{|%j5KYQ{&Lun_3+q0)5`r z>iSy<2cSuNsZ8XX{*h|P?w9e6Xy4bgmUeBL_#T7918}`#v{^?JW(xlbB5Wv!waph_pf}U{Z0!H2 z)|@{^FV(QD2zTxR<*Lz($fW)6vnQ{RE3u-@Y7qATns$M~c%Q@P!Oo=3ev4*7)TuEY zB<`>rv+-#jw@YcCzFi_k_NY9u-!>zab#$nUEkR?t@Wl+8NefYvzn$8T<=4ERdQ?M0 zJ>yZ2FQQ*+Ifnq%->7dwG?|{+yo^F~PVFh{uxN~9e|!D~p-BhE178DgolwS`Fo-_W zp+y)=_t_JRpbcUI5l1(IcwOc<*TcGBZ`4+N5lL&)6Ok{6d-F;jbe#|$Q)6i-wIx`K zLh6IpuG)Wt);EPb$uqkaci@?=ReeI+wOepi#q84J zJu(Q%a^h>0T7KQVy4*Zl4(l;I$&ANqL476^GYDtm8T`NI)f-;5y3?ql`QA_VZ|{A& z_t$$r+3U=x!cX@Mdf$*zt^-Mjh>u&G%DKSDVnM2iM2=&*GMC3tdM`J zuL&|FxJl*vm@mx+4gi9tP}DSp ztt{v^aygcRN6fS4sRIHy+O^NXX-;(XQoQ(MWST38DKsK0r0|7Y|Co#%teDm#Fg2#I z?cAIK8{Rcx1V+Vd8MK`|gLuP??Us3qF_2(8(?S5N+Jgd7V-hG#Ep|3?;ttbxEv7XK zakianSsnEF0DSulD0A1kX}y&)E(K`L(mk?2P?X8Nok*NT0a0#x)$Ovv|cL?NCy$S9|twyrxBOy;SHIk68EdICymMt#LRxZ zj5t^3mKVN$dEtuty9;jvasn|nAnR@UZX9m-b(vk*F8iAl0?3Sud0@|AptLnG0u?O2 zfvE_>iOg(zJ797yt)#E+e~!!ZW#MCH$>1yK6rF=0tWM}U&hIl@<+BUaZYyu|+XaZ~m*2;*BNv`eCIP?UyS!gMt42Q@4fb4Qe-+?e7Ev4Q5&4CldH6H^F;4bAZ`8To~ zz`w2RhK?95*43Z^4I0p(4Gq4^GdOWM7jPGXGWH@a_ROkKCZj4N_hBvv{aIOl6u`hvqln7LwL(p0ikUN2snn z+JP^QL2M|Upqfe^q5d#dG6n>UceLG1D+6Mp{uAgm(Xxt@nqo5UA!C={@75EU+=0E{hX^m={B$QhKY@!InEViiX z8VRy!IZmN+10>sh-evN^z9R02g2-E``YvCQ1LQj?+#uhqmxUbY7Su5hYQddGrduV5 zVC48hvbx@?7RV(ifD4LB;BEwB{1vaffg@umaK!+)m*vQ%L_tbhNuLUugEW*cQ49&t zM~y1(3GqPGNT>y>_vRH5r&9^(;Z+hx&eZt?@yW{n5DlUd1Y!s{8U253E2Rs%qp(33 zNm|fzNo)akV`}DSjzJD7XG{~l^jcBfnCdaDQ}9o>9EY9L;aB%j4!MFJ<@^FB)%^E_ zaJX?7w-*FMiZ!~FgDB&3l#|&oqUT#i^g4n_oo7KiIiv$AFk`ENK5>TU`JjqVXvCpp z#EOA?LBuP(Fr}$mlMEmESSQkn{*sR#JK6*1({_kt6x7G)-FyHM5&~n?S&Gi!U;~Ew z@pNVYyj965u&)5@Ho*SYgV+02#*YWu`FOBB)JHV-O}j@lR%JLYbcyC~@a~Kvny%jX zM6&Y!QH~Hz=4PgkXig$v{}=4#Cx(J{LNzy0aU9=>7ClgGv`abF?mfzVhr|aY2+b;@ z`-G|6rj$&8n;EkA1F}lUgkrg3IVvVVJP`e}0vdsR zjG&f6Dj?wX11zfm_I%gKzxf3K%k=Ei-g94RHCOsE$tg zf=-u;&ZHUgFifuP>8K>=lqf6`bS)sW^mvYbt5ggsbE+JNVKq|6H*txY((gCwM-rJ= z&%w*|t7Z~%Wf4HVst(8EFQ}ce6cw&rq#`XzX1gj!m~_mtrE?+C`HNtuf)*wt9g& zT^Ng_m07?PAz>d=c!81fpkZ2G^%<4dD(T(@T`c_7r3-_xuyL!vEoH$7vEKnb!B9?%nZ=^+v*e;BwPEgrJu$RSpNlB~hLm?^4 zR%M`o(@OyZIpx%Yd~AL}e?Wgk!E1p6`3t$UL&{Rr0^J3)+lk{jinii> zQt%3jMsd+A;vBZ)Qd06tz{_DLE+=KLd?l}V6?IP4tHL)Q*OC=)1!<%@T_tOm$gAT5 zF5(g{<4V`^*1y(p71y3?xJLB;wR6L}j!|1{th@%i+I~Y9W{>lMuy~fm43;(}&xV9? z;e1EfAWIo(AW>{b-E=tEp){kg%pWpB)#9}dRwU;*h$9?uB`!*feviZhBDIk(oI$|Y zD5Kb`%qc&lrvolZDH-{5o+yNr1f2N82#frPMl&*$P?sME7WZMWyD$;WLs;{4V)RXn zu#OFEVhiWG2-_DBJe+^7og>e}1#r74HohA29!Yr=20Y5r2U*H#7RQ8+t1SwC`@tY; z#aTB>sq{^lX_k^*f!-J9<45g-h9yjXIv~Ofz>Y9OMmsQPlnFZ_yq94XBG@;7AZN53 zjBjAD-#{`!Q^=A_bfzmx2g;b}>@G)rfX)H@Ig;=%jJ7s0*!F^NFY%=f=Mu4_g*5*k zX#u1^E~Le`Qf~GwT)Lr6bC+7*hJckPddGlZRdDq}KQkvLeKj%r4*PwvyLOJI`3WGM z4gxmgPzP3iy|sQPV1h{5-RHtuHau7Z}z7 zgV|qMLg7rD7l=Ml5duFI?ete)AogV9NaWKs?98PRL=$Oh$4kWn-$C`1bXQ4S(YXcyv>G)VQ@TtXW=^;9o{B;9rj48A2hX zK|@ml5~)SnecNyNvSvS{5P46|X% z-BHAQu5!oy;ml1l?skBW$9E3X;3y_8&syOA0?6@s=ya$u)H`0v_1qyJ$A?{UhI>R_Vm5mAdNucaE z)`ig}oXS=#9Pm-~C0dl$Ovy7ydMr#f#F@x3640n;*)&leh(|4sgOSL3nhcOAD9X9fCCW$*je>zgsj}!TD9Ap8)sG&#i>uC}@p((Bw|K(DYh|NAP2Y?#>A(DQ<0N;V=Qb ztVK?skMgYn&H5ySH6TCv;G-?ZgA@l8ZzUNX#$?X-lk6ypiPDl$hkiC_g^Mo7T8lWS z{?{CwilWK`f6#+Yw+`Ugr!Z-H0Tqym>N*Ud>IMwm1@0=+|IQgD;IE^E}4@qJl3zAp+spq5SmUGn{B!yukXX7RUZHspkU2B1{%mL`dm z)?iwL!DKEt`Zc6DjSb<92z@#x!>%whoMp-yH9$$^<+>^FDV0D}UgP49Vg?w)t=E)c z@|n8!ngEW(tO<$d%k*GWc63oy>f|IO19_7$YD;eJC}8B{4^?i>64vaqEEP6*50^?; z)YUe1-8MN5QWnF{SGg?mkmL_R4f6AIY0LKICPKYhduPABcd+;Uj=#IN^KiQ@3U4ni mO1&RcY!QqCN9{wC(@68XVP>yk$Lo}Am>73mK zg5J|>zUC%*fb)Z0hie33`8>Rf)_hIZ>>ioGxFfRj1U0mdq{3l~Brs zR;kLkXpA40Qx{CZ>Hv|u&La`7`;3VIC|GE_Iq>pI0!A0;ksUjeiMop;nEB_PMt54f7JuwQnZhM8-QY-J$JHKhj-)+NRj@vb7pM=(PR6gWJm+ ZDLuE^=XLSB2ULgH6vX%!V%nwM;2*@#3Zei2 diff --git a/odex25_mobile/odex_web_app/models/__pycache__/__init__.cpython-38.pyc b/odex25_mobile/odex_web_app/models/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d300be7ae7ef89a5de672cd5706ffdc356a01a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmYk1y-ve06ou_1AXM6wnUM^sB_uY47+_^Vl^~1d#J7!+|KvDo%EH9M@Jd;kcm*b| zgOIRvkH2G`>uYaTs|88x>3#c*+vjZlNrrrj)nA}UBB>^Z)|4jBkh40QIY-Xx9JzQT z<MZcq*{#~8pb<***aZ;sp)4j6(&UgQDNsI0 zI8L18`;8fpO0a#WB8)o`fo+<>#^L;aO!u=p*A513>=}$6LacmnFVLcQ62{A`s*l1- x5oBeY95no$bK@GNVNUTqG+cPkFao+~oGYs$=WBnMPOg9ZZqhgV^u8rs(jNzYTbuv@ diff --git a/odex25_mobile/odex_web_app/models/__pycache__/attendence_zone_config.cpython-38.pyc b/odex25_mobile/odex_web_app/models/__pycache__/attendence_zone_config.cpython-38.pyc deleted file mode 100644 index 564d9601c519b7ae196c928cf1dd7dd8114ebaa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1008 zcmZuwJ8u**5MJ*)_aKl^q(Mr_6}d%7G!a6Pl7J8*1(zVS1(vg(OC0uv?IU;F0%d+k z{*qfN{sI-_-MbKxtTdyU&))Gj^VuiEVb8JOr=Qc$uH*b_lUvTmcn?h-qvH-Ixl@po z6mIGkUg{No>Jy8*c~FFD*v4KSrO_LQ`#kvJ@Bqj~{M}2}5D9sNNQ6iakv{h(&M5wk zm7S4q!lL4kD-%uy`Qr;ZEvu zl6v4@1l;AGC3EGaVVfh3WghVuDXf`CA3*I_C1;ZFbSzgml0FqVw7aN1pVf8JX`L`_OGB9fZK@LJa^CeqMo7$> z3em;HCl5)B-I3mQyk|E)MR%X{S7a%>&pnJI9-!o*>9vx#0yh0l>n=fMRvM3pjInC7 zb|co2>?81RY+bZzvB&6!Xe-9fcx6viwu3D)AhEX*{sr5Q4zU0L diff --git a/odex25_mobile/odex_web_app/models/__pycache__/hr_employee.cpython-38.pyc b/odex25_mobile/odex_web_app/models/__pycache__/hr_employee.cpython-38.pyc deleted file mode 100644 index e3a21c38a88fc785603bec2604c8d234d092e797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1282 zcmZuxL5~|X6t>46XOc~}5vsNzAy@<)a@dSii3_5LYP*F?_p)1d@x_|N&Sqw3##7tV zCQ-tH7Kuy$K@Y%& zJ-+uflCfm3kYtJ!{g;FfBt1i;&L2<@jUu1O%qf>w%6Eg5s&v_idRA#rt!J}bmC|~W zHMz%Pg#DdwvoeQ|a$TPoqs{3wWZE6D&zn7c0*XQ$OT;6IIZ?ETWhBXK%$cMzeua2P zvVg|-zA-0NQ|hHstG&4yt6O96`1r};g_<0m>uXg*eP*4>>#J$BQ?dhk;Q1J)H6SG3 zM4{3e6{x^PRFDJU=S{RBj{Y2jm&tgIC3{1D!5g|daGfGqM{Bw!vh$j3;tOEy3{m8| z*F95Wv;o#vy$kdm`jyJ$3{GalzGs(U*U=?du!rvH>f^a{jr}}LXVYqYrS(;*fHpgx z>MFQWt7^F#W=&J((=CB%VRgM?*J}CTQ#*=Q{bOA_RlB3}WuyGyVe97FmF#`geElhsR+ zOa9IaH4%VKz`}E71VHgLpz^V7tH%04SagAV0iixI>RGF-vz|8EI^R86OjQ$_0S=K` zRnE)+_&56?JiDpy=|syV?-*qpU0aXUZ^(QA0e}9GLdWG<`eL3twYY*#OrK8L+O>x# z3*bSfkMy*yfDoIiMWc*6YK$&m_cn$0T-^Wc$hxeSnUP1(uWhMr{i4#7yj0t$fLj3R z=}k+gb0coMYuqgTLEuC*t(}WqCWnB}z7GOn8bx^jZ$>GmIKt6iNgUxJW-wPD{oA(V z|Ic$eN_-+jomEN*-xGi=00q4-#IrUl->xJgujk6-&csmD)8lz&%mJw8Fo;0cj`%Q` zT@az`Ed!AN%s$!rM*AjQ4ioO7r&?-l!f$4q*o0UU?u)+@R>tb~{H#fWml+^bSLSYr nyB9q1lkh9pX5K-t1r%WT*mtnIzyVTZ1KbHP@@RrX9=22Ynv0u75`tP%(ysSqlIuGu zQjbKD|ADIFM{9jTQtU^Bf_ihC60r) z$U|`lBJSDlbDrkkO_k(g-YdX9HfyKfI)&7lPh^63B0Jm3Hy}CywLlp1e)V|A$}#1s%A`?z_r>V8{(;B%>L6NzagSyhonuz{gTqzP4VY zrLx_cD^p4Z!2mq0Zn5>W%*X9TP_Av1!|R?i`k>~~4heTq*OfNFNR{whpZrUW8o>Uj zXX!*5OLJL5n^dac#vUY7UY0Uv+u+)U<1{x?Nnt~mnXBIRWKrkUOiJ+VgLb-Z^px## zZhhUr9aN6mE&DE|C{zz!-YyRtygcV>qT_qJ|FRbK-WGEm-{0hs~?a)IssCZ$B?Ii%%Ud96NlR-2#$$^F?r z10nY40Jp%MMuGJzQB}&_BL$BnT1VLbYNU