From 296f8da076f697c9be5e2938624c9a2151a72f02 Mon Sep 17 00:00:00 2001 From: EdipoSouza Date: Sun, 30 Jul 2017 12:44:17 -0300 Subject: [PATCH 1/4] Update check for navigation bar function --- .../teslesgendstracker/util/AppExtensions.kt | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/ediposouza/teslesgendstracker/util/AppExtensions.kt b/app/src/main/kotlin/com/ediposouza/teslesgendstracker/util/AppExtensions.kt index 25b7daa..836ce0a 100644 --- a/app/src/main/kotlin/com/ediposouza/teslesgendstracker/util/AppExtensions.kt +++ b/app/src/main/kotlin/com/ediposouza/teslesgendstracker/util/AppExtensions.kt @@ -14,7 +14,11 @@ import android.support.annotation.LayoutRes import android.support.design.widget.BottomSheetBehavior import android.support.v4.app.Fragment import android.support.v4.content.ContextCompat -import android.view.* +import android.util.DisplayMetrics +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager import android.widget.ImageView import android.widget.ListPopupWindow import android.widget.Spinner @@ -311,9 +315,21 @@ fun Context.getCurrentVersion(): String { } fun Context.hasNavigationBar(): Boolean { - val hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); - val hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME); - return (!(hasBackKey && hasHomeKey)) + val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager + val display = windowManager.getDefaultDisplay(); + + val realDisplayMetrics = DisplayMetrics(); + display.getRealMetrics(realDisplayMetrics); + val realHeight = realDisplayMetrics.heightPixels; + val realWidth = realDisplayMetrics.widthPixels; + + val displayMetrics = DisplayMetrics(); + display.getMetrics(displayMetrics); + val displayHeight = displayMetrics.heightPixels; + val displayWidth = displayMetrics.widthPixels; + + val hasSoftwareKeys = (realWidth > displayWidth) || (realHeight > displayHeight); + return hasSoftwareKeys; } fun Activity.hasPermission(permission: String): Boolean { From 83a292502854b970ce723452146daf5154ac7bf8 Mon Sep 17 00:00:00 2001 From: EdipoSouza Date: Sun, 30 Jul 2017 13:34:42 -0300 Subject: [PATCH 2/4] Add alternative art cards source. Add Ash Servant alternative art card image --- .idea/misc.xml | 5 +--- .../Core/Intelligence/ashservant_alt.webp | Bin 0 -> 30370 bytes .../teslesgendstracker/data/Card.kt | 8 ++++--- .../interactor/FirebaseParsers.kt | 3 ++- .../ui/cards/CardActivity.kt | 5 ++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + database/dbCards.json | 22 ++++++++++++------ gradle/wrapper/gradle-wrapper.properties | 4 ++-- 13 files changed, 36 insertions(+), 17 deletions(-) create mode 100644 app/src/main/assets/Cards/Core/Intelligence/ashservant_alt.webp diff --git a/.idea/misc.xml b/.idea/misc.xml index 3adce03..f95c846 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,8 +1,5 @@ - - - - + \ No newline at end of file diff --git a/app/src/main/assets/Cards/Core/Intelligence/ashservant_alt.webp b/app/src/main/assets/Cards/Core/Intelligence/ashservant_alt.webp new file mode 100644 index 0000000000000000000000000000000000000000..eafc326621872eb89fefe03b1fb02dfb1bc669b7 GIT binary patch literal 30370 zcmV)LK)JtCNk&GRb^riZMM6+kP&il$0000G000180RTe+06|PpNGk#W00Fn4D3YY+ zaw7chj{yYWUm7MNA^|@UlWNr79ewUYKyV{Tk(A5KyZQgW?orp2`a(+;(f| xNoY;mjEE zfD!SaAAUUW2Okd}vB_jI+4<)bY=`&vy*6@=KXBrm=6-UQIh$!}?l7n0m*^5*n!+W~CDA3( zB^}_B#$=h_W^=gkE&qKkq%%BMHQ%7KQNS@c3W|-wLZiUMoD~`v1*c2pzw%%Cul!g3 zEB}@M%75j*@?ZI{{8#=f|CRr0A6v9W<~5etI>2SP^w^~lT&fS)ue+9TnJ&|{gv+Mu zehHU95i?t6YY&&%GQ6W!rdN$uaG5Q$Wwxep8Q}(I>&n*1Y?-YoT%t>K?cowb^9Djl zEyr+)F7dN&Bz)9*50~IkKy;1~Cgdn2I0{Oas8QG>Tw>+|mmay6aEYxETw+UXsr*+G zTEnF`H7@^^|H^;mzw%%Cul)BJgn7M2S{vCoS3?`c+{Q4u5zKBo(@U4jf91dOU-_^6 z2Zl1d1W<;ZrX*YKm1CDF&2tl_*U0N|BKGMmi#399#;EF_fPv? zXZ=a%SN^Z8PwPMNeS^QRbX@)6^(Fg{`$_KG|3mhZ-sktv`Ch``(ZAP!|MtQ4a{n#= zpV-Ux)Bm@$pZ^ct&xkMYU-`dyJ+*y6KmYr7^Y8M*(T|tkxBR{H|MH)(e_8$W_bdE| zy1s1tZ~uS&SE>KZzaxIv{EzPs_%E5?=KtgI-{%+nADaIG-<5w#|7ZEB{y&oN1Ad?V z)BZ2{kKS+c9{t~&|2xxvwSK_A&%d_+z4hz=Cy+1Y|LJ=J|407s|Cjv7_G=bCAMNBW z3W*b?%;HIB5Rbdt)vK@PA7o-rkuPjH;XEQ8rT} z&;zaSK00|zePl8z2%9hE@kgKwegszxmiK#CZcG+#VK*<7{S-=HUeQnK8rzM?{GDpR zPiG*#i5j;2)!svtzfjvlx@9%y=k0df3(_n8Ba&fNFV_!j`6y?OYl(CwX zAuA)ppqWk9w`WAT%fQkXa4rfjRyB=hjz;xmtZL5Tkp`#lQ?iy0?!3e5>_NE9axTAL zPRV`2^VxKP*gQ93w&cNdIi`-pQYlrxC)5j%k>ZZ%@8fTVhM1l zZ;yDz8#_vQ4{hFr#~7Kl*Rx%O1?@Hy^X20nalk!;lDB#JA9fAk7{QIwL)hWSpsesc zTGy zEK1Z7w`VXwC2}X)iD&B4$JR|>>M>NaEREcC>YjvyPCdCwxNz`9HkOdxejxmRWC!Vm zO-OQiEQ=+%W1Z9LSdR4QSx{lD;3g>lo;R|uiInW|JCx}iCSA*)%xO`I-o2;TZ3nwq zZIMtyA~oJ^3B(h`?hUc_JC^isA4o{JjG@r9GnK%4b5geQB$|S4*NNB-WNJ35Q-UDY zRU=ksE>AVC<#0zM-im;ZEp=$?g5)g|bwcBbonOQek=w>sOf}8rp-rQ@OGYeys7b7j z!Pb;V_&#={;sfT6`_fi)#AKGGLf?RZAM?TSc?{9gfybTx+07yP8G-MN3%3oy>(J&7xN71UCXFsalb6`q zR=4aDHv8=xftL0?^U|tm*f9oK z3b?_XqD~c9S9WJc4wHRS#=y0K*Dv$JOG3;;L940rb)R5VS#{T`MXK6o;&rQ!Zubhp zn)GviI#L>tv4%7S=QY#uhHmeqPWD%4j8D#-Qtok0E7Za!J1krXtn{>rO>k&CXf7|A z`K7w~Bb&1F4de`FjyiOsdeEOvf3Dx1;krNW zWIOIYM%7#wzxGwYQ&8b52W)^HFfUq{=A#uh=SW(1ix}T^Y{(p!xFdP`Lb)EdS=AP2 zh@DbVBLXH>hq?oIk~jUbGn(S8(PV?#EE8@~a+Xw?%5&XxEv8`ZiW(;gWwD)8rH9xe z)!R~So+{fcgP0VPQTIUhVVOIc*mv!77Zu_`hrdu{cD|9qr)l5b~CTDZ72<>Bsv>0xGnEASKHYytvZZHr_-fw6vh5DbrwW>RSOF+khaia*%OC} zm=yT2mAo}M^T&Oy7z;EyuJlw8JArKu+{Z7 z#c!M(H>h8)laIr`;YW~82HIHfcn>}kw8=yDDIbhr4WJc;EMEe9-2+w# z*U7FnIE*e-qZt<#aifrk5%@>x1x@QEk{Jn|9*FUj+Wk}pvE5OUlRF+lW-JD6+wlo1 z3M>90?jD2WLU18Z&qQrKFPjNaP&K_?5v>Na{xV4m7d46(`|o6rIy;a5Mo21H*~M)@ z?D7O_gSuPioh0bWCIt_ZA&@JrC)pn#m!FzoJiTP{`hZtVeYmjk`jCVItB}@@oiX;q zrDXVk>F(5H{{NTMYd+Yf&C*r-8rv+(ZKLBncSmnqkYEO=iAquRJB8wBiqLh5d9J?} zCmvA~K98Mz8u0k=j1KH&qjurK;J%{FRD#-&FZD5d+39|-1fIl;f1PIOk9wru^!K5*K+8>SqE z747V@gLxw?V7!J!oH=5YSsm+G_vII1S78;$(XnT!QZOlo7|-<=S>Z;v@~Vx%;%dj$ z(2cwkzrF&J!xze0a04ts|3EWD<{anyE^A0GdaMQCFXdcs*1{;VcL7Z*ofzi$n9<_S zsXLW*xtK~@`hQ2d%N}<&O^*GaxKWm(j?v_^o0RH<12$*-V!u7K!10kc{~T4D(rF1*T(;@L=VUh8c2NXBccz>O z_Z;j>Jcp}hT4b@T_U4rldkBgHELJpwETR&LIlnR9CFP7V7mTIlbeB z8Cx?n@}mLtD&hnB`}-W^tVJ~h1YQ5nZtPoT1;-O1{CD^Up=4+UX6?G}l&@s97t}AW z|D~9W!v8YT8M1qU=v_5SMdRbr)g_4l5W0AL?cGYDg`0Z~uI|covJ%#lSV??qkCL`Z z64SV}Vo`g_e|2G~fI5>KT#;0bq_)ykp(TNt6?6ssG91X&?_)x2O783@5prK@TYOh& z^?f*g?|>B?+(-c3vwkdSQc=y>9E|&7ig7mxk7^y7tmcv6WJS>QVL+MV_QFv$Q=F~7 z?o=>#aaf!*ZaNhhHj@|!fe?{-dZS_$QEiw>WU$wwIKp+8FvK7L05I9oJ7{I9)6;;c zUiPAgqAH2`A?YW3=kel}M2o{J!_7k|E9n&~nZXlZ+jqbXxlZv@0t0PZL_zbI?i3-n zqsKiWP^$zaLw%Ju;l# z)I_Z1iM6ezPq^6vRd-e2<2h)LilraX&pb6wI^cbIC7FwdZf+Pl?aoJ0go*Y~*wHnC z88%wxQ@4T>l4D)}a}dS_S2Ww8reMuvg@~XZmsq42`_)eAe}ArzH2%o6GnCptZYExw zCQXaHnK9T|bK>lH#P8{$50~mrCR82t%-t~N*v8PRkk~F8v3YIXaN9zqE{c+Ra71%U zdtTf#Ib?nY&1w zS!~~I<(U_$)$kfMAx2JXv*RKu|6Uan!iLn~0H2CIE#UR|EiJXOjU*)vw`f|}`>**p zuw*-CGky(yCn40e3=eWiQ&*R}a7ZW&UeGypHNfgmZTa2J<#B9uwx#fqqx1)rw> z!{QCaDhn4%NY8VM6{PpOQi2!PqjqNRDBX(9B;cThn)3D49@9zXE8nZ27~078d2d3M zyuu*2Bca6uldxw7xfu`XF{m;-u=SY)jUbF`1M$EIy|8^s*PdF!EZDm=^K|?T*VH#U zT_~qG;IU&&6mq?m!Rnd1H8h2b&`O)|=pEq;UE5pm&)+oWQF-@qjo|4Tgn$V zDQcY;QR=Y`eK=k7a>kap2Oo-7!H_o#!?-Gz>>?D?bgVeHre(;fDo9U_P`No9xmh@E zwA@U8Rv%sjKW{@34jGA>>(?pz`v`dY>L=v?k*?-&ymcN2|L)!FnK}707Cr15!8(3s zq9p-Ufx*JcOoK{%TwrbJr_eFUkS(*jVr=xusx6ct){rCDwB<4wQcUL$^G&)os&o17 z8^_CBU6@hbiR$}UUH706O((w`wZMrk1(4ZmqrFbh99ytMbEnEW0L&pW*B8 zZm7Qh5kD`(HP=^~LL=*t{m6j zeCrbL5$QA5t^sZxKkE||lopx4yX^m8p6z6C8(Z`cO=_q;o0w`SuWXmTvNhwY3;Zm8 zIc@X%aVUkA-rRuFJJAzBeE+GsKl9c`!_@_sB{_ItAMQ3#)sZwj|jSNPY^Lv&6w1=LL-H4Gmp4;r+n3MBl*!C zTTIvU-;<&)rs;Eo!hOtW8cbPNP;xEf2-4Xg;mLfz8s_U8eeA(jzb(jS*YzUum{QNY zkNQ85qz5;IEEn?zdYM0*%^@?ttqwZ$=t>GJ-aW^8Bwbk9a{XVk*rqe$YZ6QssN;-l zvBB2NM|}ppeT=pz)x2t{m1r7&Q7_{?celBv`S*eAv}de&t@Ap>2{;r^GtUitYy?=l zuB)i90I0l0rbALLYC|eOBuHmM1~;i$57xG{OnH~!kJ$%~f%dMWk*uQ3<(SC;%~DS~ zOfQHqjK;29M99#4J@8{sx1F7W*aHV41Pfc?J(;!tPCGl$@}l_y;bXOY2bIl+k=!V?!L=M9$K`!1Vj)JlVGosmylw;AYwoZ!gynrL$=5xL^&q z-*1IjkU}g{LlPGu4gH4S+Hd?wFPSYW79{m1w5bf&O1Dm=M*~v9%P86yBm7c8e zY!wP|XnbudbY<>sXNzMTH~${2VN|tJ#(m*%u=gx{>!hc}(hOjXBSO~LU1%~HJnSM+ zn2cN$WpQ`Nj!kCx$5Gpj>qb+AGiSV?Gqk{PIp>DN**6b(-raUsae3W&Y<*T8sBHO3 z_3i(~kbCb2)A0afP<|lDvdhGCD3tDGm*5G}5U3g$)V|_Y=U9 zPj8HzIl%K+35`*AEaR3o2@Po*RzPr2;w~l_+ZL+hgXJXGV)y$wT`GLXNa$Nr2(hBl z^JDZ}jC111nO&c~EhOFr#9i36{c!&w_Zn_zCKWyEQf;zU6&6Y$#5naMV=1Ps7`3oP zpgq88qDI#B%knory>t2sV3nvZH*_o3&ST5;vr2-@MA7tus?e5Dcp6CnGDkiKeA^N; zVi?5$K)vd@XrC__m7C=tSCZc--MmgWCK3Hut+LyE$8EqhBUKdMu^)D~f^lJpSUEA~ z;g457FBd910&igq68;J4P$P!JxMV)jeckI%or6{;DLMSR}CAh;qXg zx!WuFOE)@2`g?07v@%G^^J0R3m(6o8C3V{g&Ch`4dM6Ps7f$14?&v6ai`hsNU9nap zU+@da5)*Wnkf}oxLT8Y8&jb8M!2k`gH9~7k z>&!BF1bawCtJ~Ml0Ae57F0VWBji>U;s4U1-906R9@pv( z2#<^kZ~feBHt&NmCL^FR-|?v2m^*NxucJP_DIA#pPH{n915fI-AsgbucVO%3mala4 zsb8OSHl+5%#~`Dnokj@tQ9>%y)sqpz$wNZqmXmvB>Bw5s!)M1v$&IhDgBN>?_!`Js z$I}_IiLs_t7KQ!2AzeRB{^ecf)wJF9%n2jqX=5Iqdww7?d#?YUEyhfv(H6?OD89Fl z%PL5R)BD5|cU&j<5U=*{8{1Ckw`0L~ajKQq;rPJ{td&L|9#KG$_7FJ(C}eEd$A$2E zlws*XQ5oc&?e^W8e_yAAd7+NGDKvmTgI&hHGFZAFK4!`6OwTE?M!f9xd$K3_GMgC|AR?tN;Q6dGQJCW-W}<+y1CZCm!mxa+Auytf53!Pt1d3MI>G8 zTxd&GJV5Wr{9F$${2PDh`*Yjs^c*g8lT4viJyeiLYQ@X4_pO!0WN5Cg`TN{XL-QW7 zy`dgUD*GZhg}G!9wdYhsxVoiA`U{tN?mD%c0 z)7svz?0z;Lle&Jol<7G}J`N>!W|f~5B>{!jdP`scP5`dNn#{q18uW&w{c+ZOEfQ`J z1K>aHVKFu{TE|Y>mPlFNOkFP26OD&9Pt)utoGVhcm~n0-x_9IH=qDs&b8x1v26L9R zxO%3W?yaQ^9=zT3{j_-@o6#_WxNmSO6Q&rM(yQusrhgUG}m zb(AW9^)Cw`?I@OeIG@M@ij%hTAw0e$uN-}L)dw#7NlTmuf7g4xVft-B7%|Q^GWFD_ zbK2MDJHlvd|D6r{S1zpnvg;`0A%SfJa#$*;!$@ozyY*URLYOXeZzYFB%ju!=vxhr3 zh}0OyN&yD+`t7{k0Ru9z!HB7Xe^>G1Whw~YAXxyup?W;@U-36Bj!;dPB~0^*NDI?A zrfRhMVEqSFN@UyY8t4Hs=DA7QQ=HFb5SpA1rgxnAFO54l$^=QMN~9!>LuQ^z%(M#_ zWn!@H3it+6?HLw zA-^q3^gQ;nhwXgWroAAxm?22plpp~jc)RbHNILs;xwk;|h*H!yXPRsh_q;0i|5`ZM zW&xhdPrPCDh=M7h&+tQ5l@6TcuUUK&F6ez${uMzJzWf(&Tb`i z4)q?G;#3Eo52Y0Kp-FUaOy1@_*%Q96V@A@!BsdGS&+dIXDDQrL$?62Ib$9uA>KkJ7 z+SO#WQxT(d>Js$bt<{u<8U_JJ&GGgx09ao}4{x*>xF*RrbCqEG1)8B#aIZ~=Fi;W; z?-=R27pKhGsZA=P>Na`!B5arNO7 zb(JeOl@z;`k&ndsen=>0dIV@A1ZlSm{MIF&MccF z>ucgA+Sh(UQ91Ms@R07XU3fygJt#Pj<5a7oc_cs zCUy-itO~g8faBjh%J|GUWDz{uVOwA?BBjw$xeusHk-_1_rr57AeJV7XIWXB9Cr?p`(?tsRz& z8qPojt=}~7`4)qo+G?RX^jXl;ZRJp@z^N1ET8$fu7F!Y%^ibt=DZ8@a^sN7xQKV7g z+4OpCWX%6Zd@$H5raFXlgtjXKXRAEG8Lnc%rX59V(dv8#kZu_wa9W<>F+!8*uJ)Dd zEpzgB4WyTG;;>zLxbJ}uy)P+kE^kd@p(RtL;7NX#-&m)kqz!;_LOc)f3!q)#{@de> zkZMHkwKF_(jRxtdF*vT`8Od%F8tR2`Cqf05nbJB4puhR)BMKk^>wD6b>h3fSV1nez z2>|qywaufHr~iKGrH^QHj=&C!<6MaZ(Q7#2ddz$Oz^%``K9y$vHgXc11ejWR%xOww zK;T}LGs}BENFd24O_l0p60VT(2v+<}p7e}X`DvN+LA?t2Wrt@LlEyILh*Fo!DWk;* zT2{jq54FBgOI7HG4a$WxPI{D8uf2hGfrDBCp46xx(#&E{hw7aL@ZEW3?NoHGy zv_UVevf?W#&%X;j;-OAm&%wg|^v3OxcEpQbbM?Nbq$>_cr+91^67PODcVx>HHt0bR zK&_@{UmrqWQE{#R`3Ke5@?|`9IPtG)m^j3cY(|RA`=|Wb{P>yVP8i`g@OJI84};jb znnfS~M!=*pSs=1cusBpoGCvImtMVM0HGYsF38?HS0Ruc~(zNS}JHql}I%&8a0%^yN za9DC&pRWiieTQ1KIpe@T?OLnKg1hCH!QDkVgKFS?#wta#y?SFNt|i$*jy*7;i{F)| zy332ZHfYSC?453c8$qX)DFqt=y4IM9glZRJMTC8|_IdxJm;eMVH96Q#f-zj?#PONg zgdk2^^W+2)X5ZcD@5Hl1T&0V2Bz`mTGwv_Dtovc2OXaO%XyST6aU;BRX?%&2;&3Ci zd))51Bh$o;yg>_;HNUXmDKaO0M}Py5Fmjb-I|7}TI%@E~yu-7O-vanHLM_N~T9ePO zBTfAewT~inR{v$Bn$?A|C8D-WY7v5t5c5=Q?zKOI3i;gK6bscl>CRV&I$%l4L2C9| z?TbGTt5lwDhkt0;dFHo3PAsv}(=%ee=p#{)t2Pk{i@z43Mr6;UiXC`yAsy(R!o0x{ z3Un<^|Wx$M&|!$;EKa|4B$ufuPpP- zo*zhvdqYQ!1b&e*+MoGM#eD^Q)NOxL@wxH2933n-FM{?hKekKQEx{l>Rr;l7-1MHA z?uq6t`;Q`&usIXM4h>Q^dRhUc#FKW0U5htKUHOvw=CGaE6 z)wG=03by6FmO|xY34;BVt@eilc4MPYVp(4|NJlJ8TJh8rz0PNy#BRxkY%dQ=j~Mc} zRTo4y)+f!CmH97RXE5a4#J*{<<5V!_#U0?gf#_%0L`Lh8uPNBt40X~3h|w1w0g)q^ zZ6$W=P+|kVvAkSYxK@c4ptrNKB?rtDOiMAUsa4MA4MUEs)===D8^VXz;Z@QCT>{On zIw5n@B0U64Gr)&b=aXYn$}k9WZ0gP^ix}y>C!GAJuv~ZM=b`8V+hX8UKODG79y z&+WJIu7=6v z5P%8KhJ;+ehtv=j<`EZ^?%nSN1lOUUc~^kH)PLGjvI*7{j|6AER@6A> zdQc=vk@)mbPQzaq_db+E_F7K;Tr&fH6#9e+e-7JZ$;hD3W=~)^ zN+63v%Wiz%;f?hHLk&cVfXxU|H$p7qr1+`Bv2*UnB(DpRdYOs1IK`Q&6;4znHqlOe zQr#n;_C z!-;2SD!1|^Xe#;C+$d_fY`>YY0M!7EiTk^(Qdr7Ohf9u;)j6XW9>xVdsVG~Uc7YN9 za+tdK6Y`8!J?U)9wAgFKi~FnxB^@)g0{WsZSo`0{Z3WCHzTI*svRKpVBncu=+Wm9x zT9X4CSaNzi`r1O@LfWFTP}7?EH(H)(%uVQ2R)=`U%XG~RKR;@m6>Ti%M*t$f^Dzw* z5Z{Ez%nhqC5^av35qHE!BSbWQnoDPIlo(63S+?hn3Rwl+rOQ%W`C3(Tn1uxD(Dihd zT%THeGxZ(>Ok*hKq3SD7yZ30-wCZdY>?OVoH)ty^vrP|>7Rb~)Stl3TV)e1Lqzez+ zYkgaIvh4sC&MnZ7>Cixi%y@@*`d51b4wws$LK7JjvcDQVRz>Pu#^B<|$ z02$El-Sv>O*S=DLH#?V>E{Ke0ObBG6kRoDbR5&uJD&Eng4W2Nr0|yUa8)cnSQfquJ zv=rZoD?D8HqG?tJp+7%VLVDdM2+*sGAfuY5-rSIWqT4B8bWi0wR=r1Xp>h>@W~pK=af*=_nU zX(z)A(P{7G@C7=Sx~9;P3&zX?(EEK~*(XA*nvU^UZF5u0><3A!B>yHHttX^F;4`uz zq-8v2Xghs62>&0v2je05Hs{KBoiz3jQkwYmy=b-#R;aDgl2ND~JlC?|LZtHf&{=ch z_Sswq#`I}gy(_%2{=sBugG`~vJppIn(BeC!SIzqX#-_ysPpZGwDhV!>FB{L;ApOi# zS6Y28h8_TxsQ~}psvzeArtK<*8}z%I*qVICFe2AA0->f z=5V7tT|5N;57Bo1?{g+q+sL(wT#zm-+CX_5>^Eh&@DkL39{uL+Jq(P1c9)0BsYXR0 z-p9`km?LZg$pB82SF@PU*vLhI!!MC_8n02{mI&WuB?+`KcC_5gQ*|J_BXNrZ%py0< z&=mvnVCH2R>227qYhTB`F=u-hc!~Mek|f6BM?w2u*OmV{eEhfDXejGxyuHkh+-Rc| zAU4+|-0ifQ9>INUnYsS9N%`;?Rf1ro$i{?-n=8{-^)S>y7z0YPK3{Cn_>u9t`4kSE zV=f*INOWb|VutM5)PMq&0aPB3zm>3qQ)aUgP1x}lszbq z#xa&0)q?H)phZ(`3!L&sQ0I@DR)ef{!Iwwb)*}b-M3}jEjHv76|3#hAz?`5wd*rKz zXlN{<9fA(edMP#;owk%?$5{!hEoM;Tqoqws{a(J0+&si2TL8!44q9$qSBo8xmU1`60NOZF zt4SSVE9m;LX}gkPAHAt=r5*4vtytU4e^q>G3LbJV@9fl9FZLWlP4ig!PltPR?}646 zutqA>b7lj(QAlj)-@_V!1BPp`Bq0kQ3Q=j53@O*S1@D7_b;`bD_@F#P1tNvPZ0`e( zH$6cD39YT^P5x3i@n(D%9L^I950irWz&+Y{9;;Kt`^XRZZ-f0%FzDUYhizuqXFEDuP*WhHt%BDy=8><0Jr|{Wu&T&V)T(AXIXC1>Cdv2-XQ*4FqBz|4kwQ029G*UvAi5m8xN@64i79ePeVoLEM&{ z_Ho^HSHqp~&Uqe!3fcqX#wD|v9B$c>qhIf~kRssa;uWN3I6OVlg( zR-JQALh8`Z@TgDP*0GCJ@d^P>)J$Z}-b2F9k%h3Al__PRtpL9t;0Lby>j8ROSEAi` zq>Lmq2%6xLn{E);^)dY!7oy8)T8x?NLjK%~gHm7n;6uk3^1|F7_p67gsM4Oz3sPPn zF-74E$R!?;nUGamSFAFp=y~;y>J$pl+VpZG=z|`*<#b6ExQUhMk%qvqvf@xA%j2>O zVbx+r05eKD8$SG!M}7suhqv9(_Ll*AH-B~6>rNcBmd^@sXqj8bJlza2irS{gwaiVq z66`E4!mzNUhEHsJ=6h&hd4QgjqG0{dEi=V>7Oq%vf7! z%-Xl9I`&_pQWr!1)xi{XMX^&YYZ5y4qrcBW7?`J4HGk>*@&d(QoDTqiM*nof3c*1@ ziG6=521}IE9IX5(*{Lw<;HO#eMn02Zj91211}=?Tul&Uz+fPoFu_d*FVfio^wBWkV z2I#=mTJ0=<%MBbj)TGku6rT-j{D!+UWlv3DXIdJfv|}wY%eZE+ee`P_5Dhhqe~DnW zEPdkVW3-pHSd0NfHH-J=w9{kG`-9{<;7q!{BY$V;U=#Ra1!g4=Mz`G zs95JnJP#@K?giH1Hy6xlzb4PXh-Dlvw#a55G-cg}UePMSqj<6)L zQiTRz(FW;DkN|>z_AANtvApRt)sa@dVJ=4qRKD$>AcwA2rq%=gZ!Uq4Npb-sV?KOa z{>x^yuq5t|vy!~z1c29TA~hZB$~9O-*X>%^Fz4QQhcLM@ZWu;qfz(1R;6gDkzQS@{ z!@)wESjfH<%~b~$`z zQu_F4=nBk!+wo=ktXc1jC~p|5uaJ##R>x`vyj-oXk+eOwxJMp{a<&jwo$+X{EUtef zf6;(tx{?{7h5iePl}J$)w+qpO`4F)Tr^CE|Cp1OhvB&rPx$RB)GF=_nIDCtEj_-^A z0Nof^`RN}sjFRk}jvCQUS}*?^7@V-CugazXKDxm=prM%~zj8;5U&$>?8(yI;gaUk} zkmkpXg&E~4BwH`TVUD{dD$IRHN@~X$6oHXR?1^23qLe8TxyT`q?D$4N@Bff!0y`PG z+Q@#!x_U7CUuvc+==YAtESK*NuS$0E_}v2d2VvhO%$bP&am3Qy7(U$k?naG!b#x zTD~R2AJiNK?B%8(5!3=mcTljrQQ39OQJjZJKptGPMz9`9t1In4c&Fgb-4<+;tK~eXOHB9kGsQR+Ybyv0L}srI;%i zVkOO#Y-*Si*^yI8wJpmbr_y$%=L0R8zE$@$d#GXw6y`qTQ6bs z1lHs^RJW1~6}+Qk!5SsZTott6)x`7oyfVBJp=@0`si#U>`rNXEmtk4=gS8%2QQX9f zQD^s7>md~o;C*jPo!Ph~eVDH;53#Rqy9cc&-qyPj=Mq2Emjj;w_oEo$8StbFpPW$> zLcpr7&68C*5e-;#e9r>iSTq82vL`P$YA_bNIlKAyugp1!TkQ;qijJ24*BE$XqQgT^ zlIz=TKkUfv5SDhU<15D}J*n631Sgc|R6z-Vp}5o(%=VUzd|@=%Ry-IV3{hz=MBvGL z`(ipdq^4EhKq?~^oZS!!g<&883tSfZGyf?wbhgAwwkmdS#OTuasm5rfK18~VocPAd z?vMa}DbM0__z0N%A>q2EWQ9J(fFwLLR6{OcM~9+fnat+Rxgq+p-_pzzDWHLl_oizf zs{eo!JD6V}?LV`y$ekVH7)Bjsar%xy3UO+%s*5{{PqKou+x*~>UkB+Vp8z6*8Ip7U zt%E8k^vb#DS4D*5noNAG@J)>y9#4!6Ijk7<-;0`kJI0mIXXkLK>u9?haaA<;k>iCq z-`(yf;2H&dhvx04d8f0sr1ZFUCJ32?jsfZ#ptq}9r2+qfufQ zFG*Uw%y`NZy7>(4197YgVHrB(d~QI&G)g%p`(NbI=7B>JlNp+sE7~fQmvHGHdYE@h zZ}V%g8bDA;Zn*w@JFr*Ol<~sj8>%k~PlnIJ^Q$z*am$|yOPS+T*dZ01!e_MWXAj%! zY%|k%Z#{|As%V>;2g11bAW|C=wO;@L2w%jadyb-9KERp*sLz_Q%dH5dkz-6yH+{IQ z1Vi6~lAaQ3^=b3|(IEP`1TjF>!g#0X@thu5wkmU>Xr%w8Jr)dq>&U*CXl_k^O>9_A{xem2`L6 zD9@$B1G+z;?%L^NnN9G_@VKboOL?=Hoz0A7SP&>mbEdx;+zqbLJr4FKM56AQW?kyU zN)I5@9l1`GkSF6_pkjV>|DyDtC{DfyNH3`&+Au*nTg%lPAu9tRafBo@uIzN7nBnSn zBRuL14PaLU)^eHa6p8GX)U2d z>Z^gz)n%vPLS!0=3Efh9Sm}7)NHgP};GHHG!_2}r!HF=QZGiRkBYEe&jt)0^W>H2Jwvenm}NS z&1PGju(GK)UPSx;9iO?ev_Tw&*Ee`(D+f9FVog*Yb?5lhsdTXuX7nw9v73>0^TZ4j z=E@e(o-Br!f3zVQ5tt^F#(F#^Ur0SicA_Qia$Zm9QxI)(?Tccn=ZASvMm(w;;8F0k zMx`7nmtHeIP^eeKdyE3xhRx->C|R z&ZAlgp*aLRNgRW1mZ+Js``(9aUT^GxD}I+gS(;;PgRCD+s|l0}w=)*sJ;9=!5xx!= z<2a(T#D3*yCDEg$?Or39%-pqh7C>NK6D*Fj^)RrfBTPQeU4W^P7?m#*U907d^VN(} zamjz7Nz+cMFbS~(ZgVO_^+MomRYVb>>?jMYy8&D_qsf^aM(4O-Yvqg;5(K>B3D~Wj z(Io5&cbhtevc~0~0e3(Y6V6wh^!mT>vph$4$i$tPL=q5&uglPA!+wbUsSHxP#gko( zK0`ccr(VwFeUTyo@S_RB)Nx)7n91x9rSlEI&himxemZ%9^WCnQIox*^lnyfxbr4c$ zLGfT3N5NBi@(mdx*yy{s_h&S0HT&zAQxNB|;91cMMxdZhY z!0V#VcAOb<&1xcBPT8BNv!qD>CCFsOgS^wBaez^*Vn3qqdR#85MLi3IJ5CEC;kMI8 zE8K$f;p)*Pml?O_Cx56>h8_-Aq5c8?Y|8POn6+?3PF=RwPxlAg% zdl3sl0QCSg{1czzkuX+pH@3?X>Q~eyo_72RD|b~!7r-E>)A#|6|7m)u zgpH=bZ@2jjxAwpID>msrJbu|iG=RA?=P*#fVIrZr{DhI4fjpy%Pm*3Zmg&a+54*;| zapW^jB#uUJ1~)J{2n?$tC-s&CHV@d-ab%RS?qF|nL~qb53436|0DP%?ebP&+h`Z5l zH_?VgXXd43+QF)DWlQEX?F^c?yUN+=^|A{%Nl4w4l+Q0f7oz0+^h6Y`L1fFT z7`c&TqeiAnx}TZMZ*z;_z;5>`y0ep6iqH>z-9P(PvgI7mnT12+jkI@=P?yOFpWQur zRf47d#qapXJiBmRF5q6mUck$^S$Kt3kM}kf*_ikaAB5^?+lOy9m} zXxM&iaTb73WKc=^;sWNxd7*;Tz52+(6<{z~i$p>s^nQ5!D_IyVl zNB-N2kuVg&v9}ZfkCs&)0efp-_(Ih+Mo+7K#IiEf+6H<;fpFUDVQ(22;m2cgh=FT#Bf28Ti_X_m6FAi;C zg`9b-#PfMH^6|Y-_Cl$-^yB)(3hlN>uC%Hn(-mnMskM0vQ~`2vOZBV&Me(Pp6|+so{(+Z&QE;ZQ)DVZ{XpQOmr_GDPJ8h;7)H<^kT=lJdC(w{sii%^uWw zLz$@uTPr@(DPDxlRp*$1C4@gPs~GZ_TbfQx0o04uOaNJBZT?Y4%s*n~5cAYG3(QtH zhW*2pT{!yFQkDBo)>>Nvc`BqK2B&+iay~WBL~CXCThbAHrSE3Ir;isQn4gEdZxB93 zU#!Gu`F*-}!t7jH;?&$5ivql5GZ`P(;H8akMM5WqHX^8?{!?DmnJX0LpS&~Ut4X;I zu7;P3Fg()C0U>ww8#4_=ppbNb>L;nhsFZzZLwzE{`AP5c317|2EuHSwWe&rdJVPMO zECviGyGXh@e7C=lFj!BWtf;-VJR*;>W%~RFS zqqNCWq==%JwN0e$H%R3Jhr+_RFyOc<)$Mif}|pQm-0Wz{!sZ3kqhddRlLKvC4NqS)Uw)vJA0VB+$p zaF`pX;Tk$d4yv6kUD*AbfeJJ?#Bpy)IB}DCYk}Kwww=W)>86+-ah=S2$c~59SU_TT z0TVD2d-4GXMo!$72ch=kd9#Vn2``O=hHd zdDI6OJ0maHV+>IafoQ8E?-(=j(_hv?jR2#XDw~y+)S@~TXp6fn@`{wD7jlt$Uw_*? zaody?JL|?zs8{qXAKlwBTe!9tj_-Z8ocuO$l$%PZ6)!~8at89X!8_QiQITZObdks9 zLo??~D+fyxH@@UAY(_DWGg*~BUS8Y2eZ~K)gn8kZZTp{Dz9x=j8)4!Kyh^I=!&2Ed zt#SASVlmnxZ1j7j+htmg$2rp~%2OHgEG=h%t~-}@=XM@Qr77s4=$adueSQJU{0<*lL^CQ*>1GNaA+FC}(W;`$x~l+HsTlbID24~*}(YkLoX@`sPG zE~WhNX#J=^ySjR)|p>fw{!GhBKk`*R%grFHWsR3wTbFa3)W7Ne2U*z> zQ*$m>fTftmNLe!Hcv>(Z`Eu+IkgN`QPg8(V-Wh#k3*jHi=h0|-fXZn;<(0>rO82U28vRagV}b_B2Q^E+9Z zQMlDX-gHwcwdBv^=fJbb=#&lwvI+Wb%;G+(R6u^ z69B{7Y3*=rcI^`SPxOnXEVQJG%L=wb0ZQl+ae`)9_Ww1C(t|_6dz@~(n39vwM`K`E zannL8o{1AAzQ;AL(GsFe#){M&_ImNb>jBI~H=-SJWllbe6~!ER@WH0MEO+pszq0*}apFQ1b-k$N^BR)6gNt zqTQ1!l8xk8wEFzGy@|eK4mLR>;5XO0@{24t>Km1c_jpqlPi5me3b5f=l&EgOinfPu zODm`Wy%|b#9dk5EuF}LQzawDnvvw5uSJUUtr^%TgQ9{G_LhuX5#-HTyi$o3}bpVIZ zxqRvD2PTf!3H$@GJORr7T`7=f5LcjgRs#q7pjT>XAxy5bK#cwQPU)bjzC5Jzq#U>fEq7ezn2Gw>DEYjPxn2Au2 zk%c|XB=^}e%dPIZH(@OFo+S{?T!#33*TMC}br)#9%ZiOKnzh;{ItXZpvgqR=4N1Xb z!W5A4*78m3EIGEq2B>Rpekc=Y@OJpZj9*D*tYiwzwH(uXP46u?C-Rkof8k@K$^u`< z#fK1GaR`~Fw7*FX15>29aAU(vTb_>tvt3+?Ob1T+DC#U*NLtJ$XUA#Y!jfZ#}`5^%4;%a6-);4L0g|p{OTht5C9^bH6FR{(2R? zZ#P~#iWJX@Zd)$ab*1Gb8lAq#2S~g(p&eUO$;Ag1nymBgAl2BeK`cIIla@4m#XOl& z8;84LutIOq!@T0$q-4q63^p0}hPsis<(!}4#rk8I^ZRWOkt~LHq2>8sR)Nr_JgI8? zMT?bS1JrUKrhUJ5bW-uk{!wTy&kv;STei*xlV4g$_GM!?@^|CQ_D96K5KiL@!s|fj z=BtM$(5IK{+~E+SAXPc%nYA8aN8F|zOMKlOTFS}5fV*=k$8*Eu`O(wSOA@59NfmMo zC!ldj^{Q_A2opGc`@;C-2)MD3F3|+K{NC{ducYlNnb+g8UNUa zy-{l8O9nPiq#8Yy`(}<|)%->P6%A*jKA3Kzbm@wILJk!A%!7ivQ5LkkuvBNMD1bej8 ztYzV^v%I#=nOu9St>+fPcu7*emh5T-V4T4rjhxkMXsw1xH=Iy|V05oVoCZT51#!i~ z%VNa#w-c#GrW`F|5YXk7Mc@lZ32M{{3Bl3xFg6veKnVk<=FSjK9e>&lceBAE^&e_^ zP5oGg8WZ$kGe$NXeWYhLZrjhk@T}Z zBHndJj8S!C%PRup)*t;({Nv$EZX_CPtiyHu{AH++1SUg^6X`KFrkc}eM}g|6a+*63 z$>Qn1PYWC3-#8y2zkxC4lwmX6d6fom9(ID@t-PLW!1qvm!w=2I!K4aR#+ise>_K`- ztd3E&G+4oYPJ!GfsIU&9s1%|BkM%FaHjeft+LTF$dBWP12Q^(0+Jd7F73Y5UjK-H& zUJ9IDNCdS}5M5+)nnU_$6MZ%erXm_7zfVIkIs{5t${h0EcuV$vOFY77Imf_d^QaV? z&KD*B(;lQSqa1BmGQ19;DNbY}mO26{t+2fwwZr_QEX=_A^-8l+YdE5`ZI~uoHkq>d z?(-&Pyk1}sdg&wMm0d!Oo=TAhW6z^4H@EMo#}i9=5sa8sHp*QyvU0i!Ow)Em2iaF3 z1yAMIE5G)sON-dHU{xnRd;Jy^D_8d5+?au&fN3228@M8-vo&z1RB#|=Ck;rVag2v^ z3nPfb27D|ll!H)~?}wvwJCsA}+GY~XxLD#-S084J!Tu|BQjI9?#7RMhOt9`76T;iU* zpJ*kKXv6vXGXQsLbOfIV@D`9_RBn)g@UoSqwY6$kk^l zZ3F2Nzir+NrtVP8QnJ9%VD;Nqy#iPHb#o?bWHOQ3t^iF855fu#9+9yG z1>N#v+0iB@XxhcntOBzU=3e7pN$KD)Cijv}N5`Y{;B3FBB^Ej%mZ^EY+;zKhy1L=U12JK;HPE;Oc z{+_Ljdf;TGSyGeeEbIbwBTLZvSa*XhP`wfY*btSNEZIiaOIc^J^zrPU*C3*J)3|-r zLw}#0zN~DKZC|oVbmd@|qTveCLW%NuYg2P^j3)uVV|x8U($@WR1JRpj&v+dN3?u%{ zZha+((T9Z&$&s~N#P%BV9n`ypuw7&m@WK9^tGCl<6B=Tepgqqx9JlhcP$V)pGm9kY zRRezT)3ZTMjt@~A^0&<){GkJC@I|j4Cw?M@#yT^UUI1@UwIqdbZdZfb1>kGObiQyd zK*YcIy9-EK9+gS=6{YPK>8>^eCmASEQKD!O(@d|8LZst53|m@2|rb>2Y$( zHn{#b?wmhML?mc5W}VNL2dg$89IErh%^$P0V@b& z$nsuIt&4S?QxR__YzxX~7S6@jv=7*wBv>gsh_(vnFtDM?fp{WH3^UIZtCPkmV!*Up1hkl=)7pa`WjJ0v8qjDfrfHfSAyaONIteBNA~ zvJJiBHBB=I@q}B)Mv~g5%}51eEXxZIuSt~$#7eX#i&?;nxB*k$J=C|AE~?@3agtER zCGr^v_MMoB#*uQW;uS?e2%T+mI=BbU8cFFHf)T;y6Voe$ixkKVXJ;dGx-#K$97VTm z4j{B19_I{r?R2zgIx!A``hyzSorUTI5(j4gnUSYH8j9j;kUk=a$xfXZxg9etISgZv zU*+T)Zly>(l$08-fcw}xeVg`WVOZSpu{i_Sh0lGbNzre9`7Rml_Im4N2YSp~CZg-TXhXJG- zVFaB2sqe#{!;X*_u(H$l5)TaI_9WD(2S*RD*L1rN#@ugzq;}NxtEC6@+)g>WgS z3Jb4LEAXd-#KJDAsFoj_Bg>1T?ZhnWhV}8wj_Rb4VQtJ)K_bby9rAGH(y_a}mi;%l zAF*h~(Q@`$EIbdoq3%?)G8yN0;-4?rnYS)5RA_Js2>-{IO0?X*-lW?!(Giaqb9=qU zb=Rv-Pq@e1Yr)Vac!O^16U?pL387%sgJrI%>J1ipr952#ILi`NCkP_Cb%~nv-UNVT zbdWvfmcrUt!`6N?e78lFKG)4&$Vtmrp_KutI`9eBSMhE!%>l*2p3>3u&`&|fm7yeq zIiKgJ!(~ECuhGEJ7zXd_lO|49B|+>D1}<7C&}#FHPH9tr*ST7 z4#NI%bG^Acyv%RsI(HIT6&S@wY1j)8my!_Bwtz$$$^W@H(8~V0c9T zh)KHK9;T(+P)q+mnv?#9TW4OvjNkCfN#~Y!##u7fGS@CjEO^kbKhQvf?3?D&knKu3eGbFm>Z>V zb?0MSl_^yNfwF7WEqa0gM~gqHcvNjAj8IvzKQa3YaU_OZ%J1x$1*gG^*O%1_Pi|Im zn3f+7!n?qO%|YK`TN&o{BDn1>NEFoFO-;+LQ*kTtseql$=ifx`)(B(ck5T>K>C0b) zHvTrcW1zs?qM6LyJZlkm>@1ht@gRtCMy;ydnB}R|1K$h3^&G)yfs|v#l}7s%eaxWq zTZRr>HV}k9UlRN(Nx<%z5Y5o>QP>ViIo>XMbf+^`3BBG$U1>|j0r^SUO z82icwC1ZCRaJd%Sl-~AU;0g1@E@cg=nq*66@0AL(0eTEw4KpjbCH-N*dlt!YLzH@O%q#C11dpkI3 ztiRXnI-Nvz%D;`qkZ% ziVouSRw0d99C0#;W3`jq!({n5n0*eW>-uXwPJAUnRV1uOt=TX+m+m!hXlN^;Hqjy{ zA+Kb0T06dCDn+q#Y4-8a>!=5ppweodcQ)$u$^7y9sNFwI7=lkk4!?QASh-e-h+@x_ zdgJ=*SSjIPyQ8iK@I#Tk;KzM)vEjP6W9|RZQ;V1{H8o$fE82E?Dt)4bUs5{4Oo1*n z$T&JDvcNWrIHGX65RrU&*nXJk7KeGFm!1Oash#Yz@)@~OpQ+8Q>f{MV_C@z4vWu{f zj$xI6P?VA%?ZHfYL}z~hYxYcvK>UChz!Gm7#|L@zmM_v8wfcX<$$uV@jAyuyzDtRu zc`>Pee}Ic=HAxp?(KKVDKrvbFCVe1&w2k__EAy6-fgg6e z{EuG%#Tm%irKZTTKZg&b&0HWUD%rn~Al*JShKgHcfh4uDkCInFXBC}dxV@an+m*Z(+kV_i=Q`ZdMu^z7SEj`)znXG}C8SAe6yl$?X|NS_U z2U`pL^*4?yIbAzPr*TP}rqj&8>@BJ-?bH@p_@ww##G^ipB8HxF>YRxJN6{orBR*&< zzk{Z|c_I5nlH0wiH^D>X1m6KD)bhDy2YMG_M`*sk8*zClKOL#~d&EEN8Awa<29Nfg z(U*lJcG>L#*GRqCVzX;$_kS}|qM`V|pMQ;YC$(cAlLr-WcITE?*L4j%ohyjvD#7jL zIn-hzGU;Z0#{vQ6>mnQVh3Sr03U0PCbkl4#OKfZwRtU~NFt!-O)RCl%l!^#I0iPVq z^|%p0V>m;z`880%7tB1-4rVJhp218*B^;t zbe)}BWa5)(#|NMPR$w4df3Hav@86Bahi@1QTyrBz2Ph*T5!b+~BRK#zoTHZht47ez zp<6_lS-eHk_geeq56V@Z7aNVreIj37V&{gZ9xbn{k@3StcSO46SU?D9RA2_}#i<1rv>wNI+{l z8q{C(mF)Lh_r$>ciHYR`J=%M~cizY1HGxmMhfPDmSM3I>qg+nQuF>lRoL!?={Dq6> z#TQa+s{aRu+S~2p(L{_a7fIPPo65ktm!-Yh5pKT&DgpyaUhsI+Q8k$2m7)?(Y8Vh< zIS1U9(w45W1vXORjr0QvoBtun-&|D@=-E4$i8(ubsB740X{r^_1>)1BE;>&iem$Ki zC;FWRiH}1EdG+T;C2L$ZCr+5UveefjnnSTZ4|H#SbixLs;_Z$c z*FxK6zNh{dyI5)bPUPiqET*s5R=HqqL$LmirR=$mkB8Sgw_g#p?RqqeCb3T&02>8% zxR<^#JxWHXQ}S2!YGN!}2DyaRsnpG^d|pD~;Dt^?j;VE;OuW~@kK`=}tpGal1Z<=E zh8@UpAsn!OT&!v66|>Y4Y5qPLuj6^p$Sr1n*6cFN30$h)f5QyN;lZY@vcKSs8k_!} z`APUm@TnatsB=4`T~CCKIC~~t$d8aamaQ~JEp>3&)Rw>rb#RWNQABoZSVsapU+g8M z_H^NQx+v!j2RbX~KEJxM^8u*9m@UUQe7R}PouoGyW4VDneW0t6TLV<7jh-ij7vumK zVS*eYwioEU8NR=~u?jkQY%|D?!p`7IfPg+P1CI6tMXb=v^R_5WCC`;9stj&d9hB)r zii=@lr|L{baM5rv9Rzck%F*?vSDw98_KmJVjkc~>Kv;u8XNM&R`(f3)DlJvfE(MmK z$#L6pubuzi>52(qBqqj(+6r|pp)&T-;KLyNJA8mSRUv2RDTi~rG82|3fPJo9ZokI_87-zGy-{Vv@=GELFj+jesfGOzC~G!qZc_}x-npL z647AO{`ZUq;$fnA*7Q3gwWZO& zFX|o5Mex66#QX|68(u>@O!c)=0EB#>RRUwLJu^H{*^r;~zO6++P~@j9xydQzzASb$ z+s5(arBcnZlS0ZA&2%T>Ca@aQSZ&9XJtD^rBu66QNstrN)cS>&PP|w8XJo$9 zjwF~3>F@S9mJ2EtG(+~Bf2Xx&*(7b#ny@e-#>Af%sZzDL0x%o_$?3B^Q^nedfkG|+zb)Dp4*w#VA!aPlBN(r`d5uODK_)s0RK+g0I(rWs>#pBc3%D;9BKx=|yhxWHEDOwxJB3D~?m)9}F62}-Xa!)NxK#yNo`F0guO&5 z>ETHJkx$Atm_7fHTb)197TM2F=qM5^ALHR$j<^f!Y|G5*0oYmMl`0z}^FML2JI?G3 zRY-nZg+F{V)eSk@t;6Zwzu)LsZ;7Y#1T=Z2*8;(u7nmFiZ!=ConHjQ#qagS zY}$G%4fyf5l2{;hAgAh-o?hEIXLk!5mF3J}yy=?Y!*)nT45m#Qk^LHP}*541|Bh zr3~5!Rx#Web4I1xcTSo=&plF$?R-6r(k0p7>6Z<~RgkVVS&B6yjAkI>h5eqz_47-D zZ3(*huk-1iyO>#vn2uB2=xGNkvFM~PvnVq2K*ZD zVlE=ZPQXz1x-7SCvu5%+Ch0ezn@52&B99=l*7Oju%rS*UVT%bl@M+@zbg1p^(iv~+ z+l0o7vX6V>9xnwUS|PXUYGp@Kfq*XuLOsU?(`Q4X%OGt*h5TeePe5zpIWhaTi~q&g z&&yp0$&Ha`(66DKMu>T8GsE5b^av@vs#(IRT(o3N3P9OCV)-DCm8jA#$mcSi4>Y@p zXdJ`5bOJ%Qk}D1#{x2wrq>BH>|2NTRyuR<3+5CSn#Z}@wJ68)`t!@WCZ^zgHAlt^k z+erUHw+x#5146}ATb1J2NSOkp^eDq#ks`R!!_U3b1_YI@iI;e6X-G~g`Ff!&tF);h zpaviIrHPN*~_nz`r!kq zCX>i4g>$2bP76qRV)_Uf7^~jdk^i)TsT(!sC?4pDGbiUPi=jK?0Y6YF%K%> zjr&`oJxoZpYhi=mF89^wjs7l3_#N4$7zlVs&`|kY2}aASd&MV@@fn=(Pw7?)oPnO3 zlZQpnmGK}@2k!X=`eft=j#B(lgkF%URUgM-#jCw2av3nd^Q0~yss67xFYEkRN8q0@ z)OtHkMl#415_GFdu0!$GrHmw(1HccFG4ZrG)toK4-g@IA<+Q3V9H#GM znH(T%Q=gdIe~^8<4`Qqr0l% z3|;%9T0?*}*~7&>{SDjBHax^Pv2E`ylU9+TNtg}mkJFQOTf|==Gf-X(EQ;NV$36x}8P1A5BGyHqJHGYHj#~cEaJMt}O2oM(uE4oG_^`$mTI!@;ZTQ}u z-07A_qjYbE|Gb6?&25L@>8X2j-LFLEKQSC|dsl=#oUWu_{Nh&GrzX#OSg$A2QW| z*0>|C;duK`AGR0c7ZCz3jGZbTm6L1I{jqSYtAM=gD7=!!U!w#j=atrG{K-Q&hesH| zO1wrUCR0$ju?fWEF#U z#Q%B@11cVP-Oy}GRNC%TwEBf{Y;^O;(rSp8Jjdal_VxJbMX@KsDEbjZ_CQzyF~5ku?B0w*i5E$@z`~ zZ80GBA^*u|Syts^sNU)V=n$SxnwOS@X1qyQ=`mf8eq4pcfnQa*x9#7(B`QhbRND!d$ zveeZLpE3EC@vSLk5)v@*Xn6C%ADV1OtHe#^<-iiji2 zaJP`}N22FLgT~Swdt$i{jyp-)=zd?!X6+hB4!QV)H$1?*5$=>W+x@MKd?5X9!@IeS z#UF_gv-Fm)(z^E}avk>hh-!!bag~#KovvvaBYevHrOZlYvR_p1dkOXY>Gq zbzfuJW&{~R1zAfeV_Bar&ZJU*m?h{@N_)y74P#fM!ceRV z2fra$s-a|!9H+PA#oo%uwG?b{6WNrIA07qx1j-qUh=;tAzk{bsf(@-?R_oT%D)joj z7dtH+gb=-Ym?Q>v#%j)EPBlR-Wt+1zVL>vd&5A2Dac+=^rJ=)81}yr?ym&Rq^JeT3 z4yGs*B$(<9BDCcG$N@3ddetpRFqa%_t=00}flkB445SZPSqBG*5(lkCj=qLe1Fo!l z+8a1ufPppC#0Y6SIIv7IhK$g`-@$xH{5PH&9BAM*FLdFc zUQaF(He%Tveyi|6%IOhDT-;W>F?1W2Yz54UZp^nYI?tHTj3mbJRcQ*QXM`uYHtsGp z_XYtm$H1ApPn;FL?EaGaS$SF|O+nv}fShLp%)*#j9%}X&YZT^&&io4eX~HKPeG+RG z5MM)_w0oi1{JyvUeici%I2CZ5mSb8?$1*zq{`&zMzs__*7~BI6u6%mdq*lR~rU^&`lO$gxhcnEY_!fB;G zeRjE97hB)Y6_bn%ZGm)9nj<>0^V~T^J_X2aYB@1*RJq%beYTvJI z58*Fo^;(c, val lore: String, val loreLink: String, - val hasAlternativeArt: Boolean + val hasAlternativeArt: Boolean, + val alternativeArtSource: String ) : Comparable, Parcelable { @@ -427,7 +428,7 @@ data class Card( val DUMMY = Card("", "", CardSet.CORE, CardAttribute.DUAL, CardAttribute.STRENGTH, CardAttribute.WILLPOWER, CardRarity.EPIC, false, 0, 0, 0, CardType.ACTION, CardRace.ARGONIAN, emptyList(), "", CardArenaTier.AVERAGE, - listOf(), false, "", 0, listOf(), listOf(), listOf(), "", "", false) + listOf(), false, "", 0, listOf(), listOf(), listOf(), "", "", false, "") const val ALT_SUFFIX = "_alt" const val ARTS_PATH = "Arts" @@ -452,7 +453,7 @@ data class Card( mutableListOf().apply { source.readStringList(this) }, mutableListOf().apply { source.readStringList(this) }, mutableListOf().apply { source.readStringList(this) }, source.readString(), - source.readString(), 1 == source.readInt()) + source.readString(), 1 == source.readInt(), source.readString()) override fun describeContents() = 0 @@ -576,6 +577,7 @@ data class Card( dest?.writeString(lore) dest?.writeString(loreLink) dest?.writeInt((if (hasAlternativeArt) 1 else 0)) + dest?.writeString(alternativeArtSource) } override fun compareTo(other: Card): Int { diff --git a/app/src/main/kotlin/com/ediposouza/teslesgendstracker/interactor/FirebaseParsers.kt b/app/src/main/kotlin/com/ediposouza/teslesgendstracker/interactor/FirebaseParsers.kt index d853b2d..05a24c8 100644 --- a/app/src/main/kotlin/com/ediposouza/teslesgendstracker/interactor/FirebaseParsers.kt +++ b/app/src/main/kotlin/com/ediposouza/teslesgendstracker/interactor/FirebaseParsers.kt @@ -39,6 +39,7 @@ abstract class FirebaseParsers { val lore: String = "" val loreLink: String = "" val alternativeArt: Boolean = false + val alternativeArtSource: String = "" fun toCard(shortName: String, set: CardSet, attr: CardAttribute): Card { var clsAttr1 = attr @@ -57,7 +58,7 @@ abstract class FirebaseParsers { }, text, CardArenaTier.of(arenaTier), getCardArenaTierPlus(), evolves, season, shout, creators.split(", ").filter { it.isNotEmpty() }, generates.split(", ").filter { it.isNotEmpty() }, - tokens.split(", ").filter { it.isNotEmpty() }, lore, loreLink, alternativeArt) + tokens.split(", ").filter { it.isNotEmpty() }, lore, loreLink, alternativeArt, alternativeArtSource) } private fun getCardArenaTierPlus(): List { diff --git a/app/src/main/kotlin/com/ediposouza/teslesgendstracker/ui/cards/CardActivity.kt b/app/src/main/kotlin/com/ediposouza/teslesgendstracker/ui/cards/CardActivity.kt index a62754c..b1f421f 100644 --- a/app/src/main/kotlin/com/ediposouza/teslesgendstracker/ui/cards/CardActivity.kt +++ b/app/src/main/kotlin/com/ediposouza/teslesgendstracker/ui/cards/CardActivity.kt @@ -316,6 +316,11 @@ class CardActivity : BaseActivity() { card_reward.text = "$month/${yearMonth.year}" card_reward_label.visibility = View.VISIBLE } + if (card.isAlternativeArt()) { + card_reward.text = card.alternativeArtSource + card_reward_label.text = getString(R.string.card_alternative_label) + card_reward_label.visibility = View.VISIBLE + } card_race.text = card.race.name.toLowerCase().capitalize().replace("_", " ") card_race_label.visibility = View.VISIBLE.takeIf { card.type == CardType.CREATURE } ?: View.GONE card_race.visibility = View.VISIBLE.takeIf { card.type == CardType.CREATURE } ?: View.GONE diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d1358e7..c3502cb 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -119,6 +119,7 @@ Alle Deine Bewertung + Ursprung Mehr Informationen Arena Rang: Sammlung Qtd: diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4d5d4ed..9321307 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -119,6 +119,7 @@ Todas Tu Clasificación + Fuente Más información Nivel de arena: Colección Qtd: diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 3e6e168..792f896 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -120,6 +120,7 @@ Tutto Il tuo punteggio + Fonte Maggiori Informazioni Livello in Arena: In collezione: diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index c279304..c8a6bb4 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -120,6 +120,7 @@ Todos Sua Avaliação + Fonte Mais Informações Arena Nível: Coleção Qtd: diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index f8ee120..00d6787 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -119,6 +119,7 @@ Все Ваш рейтинг + Источник Больше информации Арена Tier: Коллекция Количество: diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1f7f4e6..f0ccad6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -187,6 +187,7 @@ unique Your Rating + Source More Info Arena Tier: Collection Qtd: diff --git a/database/dbCards.json b/database/dbCards.json index 5543fcb..de99945 100644 --- a/database/dbCards.json +++ b/database/dbCards.json @@ -123,7 +123,8 @@ "keyword": "Prophecy, Summon", "text": "Prophecy. Summon: Deal 1 damage.", "arenaTier": "Good", - "alternativeArt": true + "alternativeArt": true, + "alternativeArtSource": "Mad Prince Pack" }, "steelscimitar": { "name": "Steel Scimitar", @@ -1461,7 +1462,9 @@ "rarity": "Rare", "keyword": "Summon", "text": "Summon: Deal 2 damage to an creature.", - "arenaTier": "Good" + "arenaTier": "Good", + "alternativeArt": true, + "alternativeArtSource": "Starter Pack" }, "baronoftear": { "name": "Baron of Tear", @@ -2591,7 +2594,8 @@ "keyword": "Guard", "text": "Guard", "arenaTier": "Excellent", - "alternativeArt": true + "alternativeArt": true, + "alternativeArtSource": "Mad Prince Pack" }, "hivewarrior": { "name": "Hive Warrior", @@ -2747,7 +2751,8 @@ "lore": "'Piercing Javelin deals Magic Damage to an enemy and knocks them backward, stunning them for a brief moment. Aurora Javelin increases the damage when the ability is used at a distance, while Binding Javelin converts it to a Stamina-based image, and increases the duration of the stun caused by the attack.' - uesp.net", "loreLink": "http://en.uesp.net/wiki/Online:Piercing_Javelin", "arenaTier": "Insane", - "alternativeArt": true + "alternativeArt": true, + "alternativeArtSource": "Grant Melee Gauntlet" }, "pillagingtribune": { "name": "Pillaging Tribune", @@ -3231,7 +3236,8 @@ "keyword": "Prophecy, Guard", "text": "Prophecy, Guard", "arenaTier": "Excellent", - "alternativeArt": true + "alternativeArt": true, + "alternativeArtSource": "Starter Pack" }, "dunesmuggler": { "name": "Dune Smuggler", @@ -4552,7 +4558,8 @@ "keyword": "", "text": "", "arenaTier": "Good", - "alternativeArt": true + "alternativeArt": true, + "alternativeArtSource": "Starter Pack" }, "discipleofnamira": { "name": "Disciple of Namira", @@ -5348,7 +5355,8 @@ "keyword": "", "text": "Deal 3 damage.", "arenaTier": "Excellent", - "alternativeArt": true + "alternativeArt": true, + "alternativeArtSource": "Mad Prince Pack" }, "dwarvensphere": { "name": "Dwarven Sphere", diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e727bcc..8207351 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Jan 10 21:29:14 BRST 2017 +#Sun Jul 30 11:47:10 BRT 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip From 9084974152ee9c423435cffc1848b0905e9da6d8 Mon Sep 17 00:00:00 2001 From: EdipoSouza Date: Sun, 30 Jul 2017 15:33:51 -0300 Subject: [PATCH 3/4] Update Russian translation --- app/src/main/res/values-ru/strings.xml | 218 ++++++++++++------------- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 110 insertions(+), 110 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 00d6787..a4e68de 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,13 +1,13 @@ - Нажмите еще раз, чтобы выйти - База данных TESL Tracker находится под обновлением. Вы будете уведомлены, когда он будет завершен. - Эта версия TESL Tracker стал неподдерживаемый. Необходимо обновить, чтобы продолжить использование приложения. - Все функции приложения являются бесплатными, но если вы хотите, чтобы поддержать развитие, Вы можете пожертвовать некоторую ценность и остаться без рекламы. + Нажмите еще раз для выхода + База данных TESL Tracker сейчас обновляется. Пожалуйста, подождите. + Эта версия TESL Tracker больше не поддерживается. Пожалуйста, обновите ее. + Это бесплатное приложение, но Вы можете поддержать разрабочтика, взамен Вы избавитесь от рекламы. Донат %1$s Не сейчас, спасибо Сервис недоступен - Пожертвовать терпят неудачу, пожалуйста, попробуйте еще раз. - Спасибо за пожертвование. + Пожертвование не удалось, пожалуйста, попробуйте еще раз. + Спасибо за пожертвование. Наслаждайтесь! Доступна новая версия! Держите ваше приложение обновляется для новых функций и улучшений! Обновить сейчас @@ -17,31 +17,31 @@ Базовая информация Карты Колоды - Матчи - Арена Проект - Новый сет - TESL Статьи + Партии + Арена + Новые карты + Статьи TESL Сезоны TESL Сезоны Фильтр - Ads версия - Нет Ads версия + Версия с рекламой + Полная версия Пригласить друга Язык - Около + О приложении Поиск Сеты Статистика Карты с альтернативным искусством исключаются - Скрыть пустые + Компактный вид Только Любимый Только приватные Только из коллекции - - Любимый + Убрать отсутствующие + Избранное Удалить из избранного - подобно - В отличие от + Нравится + Не нравится Удалить Редактировать Готово @@ -60,56 +60,56 @@ Открыть ящик Закрыть ящик - Поделитесь с… - Управление вашей коллекции TES Legends, поиск и создавать общественные или частные палубы, чтобы отслеживать ваши матчи + Поделиться… + Управляйте своей коллекцией карт в TES Legends, ищите, составляйте и отслеживайте свои партии и делитесь своими колодами. Изображение на карте останется на английском - Около TES Legends Tracker - TES Legends Tracker является помощник приложение для карточной игры The Elder Scroll Легенды разработанные Dire Wolf Digital и опубликованных Bethesda Softworks. - Dire Wolf Digital имеет все права защищены от всех карт изображений и другой игровой ресурс в этом приложении. - Версия приложения: + О приложении + TESL Tracker это приложение-компаньон для карточной игры The Elder Sctolls Legends, разработанной компанией Dire Wolf Digital и изданная компанией Bethesda Softworks. + Dire Wolf Digital имеет все права на все изображения карт и другие игровые ресурсы в этом приложении. + Версия: Разработчик: - Отдельное спасибо:: - TES Legends игра + Отдельное спасибо: + TES Legends Список Tier Arena Разработчики UnityStudio - - Оценить App + Оценить в Google Store Импорт из Legends-Decks - Пожалуйста, сделайте логин и открыть страницу редактирования коллекции - - Коллекция Импорт + Войдите и откройте Вашу коллекцию карт + Войтите в откройте список Ваших колод + Импорт своей коллекции карты импортированы: Коллекция отличия Legends-Decks: ДОБАВЛЕНО ОБНОВЛЕНО - У ТЕБЯ ЕСТЬ + У ВАС ЕСТЬ ИМЕЕТ БОЛЬШЕ Карты Коллекция Токены - общественного - Подержанный + Публичные + Личные Избранные Статистика История - Первое место - Повседневная + Рейтинговые + Случайные Арена Новости Мир Pacas Ранжированный - Коллекция + Коллекция карт Токены Публичные колоды - Приватная колоды - вертушки Избранное - Матчи Статистика - Матчи История + Личные колоды + Избранные колоды + Статистика партий + История партий Новости TES Legends Мир TES Legends Около @@ -120,150 +120,150 @@ Ваш рейтинг Источник - Больше информации - Арена Tier: - Коллекция Количество: - Включить сбор редактировать? - Коллекция редактировать включен! + Подробнее + Тир Арены:: + В коллекции:: + Включить изменения коллекции? + Изменения коллекции включены! Сет: Раса: Около: Больше Звуки: - + Атака Играть - дополнительно + Экстра Уровни: Создатель: Генерирует: Токены:: Текущая версия - до того-%s версии \n %s - + Предыдущая-%s версия \n %s + Изображение сохранено в папке "Загрузки" Звук установлен как Мелодия - Изображение установлено как обои - Для сохранения файла необходимо разрешение на запись в хранилище. - Разрешение на запись в хранилище отклонено. + Установлено на рабочий стол + Чтобы сохранить необходимы права на запись. + Нету прав на запись. Разрешение на запись настроек отклонено. - Есть Вход - %1$s добавили в избранное + Необходимо войти + %1$s в избранном %1$s Удалить из избранного - Войти на Google - Это действие требует авторизованного пользователя. - Ошибка аутентификации. + Войти через Google + Требуется войти в свой аккаунт. + Авторизация не удалась. Коллекция Неизвестно - Имя, Раса, Тип, Ключевое Слово или Текст + Имя, раса, тип, ключевое слово или текст Поиск карты %s \n Или попробуйте %s - Всего карточек\n Душа для завершения + Всего карт/душ для всей коллекции Название колоды - Название колоды - Создано + Детали + Составил Создано Последнее обновление %1$s в %2$s Обновления Колода удалена! - Нажмите снова, чтобы выйти без сохранения + Еще раз назад, чтобы выйти без сохрания Комментарии Ваш комментарий! Ваш комментарий! (необходимо войти) Сообщение слишком короткое! Новая колода - Новая %s палуба + Новая %s колода Инофрмация о колоде Сохранить изменения в колоде? Имя Тип - Сделать колоду публичной + Опублировать колоду Сохранить Обновить Колода сохранена как публичная - Колода сохранена как приватная + Колода сохранена как личная Колода обновлена как публичная - Колода обновлена как приватная - Заполните, пожалуйста, вашу палубу, прежде чем сохранить его + Колода обновлена как личная + Пожалуйста, завершите колоду прежде, чем сохранить - Победа - Поражение - Сводка класса + Побед + Поражений + Класс 3 победы - Игры - Победы - Поражения - Шанс на победу + Игр + Побед + Поражений + Процент побед Всего - Удаление матче против %1$s + Удаление партий против %1$s Все сезоны - %1$s Статистика + Статистика %1$s - Я играю с + Я играю Имя Класс Режим Колода Другие Название колоды - Начало - Имя должно быть не менее 5 символов + Старт + Имя должно быть от 5 символов Класс колоды оппоннета Тип колоды оппонента - карты Остатки - Отправляясь Первый - Ранг Legend + Карт осталось + Вы ходите первым + Легендарный ранг Ранг - Ранговых матчей нужен ранг, чтобы спастись - Новый Совпадение Сохраненный! + Для рейтинговых партий нужен Рейтинг, чтобы сохранить + Новая партия сохранена! Новости Все Объявления - тактика ведения боя - Ковка Легенды + Тактики боя + Сковать Легенды Императорская библиотека - Легендарные Beginnings - Арена Район + Легендарное начало + Район Арены Мир Расы Классы Атрибуты Награда - Нет Матчи информация - ранговых матчей - Оппонент - Лучший \nранг + Нету информации + Рейтинговые партии + Соперник + Лучший\nРанг Всего побед: Всего поражений: - Всего совпадений: - Наиболее просматриваемые: - Наиболее поражение: - Меньше поражение: + Всего партий: + Самые просматриваемые: + Больше всего поражений: + Меньше всего поражений: - %s\nИзменено + %s\n Изменения - Выберите класс, чтобы начать новый проект Arena! - Арена Проект - %s + Выберите класс, чтобы начать Драфт Арены + Драфт Арены - %s Наивысшее значение не всегда является лучшим выбором. Arena Tiers не заботятся о вашей кривой магии. - Длинное нажатие на карты или нажмите на стрелку, чтобы выбрать ваш выбор + Долгий тап на карту или на стрелку, чтобы выбрать Выберите карту Взаимодействие с: \n%s Удалить карту? - Добавочный: - На основе использованной расы на портрете. - Награда за уровень 24 и 32 hа основе использованной расы на портрете. + Дополнительно: + Основано на используемых расах или портретах. + Награды на 24 и 32 уровнях основаны на используемых расах или потртетах. - Спойлеры могут иметь изображения низкого качества + Изображения могут иметь низкое качество - WabbaTrack - это приложение для Windows Legends, чтобы автоматически отслеживать ваши матчи и помогает вам с проектом арены. - Уровень арены на основе списка уровней и списка симуляторов CVH с картами, выбранными ранее. - Функция Auto-Build для автоматической сборки импортированной колоды с ваших колод или легенд-колод. - Палуба Tracker с функцией наложения карты и картами Attribute / Prophecy считаются с шансами удара. - Соответствует истории и статистике с помощью Win-Rate и фильтров для режимов и сезонов + WabbaTrack - это Windows-приложение для The Elder Scrolls Legends, которое помогает вести статистику Ваших партий, а также спроектировать партии арены. + Arena Tier основан на списке CVH Arena Tier и показывает полезность карт до их выбора. + Функция автоматической сборки колоды или импортирование колоды с портала Legends-decks. + Отслеживание колоды с функцией показа Атрибутов/Пророчеств расчитываются с шансами выпадения. + История партий, статистика с победами/поражениями, фильтрами для режимов игры и сезона diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f0ccad6..5e0fd65 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -126,7 +126,7 @@ Italian translation - Antonio Sampere Russian translation - - WickedTroll + Roman Chuvayev and WickedTroll Twitter https://twitter.com/teslegendstrack Rate App From 36354c7314ede7da3aa11b6ac6defbb1eb9cd887 Mon Sep 17 00:00:00 2001 From: EdipoSouza Date: Sun, 30 Jul 2017 15:39:31 -0300 Subject: [PATCH 4/4] Bump version to 1.6.3 --- app/build.gradle | 2 +- app/src/main/res/raw/changelog.xml | 10 ++++++++++ build.gradle | 6 +++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 591ad24..6501848 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { buildToolsVersion "26.0.1" packagingOptions.excludes = ['META-INF/services/javax.annotation.processing.Processor', 'META-INF/LICENSE.txt', 'META-INF/NOTICE.txt', 'META-INF/README.txt', - 'LICENSE.txt', 'NOTICE.txt', 'README.txt', '.readme'] + 'META-INF/MANIFEST.MF','LICENSE.txt', 'NOTICE.txt', 'README.txt', '.readme'] def props = new Properties() props.load(file("secrets.properties").newInputStream()) diff --git a/app/src/main/res/raw/changelog.xml b/app/src/main/res/raw/changelog.xml index 3bad933..489663e 100644 --- a/app/src/main/res/raw/changelog.xml +++ b/app/src/main/res/raw/changelog.xml @@ -1,5 +1,15 @@ + + [b]Feature:[/b] Added Source of Alternative Art cards in card details + + Update Russian translation + Add Ash Servant alternative art card + Fix expansible card info showing behind navigation bar in some devices + + diff --git a/build.gradle b/build.gradle index fe1a7bf..00bd719 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,8 @@ buildscript { ext { - appVersionName = "1.6.2" - appVersionCode = 44 + appVersionName = "1.6.3" + appVersionCode = 45 prepareToRelease = false kotlin_version = "1.1.3-2" @@ -23,7 +23,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.0.0-alpha8' classpath 'com.google.gms:google-services:3.1.0' classpath ('com.google.firebase:firebase-plugins:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5'