From 89420b81dacce073fbbd8ad3fed42da7b6922f4a Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 30 Nov 2016 17:36:57 +0100 Subject: [PATCH] implement seeds sdk --- Habitica/AndroidManifest.xml | 3 +- Habitica/build.gradle | 23 +- Habitica/res/drawable/seeds_badge_store.png | Bin 0 -> 6374 bytes Habitica/res/layout/fragment_gem_purchase.xml | 3 +- Habitica/res/layout/purchase_gem_view.xml | 17 +- Habitica/res/values/attrs_avatar_view.xml | 1 + .../habitica/HabiticaPurchaseVerifier.java | 13 + .../habitica/ui/GemPurchaseOptionsView.java | 11 + .../ui/activities/GemPurchaseActivity.java | 56 +- .../ui/fragments/GemsPurchaseFragment.java | 8 + .../lib/models/Preferences.java | 2 +- habitica.resources.example | 3 + seeds-sdk/LICENSE | 202 ++++ seeds-sdk/MoPub Client Licence.txt | 10 + seeds-sdk/NOTICE | 15 + seeds-sdk/build.gradle | 72 ++ seeds-sdk/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + seeds-sdk/gradlew | 160 +++ seeds-sdk/gradlew.bat | 90 ++ seeds-sdk/proguard-rules.pro | 17 + .../android/sdk/AdvertisingIdAdapterTest.java | 32 + .../android/sdk/ConnectionProcessorTests.java | 284 +++++ .../android/sdk/ConnectionQueueTests.java | 406 +++++++ .../android/sdk/CountlyStoreTests.java | 338 ++++++ .../playseeds/android/sdk/CountlyTests.java | 652 +++++++++++ .../android/sdk/CrashDetailsTest.java | 87 ++ .../playseeds/android/sdk/DeviceIdTests.java | 76 ++ .../android/sdk/DeviceInfoTests.java | 218 ++++ .../android/sdk/EventQueueTests.java | 105 ++ .../com/playseeds/android/sdk/EventTests.java | 325 ++++++ .../android/sdk/MessagingAdapterTest.java | 24 + .../android/sdk/ReferrerReceiverTest.java | 48 + .../com/playseeds/android/sdk/SeedsTest.java | 141 +++ .../playseeds/android/sdk/UserDataTests.java | 93 ++ .../GeneralInAppMessageProviderTest.java | 20 + .../InAppMessageManagerTest.java | 101 ++ .../InAppMessageRequestTest.java | 66 ++ .../InAppMessageResponseTest.java | 59 + .../android/sdk/inappmessaging/LogTest.java | 50 + .../inappmessaging/RequestExceptionTest.java | 43 + .../inappmessaging/ResourceManagerTest.java | 57 + .../inappmessaging/RichMediaActivityTest.java | 120 ++ .../android/sdk/inappmessaging/UtilTest.java | 60 + .../sdk/test/InstrumentationTestRunner.java | 33 + seeds-sdk/src/main/AndroidManifest.xml | 31 + .../android/sdk/AdvertisingIdAdapter.java | 62 + .../android/sdk/CertificateTrustManager.java | 93 ++ .../android/sdk/ConnectionProcessor.java | 238 ++++ .../android/sdk/ConnectionQueue.java | 318 +++++ .../playseeds/android/sdk/CountlyStore.java | 276 +++++ .../playseeds/android/sdk/CrashDetails.java | 405 +++++++ .../com/playseeds/android/sdk/DeviceId.java | 176 +++ .../com/playseeds/android/sdk/DeviceInfo.java | 255 ++++ .../java/com/playseeds/android/sdk/Event.java | 142 +++ .../com/playseeds/android/sdk/EventQueue.java | 109 ++ .../sdk/IInAppMessageShowCountListener.java | 5 + .../sdk/IInAppPurchaseCountListener.java | 5 + .../sdk/IUserBehaviorQueryListener.java | 6 + .../sdk/MainActivityEventListener.java | 116 ++ .../android/sdk/MessagingAdapter.java | 48 + .../android/sdk/OpenUDIDAdapter.java | 66 ++ .../android/sdk/ReferrerReceiver.java | 81 ++ .../java/com/playseeds/android/sdk/Seeds.java | 1035 +++++++++++++++++ .../com/playseeds/android/sdk/UserData.java | 213 ++++ .../android/sdk/inappmessaging/ClickType.java | 29 + .../android/sdk/inappmessaging/Const.java | 82 ++ .../android/sdk/inappmessaging/Gender.java | 32 + .../GeneralInAppMessageProvider.java | 95 ++ .../sdk/inappmessaging/InAppMessage.java | 26 + .../inappmessaging/InAppMessageListener.java | 33 + .../inappmessaging/InAppMessageManager.java | 580 +++++++++ .../inappmessaging/InAppMessageProvider.java | 60 + .../inappmessaging/InAppMessageRequest.java | 314 +++++ .../inappmessaging/InAppMessageResponse.java | 230 ++++ .../sdk/inappmessaging/InAppMessageView.java | 323 +++++ .../sdk/inappmessaging/InAppWebView.java | 102 ++ .../android/sdk/inappmessaging/Log.java | 94 ++ .../sdk/inappmessaging/RequestException.java | 37 + .../sdk/inappmessaging/ResourceManager.java | 200 ++++ .../sdk/inappmessaging/RichMediaActivity.java | 371 ++++++ .../android/sdk/inappmessaging/Util.java | 284 +++++ .../java/org/openudid/OpenUDID_manager.java | 200 ++++ .../java/org/openudid/OpenUDID_service.java | 37 + seeds-sdk/src/main/res/drawable/bar.png | Bin 0 -> 2773 bytes .../src/main/res/drawable/browser_back.png | Bin 0 -> 1032 bytes .../main/res/drawable/browser_external.png | Bin 0 -> 1640 bytes .../src/main/res/drawable/browser_forward.png | Bin 0 -> 1024 bytes .../src/main/res/drawable/browser_reload.png | Bin 0 -> 2054 bytes .../main/res/drawable/close_button_normal.png | Bin 0 -> 4730 bytes .../res/drawable/close_button_pressed.png | Bin 0 -> 5091 bytes seeds-sdk/src/main/res/drawable/skip.png | Bin 0 -> 4152 bytes .../src/main/res/drawable/video_pause.png | Bin 0 -> 311 bytes .../src/main/res/drawable/video_play.png | Bin 0 -> 1024 bytes .../src/main/res/drawable/video_replay.png | Bin 0 -> 2054 bytes seeds-sdk/src/test/AndroidManifest.xml | 66 ++ .../com/playseeds/android/sdk/SeedsTests.java | 116 ++ .../android/sdk/SeedsTestsRunner.java | 32 + settings.gradle | 2 +- 99 files changed, 11155 insertions(+), 20 deletions(-) create mode 100644 Habitica/res/drawable/seeds_badge_store.png create mode 100755 seeds-sdk/LICENSE create mode 100755 seeds-sdk/MoPub Client Licence.txt create mode 100644 seeds-sdk/NOTICE create mode 100755 seeds-sdk/build.gradle create mode 100644 seeds-sdk/gradle/wrapper/gradle-wrapper.jar create mode 100644 seeds-sdk/gradle/wrapper/gradle-wrapper.properties create mode 100644 seeds-sdk/gradlew create mode 100644 seeds-sdk/gradlew.bat create mode 100755 seeds-sdk/proguard-rules.pro create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/AdvertisingIdAdapterTest.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/ConnectionProcessorTests.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/ConnectionQueueTests.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/CountlyStoreTests.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/CountlyTests.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/CrashDetailsTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/DeviceIdTests.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/DeviceInfoTests.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/EventQueueTests.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/EventTests.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/MessagingAdapterTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/ReferrerReceiverTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/SeedsTest.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/UserDataTests.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/GeneralInAppMessageProviderTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/InAppMessageManagerTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/InAppMessageRequestTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/InAppMessageResponseTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/LogTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/RequestExceptionTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/ResourceManagerTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/RichMediaActivityTest.java create mode 100644 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/inappmessaging/UtilTest.java create mode 100755 seeds-sdk/src/androidTest/java/com/playseeds/android/sdk/test/InstrumentationTestRunner.java create mode 100755 seeds-sdk/src/main/AndroidManifest.xml create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/AdvertisingIdAdapter.java create mode 100644 seeds-sdk/src/main/java/com/playseeds/android/sdk/CertificateTrustManager.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/ConnectionProcessor.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/ConnectionQueue.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/CountlyStore.java create mode 100644 seeds-sdk/src/main/java/com/playseeds/android/sdk/CrashDetails.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/DeviceId.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/DeviceInfo.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/Event.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/EventQueue.java create mode 100644 seeds-sdk/src/main/java/com/playseeds/android/sdk/IInAppMessageShowCountListener.java create mode 100644 seeds-sdk/src/main/java/com/playseeds/android/sdk/IInAppPurchaseCountListener.java create mode 100644 seeds-sdk/src/main/java/com/playseeds/android/sdk/IUserBehaviorQueryListener.java create mode 100644 seeds-sdk/src/main/java/com/playseeds/android/sdk/MainActivityEventListener.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/MessagingAdapter.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/OpenUDIDAdapter.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/ReferrerReceiver.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/Seeds.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/UserData.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/ClickType.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/Const.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/Gender.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/GeneralInAppMessageProvider.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessage.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessageListener.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessageManager.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessageProvider.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessageRequest.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessageResponse.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppMessageView.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/InAppWebView.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/Log.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/RequestException.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/ResourceManager.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/RichMediaActivity.java create mode 100755 seeds-sdk/src/main/java/com/playseeds/android/sdk/inappmessaging/Util.java create mode 100755 seeds-sdk/src/main/java/org/openudid/OpenUDID_manager.java create mode 100755 seeds-sdk/src/main/java/org/openudid/OpenUDID_service.java create mode 100755 seeds-sdk/src/main/res/drawable/bar.png create mode 100755 seeds-sdk/src/main/res/drawable/browser_back.png create mode 100755 seeds-sdk/src/main/res/drawable/browser_external.png create mode 100755 seeds-sdk/src/main/res/drawable/browser_forward.png create mode 100755 seeds-sdk/src/main/res/drawable/browser_reload.png create mode 100755 seeds-sdk/src/main/res/drawable/close_button_normal.png create mode 100755 seeds-sdk/src/main/res/drawable/close_button_pressed.png create mode 100755 seeds-sdk/src/main/res/drawable/skip.png create mode 100755 seeds-sdk/src/main/res/drawable/video_pause.png create mode 100755 seeds-sdk/src/main/res/drawable/video_play.png create mode 100755 seeds-sdk/src/main/res/drawable/video_replay.png create mode 100644 seeds-sdk/src/test/AndroidManifest.xml create mode 100644 seeds-sdk/src/test/java/com/playseeds/android/sdk/SeedsTests.java create mode 100644 seeds-sdk/src/test/java/com/playseeds/android/sdk/SeedsTestsRunner.java diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 17371d259..05d0cbe8f 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -24,7 +24,8 @@ android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" - android:theme="@style/AppTheme"> + android:theme="@style/AppTheme" + tools:replace="android:name"> ? zcQ^cl;oU2h6Y-LJtYTDW`jw)UuqHYNEe_-2n__Z5w2j`Sf11ox5KciCU}@x zx*M&YS)Zbj8C~jtf#O#e+K3kTtz5f7mLD3y4KvygY*A75x~Uu02dM(trTzWf9vb7> z9rydpru`C+l~4N*&psz7Pc1ZSt+Spq92|m1%?`8p2)4c_OeAkge0gW-%a6DEq{#>3t+{1E6%`qz_R;DLZY4`O;~}zs51}C|;k>rVbI|X{s zIl;e=!@+rURu8w8H3{gZ8iR;)LW={!i)9|^YZ_5A(RjQINukn&kncY;D9$!&5B{xW z=(k&#8-Wx(<-_SSd51-ww>&(jW>rAMzrBi~xenX8%um07 ztR9t;gB{mR5Y*yW3~J1H5j^iB&(peIiapYemld>bgc2WKIesz3X_DjnRP2EwDt+IT z{H{@iZngFx+K>Gisp3bimGyh%LTiw}MohZFE3~;;3KM-_Q{E~)gWqD*4AL;N2=?V6 zH79xzsAgZ?4nKQ0ahR+Z4{jcR)E}X^)p<55eJh94M}NZ{m;$z28Go22K0O<{)9rfm z0y!=IY|NY>{4w_;t=OjTDX*%wB&}8SuC?;~9!B6pd1!2<$cW%F-pL$4vbffY;|uN< z3O^u986s&g8+3lWUZh~z#$`*23U2!{)SI|(6XNG`DSq2wOMx(}nsj^5i4_v&(7r$_ zeZKL!t2&*us`O@BLvz+ZilzVfd!7X8Z1|*G#dQNBfmT1 z`0^c8JsO_cCunAc z(@w&mDHrTsHvyTMov_NMH?2L1AM@1bC9~M$x#Eb%XYTQo#<>WC;4Hd>{^8!331+nU zvaAIEMm^AL?6b^^mutjPn2P(Q{kjUr{C9y`Lr5}KwDL30b5b!Z8!0+4P*|(m{c?q~ zhD%W0s^?RL=5V?Jh`AKTMf;)eLBJuikoH#1?z zvLg~QtLT*Y?=DOSZA3VSC-AhN&EAbk8u&8%ulJ|n9o=yTKsvt4th^=AaS$E87h<-8Xr%+K#K zAS?s8I~KkyZM$Bf@$s{hIy3#Gx(gQ(O)q;>sX#WH+q=6JKZiC?S6%!q&0A%y$j7@i zO2gEr9`J>|otR+8=mw!5@)1hJtg>wL7eGR$@S%@AUUV@?o>DvBEBtsJ#e{Bd>9GY_ zYNEXSxG`b;w z;~4ZHDO}sQv6C8bhOLeA?tC(~4ADN(leH!xr1|R6ctJLB-4K8b&DFxTd@e$3s1*#9 zQB-l>!$&HOcKNFMVf_*X57;;oNi~6LVwaVPGhRNxs@jqx@>5qpviQVlpSmz?W6O@P z7T7(*ZYZJQfv5%lt+}$fx^R&O29NsdVeewlU`zE?GGJ~)AzKnQOeLAo>)Vx9i2u9= zcSq!!ziN)E9&4-SrSgfkR9_yNNN;(4D14Ti@jAV&WT@kt7SW+c4!y1C?#1J8VM;SK z4Urfvb;JQC!T6A|#64Vl`~_oB9^r5=bSx#odn=O0-K!6KC^y-Ho@8l_fbHevkV4}-FGUpd*6m*Qd@H(72L$hwxagr5E(zj20W8x`kA|9f_xoeShmi|Se*Jbqj2vIm=GI>-}LqL6SByv`| z+@sfCohUQMR+hgTX^ebo;=icfx~oleFT5MQNZ_UD{MBr1l_Eb{GC8dBPyDYmv@3vh zSpYA0s(2&iJJoo$_(4N3E>yvA3S$vGEiP7pn3~^3C|?PnRO#|pHAyu-c5)E6N=lMx zY*k0&YqZ*oaC^SdPgzE>5hk|m(+bhqNK!$YTyUpgua{mUgy*~Rj9I>_0FetF6c~zs zLMwd_3VEG8yCFq*T;0QZ_2zDVLL4b^g!G~M-tN>jGXwX;d$}>5l7ctAykIT?*}RmvN;_w>H#ZYyjv~n- zcP&jqx%1a&HvQ_hk57Z@Tom*CwdiJ@7Kt}1+5nYxMVU?{$g?}z)%*g)QL&u^c9`sA z-5SsHTvGpb0?{oCFlW$|E4kpNB z(j;*9Nsg9E2`wk>#cIqM9NyO=eVO5^E&muzB~x2EE~yK}adE%9e*`i89v-AXrEzl^ zwV&y_>jx3q1Soy*TuF6SsPT?uayZ+E2yq2Oyq`YDms&7T!8sfJgr}c;FkJY;$O=td zc+@n~->4{eiJ&rGSmK1F&+Uz1KYNbv#_inhBv5g81x@L}>C>^x$xw5pQ)I%pn zbu@OCkg?R7JS7EiLs@S~ zek`+Ph(l=liSEvKpT1aJv1n=uN%9<1@`KdPpl0lwjcAF_*H@Bm4OIO;c5)SLMf-=3 z(;!0MwjoauHQKb)JniyeK0Sfsye00LJs=4xeSB~NGLcw5oHG(|(!|B($eJCIy(#-} zQYu;FuP^9&m0;Z(i=<)<$93*R#l1E)SMSYY%Yj6TcsX zQnI)ro%Q{|DYGhPRN6W7GBb<@t*&HXoegauHb+x$5eNYCto+Yn@DkkuwE5|;j@$^=DAzmI)eR}_)>6Zg-}5Pv;Ae8%y4w!oW)SM+rr;aiY~ zeG&_X3xkF#2}zxb3#%r%h*VqjDP6xe6K)BUY-5$#wv)T6$RNxXa#lx<+ z2MMXSsbrkl4nKSJXAK2__SBWa?QWnXM@8dmn3?sP^#m)vbfwX~M$qY#8pXpz0>d#M z;aY(jg(6c7^RYwSFP9Zm6H|fo@q5nzv}cz@^@@7H?CiV?`!f0Q`$;?yP~K)m3{3WQqvo8sUAG23KIm?y|qV8BYm4Bjn2n}kt5|5jid9! zoR#D9o<6*#0ciVt7yO1FE@{3OYC7$^z=1~)&`zNmV}-z#0sXJYvK;HlvRN>^GM}!B zv%|DxB_y%;7~;2nSrsLmBahl>bjt-e3AqBQ18cf^NJo||(w+bApo`^4+>7N^8t-eX zL~jP80*Oe7lfnHp!_~6W`yu87=X2rEKb|_u6(1%#M{~<3It8e|J4l= zn~te4GHOw!2{0@$-xt^VYMb>+7+JDs`yf>_VO+APZdU z?YfOK2Du$knZ2PK6NA5GBopSnAhM%+9$m>@7`~64&2c{^U>`Klw@_*F{*J#g9w0(l zn!E82z8B*ni}!Rzg zcnm&^oo%w`mjD1^G~`3x-%f^WPvghE1Vn%;l2xfI%O{3w-qY^OhIzR@7)bV2v@nY6 zrzbMpmW}ZpsdV<-<^;$x65@sg@ot?ARQ?8>r9``s;Qc|^FEl{sR2JBA3t9Ulp(F;? zsLHBd{GC*0*56<5EhF%a1c-W?%l2R;(G|-bgb#Be4ht{g8r&k_tbePyAZcU_QdxNS zrR!q`OH5oaHDz=hYQ(mVy2e$0w>`G=Hw)P16PD z)m+#Ef!g4)+DA1vy@&&N&qq6OR)p*TI1#Z<`N!k{CFy(s@vG}O2kk+CA%P38Dw8Pn z$cGA|z_0=)zgB~vfGCD#4Do(YFe|IW?API|FV2PnHt6K)P)UH+BuCrhy0DaKANA_| zBrVmyVsSqb9XYg~5nH`@Vcz54m3-b{?vAaZ%UJ#hDV5--VrR_jumT3Z?^OzDT$q6| zZzXZ5sm)2fqeeXZr!7LCl#5Gi7>Z!?Ev&e>Zdua5C1-hjJsN4O_=f)A)wd}L{4DKV z;^Yd!{8wil-uH8Xp|XYXBJ+?WLRsBtn9o$T#DkKGP^^L)sKfd+kd?~uUd;JLQ%8e6 ziHb+J(s6pU?kq_p&4EX+B690A`A7WN`j+|JdBc)34VAJDhqDDoUurUPEGxZ2R0!^&$g~f?fJ6LT4qt4RmDV3uZk>7@Kc?v`5DbTm`gb-jH+9+17pfr z$>b~RSO%w(2`*oOtFi<2$!{*!zQP#P1d6Pzi5>fX1!g_(#2D44VT~V$8grxSD4YJM zSP-4Hhh>ltcqQvuDH7Ewrz^NWi6i*R8TGuyxT2A4{7siY+qjmWags81P{%1N| zSstj`dNq^uT5JI0!Pqk8f9GW=6I4nMeixYT_k~BRt0imj_jROAt1W|xv+1J#OyruW zrY+*+zM0Sia}3|#N&H8*ZT!UFTJ#(K?k5J^cwE~92H-f^f!vn}JRCE4_cqYGIs&#@ zF71hoC z1tyInJc-! zz{b|~Ji3NM5Jy^2zF$F#^lWWw`e$p?9!89%0t**n<^^* z;x`Urp5LSwHH6wwqq3R+`7qSjYi$RjNb^TpSrY7@ErZaD9d~Fb1NoJ~@_xiOiz`RZ8fGek_>?9Eig!a7bAo~^1}wKex(c<|M_X7o;fpFR z;cTjL9%4Zx9rf0fg~KMiL)qs!VrS+1&v{s_!Y$r>MFK;-+egDq2%^kvKACb~yU((_ zjTeG$9n!)9cb}_-$A>R{o*E&X+mu3!jdn}HA9VXYEj*r`nfSBwm(OPlu_DuZu$CvK z)+XcNH>L~m7Mb`*tvoCrt{m+t9pyerpYC3NY+c@5y_bo_Rf(m(-Dp5%A-lSGEXkp! z=Fx}IaL#IZQMc0Z@5$R?nK<)nRrG4Oh7gA-A3@v(GE7G?Q2HaVSM7rz_oim zlVMk?WwYXA7uL6YvtF?W(Y_)+B3sFwa^u?S+>v2K*6g=)mWsO&HDnDK5;^EcL+KO* z%pU{$kVS1lol`!fb4A`!Gs{wiU&3;6ao$(O`6Zzv0BGmsi|4XjVVpUzu0flk&0{h? zkQi=2ga8i(rG}yP+ttcxwgkqJcVP9>`1o{>%94v%hKiG+@VYhvNR%WcFBN3uW%hs# zc#27D46DHEOjPQ8;9Vs_5MN$s^XEi`rg~_C$Rgf zzT0}r8^9N4=r&r((6bmOjTVuuYgy@05-R(b|)nO z-WMpYqfEWS({^VV>}!RwN}9G(6Z{HL>dI{Q4vj#<(11!ZSv7&~X}qg(4ru7koSe5K z_RX`zK%vY#l^nee}L=YK1wiJ&u7R!vL|^Wy6ck2fXJ z0ez0e62U%|h#|Y`1#ZT1f6d9vgzP2T8(2}oHf!LNWx5eF=H}*dNk1n)a{^8C6m!tb zSpDGm|8J7_&5=AS-tV}qIy|#xt(ud^dZ$s`jWW8*E498HC*;w!2vA%_+OHfmTu2M~ z7bEB))7B!~J|g))_^s%#U-%TG&1Iw?((1f7KX#%`_490~CeXwy?=_LYgK#B&?@#gL z{LG&cJl%jVI)hXUkr)$)rH0~E(i(&_{-#}j)CrCX$m%nHHB%2VAK&Yw=det}J + app:gemDrawable="@drawable/gems_84" + app:showSeedsPromo="true" /> + android:gravity="center" + android:layout_marginBottom="14dp" /> + +