From 1207e656513192ad1e2ab041b383ed718fc969dc Mon Sep 17 00:00:00 2001 From: Lennart Goedhart <lennart@omnibase.com.au> Date: Mon, 13 Jun 2016 19:16:28 +0300 Subject: [PATCH] - Store config data using Realm.io - Refactor UI (use Material Design and new font, drop to single style.xml) - Do the pump comms using an IntentService in a separate thread - Add extra OTG check - General clean up and refactoring (improve naming and code). --- app/app.iml | 65 ++- app/build.gradle | 9 +- app/src/main/AndroidManifest.xml | 35 +- .../main/assets/fonts/OpenSans-Regular.ttf | Bin 0 -> 217360 bytes .../android/UploaderApplication.java | 30 ++ .../medtronic/GetHmacAndKeyActivity.java | 117 +++-- .../android/medtronic/MainActivity.java | 460 ++++++++++++++++++ .../medtronic/Medtronic640gActivity.java | 457 ----------------- .../android/medtronic/MedtronicCNLReader.java | 38 +- .../medtronic/data/CNLConfigContract.java | 21 - .../medtronic/data/CNLConfigDbHelper.java | 141 ------ ...ce.java => MedtronicCnlIntentService.java} | 200 ++++---- .../android/model/CgmStatusEvent.java | 63 +++ .../medtronicNg/ContourNextLinkInfo.java | 38 ++ .../android/model/medtronicNg/Pump.java | 58 +++ .../model/medtronicNg/PumpStatusEvent.java | 19 + .../android/service/AbstractService.java | 103 ---- .../android/service/ServiceManager.java | 152 ------ .../android/settings/SettingsActivity.java | 31 +- .../android/settings/SettingsFragment.java | 15 +- .../upload/MedtronicNG/PumpStatusRecord.java | 5 - .../android/upload/UploadHelper.java | 37 +- app/src/main/res/drawable/drawer_header.jpg | Bin 0 -> 48411 bytes app/src/main/res/layout/activity_login.xml | 18 +- app/src/main/res/layout/activity_main.xml | 175 +++++++ app/src/main/res/layout/activity_settings.xml | 6 + app/src/main/res/layout/adb.xml | 41 -- app/src/main/res/menu/menu.xml | 3 +- app/src/main/res/menu/menu_register_usb.xml | 9 + app/src/main/res/values-v11/styles.xml | 11 - app/src/main/res/values-v14/styles.xml | 12 - app/src/main/res/values-v21/styles.xml | 7 - app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/styles.xml | 23 + app/src/main/res/xml/preferences.xml | 38 +- build.gradle | 1 + 36 files changed, 1212 insertions(+), 1228 deletions(-) create mode 100644 app/src/main/assets/fonts/OpenSans-Regular.ttf create mode 100644 app/src/main/java/info/nightscout/android/UploaderApplication.java create mode 100644 app/src/main/java/info/nightscout/android/medtronic/MainActivity.java delete mode 100644 app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java delete mode 100644 app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java delete mode 100644 app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java rename app/src/main/java/info/nightscout/android/medtronic/service/{MedtronicCNLService.java => MedtronicCnlIntentService.java} (59%) create mode 100644 app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java create mode 100644 app/src/main/java/info/nightscout/android/model/medtronicNg/ContourNextLinkInfo.java create mode 100644 app/src/main/java/info/nightscout/android/model/medtronicNg/Pump.java create mode 100644 app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java delete mode 100644 app/src/main/java/info/nightscout/android/service/AbstractService.java delete mode 100644 app/src/main/java/info/nightscout/android/service/ServiceManager.java create mode 100644 app/src/main/res/drawable/drawer_header.jpg create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_settings.xml delete mode 100644 app/src/main/res/layout/adb.xml create mode 100644 app/src/main/res/menu/menu_register_usb.xml delete mode 100644 app/src/main/res/values-v11/styles.xml delete mode 100644 app/src/main/res/values-v14/styles.xml delete mode 100644 app/src/main/res/values-v21/styles.xml create mode 100644 app/src/main/res/values/styles.xml diff --git a/app/app.iml b/app/app.iml index 4a7d5c4..e21e32e 100644 --- a/app/app.iml +++ b/app/app.iml @@ -28,6 +28,7 @@ <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" /> <exclude-output /> <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> @@ -35,6 +36,7 @@ <sourceFolder url="file://$MODULE_DIR$/build/generated/fabric/res/debug" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" /> @@ -65,14 +67,6 @@ <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> @@ -81,6 +75,14 @@ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" /> @@ -88,48 +90,65 @@ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/23.4.0/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.4.0/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/design/23.4.0/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.4.0/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.4.0/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/23.4.0/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.bugfender.sdk/android/0.3.5/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.3.6/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.4/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.8/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.5.5/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.getkeepsafe.relinker/relinker/1.2.1/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/fastadapter/1.5.2/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/google-material-typeface/2.2.0.1.original/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/iconics-core/2.6.0/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/materialdrawer/5.2.9/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mikepenz/materialize/0.8.8/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.10/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/io.realm/realm-android-library/1.0.0/jars" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/uk.co.chrisjenx/calligraphy/2.2.0/jars" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> </content> <orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" exported="" name="support-annotations-23.4.0" level="project" /> - <orderEntry type="library" exported="" name="crashlytics-2.5.5" level="project" /> - <orderEntry type="library" exported="" name="crashlytics-core-2.3.8" level="project" /> - <orderEntry type="library" exported="" name="beta-1.1.4" level="project" /> - <orderEntry type="library" exported="" name="logback-android-1.1.1-3" level="project" /> + <orderEntry type="library" exported="" name="google-material-typeface-2.2.0.1.original" level="project" /> + <orderEntry type="library" exported="" name="okhttp-2.4.0" level="project" /> + <orderEntry type="library" exported="" name="relinker-1.2.1" level="project" /> + <orderEntry type="library" exported="" name="retrofit-1.9.0" level="project" /> + <orderEntry type="library" exported="" name="realm-annotations-1.0.0" level="project" /> <orderEntry type="library" exported="" name="animated-vector-drawable-23.4.0" level="project" /> <orderEntry type="library" exported="" name="commons-lang3-3.4" level="project" /> <orderEntry type="library" exported="" name="support-v4-23.4.0" level="project" /> + <orderEntry type="library" exported="" name="recyclerview-v7-23.4.0" level="project" /> <orderEntry type="library" exported="" name="slf4j-api-1.7.2" level="project" /> - <orderEntry type="library" exported="" name="answers-1.3.6" level="project" /> <orderEntry type="library" exported="" name="support-vector-drawable-23.4.0" level="project" /> + <orderEntry type="library" exported="" name="materialize-0.8.8" level="project" /> + <orderEntry type="library" exported="" name="okio-1.4.0" level="project" /> + <orderEntry type="library" exported="" name="realm-android-library-1.0.0" level="project" /> <orderEntry type="library" exported="" name="appcompat-v7-23.4.0" level="project" /> <orderEntry type="library" exported="" name="fabric-1.3.10" level="project" /> + <orderEntry type="library" exported="" name="design-23.4.0" level="project" /> + <orderEntry type="library" exported="" name="android-0.3.5" level="project" /> + <orderEntry type="library" exported="" name="gson-2.4" level="project" /> + <orderEntry type="library" exported="" name="crashlytics-2.5.5" level="project" /> + <orderEntry type="library" exported="" name="crashlytics-core-2.3.8" level="project" /> + <orderEntry type="library" exported="" name="beta-1.1.4" level="project" /> + <orderEntry type="library" exported="" name="fastadapter-1.5.2" level="project" /> + <orderEntry type="library" exported="" name="logback-android-1.1.1-3" level="project" /> + <orderEntry type="library" exported="" name="materialdrawer-5.2.9" level="project" /> + <orderEntry type="library" exported="" name="calligraphy-2.2.0" level="project" /> + <orderEntry type="library" exported="" name="answers-1.3.6" level="project" /> + <orderEntry type="library" exported="" name="iconics-core-2.6.0" level="project" /> <orderEntry type="library" exported="" name="org.apache.http.legacy-android-23" level="project" /> </component> </module> \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 45fe301..c767a60 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,6 +13,7 @@ plugins { apply plugin: 'com.android.application' apply plugin: 'io.fabric' +apply plugin: 'realm-android' repositories { maven { url 'https://maven.fabric.io/public' } @@ -36,7 +37,7 @@ android { defaultConfig { applicationId "info.nightscout.android" - minSdkVersion 15 + minSdkVersion 14 targetSdkVersion 23 versionName project.properties['version'] versionCode gitVersion() @@ -119,4 +120,10 @@ dependencies { compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { transitive = true; } + compile('com.mikepenz:materialdrawer:5.2.9@aar') { + transitive = true + } + compile 'com.mikepenz:google-material-typeface:2.2.0.1.original@aar' + compile 'uk.co.chrisjenx:calligraphy:2.2.0' + compile 'com.bugfender.sdk:android:0.3.5' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 47d94a6..c067681 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,10 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="info.nightscout.android" - > + package="info.nightscout.android"> - <uses-sdk - android:maxSdkVersion="23" /> + <uses-sdk android:maxSdkVersion="23" /> <uses-feature android:name="android.hardware.usb.host" /> @@ -16,28 +14,30 @@ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> + <uses-permission android:name="android.permission.USB_PERMISSION" /> <application + android:name=".UploaderApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/AppBaseTheme" > + android:theme="@style/AppTheme"> <!-- I have set screenOrientation to "portrait" to avoid the restart of AsyncTasks when you rotate the phone --> <activity - android:name=".medtronic.Medtronic640gActivity" + android:name=".medtronic.MainActivity" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:launchMode="singleTask" - android:screenOrientation="portrait" > - <intent-filter android:icon="@drawable/ic_launcher" > + android:screenOrientation="portrait"> + <intent-filter android:icon="@drawable/ic_launcher"> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> - <intent-filter android:icon="@drawable/ic_launcher" > + <intent-filter android:icon="@drawable/ic_launcher"> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter> @@ -48,17 +48,18 @@ <activity android:name=".settings.SettingsActivity" android:icon="@drawable/ic_launcher" - android:label="Settings" /> - - <service - android:name=".medtronic.service.MedtronicCNLService" - android:icon="@drawable/ic_launcher" > - </service> + android:label="Settings" + android:theme="@style/SettingsTheme"/> <activity android:name=".medtronic.GetHmacAndKeyActivity" - android:label="@string/title_activity_login" > - </activity> + android:label="@string/title_activity_login" + android:theme="@style/SettingsTheme" /> + + <service + android:name=".medtronic.service.MedtronicCnlIntentService" + android:icon="@drawable/ic_launcher"></service> + </application> </manifest> \ No newline at end of file diff --git a/app/src/main/assets/fonts/OpenSans-Regular.ttf b/app/src/main/assets/fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..db433349b7047f72f40072630c1bc110620bf09e GIT binary patch literal 217360 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	F-#ncppuybw3>^F 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 W*KU})B_rbSqwAXgCoVb8zyJVqPC)hm literal 0 HcmV?d00001 diff --git a/app/src/main/java/info/nightscout/android/UploaderApplication.java b/app/src/main/java/info/nightscout/android/UploaderApplication.java new file mode 100644 index 0000000..384ab6f --- /dev/null +++ b/app/src/main/java/info/nightscout/android/UploaderApplication.java @@ -0,0 +1,30 @@ +package info.nightscout.android; + +import android.app.Application; + +import com.bugfender.sdk.Bugfender; + +import io.realm.Realm; +import io.realm.RealmConfiguration; +import uk.co.chrisjenx.calligraphy.CalligraphyConfig; + +/** + * Created by lgoedhart on 9/06/2016. + */ +public class UploaderApplication extends Application { + @Override + public void onCreate() { + super.onCreate(); + CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() + .setDefaultFontPath("fonts/OpenSans-Regular.ttf") + .setFontAttrId(R.attr.fontPath) + .build() + ); + + //Bugfender.init(this, "TSwASSlwqOGXFb86RadI7EEJZSr2jGeT", BuildConfig.DEBUG); + //Bugfender.enableLogcatLogging(); + + RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(this).build(); + Realm.setDefaultConfiguration(realmConfiguration); + } +} diff --git a/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java b/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java index 6351a83..e96266b 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java +++ b/app/src/main/java/info/nightscout/android/medtronic/GetHmacAndKeyActivity.java @@ -3,29 +3,29 @@ package info.nightscout.android.medtronic; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.annotation.TargetApi; -import android.app.Activity; import android.app.LoaderManager.LoaderCallbacks; import android.content.Context; import android.content.Loader; import android.database.Cursor; +import android.graphics.Color; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; import android.text.Html; import android.text.TextUtils; import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; -import android.view.View.OnClickListener; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodManager; -import android.widget.Button; import android.widget.EditText; import android.widget.TextView; -import info.nightscout.android.R; -import info.nightscout.android.medtronic.data.CNLConfigContract; -import info.nightscout.android.medtronic.data.CNLConfigDbHelper; -import info.nightscout.android.medtronic.message.MessageUtils; +import com.mikepenz.google_material_typeface_library.GoogleMaterial; +import com.mikepenz.iconics.IconicsDrawable; import org.apache.commons.lang3.ArrayUtils; import org.apache.http.HttpResponse; @@ -46,14 +46,22 @@ import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; +import info.nightscout.android.R; +import info.nightscout.android.medtronic.message.MessageUtils; +import info.nightscout.android.model.medtronicNg.ContourNextLinkInfo; +import io.realm.Realm; +import io.realm.RealmResults; +import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; + /** * A login screen that offers login via username/password. */ -public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<Cursor> { +public class GetHmacAndKeyActivity extends AppCompatActivity implements LoaderCallbacks<Cursor> { /** * Keep track of the login task to ensure we can cancel it if requested. */ + // TODO - Replace with Rx.Java private GetHmacAndKey mHmacAndKeyTask = null; // UI references. @@ -62,12 +70,16 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C private View mProgressView; private View mLoginFormView; private TextView mRegisteredStickView; - private Button mCloseButton; + private MenuItem mLoginMenuItem; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setTitle("Register USB"); + // Set up the login form. mUsernameView = (EditText) findViewById(R.id.username); @@ -83,28 +95,42 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C } }); - Button usernameSignInButton = (Button) findViewById(R.id.username_sign_in_button); - usernameSignInButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - attemptLogin(); - } - }); - mLoginFormView = findViewById(R.id.login_form); mProgressView = findViewById(R.id.login_progress); - mRegisteredStickView = (TextView)findViewById(R.id.registered_usb_devices); - mCloseButton = (Button)findViewById(R.id.close_button); - mCloseButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - finish(); - } - }); + mRegisteredStickView = (TextView) findViewById(R.id.registered_usb_devices); showRegisteredSticks(); } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.menu_register_usb, menu); + + mLoginMenuItem = menu.findItem(R.id.action_menu_login); + mLoginMenuItem.setIcon(new IconicsDrawable(this, GoogleMaterial.Icon.gmd_cloud_download).color(Color.WHITE).actionBar()); + + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_menu_login: + attemptLogin(); + break; + case android.R.id.home: + finish(); + break; + } + return true; + } + + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); + } + /** * Attempts to sign in or register the account specified by the login form. * If there are form errors (invalid username, missing fields, etc.), the @@ -190,21 +216,20 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C } private void showRegisteredSticks() { - CNLConfigDbHelper configDbHelper = new CNLConfigDbHelper(getBaseContext()); - Cursor cursor = configDbHelper.getAllRows(); + Realm realm = Realm.getDefaultInstance(); - String deviceTableHtml = "<big><b>Registered Devices</b></big><br/>"; + RealmResults<ContourNextLinkInfo> results = realm.where(ContourNextLinkInfo.class).findAll(); - while( !cursor.isAfterLast() ) { - String longSerial = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL)); - String key = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY)); + String deviceTableHtml = "<big><b>Registered Devices</b></big><br/>"; - deviceTableHtml += String.format("<b>Serial Number:</b> %s %s<br/>", longSerial, key.equals("") ? "✘" : "✔" ); + for (ContourNextLinkInfo info : results) { + String longSerial = info.getSerialNumber(); + String key = info.getKey(); - cursor.moveToNext(); + deviceTableHtml += String.format("<b>Serial Number:</b> %s %s<br/>", longSerial, key == null ? "✘" : "✔"); } - mRegisteredStickView.setText(Html.fromHtml( deviceTableHtml )); + mRegisteredStickView.setText(Html.fromHtml(deviceTableHtml)); } @Override @@ -229,7 +254,7 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C private final String mUsername; private final String mPassword; - GetHmacAndKey(String username, String password ) { + GetHmacAndKey(String username, String password) { mUsername = username; mPassword = password; } @@ -247,12 +272,12 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C HttpResponse response = client.execute(loginPost); if (response.getStatusLine().getStatusCode() == 200) { - // Get the HMAC/keys for every serial in the Config database - CNLConfigDbHelper configDbHelper = new CNLConfigDbHelper(getBaseContext()); - Cursor cursor = configDbHelper.getAllRows(); + // Get the HMAC/keys for every serial we have seen + Realm realm = Realm.getDefaultInstance(); - while( !cursor.isAfterLast() ) { - String longSerial = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL)); + RealmResults<ContourNextLinkInfo> results = realm.where(ContourNextLinkInfo.class).findAll(); + for (ContourNextLinkInfo info : results) { + String longSerial = info.getSerialNumber(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutputStream hmacRequest = new ObjectOutputStream(buffer); @@ -287,10 +312,10 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C keyResponse.readInt(); // Throw away the first int. Not sure what it does String key = MessageUtils.byteArrayToHexString((byte[]) keyResponse.readObject()); - // TODO - return false if this returns 0? What would we do anyway? - configDbHelper.setHmacAndKey(longSerial, hmac, key); - - cursor.moveToNext(); + realm.beginTransaction(); + info.setHmac(hmac); + info.setKey(key); + realm.commitTransaction(); } return true; @@ -313,10 +338,10 @@ public class GetHmacAndKeyActivity extends Activity implements LoaderCallbacks<C if (success) { showRegisteredSticks(); - mCloseButton.setVisibility(View.VISIBLE); + mLoginMenuItem.setVisible(false); mLoginFormView.setVisibility(View.GONE); mProgressView.setVisibility(View.GONE); - InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(mLoginFormView.getWindowToken(), 0); } else { showProgress(false); diff --git a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java new file mode 100644 index 0000000..887ab95 --- /dev/null +++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java @@ -0,0 +1,460 @@ +package info.nightscout.android.medtronic; + +import android.app.ActivityManager; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.hardware.usb.UsbManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.BatteryManager; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.v4.content.LocalBroadcastManager; +import android.support.v7.app.AlertDialog; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.text.Html; +import android.text.format.DateUtils; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.TextView; +import android.widget.TextView.BufferType; + +import com.crashlytics.android.Crashlytics; +import com.crashlytics.android.answers.Answers; +import com.mikepenz.google_material_typeface_library.GoogleMaterial; +import com.mikepenz.materialdrawer.AccountHeaderBuilder; +import com.mikepenz.materialdrawer.Drawer; +import com.mikepenz.materialdrawer.DrawerBuilder; +import com.mikepenz.materialdrawer.model.PrimaryDrawerItem; +import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.DecimalFormat; +import java.util.Locale; + +import info.nightscout.android.R; +import info.nightscout.android.eula.Eula; +import info.nightscout.android.eula.Eula.OnEulaAgreedTo; +import info.nightscout.android.medtronic.service.MedtronicCnlIntentService; +import info.nightscout.android.settings.SettingsActivity; +import info.nightscout.android.upload.MedtronicNG.CGMRecord; +import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord; +import io.fabric.sdk.android.Fabric; +import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; + +/* Main activity for the MainActivity program */ +public class MainActivity extends AppCompatActivity implements OnSharedPreferenceChangeListener, OnEulaAgreedTo { + private static final String TAG = MainActivity.class.getSimpleName(); + public static int batLevel = 0; + public static PumpStatusRecord pumpStatusRecord = new PumpStatusRecord(); + final Object mHandlerActiveLock = new Object(); + boolean keepServiceAlive = true; + Boolean mHandlerActive = false; + ActivityManager manager = null; + SharedPreferences prefs = null; + private Logger log = (Logger) LoggerFactory.getLogger(MainActivity.class.getName()); + private Toolbar toolbar; + private TextView mTextViewBg; + private TextView mTextViewBgTime; + private TextView mTextViewLog; + private TextView mTextViewUnits; + private TextView mTextViewTrend; + private TextView mTextViewIOB; + private Button buttonStopService; + private Intent mCnlIntentService; + + //Look for and launch the service, mTextViewLog status to user + @Override + public void onCreate(Bundle savedInstanceState) { + Log.i(TAG, "onCreate called"); + super.onCreate(savedInstanceState); + + mCnlIntentService = new Intent(this, MedtronicCnlIntentService.class); + + setContentView(R.layout.activity_main); + + PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this); + prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); + + if (prefs.getBoolean(getString(R.string.preferences_enable_crashlytics), true)) { + Fabric.with(this, new Crashlytics()); + } + if (prefs.getBoolean(getString(R.string.preferences_enable_answers), true)) { + Fabric.with(this, new Answers()); + } + + if (!prefs.getBoolean("IUNDERSTAND", false)) { + stopCgmService(); + } else { + mHandlerActive = true; + } + + // Registers the DownloadStateReceiver and its intent filters + LocalBroadcastManager.getInstance(this).registerReceiver( + new StatusMessageReceiver(), + new IntentFilter(MedtronicCnlIntentService.Constants.ACTION_STATUS_MESSAGE)); + LocalBroadcastManager.getInstance(this).registerReceiver( + new CgmRecordReceiver(), + new IntentFilter(MedtronicCnlIntentService.Constants.ACTION_CGM_DATA)); + + keepServiceAlive = Eula.show(this, prefs); + + IntentFilter batteryIntentFilter = new IntentFilter(); + batteryIntentFilter.addAction(Intent.ACTION_BATTERY_LOW); + batteryIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); + batteryIntentFilter.addAction(Intent.ACTION_BATTERY_OKAY); + registerReceiver(new BatteryReceiver(), batteryIntentFilter); + + IntentFilter usbIntentFilter = new IntentFilter(); + usbIntentFilter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED); + usbIntentFilter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); + registerReceiver(new UsbReceiver(), usbIntentFilter); + + manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); + toolbar = (Toolbar) findViewById(R.id.toolbar); + + if (toolbar != null) { + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(false); + getSupportActionBar().setElevation(0); + getSupportActionBar().setTitle("Nightscout"); + } + + + final PrimaryDrawerItem itemHome = new PrimaryDrawerItem().withName("Home").withIcon(GoogleMaterial.Icon.gmd_home).withSelectable(false); + final PrimaryDrawerItem itemSettings = new PrimaryDrawerItem().withName("Settings").withIcon(GoogleMaterial.Icon.gmd_settings).withSelectable(false); + final PrimaryDrawerItem itemRegisterUsb = new PrimaryDrawerItem().withName("Register Contour Next Link").withIcon(GoogleMaterial.Icon.gmd_usb).withSelectable(false); + + Drawer drawer = new DrawerBuilder() + .withActivity(this) + .withAccountHeader(new AccountHeaderBuilder() + .withActivity(this) + .withHeaderBackground(R.drawable.drawer_header) + .build() + ) + .withTranslucentStatusBar(false) + .withToolbar(toolbar) + .withActionBarDrawerToggle(true) + .withSelectedItem(-1) + .addDrawerItems( + itemHome, + itemSettings, + itemRegisterUsb + ) + .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { + @Override + public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { + if (drawerItem.equals(itemSettings)) { + openSettings(); + } else if (drawerItem.equals(itemRegisterUsb)) { + openUsbRegistration(); + } + return false; + } + }) + .build(); + + // UI elements - TODO do these need to be members? + mTextViewBg = (TextView) findViewById(R.id.textview_bg); + mTextViewBgTime = (TextView) findViewById(R.id.textview_bg_time); + mTextViewLog = (TextView) findViewById(R.id.textview_log); + mTextViewUnits = (TextView) findViewById(R.id.textview_units); + if (prefs.getBoolean("mmolxl", false)) { + mTextViewUnits.setText(R.string.text_unit_mmolxl); + } else { + mTextViewUnits.setText(R.string.text_unit_mgxdl); + } + mTextViewTrend = (TextView) findViewById(R.id.textview_trend); + mTextViewIOB = (TextView) findViewById(R.id.textview_iob); + + buttonStopService = (Button) findViewById(R.id.button_stop_service); + + Button buttonClearLog = (Button) findViewById(R.id.button_clear_log); + Button buttonStartService = (Button) findViewById(R.id.button_start_service); + + buttonClearLog.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + mTextViewLog.setText("", BufferType.EDITABLE); + } + }); + + buttonStartService.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + // Get an immediate reading. + startCgmService(); + } + }); + + buttonStopService.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + synchronized (mHandlerActiveLock) { + mHandlerActive = false; + keepServiceAlive = false; + stopCgmService(); + finish(); + } + } + }); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + startCgmService(); + } + + @Override + protected void onPause() { + log.info("ON PAUSE!"); + super.onPause(); + } + + @Override + protected void onResume() { + log.info("ON RESUME!"); + super.onResume(); + } + + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + //MenuInflater inflater = getMenuInflater(); + //inflater.inflate(R.menu.menu, menu); + + return true; + } + + private boolean checkOnline(String title, String message) { + ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo netInfo = cm.getActiveNetworkInfo(); + + boolean isOnline = (netInfo != null && netInfo.isConnectedOrConnecting()); + + if (!isOnline) { + new AlertDialog.Builder(this, R.style.AppTheme) + .setTitle(title) + .setMessage(message) + .setCancelable(false) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }) + .setIcon(android.R.drawable.ic_dialog_alert) + .show(); + } + + return isOnline; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + + switch (item.getItemId()) { + case R.id.menu_settings: + Intent settingsIntent = new Intent(this, SettingsActivity.class); + startActivity(settingsIntent); + break; + case R.id.registerCNL: + if (checkOnline("Please connect to the Internet", "You must be online to register your USB stick.")) { + Intent loginIntent = new Intent(this, GetHmacAndKeyActivity.class); + startActivity(loginIntent); + } + break; + default: + break; + } + return super.onOptionsItemSelected(item); + } + + private void startCgmService() { + Log.i(TAG, "startCgmService called"); + startService(mCnlIntentService); + } + + private void startCgmServicePolling(long initialPoll) { + Log.i(TAG, "startCgmServicePolling called"); + AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); + PendingIntent pending = PendingIntent.getService(this, 0, mCnlIntentService, 0); + + alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, + initialPoll, MedtronicCnlIntentService.POLL_PERIOD_MS, pending); + } + + private void stopCgmService() { + Log.i(TAG, "stopCgmService called"); + + AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); + PendingIntent pending = PendingIntent.getService(this, 0, mCnlIntentService, 0); + + alarmManager.cancel(pending); + } + + @Override + protected void onDestroy() { + Log.i(TAG, "onDestroy called"); + log.info("onDestroy called"); + PreferenceManager.getDefaultSharedPreferences(getBaseContext()).unregisterOnSharedPreferenceChangeListener(this); + synchronized (mHandlerActiveLock) { + if (!keepServiceAlive) { + stopCgmService(); + } + mHandlerActive = false; + SharedPreferences.Editor editor = getBaseContext().getSharedPreferences(MedtronicConstants.PREFS_NAME, 0).edit(); + editor.putLong("lastDestroy", System.currentTimeMillis()); + editor.apply(); + super.onDestroy(); + } + } + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + if (key.equals(getString(R.string.preference_eula_accepted))) { + if (!sharedPreferences.getBoolean(getString(R.string.preference_eula_accepted), false)) { + synchronized (mHandlerActiveLock) { + mHandlerActive = false; + } + stopCgmService(); + } else { + startCgmService(); + mHandlerActive = true; + } + } + } + + @Override + public void onEulaAgreedTo() { + keepServiceAlive = true; + } + + @Override + public void onEulaRefusedTo() { + keepServiceAlive = false; + } + + public void openSettings() { + Intent intent = new Intent(this, SettingsActivity.class); + startActivity(intent); + } + + public void openUsbRegistration() { + if (checkOnline("Please connect to the Internet", "You must be online to register your USB stick.")) { + Intent loginIntent = new Intent(this, GetHmacAndKeyActivity.class); + startActivity(loginIntent); + } + } + + private String renderTrendHtml(CGMRecord.TREND trend) { + switch (trend) { + case DOUBLE_UP: + return "⇈"; + case SINGLE_UP: + return "↑"; + case FOURTY_FIVE_UP: + return "↗"; + case FLAT: + return "→"; + case FOURTY_FIVE_DOWN: + return "↘"; + case SINGLE_DOWN: + return "↓"; + case DOUBLE_DOWN: + return "⇊"; + default: + return "—"; + } + } + + private class StatusMessageReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String message = intent.getStringExtra(MedtronicCnlIntentService.Constants.EXTENDED_DATA); + + mTextViewLog.setText(mTextViewLog.getText() + "\n" + message, BufferType.EDITABLE); + } + } + + private class CgmRecordReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + CGMRecord cgmRecord = (CGMRecord) intent.getSerializableExtra(MedtronicCnlIntentService.Constants.EXTENDED_DATA); + + // FIXME - replace initial polling time with the next expected polling period + // i.e. Next 5 minute CGM polling increment to occur after now, + POLL_GRACE_PERIOD_MS + startCgmServicePolling(System.currentTimeMillis() + MedtronicCnlIntentService.POLL_PERIOD_MS); + + DecimalFormat df; + if (prefs.getBoolean("mmolDecimals", false)) + df = new DecimalFormat("0.00"); + else + df = new DecimalFormat("0.0"); + + String sgvString, units; + if (prefs.getBoolean("mmolxl", false)) { + float fBgValue = (float) cgmRecord.sgv; + sgvString = df.format(fBgValue / 18.016f); + units = "mmol/L"; + log.info("mmolxl true --> " + sgvString); + + } else { + sgvString = String.valueOf(cgmRecord.sgv); + units = "mg/dL"; + log.info("mmolxl false --> " + sgvString); + } + + mTextViewBg.setText(sgvString); + mTextViewUnits.setText(units); + mTextViewBgTime.setText(DateUtils.formatDateTime(getBaseContext(), cgmRecord.sgvDate.getTime(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME)); + mTextViewTrend.setText(Html.fromHtml(renderTrendHtml(cgmRecord.getTrend()))); + mTextViewIOB.setText(String.format(Locale.getDefault(), "%.2f", pumpStatusRecord.activeInsulin)); + } + } + + private class UsbReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) { + mTextViewLog.setText(mTextViewLog.getText() + "\nUSB plugged in", BufferType.EDITABLE); + startCgmService(); + } else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) { + mTextViewLog.setText(mTextViewLog.getText() + "\nUSB unplugged", BufferType.EDITABLE); + } + + } + } + + private class BatteryReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context arg0, Intent arg1) { + if (arg1.getAction().equalsIgnoreCase(Intent.ACTION_BATTERY_LOW) + || arg1.getAction().equalsIgnoreCase(Intent.ACTION_BATTERY_CHANGED) + || arg1.getAction().equalsIgnoreCase(Intent.ACTION_BATTERY_OKAY)) { + Log.i("BatteryReceived", "BatteryReceived"); + batLevel = arg1.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); + } + } + } +} diff --git a/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java b/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java deleted file mode 100644 index d325fa6..0000000 --- a/app/src/main/java/info/nightscout/android/medtronic/Medtronic640gActivity.java +++ /dev/null @@ -1,457 +0,0 @@ -package info.nightscout.android.medtronic; - -import android.app.Activity; -import android.app.ActivityManager; -import android.app.AlertDialog; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.SharedPreferences; -import android.content.SharedPreferences.OnSharedPreferenceChangeListener; -import android.graphics.Color; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.os.BatteryManager; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.os.StrictMode; -import android.preference.PreferenceManager; -import android.text.Html; -import android.text.format.DateUtils; -import android.text.method.ScrollingMovementMethod; -import android.util.Log; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup.LayoutParams; -import android.widget.Button; -import android.widget.LinearLayout; -import android.widget.TextView; -import android.widget.TextView.BufferType; - -import com.crashlytics.android.Crashlytics; -import com.crashlytics.android.answers.Answers; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.text.DecimalFormat; -import java.util.Locale; - -import info.nightscout.android.R; -import info.nightscout.android.eula.Eula; -import info.nightscout.android.eula.Eula.OnEulaAgreedTo; -import info.nightscout.android.medtronic.service.MedtronicCNLService; -import info.nightscout.android.service.ServiceManager; -import info.nightscout.android.settings.SettingsActivity; -import info.nightscout.android.upload.MedtronicNG.CGMRecord; -import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord; -import io.fabric.sdk.android.Fabric; - -/* Main activity for the Medtronic640gActivity program */ -public class Medtronic640gActivity extends Activity implements OnSharedPreferenceChangeListener, OnEulaAgreedTo { - //CGMs supported - public static final int CNL_24 = 2; - private static final String TAG = Medtronic640gActivity.class.getSimpleName(); - private static final boolean ISDEBUG = true; - public static int batLevel = 0; - public static PumpStatusRecord pumpStatusRecord = new PumpStatusRecord(); - BatteryReceiver mArrow; - Intent batteryReceiver; - boolean keepServiceAlive = true; - Boolean mHandlerActive = false; - final Object mHandlerActiveLock = new Object(); - ActivityManager manager = null; - SharedPreferences settings = null; - SharedPreferences prefs = null; - private Logger log = (Logger) LoggerFactory.getLogger(Medtronic640gActivity.class.getName()); - private int cgmSelected = CNL_24; - private Handler mHandler = new Medtronic640gActivityHandler(); - private TextView mTitleTextView; - private TextView mDumpTextView; - private Button b1; - private TextView display; - private ServiceManager cgmService; // > service - - //Look for and launch the service, display status to user - @Override - public void onCreate(Bundle savedInstanceState) { - Log.i(TAG, "onCreate called"); - super.onCreate(savedInstanceState); - - if (android.os.Build.VERSION.SDK_INT > 9) { - StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); - StrictMode.setThreadPolicy(policy); - } - - this.settings = getBaseContext().getSharedPreferences( - MedtronicConstants.PREFS_NAME, 0); - PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this); - prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); - - if (prefs.getBoolean(getString(R.string.preferences_enable_crashlytics), true)) { - Fabric.with(this, new Crashlytics()); - } - if (prefs.getBoolean(getString(R.string.preferences_enable_answers), true)) { - Fabric.with(this, new Answers()); - } - - keepServiceAlive = Eula.show(this, prefs); - - mArrow = new BatteryReceiver(); - IntentFilter mIntentFilter = new IntentFilter(); - mIntentFilter.addAction(Intent.ACTION_BATTERY_LOW); - mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); - mIntentFilter.addAction(Intent.ACTION_BATTERY_OKAY); - batteryReceiver = registerReceiver(mArrow, mIntentFilter); - setContentView(R.layout.adb); - manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); - mTitleTextView = (TextView) findViewById(R.id.demoTitle); - mDumpTextView = (TextView) findViewById(R.id.demoText); - - LinearLayout lnr = (LinearLayout) findViewById(R.id.container); - LinearLayout lnr2 = new LinearLayout(this); - LinearLayout lnr3 = new LinearLayout(this); - lnr3.setOrientation(LinearLayout.HORIZONTAL); - b1 = new Button(this); - - if (!prefs.getBoolean("IUNDERSTAND", false)) { - stopCGMServices(); - } else { - mHandlerActive = true; - } - - b1.setText(R.string.button_text_stop_uploading_data); - lnr.addView(b1); - lnr2.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - lnr3.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); - Button b2 = new Button(this); - b2.setText(R.string.button_text_clear_log); - b2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1.0f)); - Button b4 = new Button(this); - b4.setText(R.string.button_text_get_now); - b4.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1.0f)); - lnr3.addView(b4); - - if (ISDEBUG) { - lnr3.addView(b2); - } - lnr.addView(lnr3); - lnr.addView(lnr2); - display = new TextView(this); - if (ISDEBUG) { - display.setText("", BufferType.EDITABLE); - display.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - display.setKeyListener(null); - display.setBackgroundColor(Color.BLACK); - display.setTextColor(Color.WHITE); - display.setMovementMethod(new ScrollingMovementMethod()); - display.setMaxLines(10); - - lnr2.addView(display); - } - b2.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - display.setText("", BufferType.EDITABLE); - display.setKeyListener(null); - } - }); - - b4.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - display.setKeyListener(null); - if (cgmService != null) { - if (!cgmService.isRunning()) { - cgmService.start(); - } else { - cgmService.stop(); - cgmService.start(); - } - } - } - }); - - b1.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - synchronized (mHandlerActiveLock) { - if (b1.getText() == "Stop Uploading CGM Data") { - mHandlerActive = false; - //mHandler.removeCallbacks(updateDataView); - keepServiceAlive = false; - stopCGMServices(); - b1.setText(R.string.button_text_start_uploading_data); - finish(); - } else { - startCGMServices(); - - mHandlerActive = true; - b1.setText(R.string.button_text_stop_uploading_data); - } - } - - } - }); - } - - @Override - protected void onPostCreate(Bundle savedInstanceState) { - super.onPostCreate(savedInstanceState); - startCGMServices(); - if (cgmService != null) { - Log.d(TAG, "onPostCreate: Starting the service"); - cgmService.start(); - } - } - - @Override - protected void onPause() { - log.info("ON PAUSE!"); - super.onPause(); - - } - - @Override - protected void onResume() { - log.info("ON RESUME!"); - super.onResume(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu, menu); - - return true; - } - - private boolean checkOnline(String title, String message) { - ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo netInfo = cm.getActiveNetworkInfo(); - - boolean isOnline = (netInfo != null && netInfo.isConnectedOrConnecting()); - - if (!isOnline) { - new AlertDialog.Builder(this) - .setTitle(title) - .setMessage(message) - .setCancelable(false) - .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - // continue with delete - dialog.dismiss(); - } - }) - .setIcon(android.R.drawable.ic_dialog_alert) - .show(); - } - - return isOnline; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - - switch (item.getItemId()) { - case R.id.menu_settings: - Intent settingsIntent = new Intent(this, SettingsActivity.class); - startActivity(settingsIntent); - break; - case R.id.registerCNL: - if (checkOnline("Please connect to the Internet", "You must be online to register your USB stick.")) { - Intent loginIntent = new Intent(this, GetHmacAndKeyActivity.class); - startActivity(loginIntent); - } - break; - default: - break; - } - return super.onOptionsItemSelected(item); - } - - private void startCGMServices() { - Log.d("DexcomActivity", "Starting service for CGM: " + cgmSelected); - switch (cgmSelected) { - default: - Log.d("DexcomActivity", "Starting Medtronic CNL service"); - cgmService = new ServiceManager(this, MedtronicCNLService.class, mHandler); - break; - } - } - - private void stopCGMServices() { - switch (cgmSelected) { - default: - if (cgmService != null) { - cgmService.stop(); - } - break; - } - } - - @Override - protected void onDestroy() { - Log.i(TAG, "onDestroy called"); - log.info("onDestroy called"); - PreferenceManager.getDefaultSharedPreferences(getBaseContext()).unregisterOnSharedPreferenceChangeListener(this); - unregisterReceiver(mArrow); - synchronized (mHandlerActiveLock) { - //mHandler.removeCallbacks(updateDataView); - - stopCGMServices(); - if (keepServiceAlive) { - startCGMServices(); - } - mHandlerActive = false; - SharedPreferences.Editor editor = getBaseContext().getSharedPreferences(MedtronicConstants.PREFS_NAME, 0).edit(); - editor.putLong("lastDestroy", System.currentTimeMillis()); - editor.apply(); - super.onDestroy(); - } - } - - @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, - String key) { - try { - //If i do not - if (key.equals("IUNDERSTAND")) { - if (!sharedPreferences.getBoolean("IUNDERSTAND", false)) { - synchronized (mHandlerActiveLock) { - //mHandler.removeCallbacks(updateDataView); - mHandlerActive = false; - } - b1.setText(R.string.button_text_start_uploading_data); - stopCGMServices(); - } else { - startCGMServices(); - //mHandler.post(updateDataView); - mHandlerActive = true; - } - } - } catch (Exception e) { - StringBuilder sb1 = new StringBuilder(""); - sb1.append("EXCEPTION!!!!!! ").append(e.getMessage()).append(" ").append(e.getCause()); - for (StackTraceElement st : e.getStackTrace()) { - sb1.append(st.toString()).append("\n"); - } - Log.e("CGM_onSharedPrefChanged", sb1.toString()); - if (ISDEBUG) { - display.append(sb1.toString()); - } - } - } - - @Override - public void onEulaAgreedTo() { - keepServiceAlive = true; - } - - @Override - public void onEulaRefusedTo() { - keepServiceAlive = false; - - } - - private String renderTrendHtml(CGMRecord.TREND trend) { - switch (trend) { - case DOUBLE_UP: - return "⇈"; - case SINGLE_UP: - return "↑"; - case FOURTY_FIVE_UP: - return "↗"; - case FLAT: - return "→"; - case FOURTY_FIVE_DOWN: - return "↘"; - case SINGLE_DOWN: - return "↓"; - case DOUBLE_DOWN: - return "⇊"; - default: - return "—"; - } - } - - public class Medtronic640gActivityHandler extends Handler { - public static final int MSG_ERROR = 1; - public static final int MSG_STATUS = 2; - public static final int MSG_DATA = 3; - - @Override - public void handleMessage(Message msg) { - Log.d(TAG, "Got message from Service."); - switch (cgmSelected) { - case CNL_24: - switch (msg.what) { - case MSG_ERROR: - display.setText(msg.obj.toString(), BufferType.EDITABLE); - break; - case MSG_STATUS: - display.setText(msg.obj.toString(), BufferType.EDITABLE); - break; - case MSG_DATA: - CGMRecord record = (CGMRecord) msg.obj; - - DecimalFormat df; - if (prefs.getBoolean("mmolDecimals", false)) - df = new DecimalFormat("#.00"); - else - df = new DecimalFormat("#.0"); - String sgvString; - String unitsString = "mg/dL"; - if (prefs.getBoolean("mmolxl", false)) { - - float fBgValue = (float) record.sgv; - sgvString = df.format(fBgValue / 18.016f); - unitsString = "mmol/L"; - log.info("mmolxl true --> " + sgvString); - - } else { - sgvString = String.valueOf(record.sgv); - log.info("mmolxl false --> " + sgvString); - } - - //mTitleTextView.setTextColor(Color.YELLOW); - mTitleTextView.setText(Html.fromHtml( - String.format("<big><b>%s</b></big> <small>%s %s</small>", - sgvString, unitsString, renderTrendHtml(record.getTrend())))); - - mDumpTextView.setTextColor(Color.WHITE); - mDumpTextView.setText(Html.fromHtml( - String.format( Locale.getDefault(), "<b>SG at:</b> %s<br/><b>Pump Time:</b> %s<br/><b>Active Insulin: </b>%.3f<br/><b>Rate of Change: </b>%s", - DateUtils.formatDateTime(getBaseContext(), record.sgvDate.getTime(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME), - DateUtils.formatDateTime(getBaseContext(), pumpStatusRecord.pumpDate.getTime(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME), - pumpStatusRecord.activeInsulin, - record.direction - ) - )); - - break; - } - default: - super.handleMessage(msg); - } - } - } - - private class BatteryReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context arg0, Intent arg1) { - if (arg1.getAction().equalsIgnoreCase(Intent.ACTION_BATTERY_LOW) - || arg1.getAction().equalsIgnoreCase(Intent.ACTION_BATTERY_CHANGED) - || arg1.getAction().equalsIgnoreCase(Intent.ACTION_BATTERY_OKAY)) { - Log.i("BatteryReceived", "BatteryReceived"); - batLevel = arg1.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); - } - } - } -} diff --git a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java index 763e917..94658af 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java +++ b/app/src/main/java/info/nightscout/android/medtronic/MedtronicCNLReader.java @@ -7,11 +7,8 @@ import java.io.IOException; import java.math.BigDecimal; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; -import java.util.TimeZone; import java.util.concurrent.TimeoutException; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -34,9 +31,8 @@ import info.nightscout.android.medtronic.message.PumpTimeRequestMessage; import info.nightscout.android.medtronic.message.PumpTimeResponseMessage; import info.nightscout.android.medtronic.message.ReadInfoResponseMessage; import info.nightscout.android.medtronic.message.UnexpectedMessageException; -import info.nightscout.android.medtronic.service.MedtronicCNLService; +import info.nightscout.android.medtronic.service.MedtronicCnlIntentService; import info.nightscout.android.upload.MedtronicNG.CGMRecord; -import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord; import info.nightscout.android.utils.HexDump; /** @@ -44,7 +40,7 @@ import info.nightscout.android.utils.HexDump; */ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { - private static final String TAG = MedtronicCNLService.class.getSimpleName(); + private static final String TAG = MedtronicCnlIntentService.class.getSimpleName(); private static final int USB_BLOCKSIZE = 64; private static final int READ_TIMEOUT_MS = 5000; @@ -141,7 +137,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { // TODO - get rid of this - it should be in a message decoder private void checkControlMessage(byte[] msg, byte controlCharacter) throws IOException, TimeoutException, UnexpectedMessageException { if (msg.length != 1 || msg[0] != controlCharacter) { - throw new UnexpectedMessageException(String.format( Locale.getDefault(), "Expected to get control character '%d' Got '%d'.", + throw new UnexpectedMessageException(String.format(Locale.getDefault(), "Expected to get control character '%d' Got '%d'.", (int) controlCharacter, (int) msg[0])); } } @@ -252,7 +248,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { if (responseBytes[76] == mPumpSession.getRadioChannel()) { break; } else { - throw new IOException(String.format( Locale.getDefault(), "Expected to get a message for channel %d. Got %d", mPumpSession.getRadioChannel(), responseBytes[76])); + throw new IOException(String.format(Locale.getDefault(), "Expected to get a message for channel %d. Got %d", mPumpSession.getRadioChannel(), responseBytes[76])); } } else { mPumpSession.setRadioChannel((byte) 0); @@ -268,8 +264,9 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { readMessage(); } - public void getPumpTime(PumpStatusRecord pumpRecord) throws EncryptionException, IOException, ChecksumException, TimeoutException { + public Date getPumpTime() throws EncryptionException, IOException, ChecksumException, TimeoutException { // FIXME - throw if not in EHSM mode (add a state machine) + Date timeAtCapture = new Date(); new PumpTimeRequestMessage(mPumpSession).send(this); // Read the 0x81 @@ -279,23 +276,18 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { ContourNextLinkMessage response = PumpTimeResponseMessage.fromBytes(mPumpSession, readMessage()); if (response.encode().length < 57) { - // Invalid message. Don't try and parse it - return; + // Invalid message. Return an invalid date. + return new Date(); } // FIXME - this needs to go into PumpTimeResponseMessage ByteBuffer dateBuffer = ByteBuffer.allocate(8); dateBuffer.order(ByteOrder.BIG_ENDIAN); - dateBuffer.put(response.encode(), 61, 8); + dateBuffer.put(response.encode(), 0x3d, 8); long rtc = dateBuffer.getInt(0) & 0x00000000ffffffffL; long offset = dateBuffer.getInt(4); - Date pumpDate = MessageUtils.decodeDateTime(rtc, offset); - - // Set displayTime to be an ISO 8601 date (so that it's parsable). - DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); - dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - pumpRecord.displayTime = dateFormat.format(pumpDate); + return MessageUtils.decodeDateTime(rtc, offset); } public void getPumpStatus(CGMRecord cgmRecord) throws IOException, EncryptionException, ChecksumException, TimeoutException { @@ -320,7 +312,7 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { // Read the data into the record long rawActiveInsulin = statusBuffer.getShort(0x33) & 0x0000ffff; - Medtronic640gActivity.pumpStatusRecord.activeInsulin = new BigDecimal(rawActiveInsulin / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP); + MainActivity.pumpStatusRecord.activeInsulin = new BigDecimal(rawActiveInsulin / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP); cgmRecord.sgv = statusBuffer.getShort(0x35) & 0x0000ffff; // In mg/DL. 0 means no CGM reading long rtc; long offset; @@ -336,11 +328,11 @@ public class MedtronicCNLReader implements ContourNextLinkMessageHandler { cgmRecord.setTrend(CGMRecord.fromMessageByte(statusBuffer.get(0x40))); } cgmRecord.sgvDate = MessageUtils.decodeDateTime(rtc, offset); - Medtronic640gActivity.pumpStatusRecord.recentBolusWizard = statusBuffer.get(0x48) != 0; - Medtronic640gActivity.pumpStatusRecord.bolusWizardBGL = statusBuffer.getShort(0x49); // In mg/DL + MainActivity.pumpStatusRecord.recentBolusWizard = statusBuffer.get(0x48) != 0; + MainActivity.pumpStatusRecord.bolusWizardBGL = statusBuffer.getShort(0x49); // In mg/DL long rawReservoirAmount = statusBuffer.getInt(0x2b); - Medtronic640gActivity.pumpStatusRecord.reservoirAmount = new BigDecimal(rawReservoirAmount / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP); - Medtronic640gActivity.pumpStatusRecord.batteryPercentage = (statusBuffer.get(0x2a)); + MainActivity.pumpStatusRecord.reservoirAmount = new BigDecimal(rawReservoirAmount / 10000f).setScale(3, BigDecimal.ROUND_HALF_UP); + MainActivity.pumpStatusRecord.batteryPercentage = (statusBuffer.get(0x2a)); } public void endEHSMSession() throws EncryptionException, IOException, TimeoutException { diff --git a/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java b/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java deleted file mode 100644 index 49250a7..0000000 --- a/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigContract.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.android.medtronic.data; - -import android.provider.BaseColumns; - -/** - * Created by lgoedhart on 9/05/2016. - */ -public class CNLConfigContract { - // To prevent someone from accidentally instantiating the contract class, - // give it an empty constructor. - public CNLConfigContract() {} - - /* Inner class that defines the table contents */ - public static abstract class ConfigEntry implements BaseColumns { - public static final String TABLE_NAME = "config"; - public static final String COLUMN_NAME_STICK_SERIAL = "stick_serial"; - public static final String COLUMN_NAME_HMAC = "hmac"; - public static final String COLUMN_NAME_KEY = "key"; - public static final String COLUMN_NAME_LAST_RADIO_CHANNEL = "last_radio_channel"; - } -} diff --git a/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java b/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java deleted file mode 100644 index 22ecae8..0000000 --- a/app/src/main/java/info/nightscout/android/medtronic/data/CNLConfigDbHelper.java +++ /dev/null @@ -1,141 +0,0 @@ -package info.nightscout.android.medtronic.data; - -import android.content.ContentValues; -import android.content.Context; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; - -/** - * Created by lgoedhart on 9/05/2016. - */ -public class CNLConfigDbHelper extends SQLiteOpenHelper { - // Database Specific Details - - // If you change the database schema, you must increment the database version. - private static final int DATABASE_VERSION = 1; - // DB Name, same is used to name the sqlite DB file - private static final String DATABASE_NAME = "cnl_config.db"; - - private static final String SQL_CREATE_CONFIG = - "CREATE TABLE " + CNLConfigContract.ConfigEntry.TABLE_NAME + " (" + - CNLConfigContract.ConfigEntry._ID + " INTEGER PRIMARY KEY," + - CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL + " TEXT UNIQUE, " + - CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC + " TEXT, "+ - CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY + " TEXT, " + - CNLConfigContract.ConfigEntry.COLUMN_NAME_LAST_RADIO_CHANNEL + " INTEGER " + - ")"; - - private static final String SQL_DROP_CONFIG = - "DROP TABLE IF EXISTS " + CNLConfigContract.ConfigEntry.TABLE_NAME; - - public CNLConfigDbHelper(Context context) { - super(context, DATABASE_NAME, null, DATABASE_VERSION); - } - - @Override - public void onCreate(SQLiteDatabase db) { - db.execSQL(SQL_CREATE_CONFIG); - } - - @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - // No upgrades yet, so drop and rebuild - db.execSQL(SQL_DROP_CONFIG); - onCreate(db); - } - - @Override - public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) { - onUpgrade(db, oldVersion, newVersion); - } - - public void insertStickSerial( String stickSerial ) { - SQLiteDatabase configDb = this.getWritableDatabase(); - ContentValues insertValues = new ContentValues(); - insertValues.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL, stickSerial ); - insertValues.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC, ""); - insertValues.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY, ""); - insertValues.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_LAST_RADIO_CHANNEL, 0x14 ); - configDb.insertWithOnConflict(CNLConfigContract.ConfigEntry.TABLE_NAME, null, insertValues, SQLiteDatabase.CONFLICT_IGNORE); - configDb.close(); - } - - public String getHmac( String stickSerial ){ - SQLiteDatabase configDb = this.getWritableDatabase(); - - Cursor cursor = configDb.query( CNLConfigContract.ConfigEntry.TABLE_NAME, - new String[] { CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC }, - CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL + " = ?", new String[]{ stickSerial }, null, null, null); - - String hmac = null; - - if (cursor != null && cursor.moveToFirst()) { - hmac = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC)); - cursor.close(); - } - - configDb.close(); - - return hmac; - } - - public String getKey( String stickSerial ){ - SQLiteDatabase configDb = this.getWritableDatabase(); - - Cursor cursor = configDb.query( CNLConfigContract.ConfigEntry.TABLE_NAME, - new String[] { CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY }, - CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL + " = ?", new String[]{ stickSerial }, null, null, null); - - String key = null; - - if (cursor != null && cursor.moveToFirst()) { - key = cursor.getString(cursor.getColumnIndex(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY)); - cursor.close(); - } - - configDb.close(); - - return key; - } - - public int setHmacAndKey( String stickSerial, String hmac, String key ) { - SQLiteDatabase configDb = this.getWritableDatabase(); - - ContentValues values = new ContentValues(); - values.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_HMAC, hmac); - values.put(CNLConfigContract.ConfigEntry.COLUMN_NAME_KEY, key); - - // Which row to update, based on the ID - String whereClause = CNLConfigContract.ConfigEntry.COLUMN_NAME_STICK_SERIAL + " = ?"; - String[] whereArgs = { stickSerial }; - - int affectedRows = configDb.update( - CNLConfigContract.ConfigEntry.TABLE_NAME, - values, - whereClause, - whereArgs - ); - - configDb.close(); - return affectedRows; - } - - public Cursor getAllRows(){ - SQLiteDatabase configDb = this.getReadableDatabase(); - - String where = null; - String whereArgs[] = null; - String groupBy = null; - String having = null; - String order = null; - String limit = null; - - Cursor cursor = configDb.query(CNLConfigContract.ConfigEntry.TABLE_NAME, null, where, whereArgs, groupBy, having, order, limit); - if (cursor != null){ - cursor.moveToFirst(); - } - return cursor; - } - -} diff --git a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java similarity index 59% rename from app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java rename to app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java index 2f1ca0b..bdab9b3 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCNLService.java +++ b/app/src/main/java/info/nightscout/android/medtronic/service/MedtronicCnlIntentService.java @@ -1,16 +1,14 @@ package info.nightscout.android.medtronic.service; -import android.app.PendingIntent; +import android.app.IntentService; import android.content.Context; import android.content.Intent; -import android.graphics.BitmapFactory; +import android.content.pm.PackageManager; import android.hardware.usb.UsbManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; -import android.os.Handler; -import android.os.Message; -import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationManagerCompat; +import android.support.v4.content.LocalBroadcastManager; import android.util.Log; import java.io.File; @@ -19,78 +17,74 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.io.Serializable; import java.util.Locale; -import java.util.Timer; -import java.util.TimerTask; import java.util.concurrent.TimeoutException; import info.nightscout.android.R; import info.nightscout.android.USB.UsbHidDriver; -import info.nightscout.android.medtronic.Medtronic640gActivity; +import info.nightscout.android.medtronic.MainActivity; import info.nightscout.android.medtronic.MedtronicCNLReader; -import info.nightscout.android.medtronic.data.CNLConfigDbHelper; import info.nightscout.android.medtronic.message.ChecksumException; import info.nightscout.android.medtronic.message.EncryptionException; import info.nightscout.android.medtronic.message.MessageUtils; import info.nightscout.android.medtronic.message.UnexpectedMessageException; -import info.nightscout.android.service.AbstractService; +import info.nightscout.android.model.medtronicNg.ContourNextLinkInfo; import info.nightscout.android.upload.MedtronicNG.CGMRecord; import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord; import info.nightscout.android.upload.UploadHelper; +import io.realm.Realm; -public class MedtronicCNLService extends AbstractService { +public class MedtronicCnlIntentService extends IntentService { public final static int USB_VID = 0x1a79; public final static int USB_PID = 0x6210; - + public final static long POLL_PERIOD_MS = 300000L; + // Number of additional seconds to wait after the next expected CGM poll, so that we don't interfere with CGM radio comms. + public final static long POLL_GRACE_PERIOD_MS = 30000L; + private static final String TAG = MedtronicCnlIntentService.class.getSimpleName(); private UsbHidDriver mHidDevice; - private Timer mTimer = new Timer(); - private static final String TAG = MedtronicCNLService.class.getSimpleName(); private Context mContext; private NotificationManagerCompat nm; - private final static long POLL_PERIOD_MS = 300000L; - private final static long POLL_DELAY_MS = 30000L; - // If the polling is within this many milliseconds (either side), then we don't reset the timer - private final static long POLL_MARGIN_MS = 10000L; private UsbManager mUsbManager; - private Handler handler; - @Override - public void onCreate() { - this.handler = new Handler(); - super.onCreate(); + public MedtronicCnlIntentService() { + super(MedtronicCnlIntentService.class.getName()); } - @Override - public void onStartService() { - Log.i(TAG, "onStartService called"); - mContext = this.getBaseContext(); - mUsbManager = (UsbManager) this.getSystemService(Context.USB_SERVICE); + public final class Constants { + public static final String ACTION_STATUS_MESSAGE = "info.nightscout.android.medtronic.service.STATUS_MESSAGE"; + public static final String ACTION_CGM_DATA = "info.nightscout.android.medtronic.service.CGM_DATA"; + public static final String EXTENDED_DATA = "info.nightscout.android.medtronic.service.DATA"; + } - // Add a small start delay - for some reason, having no start delay causes initial - // binding/rendering issues - startPollingLoop(250L); + protected void sendStatus(String message) { + Intent localIntent = + new Intent(Constants.ACTION_STATUS_MESSAGE) + .putExtra(Constants.EXTENDED_DATA, message); + LocalBroadcastManager.getInstance(this).sendBroadcast(localIntent); } - private void startPollingLoop(long delay) { - mTimer.scheduleAtFixedRate(new TimerTask() { - public void run() { - handler.post(new Runnable() { - public void run() { - doReadAndUpload(); - } - }); - } - }, delay, POLL_PERIOD_MS); + protected void sendCgmRecord(Serializable cgmRecord) { + Intent localIntent = + new Intent(Constants.ACTION_CGM_DATA) + .putExtra(Constants.EXTENDED_DATA, cgmRecord); + LocalBroadcastManager.getInstance(this).sendBroadcast(localIntent); } @Override - public void onStopService() { - Log.d(TAG, "onStopService called"); + public void onCreate() { + super.onCreate(); - if (mTimer != null) { - mTimer.cancel(); - mTimer = null; - } + Log.i(TAG, "onCreate called"); + mContext = this.getBaseContext(); + mUsbManager = (UsbManager) mContext.getSystemService(Context.USB_SERVICE); + } + + @Override + public void onDestroy() { + super.onDestroy(); + + Log.d(TAG, "onDestroy called"); if (nm != null) { nm.cancelAll(); @@ -104,25 +98,29 @@ public class MedtronicCNLService extends AbstractService { } } - @Override - public void onReceiveMessage(Message msg) { - } + protected void onHandleIntent(Intent intent) { + Log.i(TAG, "onHandleIntent called"); + + if (!hasUsbHostFeature()) { + sendStatus("It appears that this device doesn't support USB OTG."); + return; + } - protected void doReadAndUpload() { UploadHelper mUploader = new UploadHelper(getBaseContext()); mHidDevice = UsbHidDriver.acquire(mUsbManager, USB_VID, USB_PID); + Realm realm = Realm.getDefaultInstance(); // Load the initial data to the display CGMRecord cgmRecord = loadData(); - PumpStatusRecord pumpRecord = Medtronic640gActivity.pumpStatusRecord; + PumpStatusRecord pumpRecord = MainActivity.pumpStatusRecord; - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_DATA, cgmRecord)); + sendCgmRecord(cgmRecord); if (mHidDevice == null) { String title = "USB connection error"; String msg = "Is the Bayer Contour NextLink plugged in?"; //showNotification(title, msg); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, title + "\n" + msg)); + sendStatus(title + "\n" + msg); } else { try { mHidDevice.open(); @@ -135,20 +133,32 @@ public class MedtronicCNLService extends AbstractService { MedtronicCNLReader cnlReader = new MedtronicCNLReader(mHidDevice); try { - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_STATUS, "Connecting to the Contour Next Link...")); + sendStatus("Connecting to the Contour Next Link..."); cnlReader.requestDeviceInfo(); // Is the device already configured? - CNLConfigDbHelper configDbHelper = new CNLConfigDbHelper(mContext); - configDbHelper.insertStickSerial(cnlReader.getStickSerial()); - String hmac = configDbHelper.getHmac(cnlReader.getStickSerial()); - String key = configDbHelper.getKey(cnlReader.getStickSerial()); + ContourNextLinkInfo info = realm + .where(ContourNextLinkInfo.class).equalTo("serialNumber", cnlReader.getStickSerial()) + .findFirst(); + + if (info == null) { + info = new ContourNextLinkInfo(); + info.setSerialNumber(cnlReader.getStickSerial()); + + realm.beginTransaction(); + info = realm.copyToRealm(info); + realm.commitTransaction(); + } + + String hmac = info.getHmac(); + String key = info.getKey(); + String deviceName = String.format("medtronic-640g://%s", cnlReader.getStickSerial()); cgmRecord.setDeviceName(deviceName); - Medtronic640gActivity.pumpStatusRecord.setDeviceName(deviceName); + pumpRecord.setDeviceName(deviceName); - if (hmac.equals("") || key.equals("")) { - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, String.format("Before you can use the Contour Next Link, you need to register it with the app. Select '%s' from the menu.", getString(R.string.register_contour_next_link)))); + if (hmac == null || key == null) { + sendStatus(String.format("Before you can use the Contour Next Link, you need to register it with the app. Select '%s' from the menu.", getString(R.string.register_contour_next_link))); return; } @@ -162,45 +172,44 @@ public class MedtronicCNLService extends AbstractService { cnlReader.requestReadInfo(); byte radioChannel = cnlReader.negotiateChannel(); if (radioChannel == 0) { - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Could not communicate with the 640g. Are you near the pump?")); + sendStatus("Could not communicate with the 640g. Are you near the pump?"); Log.i(TAG, "Could not communicate with the 640g. Are you near the pump?"); } else { - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_STATUS, String.format( Locale.getDefault(), "Connected to Contour Next Link on channel %d.", (int) radioChannel))); + sendStatus(String.format(Locale.getDefault(), "Connected to Contour Next Link on channel %d.", (int) radioChannel)); Log.d(TAG, String.format("Connected to Contour Next Link on channel %d.", (int) radioChannel)); cnlReader.beginEHSMSession(); - cnlReader.getPumpTime(pumpRecord); + pumpRecord.pumpDate = cnlReader.getPumpTime(); cnlReader.getPumpStatus(cgmRecord); - long pumpToUploaderTimeOffset = (new java.util.Date()).getTime() - Medtronic640gActivity.pumpStatusRecord.pumpDate.getTime(); - writeData(cgmRecord); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_DATA, cgmRecord)); + sendCgmRecord(cgmRecord); cnlReader.endEHSMSession(); } cnlReader.closeConnection(); } catch (UnexpectedMessageException e) { Log.e(TAG, "Unexpected Message", e); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Communication Error: " + e.getMessage())); + sendStatus("Communication Error: " + e.getMessage()); + } finally { cnlReader.endPassthroughMode(); cnlReader.endControlMode(); } } catch (IOException e) { Log.e(TAG, "Error getting SGVs", e); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Error connecting to Contour Next Link.")); + sendStatus("Error connecting to Contour Next Link."); } catch (ChecksumException e) { Log.e(TAG, "Checksum error", e); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Checksum error getting message from the Contour Next Link.")); + sendStatus("Checksum error getting message from the Contour Next Link."); } catch (EncryptionException e) { Log.e(TAG, "Encryption exception", e); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Error decrypting messages from Contour Next Link.")); + sendStatus("Error decrypting messages from Contour Next Link."); } catch (TimeoutException e) { Log.e(TAG, "Timeout communicating with Contour", e); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Timeout communicating with the Contour Next Link.")); + sendStatus("Timeout communicating with the Contour Next Link."); } catch (UnexpectedMessageException e) { Log.e(TAG, "Unexpected Message", e); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, "Could not close connection: " + e.getMessage())); + sendStatus("Could not close connection: " + e.getMessage()); } // TODO - add retries. @@ -208,19 +217,40 @@ public class MedtronicCNLService extends AbstractService { String title = "Cannot upload data"; String msg = "Please check that you're connected to the Internet"; //showNotification(title, msg); - send(Message.obtain(null, Medtronic640gActivity.Medtronic640gActivityHandler.MSG_ERROR, title + "\n" + msg)); + sendStatus(title + "\n" + msg); } else { - mUploader.execute(cgmRecord); + // FIXME - DO THE UPLOAD! + //mUploader.execute(cgmRecord); } + + realm.close(); } } private boolean isOnline() { - ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); + ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); return netInfo != null && netInfo.isConnectedOrConnecting(); } + private boolean hasUsbHostFeature() { + return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_USB_HOST); + } + + // FIXME - replace this with writing to the SQLite DB. + private void writeData(CGMRecord cgmRecord) { + //Write most recent data + try { + Context context = getBaseContext(); + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(context.getFilesDir(), "save.bin"))); //Select where you wish to save the file... + oos.writeObject(cgmRecord); // write the class as an 'object' + oos.flush(); // flush the stream to insure all of the information was written to 'save.bin' + oos.close();// close the stream + } catch (Exception e) { + Log.e(TAG, "write to OutputStream failed", e); + } + } + /* // FIXME - when we want to enable notifications, start with this. We'll need to fix the icon to match // the Android standards (linter will fail anyway) @@ -228,7 +258,7 @@ public class MedtronicCNLService extends AbstractService { NotificationManagerCompat nm = NotificationManagerCompat.from(mContext); // The PendingIntent to launch our activity if the user selects this notification - PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Medtronic640gActivity.class), 0); + PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0); nm.notify(R.string.app_name, new NotificationCompat.Builder(mContext) .setDefaults(NotificationCompat.DEFAULT_ALL) .setContentTitle(title) @@ -244,20 +274,6 @@ public class MedtronicCNLService extends AbstractService { } */ - // FIXME - replace this with writing to the SQLite DB. - private void writeData(CGMRecord mostRecentData) { - //Write most recent data - try { - Context context = getBaseContext(); - ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(context.getFilesDir(), "save.bin"))); //Select where you wish to save the file... - oos.writeObject(mostRecentData); // write the class as an 'object' - oos.flush(); // flush the stream to insure all of the information was written to 'save.bin' - oos.close();// close the stream - } catch (Exception e) { - Log.e(TAG, "write to OutputStream failed", e); - } - } - private CGMRecord loadData() { ObjectInputStream ois = null; try { diff --git a/app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java b/app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java new file mode 100644 index 0000000..c8759ee --- /dev/null +++ b/app/src/main/java/info/nightscout/android/model/CgmStatusEvent.java @@ -0,0 +1,63 @@ +package info.nightscout.android.model; + +import java.util.Date; + +import io.realm.RealmObject; +import io.realm.annotations.Index; + +/** + * Created by lgoedhart on 4/06/2016. + */ +public class CgmStatusEvent extends RealmObject { + public enum TREND { + NONE, + DOUBLE_UP, + SINGLE_UP, + FOURTY_FIVE_UP, + FLAT, + FOURTY_FIVE_DOWN, + SINGLE_DOWN, + DOUBLE_DOWN, + NOT_COMPUTABLE, + RATE_OUT_OF_RANGE, + NOT_SET + } + + @Index + private Date eventDate; // The actual time of the event (assume the capture device eventDate/time is accurate) + private Date pumpDate; // The eventDate/time on the pump at the time of the event + private int sgv; + private String trend; + + public Date getEventDate() { + return eventDate; + } + + public void setEventDate(Date eventDate) { + this.eventDate = eventDate; + } + + public Date getPumpDate() { + return pumpDate; + } + + public void setPumpDate(Date pumpDate) { + this.pumpDate = pumpDate; + } + + public int getSgv() { + return sgv; + } + + public void setSgv(int sgv) { + this.sgv = sgv; + } + + public TREND getTrend() { + return TREND.valueOf(trend); + } + + public void setTrend(TREND trend) { + this.trend = trend.name(); + } +} diff --git a/app/src/main/java/info/nightscout/android/model/medtronicNg/ContourNextLinkInfo.java b/app/src/main/java/info/nightscout/android/model/medtronicNg/ContourNextLinkInfo.java new file mode 100644 index 0000000..404d801 --- /dev/null +++ b/app/src/main/java/info/nightscout/android/model/medtronicNg/ContourNextLinkInfo.java @@ -0,0 +1,38 @@ +package info.nightscout.android.model.medtronicNg; + +import io.realm.RealmObject; +import io.realm.annotations.PrimaryKey; + +/** + * Created by lgoedhart on 4/06/2016. + */ +public class ContourNextLinkInfo extends RealmObject { + @PrimaryKey + private String serialNumber; + private String hmac; + private String key; + + public String getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + public String getHmac() { + return hmac; + } + + public void setHmac(String hmac) { + this.hmac = hmac; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } +} diff --git a/app/src/main/java/info/nightscout/android/model/medtronicNg/Pump.java b/app/src/main/java/info/nightscout/android/model/medtronicNg/Pump.java new file mode 100644 index 0000000..3d34bef --- /dev/null +++ b/app/src/main/java/info/nightscout/android/model/medtronicNg/Pump.java @@ -0,0 +1,58 @@ +package info.nightscout.android.model.medtronicNg; + +import info.nightscout.android.model.CgmStatusEvent; +import io.realm.RealmList; +import io.realm.RealmObject; +import io.realm.annotations.PrimaryKey; + +/** + * Created by lgoedhart on 4/06/2016. + */ +public class Pump extends RealmObject { + @PrimaryKey + private String serialNumber; + private int lastRadioChannel; + private RealmList<ContourNextLinkInfo> associatedCnls; + private RealmList<CgmStatusEvent> cgmHistory; + private RealmList<PumpStatusEvent> pumpHistory; + + public String getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + public int getLastRadioChannel() { + return lastRadioChannel; + } + + public void setLastRadioChannel(int lastRadioChannel) { + this.lastRadioChannel = lastRadioChannel; + } + + public RealmList<ContourNextLinkInfo> getAssociatedCnls() { + return associatedCnls; + } + + public void setAssociatedCnls(RealmList<ContourNextLinkInfo> associatedCnls) { + this.associatedCnls = associatedCnls; + } + + public RealmList<CgmStatusEvent> getCgmHistory() { + return cgmHistory; + } + + public void setCgmHistory(RealmList<CgmStatusEvent> cgmHistory) { + this.cgmHistory = cgmHistory; + } + + public RealmList<PumpStatusEvent> getPumpHistory() { + return pumpHistory; + } + + public void setPumpHistory(RealmList<PumpStatusEvent> pumpHistory) { + this.pumpHistory = pumpHistory; + } +} diff --git a/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java b/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java new file mode 100644 index 0000000..741f1a6 --- /dev/null +++ b/app/src/main/java/info/nightscout/android/model/medtronicNg/PumpStatusEvent.java @@ -0,0 +1,19 @@ +package info.nightscout.android.model.medtronicNg; + +import java.util.Date; + +import io.realm.RealmObject; +import io.realm.annotations.Index; + +/** + * Created by lgoedhart on 4/06/2016. + */ +public class PumpStatusEvent extends RealmObject { + @Index + private Date eventDate; // The actual time of the event (assume the capture device eventDate/time is accurate) + private Date pumpDate; // The eventDate/time on the pump at the time of the event + private float activeInsulin; + private float reservoirAmount; + private boolean recentBolusWizard; // Whether a bolus wizard has been run recently + private int bolusWizardBGL; // in mg/dL. 0 means no recent bolus wizard reading. +} diff --git a/app/src/main/java/info/nightscout/android/service/AbstractService.java b/app/src/main/java/info/nightscout/android/service/AbstractService.java deleted file mode 100644 index d7f6156..0000000 --- a/app/src/main/java/info/nightscout/android/service/AbstractService.java +++ /dev/null @@ -1,103 +0,0 @@ -package info.nightscout.android.service; -/* - * This example demonstrates a good way to communicate between Activity and Service. - * - * 1. Implement a service by inheriting from AbstractService - * 2. Add a ServiceManager to your activity - * - Control the service with ServiceManager.start() and .stop() - * - Send messages to the service via ServiceManager.send() - * - Receive messages with by passing a Handler in the constructor - * 3. Send and receive messages on the service-side using send() and onReceiveMessage() - * - * Author: Philipp C. Heckel; based on code by Lance Lefebure from - * http://stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging - * Source: https://code.launchpad.net/~binwiederhier/+junk/android-service-example - * Date: 6 Jun 2012 - */ - -import java.util.ArrayList; - -import android.app.Service; -import android.content.Intent; -import android.os.Handler; -import android.os.IBinder; -import android.os.Message; -import android.os.Messenger; -import android.os.RemoteException; -import android.util.Log; - -public abstract class AbstractService extends Service { - static final int MSG_REGISTER_CLIENT = 9991; - static final int MSG_UNREGISTER_CLIENT = 9992; - - ArrayList<Messenger> mClients = new ArrayList<Messenger>(); // Keeps track of all current registered clients. - final Messenger mMessenger = new Messenger(new IncomingHandler()); // Target we publish for clients to send messages to IncomingHandler. - - private class IncomingHandler extends Handler { // Handler of incoming messages from clients. - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case MSG_REGISTER_CLIENT: - Log.i("MyService", "Client registered: "+msg.replyTo); - mClients.add(msg.replyTo); - break; - case MSG_UNREGISTER_CLIENT: - Log.i("MyService", "Client un-registered: "+msg.replyTo); - mClients.remove(msg.replyTo); - break; - default: - //super.handleMessage(msg); - onReceiveMessage(msg); - } - } - } - - @Override - public void onCreate() { - super.onCreate(); - - onStartService(); - - Log.i("MyService", "Service Started."); - } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - Log.i("MyService", "Received start id " + startId + ": " + intent); - return START_STICKY; // run until explicitly stopped. - } - - @Override - public IBinder onBind(Intent intent) { - return mMessenger.getBinder(); - } - - @Override - public void onDestroy() { - super.onDestroy(); - - onStopService(); - - Log.i("MyService", "Service Stopped."); - } - - protected void send(Message msg) { - for (int i=mClients.size()-1; i>=0; i--) { - try { - Log.i("MyService", "Sending message to clients: "+msg); - mClients.get(i).send(msg); - } - catch (RemoteException e) { - // The client is dead. Remove it from the list; we are going through the list from back to front so this is safe to do inside the loop. - Log.e("MyService", "Client is dead. Removing from list: "+i); - mClients.remove(i); - } - } - } - - - public abstract void onStartService(); - public abstract void onStopService(); - public abstract void onReceiveMessage(Message msg); - -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/android/service/ServiceManager.java b/app/src/main/java/info/nightscout/android/service/ServiceManager.java deleted file mode 100644 index f87dc5b..0000000 --- a/app/src/main/java/info/nightscout/android/service/ServiceManager.java +++ /dev/null @@ -1,152 +0,0 @@ -package info.nightscout.android.service; - -/* - * This example demonstrates a good way to communicate between Activity and Service. - * - * 1. Implement a service by inheriting from AbstractService - * 2. Add a ServiceManager to your activity - * - Control the service with ServiceManager.start() and .stop() - * - Send messages to the service via ServiceManager.send() - * - Receive messages with by passing a Handler in the constructor - * 3. Send and receive messages on the service-side using send() and onReceiveMessage() - * - * Author: Philipp C. Heckel; based on code by Lance Lefebure from - * http://stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging - * Source: https://code.launchpad.net/~binwiederhier/+junk/android-service-example - * Date: 6 Jun 2012 - */ - -import android.app.ActivityManager; -import android.app.ActivityManager.RunningServiceInfo; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; -import android.os.Handler; -import android.os.IBinder; -import android.os.Message; -import android.os.Messenger; -import android.os.RemoteException; -import android.util.Log; - -public class ServiceManager { - private Class<? extends AbstractService> mServiceClass; - private Context mActivity; - private boolean mIsBound; - private Messenger mService = null; - private Handler mIncomingHandler = null; - private final Messenger mMessenger = new Messenger(new IncomingHandler()); - - private class IncomingHandler extends Handler { - @Override - public void handleMessage(Message msg) { - if (mIncomingHandler != null) { - Log.i("ServiceHandler", "Incoming message. Passing to handler: "+msg); - mIncomingHandler.handleMessage(msg); - } - } - } - - private ServiceConnection mConnection = new ServiceConnection() { - public void onServiceConnected(ComponentName className, IBinder service) { - mService = new Messenger(service); - //textStatus.setText("Attached."); - Log.i("ServiceHandler", "Attached."); - try { - Message msg = Message.obtain(null, AbstractService.MSG_REGISTER_CLIENT); - msg.replyTo = mMessenger; - mService.send(msg); - } catch (RemoteException e) { - // In this case the service has crashed before we could even do anything with it - } - } - - public void onServiceDisconnected(ComponentName className) { - // This is called when the connection with the service has been unexpectedly disconnected - process crashed. - mService = null; - //textStatus.setText("Disconnected."); - Log.i("ServiceHandler", "Disconnected."); - } - }; - - public ServiceManager(Context context, Class<? extends AbstractService> serviceClass, Handler incomingHandler) { - this.mActivity = context; - this.mServiceClass = serviceClass; - this.mIncomingHandler = incomingHandler; - - if (isRunning()) { - doBindService(); - } - } - - public void start() { - doStartService(); - doBindService(); - } - - public void stop() { - doUnbindService(); - doStopService(); - } - - /** - * Use with caution (only in Activity.onDestroy())! - */ - public void unbind() { - doUnbindService(); - } - - public boolean isRunning() { - ActivityManager manager = (ActivityManager) mActivity.getSystemService(Context.ACTIVITY_SERVICE); - - for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { - if (mServiceClass.getName().equals(service.service.getClassName())) { - return true; - } - } - - return false; - } - - public void send(Message msg) throws RemoteException { - if (mIsBound) { - if (mService != null) { - mService.send(msg); - } - } - } - - private void doStartService() { - mActivity.startService(new Intent(mActivity, mServiceClass)); - } - - private void doStopService() { - mActivity.stopService(new Intent(mActivity, mServiceClass)); - } - - private void doBindService() { - mActivity.bindService(new Intent(mActivity, mServiceClass), mConnection, Context.BIND_AUTO_CREATE); - mIsBound = true; - } - - private void doUnbindService() { - if (mIsBound) { - // If we have received the service, and hence registered with it, then now is the time to unregister. - if (mService != null) { - try { - Message msg = Message.obtain(null, AbstractService.MSG_UNREGISTER_CLIENT); - msg.replyTo = mMessenger; - mService.send(msg); - } catch (RemoteException e) { - // There is nothing special we need to do if the service has crashed. - } - } - - // Detach our existing connection. - mActivity.unbindService(mConnection); - mIsBound = false; - //textStatus.setText("Unbinding."); - Log.i("ServiceHandler", "Unbinding."); - } - } -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java b/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java index 0110a50..e004f7b 100644 --- a/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java +++ b/app/src/main/java/info/nightscout/android/settings/SettingsActivity.java @@ -1,14 +1,39 @@ package info.nightscout.android.settings; +import android.content.Context; import android.os.Bundle; -import android.preference.PreferenceActivity; +import android.support.v7.app.AppCompatActivity; +import android.view.MenuItem; + +import info.nightscout.android.R; +import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; + +public class SettingsActivity extends AppCompatActivity { -public class SettingsActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setContentView(R.layout.activity_settings); /* set fragment */ - getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); + getFragmentManager().beginTransaction().replace(R.id.settings_frame, new SettingsFragment()).commit(); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setTitle("Settings"); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + break; + } + return true; + } + + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java b/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java index dea60c9..7519a5c 100644 --- a/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java +++ b/app/src/main/java/info/nightscout/android/settings/SettingsFragment.java @@ -9,7 +9,6 @@ import android.preference.MultiSelectListPreference; import android.preference.Preference; import android.preference.PreferenceCategory; import android.preference.PreferenceFragment; -import android.preference.SwitchPreference; import info.nightscout.android.R; @@ -21,9 +20,7 @@ public class SettingsFragment extends PreferenceFragment implements OnSharedPref /* set preferences */ addPreferencesFromResource(R.xml.preferences); - - addMedtronicOptionsListener(); - + // iterate through all preferences and update to saved value for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) { initSummary(getPreferenceScreen().getPreference(i)); @@ -74,14 +71,4 @@ public class SettingsFragment extends PreferenceFragment implements OnSharedPref p.setSummary(editTextPref.getText()); } } - - private void addMedtronicOptionsListener(){ - final SwitchPreference enableRest = (SwitchPreference)findPreference("EnableRESTUpload"); - enableRest.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { - public boolean onPreferenceChange(Preference preference, Object newValue) { - final Boolean val = (Boolean)newValue; - return true; - } - }); - } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java index b4ad000..8f0c5c2 100644 --- a/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java +++ b/app/src/main/java/info/nightscout/android/upload/MedtronicNG/PumpStatusRecord.java @@ -10,11 +10,6 @@ import java.util.Date; * Created by lgoedhart on 27/03/2016. */ public class PumpStatusRecord extends DeviceRecord implements Serializable { - - public String alarm = "---"; // Not sure where this is yet - public String temporaryBasal = "---"; // Not sure where this is yet - public String model = "---"; // Available? - public int batteryPercentage; public Date pumpDate = new Date(); public BigDecimal activeInsulin = new BigDecimal(0); diff --git a/app/src/main/java/info/nightscout/android/upload/UploadHelper.java b/app/src/main/java/info/nightscout/android/upload/UploadHelper.java index 065a28a..d6c06f6 100644 --- a/app/src/main/java/info/nightscout/android/upload/UploadHelper.java +++ b/app/src/main/java/info/nightscout/android/upload/UploadHelper.java @@ -33,7 +33,7 @@ import java.util.regex.Pattern; import ch.qos.logback.classic.Logger; import info.nightscout.android.R; -import info.nightscout.android.medtronic.Medtronic640gActivity; +import info.nightscout.android.medtronic.MainActivity; import info.nightscout.android.medtronic.MedtronicConstants; import info.nightscout.android.upload.MedtronicNG.CGMRecord; @@ -53,10 +53,6 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> { public static final Object isModifyingRecordsLock = new Object(); public UploadHelper(Context context) { - this(context, Medtronic640gActivity.CNL_24); - } - - public UploadHelper(Context context, int cgmSelected) { this.context = context; settings = context.getSharedPreferences(MedtronicConstants.PREFS_NAME, 0); synchronized (isModifyingRecordsLock) { @@ -411,19 +407,19 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> { log.info("devicestatusURL: " + devicestatusURL); JSONObject json = new JSONObject(); - json.put("uploaderBattery", Medtronic640gActivity.batLevel); - json.put("device", Medtronic640gActivity.pumpStatusRecord.getDeviceName() ); + json.put("uploaderBattery", MainActivity.batLevel); + json.put("device", MainActivity.pumpStatusRecord.getDeviceName() ); JSONObject pumpInfo = new JSONObject(); - pumpInfo.put( "clock", Medtronic640gActivity.pumpStatusRecord.pumpDate ); - pumpInfo.put( "reservoir", Medtronic640gActivity.pumpStatusRecord.reservoirAmount); + pumpInfo.put( "clock", MainActivity.pumpStatusRecord.pumpDate ); + pumpInfo.put( "reservoir", MainActivity.pumpStatusRecord.reservoirAmount); JSONObject iob = new JSONObject(); - iob.put( "timestamp", Medtronic640gActivity.pumpStatusRecord.pumpDate ); - iob.put( "bolusiob", Medtronic640gActivity.pumpStatusRecord.activeInsulin ); + iob.put( "timestamp", MainActivity.pumpStatusRecord.pumpDate ); + iob.put( "bolusiob", MainActivity.pumpStatusRecord.activeInsulin ); JSONObject battery = new JSONObject(); - battery.put( "percent", Medtronic640gActivity.pumpStatusRecord.batteryPercentage ); + battery.put( "percent", MainActivity.pumpStatusRecord.batteryPercentage ); pumpInfo.put( "iob", iob ); pumpInfo.put( "battery", battery ); @@ -444,20 +440,17 @@ public class UploadHelper extends AsyncTask<Record, Integer, Long> { private void populateV1APIEntry(JSONObject json, Record oRecord) throws Exception { if (oRecord instanceof CGMRecord) { - json.put("date", ((CGMRecord) oRecord).sgvDate.getTime()); - json.put("dateString", oRecord.displayTime); + CGMRecord pumpRecord = (CGMRecord) oRecord; + json.put("sgv", pumpRecord.sgv); + json.put("direction", pumpRecord.direction); + json.put("device", pumpRecord.getDeviceName()); + json.put("type", "sgv"); + json.put("date", pumpRecord.sgvDate.getTime()); + json.put("dateString", pumpRecord.sgvDate); } else { Date date = DATE_FORMAT.parse(oRecord.displayTime); json.put("date", date.getTime()); } - - if (oRecord instanceof CGMRecord){ - CGMRecord pumpRecord = (CGMRecord) oRecord; - json.put("sgv", pumpRecord.sgv); - json.put("direction", pumpRecord.direction); - json.put("device", pumpRecord.getDeviceName()); - json.put("type", "sgv"); - } } private static String convertStreamToString(InputStream is) { diff --git a/app/src/main/res/drawable/drawer_header.jpg b/app/src/main/res/drawable/drawer_header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3f8ab881ebc761afbfdad7ae6b554adb658d83a GIT binary patch literal 48411 zcmex=<NpH&0WUXCHwH#VMusg6TNoJrKV-V*T9KK?z~Jl4pvAzzz`?-D$j`vUz`(%8 zz`#(&C;(=&GcYi;FbXj+GcYhPGB7eQFiJ77g4qlVJ&e+D_7p}9s2U~)21Y}$-ed*_ zhB=HzV73TIdwV7W3q&uY2m=EHLqK9)VsU<6W-^0|ud}YZF-Q#LHjq6K+A$?RDODjL zBfliSI3vG6!8zDeLBr5U&!ED{z|g?J(9l#N8phJg)w8s;PyliD4Gi@SO|1-!tPBjS z3=9;KOH1<8(ySG76_Sb)^O7@SH5C-XGxJjN%ZnKpj0`|ZO|1+}6%387OwFu}Oc@yD znr6ZL#?;g_7tZeLP(t{#Lmk3qR$yT0Fo3W@ZlA!w017u210!RD3CuA6GfkSv2oYyw zVrH1g1UGZpBo=U(GcqtRt((LO7vDCC9cm^k1H&W^D4T(SVG<{lEx^Dqi3_fN-vUOc zI3okY0wxF>6rl^4A#6qk28KoA5H`qFiy`i01V!#*h}#$$85kIrK=p#+V+m9*n9TyW z>(~-js5v1F3`^LcY>-}<o0%9GmLR!#3CztPHCzbwAafyUf`Nm9fkB3Wfq~V?z|h#r zz|6|PSi#W1%D~Xd$N;1ansz`;P$)CiGB7YSFff2qFUZ*-3C8~qxiT|KN(!v>_4A7L z5<%%lFF8L~zap_f-%!s$pTWkyq98FjJGDe1DK$Ma&sORE?)^#%nJKnP;ikR@z6H*y z8JQkcMXAA6ej&+K*~ykEO7?aNHWgMCxdpkYC5Z|ZxjA{oRu#5NV8gBQimgDx`br95 zB_-LmN)f&R3eNdOsS2igrg{cSb_zB{DQQ+gE^bi0MJZ{vN>E3ZmzV368|&p4rRy77 zT3YHG80i}s=@zA==@wV!l_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{yVymPCHMSzR z0B$T+zrz$3!15Dz<#1_mfPpj>SUDG^CYGeSB$lMwDuJR$*T78Iz&HdJJrG5{`6-!c zm2gF-x&|N=0?SnpMPQTii$e1Ab8MAppTCt9;NGzUxeRQ5Y6^B==-VmS=z~Hw$i)rB z1ji^ScI^~K!DtAKhQMeDjE2By2#kin$O{2PvoSR<#a5|Y$=>e&TZRNg*Th)QfWgAa z)0YL*Ol4qDmtl-zV3t;OmtkUHU}9jAVKQgn0JWS9%nXcWm~0r>K>ZgZs2){N+m%5; z$(7amreS%de^#!xNv#jt|3^$2p3ctk0YUz5o<6P&pw>B4L{4&UF^d5MLvCJ4QINZn zLPTVg0{a67HU>@x9tKMWoy6qg0>^*=AF!ENiEr0H4QK|2%eo-5uqweV$eof}oXo($ z2x_i7Bo`EwFfcHBFfcIqm6sHN*fSUy7(|jY5>pr$7}qc`Fz6ITL`E?%Fx~)(CqdY6 zK<sod8`MEz5Ge`?a%Ny)0(A=&(vjFnNbKZ{qFe?BCKCn*29?~LQc(92<VsM}pC>gh zG#Dff?m`qZ1TnZXI58+Ncrv&$I5U_r7&2Hgm@$|!=rR~F=rI^FFyPQ{1lI4zkk6pN zkj#+JP{2^hP{feQkj{|7P{N?YpukYdP|T3ZpumvEP{feRkjjw5PziDbC=Nh00|O## zi_?rj<}olZ@^~>Yus;6(|FaeY1N&?ShQICq|Nma}|Nq~`3=GUS7#I#rLFmt)!oXnh zj)8%B0zyn>E&~I9GXul6eF(9nr3?()ConKb+$%^dN(9>t>c=sqr7<vkTF$`08_B>R ze1U<1D;g4R3=H5-7sKM~3=ARF3=BSJ85m~HVqj29V_@Kq`G1?inSqs=g@uKgm4$_c zm6er^ori;+ot>SZo12qIkY7khkY7+xSWHG-SVT%xP*6fqLP}OvUS3{UTuDVqPDMse zUJhgkBP%N_I~zM62M3>=h@glZ$>9G120;!+1ttb&MnMK9K}Kdl#{Wkc<QW(kSsB3q z>{U>gk%^gwm5rT)lZ*TR5r(Y-3`~s7%uFoItgN6c$XE;NWwQvf3Mm>ovIz$!vMUve z7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyoA)#U6 z5s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3<ZTgIvvlcC0vUJ(<6)RV5+Pr1! zw(UE1?mBe%$kAiRPn<k;>GGAU*RJ2VdF$b$$4{O<d;a3(tB;>PfBE|D`;VW$K>lK6 zU<UgNL_mDTi0Usv1|~)(78Yg}c96dqnaUX$nV1DxSQQP~gd79e6AOivj2byaoF*>Z zc#u=sIOv0DQqe^&F%^@CsvkjK1N)3Pk2R6yGq}eP{<_7$!_3IQB*-ktV9)T=Fwl+B zK4#Xb=k8k0-`3sfd27pHo3SJF!qfmZ=DxkYyuI!#-Y!T<pY!GQtl7<;eVlWO8{b$g zFPf9AD4@Z-%<7}VnrY2fLm1dEi||iVYCZ2~P+R$D1%KMoCzedjFYk-&T&F4!U?CxS z%yva$Vqt^fJnQ6HdSY@6w}LaCe5mf@Rb0^}lJoLbL!ivXm6kFo-(;#T7Vh8*^myM; z@vOUliX@{=N^)~ox$2?EO|38g?7sADhw6zfB8qp<J+dxzJ?Q2e+ka~|1D7-NNp*!^ zLA$l5JqR`Y^j!A*UU6}S{|vg}D_>rg)!6A}=Cq23$>DIxAB%rexD3PPPAz%D(|D|~ z(d%iE?s3+;lD7qaR;r}W`L^ic=`$Yv+wR<+F@fn}_Z!xBmgMr~ws!NTT-n0X*22=< z_-B>CCEr&X0iLouAIn@U(|gj>y>riovYyAb^-_AlT`v>@cYJVMax(DBgawbaJY^nr z_g&j0vx<RX&cr#%TX}XII`!l{)3H<gQu4gCg?cBRIKh5@p8G@3mV`N5{_S;ZiJ2;4 z@v6}4;psBZ%^RNlXRr#F?rjV#Vto1bUiXxhi^6yg3eIjlck$)CMU#>WeP%`EPU85p zv*u<5TM=WZ-+q1N$@eXfTYO)##N2<yL8<3W9)I?2iJ2~XXOc*~VdO;VY^IRs^QsEZ zif?$#a_{k;ChnEaQ`P%@LOzQuls5c$Y{A@9XD5_Bc+9@><@rn9lTQ|&loOYbweH)> z+pB(|e)^{gm0uS<eC4%~@w|j><&q~y9?Uy(;h<oj)4RY1Y4Ou{_dK6C=VRaASJF8m zIqfPQei9Fh=ltTD_J&s}Q0O`P@`S9I_Jvl*JS5J`S{xMRbE{kOQq05R<nc?Ji-c2N z@;zdBXCXIpMUls}uR3dY-ac@^*7mizqR}0*pBBtAkJlz^E{xcp&(6&JagAyq^Q0S> zwr;bKDZaMzY1o-gZ*QrxX=@6+o}@2a7kPcN`mNi}VVBNKvN-=RW~!lz)rzZIFQ5D; zbDh^Gbh1%t?~)Cl)AY8z=9>S|p}@fK&g7Vip4|JncAw2dE^WQEOLpt?kfVzwPd%Hu zZOTm6>&&7jb$rkK%!}$fWh%>B?6vjio1+=x3vO9|_A|=KnmNDZ)xM@(iQ<Jtkuzqs zKJnmG7rpP*opaCRtG%5A!-oRv&+&VdFP5crE!e0s=lQ&6P3y%h^ekRpVg4B)mQitn z-SWBeT7^wXi@r#ntIbd|Oj>B`e)`8Ht<y;!i!xP?Gkm_%!++$jMow5Y$108&wRKZO zu5L?iu<3cgXJK=3!L}U>go@ZDZ8c-EgN|-pd-ut|(4}jS9yxz8+3Ae`g<$FI<c*j9 z3DyK$Ne<3@5L>bE*!5{=AF)(5Jt%aYtvu6x<%Q^f=k`lH>o2L}nUcO``n8q)=N$c~ zcF)yYyv{y7zh|P__YWyYzTaFCwb5>mPFr7?+(px!oh$w*{FuFbNq_l++!7Yazh@_( z;(yf8V0~rBzN4C}^9sLDGcPMPF~4>>`V{9~nTt~re@I1(UV6e%RAgWkEcRrgNNDLK zwW9E+iXXRbvV3`7QsVJi@10&jUgwkCLVZ|ymQE4gy<Vx;y^t~YxP<chsN`*n8v6>j z7T&qCA-U<nJb#;yzO9q4)Lov}ygqKuCD~mK>=N?5Om$9;+owIhTwWg~bzyqOJA284 z7R)w${~4yLF3eP4EwggY=ldW3GuS_NTQIM;|D2n{W0N)J*)JH~E?$<~qHsINVQE|8 z#CMuT)Az2}Vfk2=U!gik=;A9Mf!sSD4<6|8FL*XNt-IDiU*cGSg+j?PeK(I)6%W3? z4La5s(ic7P`n-nvUoT^PO-_2`=%1b7F7xfZ(*@aY4y%qlmi;|%N{0H`8xsRk3g`V; zsdq{{#AAi6#mg?o(p_?0A%e#hcqab3az|)ePnG+2h7`t^mnJ95nycRIn<JC(JLEI- z)U9$CoBOBmthae?V&=MY-r{R^5AqKDXZRXocI5Bf&TBd!`|P&boDtsFa#~U*_wlub zCuAokSrim-KHFTR_F}H0x(oyR(zGWo>n<iLo?|nf)#=ffJxyu5rA*<=h*NQiXVyh` zU72@WcC}{6CgUkzO?2N%e38wb6&kSAmN(kgaua9N<9Uk8>ekX`QIY4$p6$p=+G<o9 zdv>?3!UT&y+UHjGgd0!w-duFrU7>mV<ZF9=-8ignmUHW+7rU1Bxp{hTC!Z~L<JPz? zuc5XxHoWX~V9u6}t+LwY*3(Zec(8c?YtL+z-BT7XWWDn7=)}Fz>?>@fUQ890{ItB@ zL}tz5D_bKT2YEASZ)%g=xFWN7;<Xx=?z!vuAIBY&XSsb<N~`?Jqpj-&PAe+L%*(#D zu*q|l#aBCbhWGXcroU#cG|uJSrIuj$$9=!3Ipb@VdmcMJE&0^^=CeWByJKa~mldAV zjH#LH(qAN+aAu7yFJl2iDf4Z~mk#f2i;P4bUz^}if3|P$?|@U!wzd4K?R~enoOjy% z+``IY<JLZjWPO$18w{5AUV?JV_tseaomx}=NaFFHkGe<qx9Q3-1*Lvo=l^#z3+sP| zMg!$bYaRMC*3@!8=)bx6VS3x2op~iIzy98FzhZju^s2u$OK(fYr-l8xs<BAc?Tc-? z+r=+)#V)_8GMk>f>~^}H@6ugIW`4c3fNPQT&awtB1`UP<T(h>#T=wc(Z~Cg2-==>% zd$R4B=v4kctc@a!PxqPro%2uZ#}sd!D4kidcX}kwFFpN~@r|-&5C5XB=^|%EJ(UmC zDgHZk&-lVM@AKU8j*qlMPggorifh?UnY;G*;*@Vu?R>|&R#ndvUXyu!R@_pv`70vt zM&3DeG^Ob!mq+^!t-`Kz$JU)$w^M;}0_QEuR~a(%rpZf|CYAT}&3HCh#*BZ)wnv^S zlWI?z*tVXzH(h2`#K#k|g=fX3u1r($vD)#9@A4dm;xCque|Ak*3!TIx*l@<pE^g<6 z^I0j|KgsPpe_thet@bR}J4Fi;zdQbCuzksr^Y?b&4Q7VMod;jOb>!XM&r#0g_@wZh z@x5hFRa!%yOgwK>9dPLSjS2=Pzan<IEj!nQUJg@XV5(GKUYD_3^Q89C?k!IQ?#~p7 znZ7*mK$`6ynYlOrGuV5DvzuLA=h4hN@#niGH!|;3>8tZLe_dL%?)_rfr(bLh>h+_X zro_JU-dMnxcwVI^$Y=G7PC>qlSLD9xIqlzN8*XctXBc$DeAPyc9wCW2b)x2MCv6r~ z*xDLjTDmc2Zh+vNr<*5b$#j;bbc>&EmHZWADR8&*QTvAYQwz_;e7mqwhPAEm%C)?d zoo11JY;W&``7IQmn5$dy_4zW(HA_RJr*7AEPOB=)mJD?Z-&l3;#Qf!1Pp4)JYIPl3 zI&Y4jg~iu(Q9GujyqaAW<*CDWx$E<*N0*GICNJ1<(eZYx%J&oR<3eMKVttl}{g!3z z>tT?TSg*Iva$9=Y+1a^P79WolzKt<H;^mVil=|X9s0>fI&9a+YGL1rgijO+y+zj6E zu+dj7YLoVzSXc4;iC@+xx&<kn-7Fq_eNn5QOkL@HcUJYCi#m^I+i3>w(C)K+ef!YU zm)7jMea^wxpU<74J?ooh!a{~!HxBQdRykYsyy>ke0ZT51uD#K>Y|FQ4Y306oHCGJy znf5zbOJAv%lx{q^GGi_K^g{V*-f!5gjStxVXOQv~T_tGP*uW|8H|1p3Z$9NG2TvT& zO10SJziaXPs^VKq7wYn7|B(G{^JDTO`H5??H1%2^K70N)cv<Q$`7cNLbLyoFU+!iJ zU9rt)l}hdW59c3FZ?==Y!ClXrDd=picXNH}-=}Bp@VuMwiSdASI2XTzw#y`gqWt2G z%M=#y#0ynyJ}f8IW8Y!pxb$Vh-;1Rs6F1i~TH3d&U6S&BQ+aLkZ_gU#%X5y+Q=Ikp z;6brzK^x9*HfptRTv_a@Rg`X9{5z_~v}dB&%tx6gUT(W4!2euh@hzpPnu53MuKj1= zTVgTY^`nd3vs+B;PfcZB*iPx|clo>2PUw~2O115!%Z*FK%YqnxY+_^nXi~f=)>8T6 z9@9tfxhtk}SJWSgid){lXWMm;H~T}`l|PDlF7xh=o?UW8gz<EZ(~sJR`f@Lioj-ER zMm%SA$2y1GHumo<p74C`b9~3EHd$(Nw7f!1*57$H?hhuKtzWoj*Rw{s=jk5*8R~QP zf4RsW%KYPcpOMowqvmK?!4*q)K3cWpKLh9E$;TZdx8+J~U+~32vE1761dIIM6R+5R zzV*nm^%OG|s63Q<Cpxox!V!VWmpwdH&*#m}*xR;fMpvW5ou##QaqbWQRb46<o%&To zskwK?@fFXS=7epNTReYiwan+9-<MbgZ^%~7Df0jMD?mHD#QwDMBtH9g=E+`9kLkX! z&zh4yKc*|3FXX04-fEE*7Z+PMtX38~Rb<>FV9C%|eEmAxtSZsGLu+a~EYCXp6n&@B zTmFur=j-v{(6Y1#JJ)$iavf-uk!f!1Kep`Y3l9dB$#dpRe)%(G<Jyy=M(nziFDp$j zt)KB>hosGy=OS}DH+)zu$=Js(|J>9(`O>XP96w*4WL~ST7+vHVXLv&Ht8Sx_OW6mB z<_lMfd4En?<1ood^vnBTO##1&LY@p0_&C{@I!|kf56W1`Ja^A;u9Ih`>w0tMRs5`c z8}Q6C%Q|MmPk+&#RRX62Zf%#4^%w0~trRm$?{Lc5b9~vHVQxW_(^|x&I}Xi1wKKiL zWoJg_t<0PoKka40Wqo{i&Db^l!p)5rZ#;hTr?nvTnCg{dp?vNB7delGT%R5<dvoTg zRX1Mfl!W?-MSXhpIQo^7UzD`jw?a3D5YgwSc273z6+4~D!MrqCQ`Y2#P{#pTL$B{v zqAINin7XZBSgVBX+S9~peJ3T{)yill&$F-jLI=g1%-DCX59Xil6+QXn%46Af+U4rm z!auI>bk+^L%Xd;{@3WP~1;;0Mebs#U*nh##E}c!Dr_(>Ly)wzg%SY(CeT7g~?ZR0Z zGolk}Z_Ur}o^Voud8?^)>u-6j6}E15ZTo$8zT7LZid(Sf%X`<O*&APR9t)ZG=d*|T zg)(lT;vbJqVl1nLoMkrq%NVSg<ncyS&@nBkioyD?hU7Q-HxGZC+<tjF|Iz-AYpV;Z z4yJ6q_~hr}_8pnW-Ri$t@%>ciUXpz0SgDors{{rKW`@uijS4)I8y)0yKZbwn|DfLV zWZGfB2|p%>^-RssS;C}oqm*A?LC#7e$@<a4v&tTqa(;F{Vt*_6(fsJT53Xx?nNEIi z-8X%P$8o3BlapV!G5iX#+?Ffl@u_m@yv!$)BI6=elFlo8cw5>`@_h3A%9UwfZY0=z ze?HkGqd-!fwLjS5lI-V_C&?2ul0=w_uiO3(;MLBsyE{)axnkzU3-5TAv-%Zr{0cZW zxy&~FK)k%2T1DVQ@tDa`o5EDrZjCv|SMl)VXEtkw8{d{KyEtd%G4JG;@vZZ>%y0S= z@i8L1;YW6Gk_h)q=4k8s&H4<r68tOIhPs?t?i6@c?#>dUwjd5=g}$$8N*CDA&EKN_ z=41N$qlJ&`nW9}&S2OObwKSM;w`z*4kn_t!+c&DrdFuCTaYksiTTOF$c6n;0?$Rg1 zj)mMJlQgHSUd+d}!KTTuM=qPKWOa`#_uJ!zmnNG8Zrd*RK>TNU!o;3g9(gbOIlQXo z^dx*=uw?dz2W$n-b;^6yPI`XM>I@8FuzYOa>wDJZ)$vUax4nDN*mroA%kDQ8Y6WH+ z-yZlE!sofK`C`SB!g(1vLa#g<93+eGADwvlPsLHCU46_d<<HkLz4F}HouY30D$m>b z&%T0FwOaWrRLi_KOzv|y@8EATTYLHk6%I!A%<~Rek(w)Bcqy}#KmV{IxAkY|Bqh$D z{xXfPvZUFs%v8Gj#`viBME#v6g(*e+8%^gd@i#9zQt+U;&$>3-T(R1v+wiuT@pgq0 zi$|NLI$L^0-`Fa;Qr((U^0{*J+lW&O=Ns!D&7SsqZ!Md)WQg#@DsG|b!kEo#T$c4( z=Nimi!t;E^G3{x~RAoM`$iDfK=ZL&c@eA#?iro^s+V1vs9G6$E+`949@0nJ+q`yh= z8F<xAeR}<jyqmkV+tYayWokoe8P=PvGYXRGp17QKmBP;ut|xQD&Ms`*nW-r8GSX6Z z!r>cJ0~m}wUW8m?PjQ^5H6=Q!sK-nE*4DKfROblUYOk9oRB9z@X;yUWc=zKTqhp6Z zuaD-RdOu7%=F!)D;g}eqRmVTCFKdhEP`D@|eCJM#S!Cxo)B9Y7U7OTr^ybd|nO7XD zd81wFNLk$exh|_F)_ODD;W~M?%kSL@DFds%DU*{n3KxD|?fg{xl(_6_k6xFb7MeEm z+!Ly<zv8^{MQOJ4j?)rXw|%=)RBt8W_OZ_Ctzy4S`iK7vuY+XQ*(i&1N{OpCi0}L+ zqL91z?faYV4@}~OHgEqpzx&PAJ<dk#TeeQD*x-C&LjBW~{~3-~6%<Fg+4^Pr{gQXP zIw7&*_0fCsAN<>wU9WLp;hvr@&pj_L{7uK+$o>VtzOY=%JM6hVrN;i_@o$YE{f~&v z_rBC~OTJy=t=L98wH+~nzn{xGp8Uyv`n+`q+vcL37p2Osd|YHbY0o#&S*BGDG8>K+ zUYfD)%2w-m)*7uJjgLk9Vwn$Jzi#%<@Ah;i4U5N}@?7=Iv&wR07Hv;omtnstzIVO* z%(dCO^kzuQtGGTdJYFYK=W<oU*gUets$2fXr<-p1dumPgzd5>$mHDI5thzJv^L`7( z)g9ket^P~AZ(UN}y}ViL>^;T$)AV!B#mE1hWRsZH`Xyg5<JLU;rjqJ1dq0`Fl#t(M zL2D}WyX}O3d_H7ka!>Wcy5+J{(v4!Gw9ZRNDAaxQ3_W@L-tkLIk1lo%(s|^-yS@31 zR*8wXi)FzHP8NZxE~niaU&piVv#ePC@Xf`{&wFMaYn-_2Sh@8=nPP6aVEMaGD{YvH z!=<JfPgT_qe%s&v&*a1RzAYSI*Ym}5cW~a;$uT?4{CLX5`j&s~D^!Z3m(4qFvgpy9 zb8R!#+v_g<XJB3Mac|E))emoXxju@n_|H%&^=Hvvk%G1V8GIQe!rmX6XAo|Acy>sx z*K)o7<VVL_AI@AfP25wk%gX9Olf}VxVdtLgYVjyykYM@ssO`w&8xuv_V@hpTng#pj zXsy;R34HJMs9asQW18&(-kTNy{0pA1Rd(}a-V@BJlorO&zxPIuTwU7)U5WSlD?j}U zzHHO@((9YnZ@!S!$4?*c%Z!<wnfPky#shDETr7y1)N$hZg7ZH0^Rs3*s$Gicnf%qh z*E`{>s*Ccf4^?%c=4ww?^}d|HaAlF!la=Di%r9q6SBmz%F;AnBMI`>%rYUoe+^QBn z%KzKq`*E-7MwQ)y4%G~{w%M9Kokl0Ns|ZvoZ7St?y0v>kRNln!r!n(5*_l7BiFMMO zStM;_@!(UXEN}6tg+{qbU-xz@GZx2O)mBM)cGlZgXPcd$-PEJe!g<SrR^;Az@wETW z<Ck%@F{!&|ShYJQF5Gzh-T9|+p*i(w$y&>uQx`5`oGRa28Cv)$XMUC2*1au-{ZlPP z58L=GIjijEvs;FNu`%Y-iknw?46U3SXPw<vdaTK1p-6D%=2DKMf~Sq#j66iwWNv$# zY#yr1)9ZaiY}<lA4`#hT{6O7U(sOg~wLeL3r}pmG`fji@DC)#q$&>e9i-+rfwq{kI ze4Y7a++G_U#Z4?{UW#SL{5j)Rp_1J7(${_A?3pTIJ{}gPdTTq2bX_ywMp`ZTEUdz{ zw>9mR8N&_9$Md#a-Vr%rPotmPJ=@i;(tU>8_MZB5@<!FQF4j*|Z#l6>b$aPEWwI;G z^M4(sF>OK38bQw|`s(vPuD{ebyOgJRUi-bd2MXe><Q7PUGr!8evHiiTtl*;`)sIYT zT$}qu*{#X-KSQL_9LW=3f(-V*WvaNvc}eh9YEUiz#%yQiX+IV|Ud#RPdCNN+=XGaX zGCw&o2|kPQs(X`R>%ZQCQGKb}n~<a@Z~D*YcgG9<asQ}(ly}YR$#2?pPp7B#cC1~j z{%*xPf63&N3S|sDDep=SX<5lMaBnTRslMXN@gHATnD_@@_{U$P@Ui~L>b19A*WWbR zaXaPK)DzlV$&#V(-u6F~wKyqxHYVvN-=gNvc87k%|F)~K`w&tXbAI`<{j1iieGcfc zT3z7Tr##iq&GBjb_tl{+eU%|awnZz>XfP~bYT#nfU_N7~R>Si_y!VoK`{i(ts}eHt znXi<SZmR3eFa6}N(tGdGq5z*urm4bD`n&J5+k}63R<>jBw&=Gq+iq-?PC1io!|-@b z?&b9?U(`0tiSe7^XKeG-QR1h2RBLi<PN_Z5pWJmn*pFPuu97{htj)S}yZZNX!{<{H zUsTI2_+*f|(&UTsB;&s2_wIA;sa^EP<-?w;Ym@H9bhqr@QpV<;X?SXW;ETJ*mn)RI zd3ik-0Tl|{R!n}zf9v%_muj^itq)%tto_emSfS*2-o}r8ecB)C-^X^oc7Ch8t~Gws z`RSJ@+>Af8^V|yW>VB8=AJ(t4tv_!v<Faaq0^98?b&^ZOu01{w^F-<Iy(>o3i!yrR zVj34uTxP*>>H*_<m7bK32VS0E?=^eli?1>(&pBAweDr+9ck9MPafZU?zU5mLmtUDE zJZZ+`IsG{y+x#bL^awUAHr2gRJz0yVN6+K+ysx^QyM<MfEf2_idmD7ObJv}D7JJ(m z*4#OGV#7q4&o3{8`MK<j6<f45p|OK8V&cTU8*84Lq}=VibSEW&;cju)u~3#LyQeE| zdr|h+HR+YIx@}(fg<I+C9RHP`wYsJh?0a{X*ssF;hi_lTY&xQ>dFI-dOP$Apc4Q@m z7mJ6^E|bzWWKXl_`n)<h_sa9B-gCufFOV~u`sDiY_?7dmZ@hT3rDGAZ#+s@k?USp! zr_6hL%qVS+*{U747KF>Z+FX&iF2bY0DvZx}Zo%OjQxw=|&E7qiYnIcbRkp1`y*GYN z(vHm%`@lcXm2H<|+njkFr$Tqj{9E~Gg(8bvaojR_-6`9RigF%*trt0O_*3HZ<yqe{ zQZM#BiFy8R-MYMpNk_t0auqi0oG7qq;%q*?+E+_Mbvtr4@^&?z;;X(^wDv~K(J5O4 z?B1rl+V^Bq$3+X7pxlis?)08ozck2ao%htIb9m<cT${{2ZNbH;M=xh+s3fvoY+%im z%DL#W*!02+{=NB9IW@bL)?800zCKSo;!<kS)RcXJ$KDkl-<q+~*j1!!(tSM+mglzF z85h+~{M^IXyL`f4{;b~z?-Z@HJn-PN>zkn6*7F<Z^S|4t{Ks{}hgbR0iogFlrM{Nk zHF3{hPeu3Ld{-W=J25%qujXZ)T$8hA*L^oM>b})Y^hoGr6Eg{5TJep6F?!AutAA^k zzp&DMwt3Z^rE7cV_?mp$?;2qFYrf;13wIl}=g*awty6t<U-(bD-pZnscAss!Vl&f@ zKW)<as!+Ih1GoHP3kDvUDKjsMT(VFJ;Cxl_Ty|At)_1#(zq9tI-~5xbp<?~9!qfQ+ z(o46lP)*r){A2nm_jd--+t}3}bH6$<*E^?n`SQrfm)8t#y!^HyD$1czv5Di5N|qIC z-~qWq+bmDMfaZG$)%EGty-$~-y-!!H(|zVFv(c+@;*}oJgbIbeV-0q$e;55@n9uKA z_-H@N?LD)cn7&Vw)cdx0_p-{2zwV*0PyF8DH+QSMkGA={&ChF>OK9J|wlU|{*^G0S zAM*Eojc<?BZ;!hC-8-*P_U*F&4AUOz^z<iLt$b5>B}K^iY03^wwf+nGJg=+rJ59K4 zi#>KmcT1mWnP~Cl9mgBT6UrM|!jm#rFYa9}p11bFuC3Fqy^?s|lwx>Vrb{x`<6sa! zi{LTMPHTCVnxYRp`}zM=mo9baDY@N{XY$?lp~{~nzt(FNUuXEfPHN(l^rc=)R=M7I z==5-h#B)(`%@<z6O$EREoo{>$F1ox+EkvhfViWuN{jY<ba9Rs35&Fq%KINHd!kQls zgy*Duc~h?yb0{!7e4|R?A?3+c9x)Aq%?#`|Pm<MpewF^wEEdgPeWdE>0SmdE{~7GP zrYkB%JhCaUwfeH=PTSnhOZM}%IOA?U{<1QsFTd(($3x3+$7QbNCFMQ&c%b6(q{0&~ zBX_k`-PttlIkWb}zHH49mwich!j4ZpR<~%=RF||nll5FPj!VS*|7Qp-_S&SnEpFS! z<o@aRb}o;V^jf$wbJ^x(&6rX{Gow=8*}AePB%EVJ3s*{b<=owH;pPUj^bhNew%IDP zhrTHZlj1m_GsE_z<$9%UiM6e(&2>#qB+HjbeOB+D($yyyRBn>6?SO=Y=$TjMJ8%1Q z)_MmXU}p)dIbLJ%Qt`G^mu}I|5RYdw1yUxk@6D9*^EtM(Iw$4+>uJ{>JUnQ6)1T$Z zxy-PfXItY%cHY@2^>xM5iLYFrUU`;Zn!S6P&BT{ytFC<bu&n3KZxNs1Q$<IvJI(5t zv&2)h{d@bRWud=?mb{7ZR%M<lI(gNNH8%}f!`T@^KHu3F$=R@n!Pvhbu-4=0)R2@p z^Sv$^?2Ku(d>88Gx%RQ==7`H_rAI%Ul-}{{dWeSD%H31+@{dJ7lb>7S*12ifnV(-7 zU!T)nX5#f^qg$@SydvAx6&E#KR;oUGmULj7<BP)PXtzmD8S7HZ-e2AuuH|B8QrWus z{*AATUJ9M(o<7qvM9Z3Ia(tpJyXq5W#mzmxo&;PyXg00=-u#W_4eqUW61{cbgk~-8 z@Vc|@funcfeATMQ6CytuPIw^Kw6$xK;pA(_cU={#ss3H?$9vNE@b-ttCKiNUJG183 zW=#c8P3gtm%M~4YDix;5UfMMKMYeC`ou3WOuWxS`o!cAvQl8mFpCu+ccl{r?Yj56^ z$eK3(R^D0pe#wIt!3Fvo3L+lMG~SsQ=)KY?f8m#9Yk!B=*j&DvyCqjTYQM)7Ezvd$ zB`ynw)a{J_85q}EUYxb$X5aj+@1|U0mE+vQ<$uqrss5wL-i2|;eb1g{|F-@E>yswi zV6W>YhpJ9KRk_%|GVJbuhQ7<soxb@md|k)=@jpYeO{!dt=_6}iC*R#?xYce>shV+{ z&t5QO$-E;LJKmLCISHN*;442SXYrxGMd|({e}RaXXTpn)s?3~veATg?X@6MNRkmvx z7Tx&NTm5b62j0mdmrdSgha_ISCfa5EV{_hrhU3}hp<*je7qkD9y6khm|A*6hvtNIA z7XQpye5?Pa-LrfBzk`0ry_{wn?0#(xcWG*`nuG0$gnEUH(15v;%7^SMUdpje50lgW zQMo3{cgcN2<Ch<qWwr&&RrGE+EiCWYYQx9Xbt*IN#Vw=BF`HggF3C81T*u?<nm2K$ z{+?fGpM1VUfANpTKY}aIxXoQ@nXUA^BhP-9EpwmY-v{=4vZI1FZ=9Qvd8W2BR$cR{ z{8ss<<6Zxx&R6FO<a)c^EoXe;lTi27N^X^T@=n(^tB!p%Td3`K_k5R=`8|c=pO1Fv zR2g~wXSjBxTTt?(<S|3fjYX>`{q*hAa=E%oNT*U#JLqQEz86!Kp1*7E%gW<ay|C@{ zlujl+(aMAc#zMvC*DueSb~5kxTJ|NDFE5n*3b7PaUv_jx!jm3>>M-M3LbsFdguUI} zXH?j8Eohd}-kC+(X%+|0uM}-r#j<>5nY2@Z8RIbnt8klFGft)T?rk>Xl>EBR^V-Iq zXW6$h`JA?0DCg;s`Ca@nM%1v(XwKE%)4aU1<@Nk8?Rj<MNnd4%yZiEria9k~A748Y zdS<EGH}f?m7LO%!gkQ#m)>K!sXr7$)?VG2Z*@|C}c4#H(l^o`{t>>QSaBy9E(DQ}< zoC_0`7^*_z-n?!V74lisw{_97c}sV?v3jq5u^?u1<J;Jf4VNaK3>La}Ol<KZkICBN zDpl8)d+X&FPYaFdOAolNmsVtSq+050X2N2Y;^J4yccf?bpE-Lz>h<@emgkA9la5Qb zWyPj=XNoCpko~}$_Nwc;n%Jp*Q+Cdla#qpWS{QB;s4%NE=1JErlXV#jg692n|HyxC zmty<QMN4ivJq~e|uc#}%%%h#w)$EpfZi8{dy}Q|~B;1QjT~6=1I^#)tf7a_Zu`?Hg z+-i1p7CGL%+*c*_s!vkaJJ8iq?@6BV{N-L(gFL3K`KDxa;&}5(o6n&qCRp-ny*;6> zQtbLBUCmZWrKd<sRVC%gX~En3tm?K-S=M^SUv^!6d)LV;ZblP7-#o_l_RjpZwfmL_ z*QE!4*nDXHWB-mQ`L+ojtLw{FYBPRMlFXE-6^yv-xy@(E9RJI^qbqcCleTW_RBRFv zJTAqfr6Iw<cYy1K<r(?TI?Zh#;u}r-h3_()Ow5TDm{U1PewxXDhDOW4AD8k@J@$I@ z=fu_gcUygfUI*`=b0;p&=ks~Z81acWHX9yiR+)cp=T@t{wMn8c+@$UPx>`?JW9i8| zXPe{ed39Twz4>`3PdlCRd49}ihsP>b7AILZ9(cNM3fHX|SH_0N5@!{{3e~sHiq3A? zxqVthdT;YlCBv{VnI?`W@>NMs-<@B$kEia^u4k>L`zAh~K0E5tIl=smvsbXMmj9Wx zZ|BdQuc|_iEsmb3RanpW{Q57s)yrPb^4+#}N!;P;<f7RR=c%3A@t;BNNGXdzcFDWq zNm<jsMa9jxTfE|~b7p2<o9D8rO^Y;Md79*~pR||!&yX1#95(5(`v>OJ%U<4D{K{v> zju}Np4gVQd$2))jB|m*>qSo3s`CQp6Ki|Fc`CiQV(sG;Y;=z`csWZ2m^!RxT`FWnV zxn`dBc3n%B-z86rH^z>dTV>r782IdVEGT>$xLZzyhj&j9+eHOe9%+U7g`S(fY`v(p z>S2FO`sbB9qpTO*o$~qCox`R1HXD4omrOh<dF#~a-ZdOA9GTf~^|~((vv>R_`eT*7 zR0X@|N1@ipyhNslA_*#|Kb>H(-Ok*f6JDcwR(f8^<I`$=a~d33Qlu97H`?j^2>&O@ z-!bc0r%Y<@q8<9#CoNkKlt{jFn!vxq^jT=kri?Euw`;7Fx#WJH;bX+M>}^MGGw5zC zurBm^@br|gh=brUd#<y4UDkNZM7$~d)iqry+Go2=a{1YF?7@*<PDTE1rwtu1l*ujH zSZq|ZKj@9vO<Vq)aGPg7bEiFP-8!#;LD_EVd8-vi&q|e56{-}t+qM>l98pQun(Mn; zR(4L$%0H{muJ7?)*|V%9s;t42Iq`K|Xw9L!ew86sw$_JVEfI?e?~gakU&*^OqxZG1 zk;KLpneeH>l4{>g+GMw7y5=?*7{-KZoA12q%@N@t!slANtLOdl_O3fqR;^eZmh)Ib z@T5&4&*tRU(QcD#dD1(2d~V;(yC-T<Gwc1rrYXB*E*&x7*j)X{Gv(CLPuEwwGfY2H zd}{4?BlR7-cGS<EJvpu=^ANYQeuiPrlENL&R$liMv@CU5?Ej+rn!iBOyRS030c9^E zcJ;O&;n}!cr7>K3v#bBku<8|peP>$V&I$L)I62!*%;?=$kL&gZN6Uf^ot(8w=lI@h zli8n3ir)2SJJ)gHUDCbmIrHa#GJO$zaMrO&#%foW6gh2t85?+LNiK&{%deK!x-jK3 zN72h%nj)86!)M-JX`#F>J1&IpL_$#2WmOX`*9%RKZ?a<6s9ksS*kJhmxv5^pIsY@W ztdsk`PM#@q>d3|0G7OBSvsa{QE;<v|p21q!pLHnI=g#TEsFc6=*Y8c#T9&u4NLtUG z<@a@))e@G=SAKf=%Hi>RufGOgW?lFd{*Cp+r}&E3F&}m28(ex5#BrGa@yz}+{5d*# z_76e}qGp~?e#>>`#Lwz)zdrik{G!W#@Y-j+-#epzy<|MhartS#{hMj&_7Shten|z# z`cEkAE4+MbQ`$5+N9`Tv&i{NpWBFZwcz-B9RxkME^OxB!TP|JQ=Dp(XQzf~D7N<9S ziJOzswc_X|Rqed0xyKLNH`wzpjrf!Q`1IcFke0WzE*)=>C`;`yUihD(@@TwH*prps z3j<!;Z|a|s_@AN0{zz-_zwKvd%g2BH`B$^L`TN_Xzv~a{H~eQ1P|dL6e7t(Ec*ume zU8lZGTDt3Dki(k)3?IaE0#8fk9G(?;S1$Tv_(S%dI$8hc*=C-_%QokB2W~xm==g>_ zMz?PX#^*SX`YgIwIH_7jYQ-HZ`9lkqRK0(5_hZ)UhtE4&+m@P4`jH(lrFNC^<ZtCR zl_zX>@UREiI;?K_=`p2pt4V$4`tHp?p2tpixVSFPp67=5mR$RfzZL9X`&q54d-3Jx zt~snh<z=qH%NFfiQn9OVj*#c8$~8AVUzOeGwUeya{Ydm?x8sKVO>Vc-_U-to`^css zdZo?ttftDBp%Oc}g1uM1+FsA~kGDc}ntq49fcm~Gi|zMpynM`TPI|Uhd*Sh-aMPNJ zeQ!ELrp&#hWVQXxo=F|zhvk$C|1;RSOlti4Ea%^pxcLct{hrQ_Z=cV!C+97Di%ntW zqE|u_Hb&j=pRn<Th=<5VyK}xW8>XGnw|I5&z#rcqu8;ZK-+x={bW`8tK-s#5+0*-P z7bt7gEtY)Yn{Ht-%PA|JTWaF5=={A&XCJNcSgd|&>YLF1W%Wtx1vdP<{b9-asf_t= z587I(%>V8Gb=@4B_a#M1$(!w_tXn+g=lpM{E;MCJ$#*Pv{5O&NmXEv4!h17+wdMbQ zwxclXtjC)}r`={gC_LuB<NG?cbF0_2yp;dVP$hV4;YQ7vjUtgY>*c0So@jn$o<+qm z!^oX8E%V~GZL?u8d>L_Wkx-SC*fiG@63>?wg{+x4W#-z{<zmX*zruNAyxfFl?qB|5 z&Eb}_m8Bau#`;xWvC7py{N_l_oU--uf-{zGww&vBZoc1zOA6i^&u^PPd}R18)=|^r z#`cYUhMyMvS$$?@Xa35)Hahd3zE~hPV_oFc{lOQPw|Ezo^zdEno;>j;mtn`JP}iWI znR!bT91F`uvQM)fUz^Wkv!v+i(c=p{SG+#e(6Q5Q>x+vAzT3Q-vC?zS-@AX`UKX6j zaDAm;kK)R6&)1$%-aO5Dn%b6ccXo?PPFK8KV0>c5G}X?#(}gaIzh{ozb+*ZQ{;A%| ze<kXcd?vTc(@LNI@!&thT5@@zC2wHvjO(}V7&d?A&&$5BxM5D;tcv7$SN3={D@M;> zTUAnYtmHUf@%MX5Wl7AF?{Ixxnfg+Cm8P=N<IrjTkCcC2&oS88xn8x)zgT<YuWPU7 z1bV4BOnW`A`s$0;Y_5%Fe#MujHE(i0;w<^f)%T6}W*Nmlwyb)|n!-Olf=na4Ch$G- zE3YcNEjoF^&d1pi6BSRMl=;ndDtIGb;J((5x0~*l@KuEstxDCLmbCfg@BK@QPi-=s z>U75}{>|qvYg8j8PA%=85LsZLJ+E}?nOL{@wi8u#Q%_snns|O?N;HGvwhg5`bGF#o zaV`0BysrBC>+k7%YLEZs%G6K(Q1v=+nyA~A(#VwF15Y2jy2$*tI{E9`mv5G@@~Xc^ zvLBeg&2F>W`j3}GwpWTix~%(PQ;Wung*M07ue_i5pJ95|q5R-QoJI5O7*g%c)hEA> zoSyP!=NtRY;fF$gw68zE>h<h}ANEZ<`0mL`N9)Fk0(pmJHp;SDiLq^I$#c1{d9kMI z$IH@Hn=7mzewlycpV*f8&6U%dPh~HSGuUzL#0CSAWaahj8LGjHWHcjxA8-6waVBwt zwN$IpQtpi}=KcA4e*I&w2NPB;(Kyah{n_jB(=zu9^-TXP&t^(h=s&X7+xYPG*54L8 zcgbZ(w>{2j`TJw%`$>zJGm9?CDoHC|dR6B6Tk#Kb?c{!RN#E5usou6#?QXi-+h=UA zlGOJxo|=56Tt(PxiDjAAoGH`yRC=#T+${a>q>UUOyZ`4|XO=C#5U;PrXv0@L?+foi z&#ZU-zJKS}iJ$%`e^h5WuZomx+f7r>>rFT9b-Z63XP<XK_~q>7;%cs*8f*EUKQ=#B zv1V=kL*^e*7hhWOHhhx%bmpzmgHIa`p6C^M_eDH;&i-uWm2DG6H1FPXZ(vowtUPaP z@7bJtPgc|yCEuD~A$#Nb%lZBvMAjL(^iL?-x8%xBk;S?GnLo5YPWpcMw~g_mZ&t@! z*9k;#y2Ed}HlTNh<hd6g4?5p|_e(bO+O|nI&Xw%k+V@0$3;SX2diML#70rkHzs={# zYBAltX7&*t$Are6cb25A{PI{`(l|_J*V?8zceYf|i&@$C{PrvDxtnYI-T%%tHC$2? zf8m)<&F+;_R}Z{@rWyL5;ds~lL+e`Bnxsb-JI>F$zO3^3)PGlYCB^^In)bB)Y+@zP ztGeZ<|1;d0da^fu*Z$-h>+f%B=E^Wz9QXPdbMD$LUDv$A36`&lBX>@&&WUciUvOBh z*0wj<YMR>9+to%l9@}j_8??1&w%gKqbIxvmx=w3GOHX>xao1%TYt`)Hte=EWjhC5t z-fFtlS>?k=9vjZ7y58D(X6==y#k()O+VWS*!p-B^9;u(r6Q-yt$KAUaEFHiYm-3PK z)y?bP9JjBEJ#OIJdfICHjW3yrK`(p+UDMtxFLg4Mx}@|gY~r%}&X(7Dyvn1d81lu` zmEQE{c=FBSRkF3j^;xHPDk;Xb+9*ZOF*W3KW&iDaIAv1t>sZc1GtWJ<vNhRUbAPR7 zQtn2nO;^eUmj^b#j<j)34v>2-;=C=RYf5h-Tga{}YacpK3ycl<uzBW1F5el~|0!+n zk-x|FWku@d>CTHJs^?r=`{)Tn!(;iVZw5cT_pP{__)BKn;zyk^f0kTd@2=y$a81EW ziRo5rk1U^N^L@S7JRyT9<wYi!H1|w8VVQhhHhZC?(oVOW;*c3@JT}Z<`F56{tJ>O? z3hj~%byM|RvOFfHynQ*VU8!o)8usQ-A1`e#<;)K9c<|0)Me)wro7B9EiprWJPn8+x ziY0APZ~k&jn={m-KjU=4%_56+nb!@b`g(78`Fw-i)U!5T26LUhNL7A$v@^ZaO>gne zGHsbM$#s!QJWG|1lr5~T|GHW{>XFX`C*uPzBX>^HJFvL1f2qI0o0{mY8>;$OzK-9v z`0ms67wK=NN_Ky%{;+9c|D>lIzwVmypCRf++i{bB%2%~I?Tzbn?s!&y3_m(O$n3M) z)-w0Y=W6&*a6OxRbuRa;<CY?M2a0#hpTc-j{bf+>tZ=&(Kkl3V(aOJh|L}djEq9_{ zMcp#aD$<mmkzjhv<H@`75SIT8OcQTyoxWRI;$X4Y^V1GO$9v}0pWm94_rBKe{zLP_ z@<M++uF0Kt=}g+*z_xqu+>SPZs&tuYHV@t76VHYypWSFQU2o0z{vRn3Y;!~^9-e(6 z$y0Lh>GR8SY4tMyM3-;;Z1io{oe%T7>UnK^KRl1{md(2=$GIst?}5r;3-*o5itVK~ zJ$*-nrz}48)%4l38&5<8&r7}!dJ_}Ye&s&L^Zc&=44d0_Kk#+DRvYcy|CjN`qyr35 zcb@zb&G_+Rhv*jD7ZJxY4|#d~tYAB!KF{jehMnv8e6Q+fSZDS97{3=+%xULW@}g(| zGjPrS7I&${TPX3`9xvuQC&ZH*mD;D<wFWGS@2glle<ydjf%m-hGakM3p3l45Y^5~! z-1dj-8~(UHep`|`i+7W-1aD!nqPFO+c|FJ3=kYN}T6{Bc((^kJG^^{%_m28hi{6Rm za^_R+nV*TwF>2f|X;g0*{hQyIJ^IAQ_g(Y3|G0nn9?)kSn!Iz<ocWvY9q^y7`0wR; zt$WAsvs^P(dbo3s`dc%LACDDEWU9Zet2FkD&Zt%Y!1c0Dp+@~9`{CHAK$U45-fx)r zFImb^)%M&;275Q=rKN#&m-u*|uiB}ytbg9wJrhq{^p@<M@HSPMMWDLtL6Oy@wDZmD z>No8PUh-;T<>tL@HTAn5?q8~L_35OfIePsUxW4lnJhd~3T>AYmzrgJiMy!)h|5$#` zK2-F4SNzWD3rp@U>F-zCrraYFe)`nfbN7Ru?p>&UCERA!x+goO!gf`QJ@owYcx_SW zk)>CT1*bimz1Ui?#eQn#)Q>AmEuWf|R@t}Dypd{Q`tZ?alU;KruPokh*~DW};Lf62 z?dOG-JxeqW1(`kA%H6PvVZG8a)e~=*HoZEX$<=>oXKeJmRvVK*1+FbSV|xGIn0VSs z;c3I#l^1rN4;GbpbLRHmFq7X)Hhx?8tHS!#Ij$KijkT&z@1AyRcEh)ICoZ>$Ef;xZ z_FXxeGv%36<{qD<Ervy@JGOiYp2oCcn&Jtan<*-RJWse<o+?e@n!ao5-W}>i*F$Aw zy?SnmL|fkVK3euch`G;J`{u&Qr=k}xlSnJ7THnigNAN#G)OUlMO3{l~Nkr!rTlIJ4 zsh;4w-&!qVw8MGfbuLYb?N&>#>^wdH++MAU2$zd)N8KuyJe~1ZJL8bXQo(t_8=jY6 zHjTN)ZRFDOTguPz)JZY<oX1POCz@x>vM#!L=*yEw3s01%tmc&6{B~Bmp=X(jho=JL zwT0({qEl9K+V1{WDl~KQ<egU0+bSg2#5!Ag-q|R+@XH$2h-1YYi|!q_KYU_c)zmYx zPJhhU?aOvN?=YI`?8Gf##dBTeqngmfGHr!D6WFw;mA*@h=o5)a;W`u=G2_8v*;aSk zlSxASChJs8nmiv(p0G}%^W-_LSeND*KNhUyW8=TJzuc~Q`kB8%f2SRYZ>SSxUVih* ze};>f!d=QNm+pL7>N0<ZoSB-x#A~1De5IPFYio|JbKiMAHP`z-cTUokeX12nhe~-x z&uz@+?*A5*%Kr1RcZlz$D7k~b%Pi}=rCfZXlQJewuueH|R_|c1wQKie&&=Wjg*&(N zJow7IH8nYHxBNo+&Ef5D{@8wqKD;q%NnPsKP51A3bT_L^=KarLzLG1{u1kB_tSx?? z`zz=5hj~7W-}0|BeQk~C^}0)4DI0p?Zts*?(otO-vgtp=fz?*4KBiu-`}iRs@acnh zEd0}%cJdvme*ea{+$LVwG+W{L$@w0Yvc-SAb*lZJoc($2O58HjY3&m#{+;8sKE6-! z^4sYtVz=g=5!86osjVSDL3GNrWfQAJwq(a|$=X(S|MRV<O3M3n*b0AK;5wPP@%?{> z?Yvhm{n&r_8=L=~gUk1v*!kkTVwnAu?5OK^1>2*HpYKVTX7l`K7~8gTyE}g;eVOfR z{b1khN*1r}QazW?7yUe$78zywXR1i@>sQ(9y0-X5t-oiRwbjUCf1j1_yp12`A1R1) zlZn1@x?J$xCYPmG`i~ZVQ7K>ZTIIpJOwX;R$qz%^4)y%K*KmEx&D*PO>%aN#n0EWo zkwRsG?P0;L3f~y)KRZSzrv5%Hd98m((SHV!wP)&uYkXEW*l*2~V0^DE|2k$z+mxrT zV)Rc7s~uxAS{}Dod*T)6+#A2Yl&oK2^O*aQ)cX%&`{wP+dHkP2acl8o*$toT{6A^g z3)%T^y?k?HgXi0Lb{i+R&$BmfPF}qGvG)8!dtU9hvTM%g73b!Ae)w%Dzx&BAu8)S6 zUD3w#LL;xeoW)bPB3<^c_JJeMbiW#Ze{!zr)<tCot;QeWz0snYvLze#+}iY{pmm+( zmGs5lyb|xcyjDD0W;ms<(@VfLbKOP8(|p>i=JKT#`b$jfIJfJn#N3UVc2n>27=hX% zMyck}vzvF$XvnV1DmmxryUkm)tBG6YTG0{pjk=z%BKuT&<e0AM`S~oB<yfcp_5piI zv*{iUzhx(u`ff>hRj09adk}M<?dxlYp9;@i*Za_M^Q5bP3M>V;R{x0Uw7q!KpR>5{ z%AdgEg5yH+hxRqK1^dbJtw@|?kf;AHO=X(R^_4uj7H@K1-dJ<{_T>4;wgq<S9y<{z zX_GML@&z5+#BVRXXXu;^623n1%gQ3BomvMhZqGlqc!r+W1o@n*pdy!TCzYF@eP8qQ zMA4O*i8-~|>L!-nPAS`M4I@u2a`W<;rycwPv|PSuwytYN#p|=hr#5!a);*j&3DhJp zEUuouV8hE#^H1$e?Jz1b$^G)laOyg%8O@qTZ_FI4!&Nq_*&KPzcJaU(*|=PmBdPD_ zTzV$&*ckDFap{>3=V|xc-ek!}EJ`^o7_sr7!oSd#jfP6W+m5cTHQm1}dsfAkv?Vvo zbj@$=T-vR5DgD5bp6Bcnuk>yGtD5{$y5ISW{<qM2;|J`m{Y!$?|9&o1_&4=3f6Mcg zAB``+>aaK7r^d8jV2>+fC=+kcGsRYB#<ZGrS^u5Sc1m4&(>qJ@!>^wu>*XryLk=8W zwlde!?zGnSFAMXeOy2ZY{M}=cJ>yU8!?*Q}YuD*Wo$p)tXyTmbuhb;|Gn8E08n)eN z$-6Z*&t6O3e9E+TOa8q(V(;A8nQv`0FS9%JcS4=o%kqCB+djyxE|uN3Iw2zBXMg`z zr-%)q>OZcl<o<iXlFlxDdD7Ottc}-R{F2&gWLN%o-9GiqY4fD#AE>guQ*Jf&wZ?u! zGuJI%2e%o@%67<<#XOgkJho=)PTv*B<C33DaeE;1q|f2s)-&gJo75`)=6Nw`e}|3p zBlXUff~cjFEM*MK`3}ejD98VP5q3pv?VKN-IsFnpRxJJ}R^N5Z>UH^y{|x)jN1m)c zb4w^@#lnXif6j}&wEKP`xv%cWe}>nWqPzTlZGJKTcC&NQJ-LrE8AlCOd(PgF-!Ji} zzVc_-)oW*tHQ$vt{(eCAyv5s?=T14l`oFpVn7qt=k$%J0?ip+Kl%~%1Nzc(a^>)Yc z$$zRlm9Lkv`&DV2jh;H^>w??Q>?W*hp7U}4t@uY`^A}fyeLgfzT=4vwEW@A1ZteEz zt?g%`FKqh29#{NwUQB4H#HY14FFH-0{H$7DQ>F5Fai8(Ox~)$wBVJd@-TtkTvA*ze z_uI$`Kh4Ba9goYUv@rf>=v#d~jI}r<f8+VMxVL@gkA%9{cho7(Q@hu{Dn?Y{iQu#C zFXPg*7Jb|FHPtDsOX=d5lWM!#M0_@%She`h#JK8Jb0!JTo%ro;?ZIOy6&G#JbG-Wa zpP}wt=$|WH56?V5*}Pi+-To8$$%jkcGR&!&AN8kbU&7)mr%L6WS6wbKao}EOv7TMD zKR?;}l-tv-OA33m9*aJ{x?VHy?8*!IMPCXTw7W{BZKXm&0@VVuLZZ!|wFHWM_mohX zpq-I;+wxV?6`#|yzt>MwDE_kUSBSFgd82izXQy7f<r%SMO?G&Y;f?2$b2jqsax?Ba z7Ah^(vFXl1uBUexT?#(WHt}BCGuQb@S=p+((i7|b+Cr`RlS4f>PrCM}tV=Q}uXgnd zgPqJ}yQ~(r=EgkUYA=2_MtJM_=ke}sCl|7Ayz19vd3&wbtH-J{cRt$dRpD{@Maim6 zQR(6azT#M$&YURmla>b+{${mVCLTN~xwIf<HDA>_zG4sQT`Cd&KBe!2o^+~2wE4g8 zYP(PzF*WJAw1cS3k<UsIYv(zBI(9s3nuX*6=1H}y^llo}b_VhMy5{GZm-alVVr{3g z^6N;iMJ`_DI)}6TEY?+qx#ca)<JRfl{Udp8@wr`wr8%+9{<hO!A1(41nAo$**h$vf zHoSjnk-tdKozoX182hyQmZ?4QT9kEk$6L|DWA$85OJ^HRS?9N5#oJ38O7*XV=fuu! zP+NFX@=n3FiN6H{Ub}M7*vL1_|DONyt;Od>Cj9)Odwl8o!h1WHch_=knVDtHap2tj zOFNf#=B!V;X%(&2CsG&My}sz0>{nHReh1d{w|ZGC_--s-tCx0j(Q=7*b)};0R|@aX z`nMwI%dCFq_xEqIy_25b5G4}0?fKSeuO!_U*Di8D{`b@C=*vI+s`d-Mo|=~aJpA}x zjhFFKHqlwd)2}?;5y#FHq$<C->*?$*v#d3b?pW5Rq{`j2CZx%*Z%_TNRe3?N{rhZ! zAO6no`Om<(<?UtXZ?8{l<mWDvFSFh--@xvsUi)SBOS__;cb=NBa=xv!R`0j_RlO}| zqb@~z|BmD-cGl`WarldU;6YjKsdr_w^O80#V2~^R_f)$xbKzxqxr(Q6e0$~@eiYoI z{d9)kQbXSv$L{1EGrYaj-29G+@{Q+B$vt1}=4$d!{i6RO%J<*aRkvP7#je>NzP)Ho z!EuSFGyXI97hm9+<@Mg-N9g(e|M)AEZXb|i*?d7sQ}w)Y+?l<qb2skjPi$Cx)3xl7 z&8p)v&z`(H-~LaFsZRaJnskY4dFTE1@5_2T|H!!;pNkgFZ<<`*QxbZN{acH~x4)0B z9DUUkcyWGBjn9X<%X{~T*FSu{OmODq65(V!pVg=AA5`@{n0RmZQn}RRHlf0D_XG2k zFO<sjXO~x*ZOr<%ecL3Fi84j}E55P_ILZhVSzYJeRhC{7RkesCaQ63<xl5kQvSq7l zOWF4A_WxMkldvIL!X|vZdrs%mC7Sgb4m*xrU{2uAI(vQEb>omn-;I-6=6R~_zOJ)M z<n7k8vete(_U`JsbV*Wu$J|5iQhLwIY#3ORo}alCJ#(+%*XxJZ^B(+g{o$IoMa=h9 z^s8%5{_zvHX1~C&@45Qk>Mf5pY>`=dF?P<R>Be>?8!j!G`Q2!<vCO1O%k?d5dp&lB zSg&V%A^Fj4T9i^~-lOE>2?wsraZ9Xvoawx0`m^No#V@)3`taNr?!6^@O8zlpy^;2_ zAG-y=*38>-ebVn+E@$JcWODbea$yLSsSf}AH^zC|6Q`-Cy&A$*mfXC`l_`|!UNz6{ z?35{Po&_uTJXZHgPqgu!=oURw-kOblZOO4INd@P&EOUN3sp#$ewOLDV99^z^^s_?u zw1h3ymZuX}Wh|~;ck{O9-$&1OYou;nW!wAEaclAPtAFx&G7gEU{FeH@;U>%NJrghc zbKSBy8+}Z?oX6?Jf!ges1~+xBvO~(8IVPUF`>MQL@=TB8`lM+>b4)yL26bs}nB=$S zxanolQ(5b_h$iNIp7_c(Ys&P(7aqFDtmLNZx#oCmD89dzFG+5L;O(w?h5Q0#PlAe7 zC+SFjU0Ez#rsl!FQgreP-*+C<?k#w<d1^?@$w^m!$z^MX85g;B<jxRcdpNO)@s+k_ zcy_Y6(V4PzW#+BL-hy|I1?f2^zm2(kMA@$Bi<r8?gX=0E)$&|l<hV;lJz3dlG+Ey{ zW5Hw5<H3SO(mHFLC75=m2DF`g+%m7>n$hYcDVL9tyX!fh?R?(pF;_56*W70N@~mg` zbQM+AH)iSDnZ8&uzv|gE!%dH!d^XCiYOsq5x7o-$%bDxfWbVR<Q>)WH9@0HtnNW}w zb94Dd&*ogYDcT$NMNIUx@vuu{+S;S8zH!Q`CFyrxi+yAg-TdQvih=ROo>kj7_EtU; zw-lW9CG+X&73=OjKXl5-uRM8q)W7Z*RpD{%H|K9CTg<Yb-}J7EhwssCtG~4eRjF)L z2>vl+{-?E>wmhqJ{THncHh#GNwzk{9vp;SZS3eVr4LioYr@o-o0Mx!t|F|w|<!4!u zHP@E+$;j?@yVzhg|NP{8o5M}2>`Q(te^dJy|8081dK=AR^<RFyc0a@!>K+9}um32h zK6CPm)3G9Rul8uI%`2;y+Q<8&`jHQJxw5QzOl#TUdZF}!H<R?GuV3Errdn!>NN3BP z$WO<6>{$PJez<!vctK3ox1WdZWX_yp{)e%y@W+aEmBEwDLxsyNE<TJG`n&qg{ttbx z*&bVb`gc_C&#z?36`S>E#y!t}u)lG>;2+PT-CHcbWY;|M?)8vx`u>prTs`aYm7-a5 zW*V&&c~=|!q5PqEd!5Yftw(p}I!DelJ6mt?gzvS~=Z*D3{>2ygI)VcYRtBEG@Fi=r z@#o`@`t61HgdaTr?d<b^{aFuYf1i1u{oRy5lDq#2y_KowyrQ7e*f&W}Q+*Zt<~Mb{ z;R_06<d5!ey(j;pGiiSwZ~7{S*}3Z<#q8pFp3VQ*=X3LAb(WNC#mkm;x7>;RY~Q($ z{m1vi(|Lrwa^r573Dw#gy_2o<-^c&3zc@y8#g$mSl2se3W*An)$9eu~zpz!~nYvtb z)Q+6LhO<6DKex@NyzA2Q%!lh+?wMTEV<~*`T`Zu7ZPrg7uKgdxe)d1$^)cAdwf^Du zbuC_tqU9ZG^nWBS{$Zf|dc*#!T@UVTdf+~>Nm+KU@s;1qU0*-!(75n@-X?=7ce>-n z*G2ym+_==mW70PVY4(Xy6Z~IqsZ-mNr+Fs1<<N@w$ba7T7mgJ@b)Wa*o-EgbO}{_K zPkOZ3do#P*x#tIGg#>0BoDf$t)xEr2;@{Sn1*x7%n>#X>1n0lo{_JAN<MQIY>u;ZH z);`L=-9O~~{R#Ys*VgcN?3kZA_1LW6LGeYt|H`Dc2hY%9t&>mOxx{d}>`tXEy{5a3 zrY5OPJilPAQ0Me5IqPjUF4uefac$<Ipo@w{+fw6SUo*RTdcEk&fYVwbFEXWc=j>bk zxZ*L-#%*;|-zR?J^o*Tr@?r0}_`r{?SB^FrN`7Bo%sa`6J9v{tsxZ^*;61xkcJF^4 zw^c`0L)wi~<kU$uZ!z`tQ7^r;lf6~+Cr+MMxq8Pt4~1`*Z(T14=`g<xcw#+CN9H;E z{6l>y9$%XoN=<DJ+*D|-DxM!aE9Ss6TLrncg;$gwU%Ef%>xxpACw|j@DoZ}!nyR&A z=VaBDDm+rhLVIFvW@$T5DyY|bHn*tqZuhirg=;o$=~P}&s;7MH(N5`YPa5Z>ODfOm zNK$;OeD2Gulvm>K*5vNHu6|?B;r!j->k<y<zMWrnUcO_|>aETXm4bJgm`QLsoV3k8 zJx}HAiQT;Y8`pWwn5?e!rmUuiIcD<_ZNc+JXTp3u7^I%gQ&mbiUGVZu;l!?|^Yk}z zZhBHx#go3a$X_C=J9Wle!76>zlRDn1tAr*R9WcJMp>(!cpZHFtV~aKw@4P6brBi=G zGcWU<;(C)TON&(@PreyV%~;zt`IUj|oE_&Etm~@q^f*@0e&O8C>&Y>1B!68`wb}Q3 z#;!|gvDda+_fJ>;vfgPPqs!5=rN*jzc22h}j-9wrqI<@gM`7wZ{*R+qE2@Q8{GL4P zq9<?6kG}yz237M<?Jx9qzWKECOZpqtHQo6#uV*PT=Pg{m=E3tH3u_pEdL93;Hq$mI zJxqJ5No{BJoablax2HA9T|Qi=+Qq<A<eh4>Zztp9;QtIYr|P8+ZK^WKcYJkzTG_fc zeTCOwN5szFvc9Zbp4BE@y`fIw#_OMDTTV9p6cOIXcI*$|6B&c=fquqM%SAnodArm# zN8WL)%;deh=A`MKk837+v}?UOtl0RD!*bo_j%lFn1fXTb_O|;p80^%3EPi(WkDosO zKewvS%Rd_LljqX-;hgnjy@!JQv|l{)=6|{n)OA(lZSt46y~^jfKxYduH844_Om486 z6*Q?U_f5lt((Atdq1n@ZPGmdLzNr7>>-h6~ypQM`A3L?w{GG1yi(P-d|KZDw%SqB& zaLh1XU-OjTvx!~NbNO46em<Wq%i#Fu{Fn7tY>W??2kle+;-&q3^`D80wmUCaf9+WD zJpJj$jtp;>_CNm5@M`^uJ>Ey-w({7gJpH~~|Kwz~1i^`ukJhD%r93(nZoci?DeoPR zcD;D`JoKjGvB~MWYkwT#u33}A`EC7zgDH7s&#V@<zbdra-~H~LQHRILbJ;IH{8Y6n z+j*1A(A~OtMQn^vl-ujerf-4|U2eK4y~0)0%j5a8lW$`^RkoOHa+!F*Kh%Dz&n(f4 zHf49J_?LRm?cAj%_E^@cI^?(0yEPsgssqn?Pm-JV??}jR$2${q|GIjw@J_yVf6jwv zi*Iqy<P&?_XY74z(krFJyt5}ys_*q)HDO(6(DlF5EY_$-w43<LPW<<BO=`^9E3P}% zR4~i@)t*<;Y#HKuqU7_9aFvg4d1ZQsmp$G0w&=V_&)n$gk1kg*=N5(>v(8_s=Q^Y0 zp54oJSu;-WzH@%o(HA9$@6?qZ50=<H>F()`nWqdV#uOjj#-%$gd9$nK?U>0&jjpPl zye1lWY3K9U%^44`2R;-LjI^4Ry2{XbLqpk$+|6+j3VN#yoq`fxxvA)vO7TT-?YKDk zMbby@g<-XRsxf)zY_-=}WO_=T+MRKJ$JHe&EfS(v{n@5Hx1OC=bG=+BU8U!GOvWLV z%qz<^%3d9Rk-bPuBm9kFlKOp9KMz0u75^DF3;!|MyHL!>y+L2ca#e87magqaN9DsM z*L4I>*(IeBbNEVWg%Udtzv#;g2R+}F9P3U$#lUofb*D{X*WX^*HShm3q~EQmD1P*x zp>3=9lqI|+y3bS|I(hM=%un2J-x?yj#AmvR|AkktE&a{@F8yQspMg{S;MyV)r_VRt z^dBBL$)>z>gZ-U*_EKG4AGNIKvuMP~?RX!P?sZ{e_}mBIUrzp4tK};cc;#31H?JRS zRzCS-_mTAkW2cqN`^J-&2Ewl=dHvJ=dok7|{aa*fM(vVX+gNss07eH^1`)>3`}^$E ze)nb{-8FCP@`_m!iu-p>dUDuwqpq~ISmK0ANp*Hvi|;m<4&U82^CH)`u#EK&^KZ_3 z?*CD=ZQ;s_d7Nu=^Mum7q|0~}g81%Cdu;LA%c5-VZO-srTl<%2uXqm4d6xUdUI!d# zJE|hx|Lc-9zt^AheHD$LY_@ZKt(ShYfBN(5r~TG++O=!UYRS3bv$f9e!#V32mJu5! z88=jg8F_Ng+`RR}6*<4DlFGb_di8SimuY|B$9~{%u*R}mo990HS6#;`D-h;3wYD-{ z@{#q7b4zV{ZiHA{+Rd$x`d9VnkI%-NSMy>Q{jC2WEC0A)<Kc?-BOjwzyGzQ?O>a1* zYBJmPP`}yp`LE*?ckH^eqH5kw`+uu`^T@^eO$v8U(bSmp=U&d*>B(_NER`3zojQ`l zeEIWQk&DjPZqJ+h;#>2DnYtS)9xc71=CfILo8g3PbHid`-TgTwD@r||sYUR|l&-lO zSlsWO_v6pY>VjvlJf`imJRTp_9uaqCW-jNGYk52QmMwXi{%Y&&Bg`|EZdPepu36ft zcqL<_+`QtZ9ZDPLsm!aM_V9B1(qezHlxH!`zH;-I7M+)Ho>(SpQ5CN8vFBWozVq^R z#xcQ1H=5ln(v~<L^<<u!Pt%>Ui(F6VW*TfXI@WzLdtRvOl}vus+SO|Bf-;<5u?Gg9 zR14qY;cWDup=$Zf4c`{~Jm8NKRkS*j922Ug(VulwI>w_)Uv$xOVe`NV9+!96OpJ1$ zrlM&UQjwBWbZnP$WQpjp?zov}!?y|N*d43i9sKr<?@=+G!xBgJ*W8f3*QhqX&)?Kr z<i?a7Q{6!0S$S*b9WA=Ewzime*PMwzug7wUYDqgyJf2;r(q|B6c79v-iw~74^Ip7Z zW$wH3$604d!=LK#3l~mbsgf03&{y|5aGLY!d9~V?+vE&i<gHYxWQaXd`gpnM*JEY= zNgmCMwHF&1%{|amp}d#(M$F#+Oa5(jivFTMm|Z?{?I_>7*?mT1gDP`Qv)nm}I?<bw z#oBW=g_W5<@3MR_iF1NYk*0g_g(d^nK=tSHNBDV9KJ=H#`X@Ix<v)Yd?uy5{Co?ur z$v^5f|JaVyifw&6UZ*9qyr1{;+2R>j9hE$sU6poOYp-N6dLr2O;9`NN^6U9GpFb{< z`eJrZ^keO<qifbFZQVV+b<Z2o&X?->-}ddTS{b^p=jm#{TSva{x^qMWRGC4u2WY2U z$H)H+{W@EMZsqo@G+R`Ww5OwP|J&-i(oa9XReab`QgG|+*O&4?>@Txbc3fGvez{KM zjg7DTin2fL+LFwDu4-GNrK@aS@A6GfDpP8XMO``B>Srz59K?z$Hjox5_@q)<OR zVbM;5h^iTXVr@*!XM4YY{mDA9J+SxOJClgVA&#v94028TSFX6&%2l}3H_Fgc^`@>s z$NTi?Y|lLDB^lALyAB&1J<i&?vSa#9-(R<vpHE2d{;@oC&XU~`f9}Xv{o&R>ylQgs z?A=wH9!$RT`Sy)xvx3ffr|mn|^VrYK-D#3*{zl;|byF{FRO?#sbd$=Lzgqh?nA*CU zwQu;V@$GT3%(fY?EEZlDnrKtDr{u4;Wf)&c=cU^{Nt;V&>ZP2_eUl}drk9lQwx~+x z(dN=OzF*bF8X9}PJXaQ-e1!AVk(24o6C?LHn!B9Nveh>45I3|bTfELV(px|;DP`Mp zg=E=}5nem>ayH7yeBw>CIuf&4#JT6Oyw~%&VV-Fwfp23ztvI+SMT<A#cFLBS3RASc z{?RrU$OtZCuWI*u6e#?*h0CwKuxO#(RmGS0rf=#}y~!{seMJ_Buh1f|s#zz`sZ3hK zt}yFZD5Lfy4u?0{>Y@D;H$IZjYLA@$Mw(gt@@wx~>>C7*G5pP3xy^aWL`mi{ZSQUF z3J>;_h#Ij9t_$^)U|S_vChW<y;q|R<LzRwo%lb@JHmqG4TvX<|s@yU+Kd$R`LHNr{ z``X#3om#rCuOrarbNok{NxK=2bp84x7Perkd#aVjlXvfy%si<wKj!*=udXJmDMG1E zt())9_quD%)Vp2!Df5YUb~{%+*Pix#`l{p=k~ziy>b8Dy<BX_U_+aX{*Z&!=FA1G> z?fA9-3>)RUc<;BF#&gDa`OK<0^y-FjpVH*EP}!y(C%;eHmEra3xM{}U#V=OfIq=i} z+tm;KH@E)PKW4V!k@bsz$IDL5kjvs(Z1^tH$Zq0w)6!hOE~yta@5Dc!xBs{5+0ILk zj<1qqv-*5pBqpYRrIs@D#OC+&zUuZ*`<K4EM)t>lhSe2y8YT7OYi_NZv0ta$;n_36 zcb<PA{q=KSc|i0c*PmU+oB@0C`d8R!KZ<2PYL#)Ngg5BkzdMf$JNKoir1LGGYIlS= zHgM9UU6xP9WzS|Ua)PxOwX$|iZJU~Ly{h+0*oE~Ut&{BzU-`{-Sg><xTfc3j%Ko*x z8z0RVsx$OA@?8ES!FEsj)9h`J-2O9^)N_1){bl{Eqv^rxD+0bJ-(P=v`|}r>66F^9 ze7DXPNIfcwoV~1i){i^26_;Z+TE05J$d>!itb)qJMjz(>ef_xDCOB~Gxs0Rd!mJA# zl^M#{Po8o+@A-z68g3`9e>l4D_p~{E$`b5%{xf`C{bfJTr{(d|HaXL#T%G=7=|8Xk z3{}P}-t6@2+h1s4uqWM6Dr0N#nX~6F)PMaLKd+*5mW~;hM99|_U%&M2pW89_?ZRib z=1uzaTzl4^-P|+WSXORH_FQD3{>1ck@R>(ZtDJ5bGk@pHUSv6`*8AI%+@%Kpm}gx~ zp8P6mm0QU%_STnCYm(mCXBXOU_N#mUGW6>fyTaGYH@xjXH2J7Pk<2#TiAVL<Di#YZ zo%n9KD8Eq462EC{mLxY>2}XJg7Zj^Rr^&81kMVO^nRoa2%YfGlW2Pq99<%2<7J9TO z<Dv5H4{Pows6<q}j@-4RPjFt_=5LKFzB*swnjXqiwR--8<l|ZGK`M8O9F6PQ?72F_ zx?ZU(1tx0C&$#9<GLd(a<MINdo2K2zn0%(1e35m_mP}?pspiYNMXz!3Va*q=$-#mu zZ@y>-=FEt0yb#8>I&I#8g6>-j&raL$_=wZOv(u$G>ZfVxoefoKo51c@=(ecPBRO<Q zqLH}W*ENA>mDtp6SLX`O_L!tN_1VIv&bT5mpUJTzk8Y_RytBA=#o>HD?|)lwI<sr_ zUDGp}ZE;?(VgajGpRM*Q14+A;TgrkLRsLJM>TJn#o=Ur|-z0KGGUpa7n>bk^U1d(K zZxz>xyLyLNbSkyaFU#DS;XB*8#obc-O33GhudgS3@?TcJROZFG>vul&E-uvm`gQ$M zxAGjb0=Gx*HCK5*>z;S`!TRX@59fUvnNf4rDQ}+TzbS6=ElmrR-`ctPKX_v;i%vbc z^8Hcm-`M4nC;lXUm{oE8;j`5X-UJtYtlZX9-<I;!^6lhL^V3X4mCs6xa~7R?et@56 zqSr+uBafLuYYa{u?h&Z&`uwgm|H`~W8Y+8Q^_ErW&U1-Obvfx`8=+srS9q+@H+p4$ z^3sp*8@Ik^i*=S;p4XpQu={QPf_kHSFZ~rK9{6(b;PZv=c!iq#o*b(=@ocKZ96o>B zRcuqXnUwej2Vcy;^q;}=ieAa@6$iOZ_bfAG-f`l%h-Tznkw<USs@YrZGu}(Q?3(a; zTUgW+=hYLR_|!k}GW*Z)c<Y`*qv%)3I#w^L!n%KZR%pFW%8II6zig+xvBb29>mP%6 z|7Vb08>S}fbC*+jfq&nB2JYzh6%!xZ^(Ge1zhoT#wX61IN!l){sPLov8D4E(BbB#R z^-NEJXwGu^UqW1uk375KV<PkF+{sEKRd&&`lDBJa=icd5u65IXTsTiPwIsS%!z=%y z>W|(3*sgrIG^cW2$J0H*k3HWCF5V(|<i^P)bHSe<<9Orj&J?bn&d=&w|G@u!RUNx% zR+s)X_SPS#<Mv<EkGK=#t?_bt&YY@nH!)GI{n>GTLGSLKS~UCWoTqCyO!_JMUG%)g ztL#ftqn(qNo;tpwLjUmfTN6EW9-VNNev&6>dvZO~Ja*xk;RTEK#=E}y&#<iEO84vw zZ%w!(7B>9!f3~uC>&M;$B^GaI{g8PU7<xzH-Q<hkKbsv6{=P1I)04tkA7}5j_0;9t z?6K{)ZcE{Y!}DkUTmI+K{$)G-)&HG5_44ARE%*28f3%ygn)=D+r}d`0wTkN6>nwNe zFX9WebNyrg>*xAs=giO5Zz-<o)BDiAYhU#K+51l&PcgXOwR7IJo9m~BMzJ?b<Q#m% ze<iG2RPTum_Y1dcTvf*m`@Jq%Y}+++kH|!sSw-d{YZv#=x;f#)=AFWsf#qIT(~QNh zzEUz?e5h*WTCsE$Ri_2>Z(M9XH2>7BvnuUxvf95HrSFx$wZ^tL?$CdR<m1=byX?10 zRC6`AO_Z~enm%*Guf2|kJ-aVWKJ!FAe8$72M_**grJVY;<v6dI{kwl9^Ac{<h9yrs zWcbH&Ma4^z4VPtflH?Buf4#|mHT6pTM%Vefy<czQUv2lO+vC7PSAKDYU)yIq%rk6Y zSn=!3jDM>voEw8)drsM~P4?*uQ<?WW<Bn;#aapQxUE=Z&;hXis;537U(Ym^=b;p)& zlUf#XIq$7f<K%NatWz5plI0E8zD`_qWm4ITUS+XuE@xLpGS9covfupLt~twl!Lh5l z)?Uk2|F&Bn;@r)8CHIEx`dQN(XDNPGth+Vi;VQe;D(RXh9808^+g+I}Eor%NleeP0 zg3VPojZ;C%O780VenH;Jwvn0)r3XYcw;ewfx_f`yUA{;+>+7L1Ca-L}1JflR@rxX0 z)aswMe%a|yo*`EkX9VUv+*&UXb9dw63H$DZUwde@t0Zi7@H&$zp=UUsP6{gDEOUJ` zSC+O*)*8pn>J!gq-7na;WL})@t2|B5g)jO3edVj!-4t`%=<c?uh1RT{-op1bPE*pj zB%*S!=ho&Ay@wy1dBOhs>hWON8}F7k<QG3*!onx5Y*Vs+Z~Dx$iLW-v@9kf{VkO7! zQ)ePmBX&-B%dQ~6dH#up^!2pbyT8pVF4km!*mmeyc-j8T{~0dieQ)A6V%+-k$vdYd z^JDK#z3&xs(PGu%X<@c%Ta4|@{;vEZ{-1&4{1LWmxr)qw*S^Q-S#Vk?pN-r3WWs-j z4>o1%xIR3c`g`sam8H^hZmau_%xl}2adWqPMBQ0A<;#C^KYV+9;Gc3EuamE#lTJ8u z#jM-*iqCh+Pw#6^Een`5r84q#l%D=fNqa&2bWtPE6%|rH+$!_m{N8Ty@}kP?ALf6* z1_pCqQ#~xaeouva=O67y{5-L`%R5ZE_u8IR^jZ1IQnqZv&xn$zo}wo;ysV5DUJ1T& zoZ%Cno10;fZN#-WhU2fD**Cc?@GdUh6;`Q|WEA;b?Ct$o=ZZF^dWGNl#s97T!;UVs zt9nWH>YVfAqy8-K`RxC*m@Qf2x996kw&j7dPqnnZ?)vj?O32d0<W;{diWZ->3D%j^ zY2dH6Z@*4Yu+N8;yI-9P_PtPQ8~5h$vK#)TYHlu>6L!Aycd$KMyG&?qj?2zWwZD8f zJig3lt&y#G>V01DF6(inYiuWf8UJT+{CWLq;*Q$0>YY_(@vHwc=<nICy!GSKyVIH< ze!2MN$Kvhg3X7H`O9%hxe|*{Q+0Gx!CH-|z|6AK0R(#p7d-cz^pN*$=J2N})@K;S@ zVOrevM_Sr<XE9&TTIH1&-X1-AA^DX1XY((jUt~BZ?m2H7s-<5veb3*zQ$P3C3foF; z4O+fDc<K5Vo6l>#nyz&1?2~g6e^!4r{TvfLr#|IrskZB_{JZ@>=EqN4|0L5(E7<c* z(KA<B-+F^0<7?k8I@f&py6Rib`PYK{whYTwn(+&>sNY(2J}~r+>J7W?jCPmhlQe&G zcE2_dKNnOT^4n73*Aa<_N>_HASQ^E{(=4m8`IUXfE{6Op=jVy@G<NVkxmdJD;>4nd zr}XYz+VRslf2(%?l-PY&-pMT7Hfx7Pd?8oY>PZjUrhZ!}@TkRx=d#~#p-WK{cQekJ zleDcx+HlU9-r(@IYi8ERT&r&Q><W$AW#|=@KL2%{?%ZYhy0>L_uHSYrB_Qys?39<^ z4elSY>fTtW&GYSSHMiD6(N$&_R%Wlt;=8<l&VPp2{q+I7nKp8=DsR+Pw&}T-*4&vX zZ~JqNx?5MYq~B`&Xxq;_e$JWoaJ7`7;Z&CrsgQCXx3^axK6>t|%cB}8tGjg0GW*#I zkM>pVt+?;ZZv7@BI+`V}()6g+o-<y0(UXlD&qp0KyWu6K6&H6nXUXOj%J+7yc$gJZ zrKn+6H0yb{LSuw-Q|;;(A0kz~`rb+%>#m+7xA9T;>Sd`;A=TkG9vWp_j+z_ta_NQV zsgpeC>m7OiaebP|W8X;WxVvndCLWZjDp}P#OIX5zed3ALyBR~PAN(sZuRU7gFQa<i z`FPYZzoV*kZTseC?s%Fcy*uU0x~R!knulx!cjqqm-LCZ9LRNff!MXLt`{v1=da+4) zN2uoS^FGfuhvmHV^7vVq{NzLBAMG#Om7ndbKQU35MQ-1{t>&yEYuu}P5}DLFzjywu zziB_!t7^*5oG-TR-y%LXewg0>=<@nJ!{x6PbJNleaI4jq{AZY{{iUcn>`PYBsq-u6 zDcPKQ@jGbuIpOXf7a#1{Q~E&rtc=#*ZT4Tf#q%G|bUg4&z-#{Z)m9sx_jb4JOf7zx zx#pha(zc2vZ6QhPrJ2_B@Np=7QMf+swk_+8mv&M=CcQscXSCt^n=?I%wVRJfcP80b z&0q2I9pl?jzr`)<d>+htnto3z^zX8j%c8Twj5*ilEs9)NV7N0PMLvIN)yie-`fZoZ zovC_v>)xlkZ^zy~TFBCzeO!wzOs++a*KD2kjnC`F{z(7GtY<y?_uQ0O9(_ii&Zld( z20EO~-Lv4p`)wQMa^;6FT$Ama(cf=6_44$vJ+T^hX0y(0-5pcECgby`X$P1s4qB`? z@-yFLeW})WKJ$y?!B>+VxOw`ItL@3TEwSOtja6@x-_&zggnrp8cJFdc;e>__%qsF; zKe_J7C2#!v?P|8h{piSTdv-|#A6cQ>{pm-Z<^JojJK2A)?s|XdN21f*z3UYBdo2CA zt?>Ha&%1^A*)s%pRObA<ba>C1h`Lz*r}5E^4`nv9r!9E$pJC7Y9~t|ZEiU!=?#@uy z)|$Aj%_1qV)#Hj*;~UmmS*wEOq7vGwH!egz?c<QEoEv0uW%FhkR^~~*mgh_!Jy%cJ z&U|2x|0Bt-{etIL7?gHfD+K=$?3>^Ds`lji6UIHsXI7tDeLMB#-|SZ=lP~OCn&lx| zaJXRoq@xMZQ9>^xzQr<KTx)XUQefwtyva9y)rtQ0=Ss;|Kj1cJ`hMNiSHEhe&98oC z^tV<+W`AeipV#MA`GVx^AH@D=IJBSnBfr(JZ;4-{^6xBNzGm0o+cooxBVMdaF*N<a zY3LO$7%;1R!(!i!DlJo$=43@SFIC;hexv_;Z_Y+e?wjW~bf-8s@7%HMqvwJr^ONob z2;R6Rw6-`SVDg>KG7QP4XSI6XE^qgknj9GLw7Aqyql{r`(awN`0Bi0pXFd&v1uSWy zk}CXbV-oHi*{KpdKV(z8^*aH<+ospOnd6pS6gT~5{LaRA+0i*Zyj3EfWPHAdiSG-Z zeoTzZ!qPtKO*`+k>UNczUhy(f%&pw9Q+~uPzEgL~XKCT%EiXhG@2psND@H%}WJ&a$ zBl|v1y>ehx`mC=n3f@{(o#ei;nC*Aa?%nLwa<#8-E^b=vo?<F0)D>+!fw%P3daVmG zYogkYTS&Z)`D$o;X3kcf%w5HHi%TW^F7AKE@o(z!&Z8@iN}O8SH|e;mj&o)1`KS*Y zCFg5dJ`H*C#zbQR(+k#`Z|Wvf=C$!|%ej5?FrS&ipVcQ<#}&V_xV-zyCK0Yf-|t*? z)a}q)pRhe<cb|3I)}?Jz?zP4|E&b0Rb}*+^$>wkNiw%+@ueRK9n>_LPt@9o4*2gxa zN!sp8+IO9O%H;)H-F-4{9Gr7n@$@9mucmJu-K><|1t&V3D_FVvwO{b&JDw(f+rl{< z53T&qP!Y20;)Wu#lm8huy;rSWE^B=9tkV%k<@jW^FRI%=JX=_J!cgOTR(oHIcZB7M z;vdPOK~7Go{~1cYuKe{^eYeT4R@Y7H?T4*yxh+1~ul}R_ligOKV;A3r6qH_fPP%<~ zdt+$CaiPc0ET7DJva+lD#+x?2<-tMRim3u!YQHwVkGb>b_S`Qos!e#rGw<sa-jEWi z<^Gm_?D0{l@;{&Fe~kL;deP4A)YFbX-pgc!(&BSx{>k{}%e?IUyZ-4%tU|i`w-`;F z(=7S8|Jw4Krx&qwfBW@s(%T*JZxy}=?fvmwCgc?VD$RrQEB>9|XSe<1_rt%dx9#%W zsx1>8|FBW@z|WNb42^unuXmKKck1=4_&LWk;i2+H?O^4n{kIk$aQFPk^<%ehcW&RZ z-+5CDSjr{TZ7ukW>hJNs(msFG(e-n5@urrYThhDM_};d#nf17+KY3xS@r(MK!N=pg z%^SaZ{tMI9n{%e_b!o+Zxrpj_Uqx@Xtl7s_oTRz^y}WC9<%tUax89HEZ+iLoU{uWG zx8hnVS0tsUbgw%8Cc4S}d*RL1?c!1Q9$9Vp^8UT?v&noF{~7H6t@?cX%A1Yv>o+}b ztKXuhdM!`s?AF!2OWW^FULoHe{G;l+s0{mc!&OVJ@8+$I_y279QSa38OQv7bIlyxq zMf>b`O^UXEbGrEZhqQxlZ`QA^%RFA=w&C09m$q@6KE;ZkFMpc%EL7!M$EUaM-nZu* zIsC#np0VxN@+$!|cYauXSnYk(zsoz^#IEH|<uTmlcYk{PseQj&4YZ}BUkk;(v6n3Q zz5RFZm395`>o2pU{Ma1P?|Mn@X~*Z7H?6f1{~6k&J{JEu`Sge8mG)y_`d7dHbSE=* z4)4Bon|gLW-?{#|)DO*Kb6sC4J=ao^X3KS+frT%;JM+|7n0OO4wq$cFr5=1Av3suJ z)1=*6T_Wz9D|$Y&FAZ0mzD-_c-c?>{r^RZ#fhi@&eA|4rMJr20e$UF(J5>J4{7k6K zhE*Z=UGz#^Rp0JOem;}^anxb<sO-d*X6f-2ll`^^MFkuQU)+9D`&yOKq{)`K(T_w5 zr$whozR7-BP^0iPJ+xiDxc{n6`sz4CrZCqpZ2OjTAKu|(yJg3fz<$-gf0pYTPpW-= zt&Ok6tRw13n)fuD6IVAa<vaXL)MfeHBmYe1BsI^dI`n*9z16f!!n4)9)7Y1r&R)@3 zlydQwd1B<btvz#27e*Q$mv1dPEiiHNij2sYIfb9*?YYhyQzCrlRA}#8^TTg`=<KPw z-rjlk(%!zxtGi8gN-A=<J~|V!WLk4idD!cprWH4O4wbHWd2zzu$7Lq1;#nGx_H>>r z%6s%wbXlkI&M845PrkXT1ns%@=55H_2ak5GczShJrPNXLji+A6nFj7uRH)T{v7yG| z?oy?xX7^S+Db*K>^`B$;Y~OVL$wABaJ?j$m4`$0$+cjP9$fWGs%e_n<zgrx#Tj}n$ zxz-y#Eh>*movW-aI@RlCesV?7<QI9F`=lp5H9wharC0IU!T+-4I;|Nej%U~O-HLEm zPO|5@;j(Ab&$$Iv;riFLJYV%~oqkl;Yx+E?&IvO<Y~p_uc>TlL<nAdxPaC`SZoDj; z_EAf;GDZ1W*{j;sT2q&*7cZJ7XK-P!RL2CBOqmQT25q)?r5X`VpJdjR^+#p$9TD;g zEPNK$#W|%*T%3RM%#QDC7c&$Y=S4l7{d7l8`PrPQyCk=(Zxp*4aeih|-ON?{C+u9i z^P_W<fGC%zq}|qENmcVz9$zUtdMvi<o86Y}vg>!61VkBVE1$D9Yw%oAG~FerC$8tp zmhB&I^hoA!HSAlMd%6El)rL8*zjXcn&+tH2aJi>$%K7BKbM2IW*gss}ed&?)S&v)s zg1L36!Q0a+CTCdu<hMLlxPx!2NP2f~$n(6oMMr`UpPL-G-`x5AjMTo2po|nxrHRhU z3r}sZY2tXLeZxlC_~<X*>79Q}YZqoQ{1l%kaax0QasI>7^OC_$wnu#)Em?D_WlrqH zpZ6cnzFU1@pTU(H-SwGX->YhN^GrP1I<s)fL^s2>AZgjn%_r7dMWoDKS2c0E)iYOH z{YRRc_B4Icwfl6dLM2jplKIc6$2gSxc8bp5n0eQ5tNPOZ4JQ7#j1Nt>XMOT<?VUrq zemAF`%e8G&F?SK#5w}}{>8A{XM9Ngt7uDe>>y~pL_MSg|;b+zV4833WmIv>+s{gh3 zd%2NhYGvS*Y3lRt@aJ89;wLJ-+kLTAS(w}Ww%o@b_12~?&A2XbFE;j+QfH9kX}QWT z3{3tD*f#g1YZfi>x!m=vTKVmJrXP9d57mipzVK$lX{NeQJ_)B4pU(N~pLdvfYxR|t zT7gg9rv~K}6{X$Ha0p;@5ZOA{>%PyH&&x}Lj^||g-!pxjeshn}9GTU7Q@4bd|BH>E z7}!1e!jmYMon=!_$j*2&Kk8rh(XiEVTULjaPnmoBbK1VMwmL34tWOU)bZ{FU_|G8q z;`D|cJ$XtJRa~DYZ~r6jy8DymQ@=CsOm17`=q%pakSI|4)%I+?cWPy+&2DZUQ`<$` z-~HM@TQX_)fd@9p`G2>sWI8)Tfi+2X@9mHO9Ks*W2|a2bf7~;ues|l%&+q=#+N_Cc z>DlpxV?x1^TF&(orzM)5`c|CU@nu7EXWXV~dj1QFJjE7n&p0lWQr-1@%DZr7HICYB zwWx0AZG6wBFRbZavG{c0$%V^K2Q~@5dz&n8(hwYyt~+r{jMsLlXLI?A3$|YN*I94B zDfGUx(dT1UH41MFZhT+w*3b7y>s|YMW2XNM$Cu3A&{L~@`*6Xkt<MhM+`ilL_J0P6 z`+k1cmF>R1fB2)ApLLa<$t0uHYhOA2e_fOOzCLVTxYMkQ(z;wl=S%I%cgr8!^|*aG z?}R(^9h>gXUT?a2){Wk{H8XYFm-;NfA=^3ae$Qi5zQymvRlH-qt(Y2qrOj*Fzq_w3 zL!5Tnl<n<UlN!=?GfzACLf5mo**V@hd-K!wo;X@??Z}Cfo4sybV<@<9TDdj*>{^~B zvrX6j={V++5I!~hmgme*M&VbKdy=bG$bD@oD4KCqd*=3EZv<b7o!>Dj@OtyVm;a_- zch{P;a%<lGm31dp7eCTGa3pZ!`Mbx}c56P_u=|-=pX9!_oa<6|pDSpUGcIAczSNts zb;(xqKCYk}t4w13K1?pG6k@*Vng2w4lW0b8+#A1Ll{xo=JZjXF*3Vx3QszHHshhTE z@+#AJZpTB6cE3Bl?U!G3=A}F54*#o?xt6!L^4+-^sb3!MTiQD9lx6s-%ejx08}0?1 zb#9sW$x69>$u42vN|O|Z8FEdNmJ7Q|tZU8G(_2z|R!iZ#Y27*7uI)*}N;<pG{BDi% z-)Oh^+@jkD`phh3vtmWBtiI9qJY)j%4y}22t{!Sq-L&Y{yWVMBjxUO%{>Cy*6uGte z#0{SPjmuW3s4LAq`nvYn6#ipdLni8OnzKE_FY;6EYFD3g-|jSd|K0EJbumcXNXxhG z`Bcv9cdm8K61R?)SKGAdZNTidTH}A!*Y6f<%NwVkJ@rj-rc&tN2NnBwS<gSW?t7Kc z`zu+@GV_(^?vatoPgL>q)_7)T{rJPmD@(<1xP4NInbFnrRU|50^SE!|x94vhKZcgx z=ljoaXwNmhGqdJR=KE{q$*ETD*tl7JwVNNqzh`&&r_8!H<^5udjUqd1pI-SDx6QJj z?eB(v!rS|5<ZQebMT>vr>lQZfxUO58V{}%GUA0|j@!f`}tF<;f3wQgHe(KFPJO1Ah zyq`5=zUW@tG1u<+^0(n(UYv7;Hm#bsT+7dYt?rhLtlvkwd5UK;l(|csWVNokvb#*n zaL&9nzoWmI{0N#Sf04a^Yj?t~dCU1se%$rTecS)>^B?~!^_%<O3&zgKDvLSu`Quc5 zJ(q8Gz3V1-fbM0vwQXVQ(#+{r^OhEiuARHa*W|OujfjhGp6V~1%cOjFD?hFms=KgV zPV-~RXXoV9+$D#eS)1<MXSk!^zP9ZWvw4u^ab|VN^?m0)2p+%kZ1%L-DqGywx-)CK zo${25|FHYZTv?XsW#4tV4FYwyOgv|=aC_sA@Z%v5UTyuywlD3fLGZGzne#ns48rz) zc)D({Nzt+Vhmi|BgR|H87%gc&p_1_6lg0P->mK@v^#z}eTRYb?W6$(I!Y9_e)e9-z z`mIe}^YMO(7r&U@m)*@0`xqCa_EFetVN0cQ8RvNw0lT(+_B|VC%&JgtJ9KoXzuR?> zuRr(h`@E=C+_qX~kDT_!XAH-Sdgr^b?dP56+12-P<E@oGCG*rSAHO@@zSXCw#`$GY zs#j{{p5Qe0lL~6PG@pb%(N8v-vro4prO&n0x&4*x(KnKQ{^Ea*^d5dW>s3Er=E^l0 zCXVLac@hE(|1)U4Xy-e;GH;?^z2H5M!kz6;|C!$OS6a%tG49C1;?=Pp2AAc3zX&h2 z*)^x`WY#RV)T2+<Up-xaptZ_mLqXRM$D_)2#marrUGJBAasE-tc9sv^ns(*QNw?hF zjcj4uhvu!~5WUQK(^}+9#<eci1I!A2_ojBwco*Sa{4(Gb=cbAWFQ=OFEx6h_Nx<rw z--4N1hYW8my&~GlqP$^6v2e=9!*3%`Ei_m6uzq}R!&IlZB`*bJ(nY7NGRiqQ&Eoo` zpKDZ}UsxCT=+P~?;z`=(Zc9!)k(t$#k|-PS?S##hzm9vOOnOCrwM_QZvpIcXmHUTp zt0E!}znLp|*m+G$bhNvL`6bJ5%%b6iztvWAyZ&9I-D~b2y;}Xg_I#5*|Cp6ueuW-e zow+2JM^@y^mFs;PiGfd}kL`GOd`_Kd@6WCI#TQyxMHg|Z3HF?Pq8+MLSSz_DQCdXr ztH=}10Ol9j%OuKni7b{_y{PHlk##<k*UN5>{w;nZ=0xA;@GUOBlk}dc@NvGKwc=t< z?y;kiU$=#-+7;i(T{}(G_RQUAU9O;Psh%@+?p)Q6w*A_pl=j+l!pXwIOTIr}Ul;Wf z6t_-xxwKub?%bctPh(rpL~fs=X_tDYr?xd+<+mvNoxW!tf#;sz{kmLY-$BiY72kLJ zpIF^^w>N9$gjb?Zuaq@K9II=dwbi9PIB4;!-_lPRcbBXcWs(irdThN;OXJpBHm${u zO6iePRrXJr^FIE>wN<my>Mr>wvMn}{_-yel{<ZriSIsj&pWP4bxTU-G=#0<8e?v}w zdhlG?LgxC_Q{6>-A|L$@o4#jV(7su(e$^X2E1&**;rY9A_ol81YHRVHl|OSL(;wag zjraGz_Fdw&E44$?o8|fPxT~{$ZpQXn^0>!U30`YW$X(aAz4?#lii+SPWm4ZJ8*bmf zVP<NRtE8l?qwGORmU5Q9FOkbj)YH~n{FV4&`thjnBk{};KW2NU`dgO8+<woxcA0#g z+3^Q%RV#z<?M~K9Ek3i7oilQ7Y9RaJ{oB$HN!sYI-`@L$o28aJc(!?=!heQ->uFEs zSt);VPq-<=v}orl=jkEk0V|%r+k1Xq?zScoMP|D_{~6|OJ*)EF`sK0kjrVH=w}0sQ z&mde9QIoFO>{@wzRs=)O{R5liE>1g;{PH^UM3YO!F}GPW&IZ@)Ui@VR0|NsCyMy)> z8wK#8)IV;2+y3LoJjE+ZKIpgSZC-rK^FM<ycgxFCqxm~*lY^|jq)Ey!_|NTHfA-yx zuOA}H{l8CgKPS9ISHn}c?RtQ>hQ-&nF&C#?x;S@J@4bz-x4#AcaAohUahRumP51B% zsgOI$%-dcSHYqE74Lq11$8KqHpVupRy2&<6!>NnCY&PEg$9^aD<vhd2kK9LRr8n8g zuc(+Fp7z^zPIXIW?`O-0$?;_ta(De1uAIx_db6wKuBXP4KWBb)KhhVd*nX_4z01a# z=YIATRihq7j?RmM#(%hWFt2A`m)(8KscPBG*KTrWi#}}@yY=sp5=*eJe2(@6SIyv_ zUFx4)k7Z{|ZHrU+$ht}UR(91C75Rrd>p!l`Uv+WvmIeEsWL(O2&N}?azfU(s_wRn2 zQ^rR=sx<t|p7nHIX!G3b>W}_2obgnxUc6+(kIRoVLhEiXdpX_t_o?-g_LGyptkaq) z%4uKbXW!|kz3}3Vn!HPr?zg|pUY-2M&0rJb&j;5{cGP+Pp5%YUa+gZUFZUz&*<QJZ zmj2L{`Om<5$6x%Fn|;)i)l;r7|CawEB=6dC|IFIVs)cJ!t+OZ8KW}OL&oFVFWWZe8 zRI$BzQg2S)GgoFxXa9TIC2H#>cJZAd#|?KF&fg_oR{hm<@0H{-w<n!h%jZ1*$Ltxx z7qs;4%HOrktjWKRF}!{G$uyIzJJ8eU=k}j{%38}O@cG#b|CoPlb7^oC*O`gBvz4<p zoZo0Vd*vO=Xtn4{#`Du7KesEtu~`||*4zFt=<d<eiaZk==UKkV*j($lOntUo#qtxs zx~H~G-gR_FW7>J&ohzQ~dmNZuTDZ&f&G%`ZHnT%^oM0?`ds*e{*Q2gpp5}>Bce(HG zOlP;dI;~^H?VY+?=WO?J2^LzsJ0-+xjncYYzm`=sIx}9ppKvMGY3{~m@7wnuy1Rd? zbqd*XIWhiT%$D{Y=UDZ!Hr<pJIH2*zY4%z{yCBE^42_fBuf9HUH!*XOrRiQfJ%#Q4 zeZPxCWkl}1$(pKq;q=u%9$nKeF*j^CoO<8@%bfbCmx~)Wr*7wX<EppXrsd&`=j+$T z6nt!*+V!n-k)`^?wv;=yCs%)~ZS;3q^4aA-L-o_+3!iQ6k>s7)9o;yox%r%b)J09n zO?!`C3EWh_Sey6p4?pYv*I_HS?^d6wt7CKT<R1Z6k-hWFOoQ&SZ#{Zt?!>~&x`C&K zc0Sc@6P@J5ePa3byv)_Q%~QWBX{@TN{qZYl)!&&i>wYzz&FcQFoW3n?y2|eUnK`G* z#mgT2S+##!cE%yMqLo5Zu6y0&o>be$nz7)_oKyWqauUMF+)WoXzev~Ao@ld??UC8> zg{z-V6px<hS$JIV%OZmf)o#B8JdG#!F06c`?X9<H&rIRddj4nje6?7%Q2dJT>5ZRX zDY^Bm;}$${@O^xs_Q@BO-BWd4cy`9#P`-R?w##SL4Hww%G#@MS`1aP}Si)*!t;u~i z<xkC6yfaNRIBQL3t0lwZrS6)GSIRbQaZ-D1Y1gd$((8=xq1*Ge|2F&+KK)^RPvCl$ zN%8!zdM0LRtnvuF;IsIu@rid!`gR<fFkM@1tHr6g*Pg#vy7Y*6*~ZwY^D^H)E1eYC zxFMxfS#e4qhr$!VSoawrANl&1{b+XHbFs8KWY>m09Y<~aFHZT-pnOO0go2cBY-F$5 z+>1Z2f86|V-og*Zk6n84ed3l|r3W)hc7J0Q7ffHM{NuWU!Q(k{J;u+kE_-l3oj1%> z@Su<RvKwt4mIq$hO`TMG_Ev7B^6UFIzCVt<lDPdx>7$dU;tuUL>0UYeZxP=F!+#&- z%dgbzb+~)mZB^ZCn>%5$%g>9xs&$W5X9!?FH-GE;V~!8++T}C<Nc+0@THXZJuUFKc zZSHL=)3dT>zW&4Ud=STzBjHbLCf@mCP?1-E&pV~2S!{l_lGjCNLjl)aaR#U5zwdly zZ}mCWWp00>tLe&XHDVvcR)3T}`XQstBWX*J%HG}FpQ4XgO@4KJQQwnq3=`K{`7K$~ zv-*0-;<L(Mv=8m#oBpt$KQhBgch#*MkuJ(zreEH9zB}?{@|8)xRTsOuHrZ7b7f+sS zGIy%L?hT=VlROVFt(g4q{VncCcb6ZTFK*Yq?9S48-HT7WO|-drbA``h-g#xM7K+?_ zb3N`jd@|fL=gFMX{?z>|-z6kUd7Z7kf31DeomXL>Pd+)D%wx7Grt(JP43lIDjomZ; z?EUytFs5+1%Fab!|D1O!^7hO*@7(<$W!AZQx7uc}h%()J#@n{r(0XP>diKW&)#<Z7 zrOx}!S>$VP|AXy*aL?nC%D3B_aucq+`!Y8>uvX}w`lm%*uauwenUS~lkM=R<B0kq@ zq2uQk1uvINeR|{RuU)-A=k~>Ey!F`^?5kw(Pl=KF-tN@%r<N=#)^znc+du27py<(4 z5~mptyqy2}*Og;=QBg;|JgYda6?v2$m)N25ux8tn`OBk3U3UFrnpAI8@?n36dd}^P zs6AbG&2CxB&(o5#=9N_qtbHLTwYct0{GHPuewZKoXfcVO_jSOwB3Xr0yQ}iChwQhD zfA+cj>gx3y^@TTn)E|+T_+zfbxurMl*V)1u`Z@DLZ@-Y?J@C);`SpcUlT4p=)n0ZA zdA)p%{GD^(oqjA;eYP_*b!CNh<mKMeYt+&@w<)F_P}j0J`A7TAyl{>~!OKIv?qzH( zd-LG>iLd&b#E-vIv3$Q<^x^MV)3kZV!uD%xW`*@k7vp_0Pp?5TKO`~g(#q=B7tY_@ zcl0y6%<=voqA5%B7C+r^J$CU5`QETiYJo1g%FI0*<*qJjJ+rPcV%jtF{G1Dq^OmYV z@w)b1;>4x|tNtlhESFxnc&Kc@#?#CCsfR0B>t%vUFGV*kw5**L)$CcsI4@v^eR;WQ z%SQ1_$1WW3e7|6p@3OhFGu%#3Etk}(_<3v5lI5D#vH=I2-%4?P+t?tgoM0<F>*VFh zcV0wfRY$C>T%{1(DXq-+J3A{PeP@<o(<V35W6RaNljlE=-EjE3TBuHV_OtpuA;NFN z->mr}zUA2kmq|A7?k)JO%V+e0^GMgTM|aaazFVeS1TipwwL3N|i0#oYk*zKM8$HU> z6T{g1&hUR(n|aK)^VTiJ_eGAHG7ijhq(t<SLcS<w%AV9!V|>0ey0`Ugk)#Zt&9R*7 z(p4Uv9=%Uun!1X#)+SmiS<mcp-6133_@qiI%j%WaZ0FQnGoIu>{vdKywa{yI^u)Di zjyyg$`Gw`Gf|OO=DdulE??s-geOYAqdFf7(&Fd_}lmA@~J;u{+VZM>s&-mXO!S`q5 z740s@omj6k^L&7<))dbvYgY<;ACI$}8nfiLi_6)QCyv^Mbr$*b_FG#1Dp@6N6+Jai zeS0g<q_ZNPcXl_}2Zu|XidKqQ_#!<fdzXsl&ac%9*7I%ak8SId+y2RZ$JukUuFqIl z`Iw*gpyb4_87guUpPqlA?UC@>^N+$ukxO?zws*6beUGWqTwnH_yJf;-$$K0VWQv<z zPj2{Nup_Bua?j)bwc>i$oG;|qYn;e4?D@~&72V?YF3BUrLSdd&u+SA}X?qrZn+NOc zxrEu4{Nmrnw`$>?Rm~UXu~p3pIdx`*d9`OoZTWB6n)rU-{p}CaJHC48DNgv$aAeXO z;jOVd&5lg4n*8bcPVIRiVKb_FR~ye4c02dt*Rx%I#(h8be)#S7WAcNSUw9*3it5*F z-o-tA+YCOLs=g!TEWZVX+l@9Zwd$L*uKzs0%n$#N59OWtdn{Kkx}6m^DRFzzBu&fk z;JXn5j(-_XtT*!tEX(+|(Bew#qcgY7XWd;m$;{ASnq5e{Xi14ezjNfa_a)h)scE%G ze;d`LcOQ?c`jLG^Xic2z=KiNe4&oQrf9(Hu;P>JE_heG^>*V&^@76u9E#CSqf0lKf z>-k&$k45D9x1?P%iBz6{<om>bPb(5L+W$rE`1<dKZPh%hJ+7s`k$HaNyl>@Aw%Hk7 zHqjTV=*ldW&|Pv>ZI*lGb0fC0<kQAa-ktM&@^wAmI<-0S``*;DC{}1I+GsA!`t`hL z!G~khv$eB>y%Hn1n1uUh%sc4tWby&gEt<PF#GQ?mIJJF~|IC}p@9#I)^L?4$c8|Z^ z_40vPFF&e&y(y91S$OhW;6?Yucb;~4wX){q^fT?P44ZoM*0nbFGxFQik51pddH%!q zZF%OtS`*jAxZN+b`a4JPPXFGwpS~*;KGI(DQ}AWNhPD4b{^_5xrFyQAuh~OWZ^>ml zb(V?u6$;AsIkMaCkNUjo(5hJ_OH;3W)%>*O%EkHhI*Vebod~+}bn!Xa2ARZ;WA=)( z?g>PnE@szUcHMd1hxViAMSdiEb-Qoc-4?CUsj>MsyXNG{TjmwcnG?>Yu6Fp5R`EHj zxgv#^mhJRgyU!>hyJOlt-4E-gu3Ban&UNv`e&@;kafWeKC$oa`Lb6PsUU(64swjJ| z%(p%JL_g;K38<((WG+><QrY}ua>bfW3c=f-7B(H1Y5b8g>&@ZcH9GZ`;j`@0f&y3E zSK9o^vR3P~uXxbS*G5@ln_3lIc{gq5Y;z3bIh<#B<$B3;^Y_7?zcx=3=s&FepJAfY zGmgc3Q@8A#cu}U(*pq+yGbZ+c;=YR4;nnLaYnrDXeV<l3kMC-!x4E|2{?eqSk(a!~ zKATPa?yOcBRAI5+Ues@{$7*+f<4wI@C*zE)?D=avKGuYL%57YAP<DlN)YC0bXQa<z z-oku-yXo<0twT{C+V-w14L%+oFMZ|0e}>l0YdYoaZ@ydgl>e7amqb}&`vZCB^IKCk zRb{6xHm&Sg=l-98yE(cevE;3V!SiRC_S0V3Z+!6YvZKzi+ef+oGjMM{a<XAp-i*6H zdyjw0s=rYZ_bJ8ZQ2dGR<i}}i9@<@Akok#4vF~`zYX0OowOOhYFURxTw2un<@t~=` zH)`?zcQuyF4Zdd1SN?R=;>m^Afq#z$&DH$d|5-Nw<K%#eoAuk*Y_MA8siFQ+r7P&v zqHU}GJyQ1SzGe2+WbHqLo2~yDye~X;?s=v?vFAU-foYp6Lw5N+e4}Z%&19{e-j9&p z%ZFD*Z}*>OGNI%v@8q9hMW?b)yQZnPFWPt6YA^HgIN58-{~269suXNm_sn~$fr0!7 z8|EKUpI<%wnrUrS{>3WM@z%e~&XIqjAI|tNxni-e#4Epr{6C)UoX55MKg0B#n?<*y zri=d*`p>{`$eFwL#ph{19im^H{8ysGTDoSz*`x*6dL_m8>0kKLow;=X^(`HXg{)T{ zFWF?t@|-bbl7F0GY{&=GENds8=|O@v$B*8ZPr1DHasHy0Vz;KvN(>i1`RvH=j;9{V zJ+-{mGwS4eUKac18SQ+2?aW=PX+3$_74eVzI#*?$DczBL>6ygi>=Wy%A9Eki+j=%$ zVXoBt-O~-X>eQrdb?vNEtFTHxa8)4XTbqNuqf61Pk1y0anyZ_Cd_H(cb>bh#3}zt< zz35NJT*I$y<h(t#eOpucGqv_(b|O3eGXy`<wO=1TJ^fz`tILM1kH1M=jd*{?zi`FN zVD3!e&`qgE>#liTcy3eJd_F30d2qUzUd4B#t@EWTve<WBdU8c&(#w#=$9dOm%C!#- zvX8oDS({mXR%OqTS4*#KO?{lp_CP@DdqK>`TB`?)$8Fv`2=QmN_`CG`qQ^n6Ly}(K z7pc)+zC!H!;lK%>!md`tfA2gXzj9rVU0}z`kJ|di^OosNshavn`J=MuN3jLp+{`yl zKYedmB-^#Gl8<NY`kCrwxa-Qfd0KPbbNvpg3Z*VoJZ9hW{OdYx(<O6zC+|CAzS=nY zgh4^Tmq#5@-_$~-FDLGny<&Ec-}2Yh_^I#IWvwS}R<BG9s$e*?;Q8l;2fyV==R0k^ zdbW4R-O`mWKQMmZb9#xyA7fv)XpM~)_roq3Y?YVz;djjF@{g{QH)L{}jm-a9@s<W3 zygu(jy|Lz%mbzQ%mZcy44|^O<=nkB1`)6tVv+PZlzGdsRmFGTMIa7STnC{^X+b%9i zJ<b-{V83AP<0(r&`W$^U-C6GQqrTm0b!Rh^bL#J;+pk<VBX!HPUlTqWS4&KvXZ|tu zpz794WtNgIQ~xL0i!5|(!VjfteU-j*cF#w)%@v2=R;_)r;}y@6unS8$-io-a_Wi2a zHmQ#H@X0%?=YL$ibr)03?M>#+bIkl~cPungm1YRsE)jfxqU$N&q8k^4ivpXAugls; z9iKXvEB5#TPj_|ZIfb5gSud9{tytd_(qQpTB#ZBQM)1aP9Y=N>uBd*O33pe_&^S`> zmAk1jccYHBw$R45GMTr`HdR+n`+9e0uUo9Lt2Hj-S);dLtEIxi*YoR_?~Ph^Z{?&{ zt8Y%Y9Va0fDSMcCr;Pkej~A{X3x2V0i8g+J{-*Zhl6b)_f)CGDmHLZhUgSM<_CJIC zMLwI0|86`m_+{|Q>AhcgSUPJ~mfq{+d#jy=PupkIw^*eg<>y;{T*mC5;>MsHy&K5| zuM&%|EVTcA@<}<n)|Q{wX3v$V`gbboO%3C^m)ou6))p?!y7oCD{^sc?=b3wqjK0eM zEj;-8Y~@*#H|LW~6&}q!xuw?Ywb$P5SHArIxnS3}sVPkvOAa4<Jg52VigJHvzmP}Q zp1w_wxnla)?{UbLe7SG`-u7%dtA6Ip^PPVz7!nwdZ%tR#%ii?(_tuP?+zU?@-MYGT zX^VOAeSd{6>*|_!Q)l-s&R3c5U)32nH{_DX<y&stVYL@OFhAs*_~E(#?BMFMdVws% z^|zKzz2>&vhxv&%10%y%<@W+s4ca#j2bQc{vG@GEqmOL2e7W&8>V>7h^4}%<bZ^&K zefV*?<aNjFBfEOi-%OmufAjK$w1nD&T>L@&3EA@nqi-JfJ-0_qHgxLKO?Gm-rai0f zeD`k7X_KWh*QrdHHevFlGoGhqo=m<z>*L&e&o6y)Gc0?PdXi<+vJ1%*CKOnle7<~Z z){^xr&ue_v_4Q|ab!&OsSLGGA4(CNE_Ac7tI?YnxYtY);{ZYro-6T4SJU3p>(t4Xw zW?uM5`}!BfRd?^}x0J3u{#LB)qs_NZGEWR*WOsgH?|Kk)JaEOzqs7PfT{A6Ms9JK# z=08Ks#V^&_GgL2bZLI6Duj1hqJ0^SV;R*Y{SzlKssi#YI9anjw@}*oQnB{E7Mvrfq znR4Yvn0I?s?N2_(@OY`~&X9HM>z<lcN8Y;I^_^GebLHfdESsn6ecC*&?0n3GqI#(v z%SAT^?b%i}P3o5CTF17Go6SuEljr~2@j7zlr@euBG8ZrQwV5PbJaNHYeP77)9Z!OC z_m<1<+@d<|WSGS*?`c}%PYq@7Og!eQ8Ww()@1(YRQvXzCc7FqH{q&xmuHB0*wjHTh zCn}-s5c60g#pe0tOS7I%7T>eo!{d$qhK>&p{VMhBwPdrB0_X01Vr%mH>eQ(LE9`ps z7@x1Nk`1}mnCHIG=y0h>m)yO`#WL^xXVezX`6sG-|E*}Yt>}?S?>yqmrx$hi6t&CU zU8zy58@YP5hHb!)^@~)udx<Ns@o@ZSu#al@iscGjx%VW`wc@#xJmsu;56gRrsLJLR zP4y}-Pf5DN@nKTF^PI)&<>$&=uUZgTwkzdBhZ0wMkKnweA%Z`?uE+~2>rPdh^nJh5 z{prj?aTeEYp67*scpG^y^WEu9Td#IVpJL%$xNVxj;cVHRtIDUHop9?_=f9K7PjKt5 z$>DgV99L`kN7HJm*mS8Db0@Xl<*`COPIiYk{0jWqdEC3{uv^q#VPpLoZN}{r*Dm2M zvg~C}jc1<veBqbpqSyVU-e)RLTE_Kq$KF2MGZ#)=@Y<x(@M(>KYgN|SxaV`#HTH$? zEV7>2yIE!TT&qva^4B&Ol>15-+eM46eInTWS?245%d@6zzjDslyDU4RqB(HW)Rb-e z=9vXg2y<Gu+_uAVO{$YoSjH{WuUjHt#tHrS_(;}BIDK8z@ij-pzZ)CRc=GyB4x9AP z>k~UqtPH8Sa$nmzGtH>`Y1Y%1|8y#f1NlDxP<Nfs^S;lcQT@(S<CxbP>%AYYR!;9- zXe%Q)@1Nm^oHw!mq<)mR{k_^X|LM`Z4Li1MS@ZAx54D&tbN2DtdI}%26V2#~sIk4Q zd!uK1f50Ro{u~j7{&RCS>}dP@YX49DKZ3`Wif*YFo@llA^=qLR+aqmf=S*JypCRLv zaHf5ES@}Q9v*ktV+^XxVWhTvfcJ<|rOIN?nW&69hKj6aGjP1M&*M9Akb+dS^xIgNU zNcQ2(^|RdiZ}`92zvsxunmF-XwNt)AhXcHKJUMz{#|~X-HR}?ENtTbcAKdll(zo8| z3x`Fyg1Sn6$=toN>bqNpPSO_E0_E15)BB5#eEz!b$8w3AoBQ&km+s{GF5$bqtYMmD z*o(TI??V<}Gg2$|e%u*5O=!tM?H%XuYEJ$owe*?u)2)v;+|EduVCbnNZNQPl$b5a? z{=bEx>Zg~s`dZp@#@+2;)KgZO*R}uJ@_DzXEz~qki`;T)eQL*Mx1%2a-v78(w3hqD zS<Rr?;S=4eE0U9?tt%To8TP-7I+i=b;+C(`2DjizOBgR)y=&VuCC6{FzNAgPK;nUw zPtr~mrfl3gGwiNmZ#(n%l;+^fb&XZ|D?Yv4kr(_qec_AD$VG3KoMbvKlhAg!`P#C# zQ!e!_%JZM{Sf-SH{g2C;ou(o)l$A~$oG()^?xY#nt9s^**KQ|~d-5V(p5DHvqg=L! zeJ}J(wmx1sM=^NI^UJfky7b+)m~<81cC$VrR+pxidgZ~qhZANdhbp<`{AUoCuy558 z?z*VUx!%j~+%x+dOG1Ly^&U889qzuRd+M6RH%qhc?0vX5Iqbu=ovCYId@qX3G85`d zoMyM`@Xx*@avUmB<(ij$Bj+!X-+cV&S^Y=bTU>Ab4BPc~)~c*Bg}=w%Dlwnz-PP|r z!Sk5k$Eg<&hRtsNWNWqJ#E1L0CO@c=7yMFb`kvoaL{4W*H|L4aeU2wO&pX_|oBTyx zW?k{Jr7QPJos%lDW1FeB<@d`q`MGho9&t)ZKAdON*SDN!4ZlK@VSm)qDgItUQ`hE7 z7Tq%2J&W60A~m~nhDx^3X6ua>q0Ey!)tUDuUEa6s&cwj|6TiE^+5f?zg6p7-=cC@~ zc4|BNzh@MjPLz}{^snTwNRzeVGm73eRg^dG`Si{s)$XTd`^(p!bME+Y`lGndkK%{! zSKe*A6Mufjm*2KGGM^l;cZuVcyTiAHxi{<LQt8b#c5<OlQ|f9fP6uD9@qQG2UZA2W zQ*SHxP42ULp2t%e>bV*l*b^Am>s~D`&-s3p<MO7i3k#WkR)+G0JkGb_I{PYDx?FVO ztVr%PMe6yx5B}-ZtJaS3EjA097MNY|@!Y28J6`$Agxy(}?UtMuzTw;ME%SsWCWz*7 zBsR}U?wX%&^1kTjV%1#sXxlvjKMUPb(_V$I`1Negm8YxKxCAd3oro?EI2EUEd+5va z<=Y=en*EkinRocoHHPz2$!Gc(rk?YUssFXo(r|^6XR2$1(e$4FnUnJz<o+J@>b-Y# zzd~i6tXQ_Y5u3z~BL;!}ep`MfeMx#c`I4<i?mL;8l50-Aeel+aIk;fk`S&7m`&wEb zP1BTJD|?#H=0eC{#>Xa+>sH7F@0q1_<l1$i%KUU8pFJ8i4EDxR7U#4+-Z&&Pt^5w} z)+2#yrk&N%i{{}B57=v!ZogFK<=W(;ODoo{@YGu@dfR2Y-@|Z)qnx*2&-r!nG}|_( zy%E+iZr9Ye_Nq>uo%y_K)#vxureB>htz&yf;WeMlY&&_6Ui_pdSn*U<wO;wxl|9x? zSDDsJ^}A&ruAM*SNSgA~yE_Cd&lkRrxwQP*xxVbRK|jUxZk>F4Gkt5<<KEqiV_%=& z@o%bOu;0fEac^gBoUFQSa)w=G>ZZH}u8NYsnvcJX<yso~;_JWNGrXp19G{(}9h=4| z>{?j5mtRx)5a;8Kf!9ro51-X9jhI#X=-PUJqrcl$3P15>QkRHSVhlVU*FGVeGx5#3 zdCOh2zlX`HKJ9i3(`-~<C1b$;`qskWS$CF4>90NR_b<g`eYzUE;$(Ka8>@Pxu9{eS zmTe4p6_t~-v9g<GPN~xp`IkSgt}<0$X?Kb9=G1pKP7@a&VV`l=@g4sasT~h)U!8eg zRJ7vg-1<YY%1$5qX0Lu}^~A2^q?R}Hg4-rs2bx0r_wikx7+03vvA$`p<;A+aGuQF; z>Nroy%1ivQ{=xU2J+>;Bqi>k4O<8+nTUX?vUt8)c>KMA-97><z6BS;we)Ib$=e&02 zW|>zXd6d@m?4HwPXO$q0CpNATwaz?!Q(tMid3`Lm+$m%35|`ZbF7bMw)|TzNTC4Mp zow%14uB^lGpk&#)?W#+@Dyp1R&Mo2(44YqUvhL(swMmwBk)8?#(Mw$x%`C{ZJ=uG( zl6iCTa>pintyb=wpnXp>^+fOU@pMnB%Ue=C>!QPSMX`s|TqhU?_cZMZej3~JKG!$W zBwtWga%=mBJ-_8XESM4f?9_ARJ~xi%_jX>bu{YoJEZnSMrN&N^H?_74{@DE})|<Ng zmG48bzhCE6dbbt$1*Fb3?)~>e=K9gFvxWsLHMC|M-&@?c*kYx{7tK30@;{Pwuk_3c zTgYiE5WCyOZl>kmtjF^nPueu~pUa+gT~lw}SzG!c`M~8!PuV5;`6Y+BHOo`u<ELyl zU1NMFYU<NfoT(vE7iIQ-Klt;@dEPq*7e{AG&07&&Vs5;_EmS4F-Qq#X`L*T2=N<>G z`Zm4mO|iG`)9xqX>C?0RGw}UWx^cqgmgtw;Rnp;+{~7dkW_^E|{9#gf@bB|V%eV!_ z^P*>zN2Pb=gp1FL+sN@wb?Zd;SK6uJ{N_s@{Y%lf*7h-#^JKx>vg_I!@`}fw&*}HN znz?bx*Ski|6D0VJ>#PK$7E4D=6S-Gc@Z0{T$ZU^GR$r|Ad0s_@O*;Q=FVpb|KDYbZ z*34Ise2|l1`TcC+^;XaIWo1?`HI7%roG4WhZeaW(tDU`hW=zEVEPKuiy=%X`(!9BE z@vgXJWwRSBi}fs?ls@Wpo@v*lv@kB!hR-fOOYivdGestu3R<V0qzG6%YF~9Fw&c#G zEtl4R<(Rux_sQ(j(la!k@W)r33Qd;fRhIPWFS&3>V)=HhQ@2xi+KZldWvZ`YH=En$ z5TkX(AuYJ!w&x;`!pR$+wl3lQ?x4KP@>u<^tLEWhTG}fw{;|HcC-K30ky{nZ4_*77 zU7qDxuwk>iP5OJc2enTu{xZruxauy*;T@@@75F^L<uCsa-H+yuKNdff__|kNhTfth z<==$l@7?n5-&Gs(DRh_M3rFT{MnU23vn?#Fjd!k6_;|jre)IE|eH!uWHeDCanDy+! zq`2E|GJcC2RGb@*@G#tDmta?5Pzvz5HMi2)uf?9lK0ThZ#^lO>hHX!F&yTw{S&4h~ zj3(6`wmyYT1;>{?@;vTSJjuX2@XC74)g`ve)*N`UPp8J=f}QjauiE<9*~?Gn=Cps` zZuHGX{>&HV$-$Z$t2e#8Tq-;9=f#iOkN7+GDOPN%7tAh~UOI7G^nv}a-aeAlmg0B( zHOceIby?SQ@6Ja}-zn{$ESR4+N%ucP1(Sih<$s3P*X&N3<)3?7;-9;6<IkDy3Z)i* zvQ*tSI4zyG^hT-1dG$7ncl@R;EAHG3z4l_-gWK^Qn=5zZBqXo5-MKR6gUphpE5jap zZ~rts*-d_9>Vv=89^th<Pkl|_O;Ovhqmg^p1HNTO&b1yVzpkC?adM_rahJ;W9i11p zOga(q<bCST<~orjv#P{a#jc*l`|4)P+-{F{nZ>2wlrOJ!T7GU#rq-UNk)_#TNo!&g zZ3Er19y=bDJS`}`T0T=pJ|kZ5S;WC7JTfJ39RF&}k#dyk@^{O*6?a^wS7thk!3#O% z<`>0(v!{jJj*fZJ@-yz~izm|(Ru`tFI4xOy<X=+Xjy0*Qvh(j{tt!rVlzuOx?7PmT z<2I`v+v{Y$sO9+2@H*_uN1?9GZovy??>oFUAo}*!J)5nyWl#7dJiacma(3{wqi!F= zf_CPnZw$Yax2Vr)fp{Hr^?!z6ukE7xOJdR`)?O6<RyVg??rDX3?vaU`C;l}k{uR3F zs^*(D-aYBpo_g-FO-kYameeBHud{*oe5vi;qZu0~Z(DQnq2k`I@LOt&6He>)9-Lfo zva`c^{=5G7VOu_mtjbhP)|!&eo47Jcw#-}U+IO>lZsDyzv<_{ph`4f1?^(9EhWeQ` zIWNmUz7l(6vG2U4LQ{NOyr1^8rRtuqN`h9bI&|^sKQ+JIEMYIVS;wn3^WH5y?<040 zFK2PyyW;RHD_6-2ca02~pDET_b=?bjzj992ju+e2GLwI9v!Ax+=CMk4S*@J6Nk12h zFV?qPtdcn`QIGGzo+s5|b|>xHF0Fd7?xyU~3p=|!d|YQVH;AkJwSKnB;7L`6^Qz^g z$+iz8Vr3_63DRR`RhL^l@88|*vb#O0@)h6sZ*I5$FeQsy_{hUGpZg#EjF4;j9B+Dr z>r3+T;G3tGEDrZOzB}{Q-7N?9&8^I?6J`q8J~!q_<%7P(AHS@hK2I#*T4DCq^VzrD zyr)@hymi0rkNu++lYfVMH+@+3#AJ1Q;LC~UU%SeL=2+LA%X?O;>9pwYBMW}XKN26- zRFxiEoSM7J;euQI$t_2IGEZVMKU3FmePhcx!#q#V<#oSgN()3P^S1ms&$NHCYv!}I zJ4+@mR7}a}N~wCh{$YGLYh>1Uo6J*l-|qfwlz91#>WvHcHa+z$emX6ner}1?=6E54 zkO%)bIZUD_uuMFkue51W<#V~y*X^#<Ce3}D@J%%M+R?wlZX0)Ac^e$CXHRt5)UXFf z(|%9&eDdUjmUfb=#OaA@f4!Er7fs)Dw>w_oi#+Fz_~n0;ZXH`#$UH}W+ig+qFL|8D zs#mNyaQ#R~|N95i7xSdaO|`C8`}!`;J+XMzjpJG|ncd$k%s7smmYKn>@^IhBlWXr> zm5lOyl`2&<N4Ip@(ax>wMQ;4$He0^p&_eN(VN<)_GBf8}9QZeN{)UCtx3r#~+8Pn{ zN%!dE`_ji;79X{0sNL}_$c?SyMeS?z>4|cEY^$Z?Zh1_tQ?7UwxZ}sBx1G#dW_|2` z*#9$JcmI|rzSJnpTHxt>j~BW%o*#pL`~JJU<%-IlZM~l5+ds{{!1vVsj8#>=*OO`7 zjFM4a_m+DdO_KU9*JgXXw<fq?68GM$AH|>A7z_V1^j%xc*xvm;spHqv>>8gHyB;q~ z@m}5W?1W0+^Nr_YuGU8B`-LWjDf!2x+38EXD!k+7x3T`&@pCTk82_BLUvW59G}*L! z>fdK)ciPlGiayP+nx8ydrgG9Pm**dKb}C#qI{nfqyneQM#j<N{**|87ZZCQ%+gU2V zC-Tb+3Hh`3Q*$;<S^6>ib6Vb#X(y$w)eD-oc3FJOP)MFCRkZ%ao-m`+FU@P~K1U=i zmCop!eK=0z+SVI!w$_KD?3QXA3(Vd2xNrG9_Pqty4+kxKuhlDCl65M|P2=<L{o*h5 zWlro9-|AM_aPxihd9SYvn^%jk^`4iqIygJIqo7~$K*aIy!75x|9+zylxVz+w@{Jb@ zHb1Po{A}lZeZ94lk9_Q(A!@1cS1a~xxc0RtYc4RibMJ2AGjR1P(p+)7aN<cRYt~BR z{@LpaeOE7Zz5OtyUnIydQBSsA_2fyD$r&~Kk~p5-;acYK`s;rN%Y~b!-o9|{65s5n zF~?WD@0qc`;N!YCc6E!JBSN0-dSaFN>6q1CuVasj4D+jg#F;&5TDD5dY|o-~DR*{x zJ@@=@`gol3kHSZ%;{`K<6${M#xi{V{6{|}re0fK1!Go?#{8R5rUR}0a+T$<B566$r zhyF7N*VygqYcGBpyQqKb%g+YFx6Nz%AH}=N$R}~gZk#pk_;jnHw&#T*X(Eg#YJz|C zKJ0Ioldp|F6235Y%HL_{jCj8LvEOz5v*|cP`XsGXRoT-mGIuBbeEPBZk$9J#>W^)) z#W8=+IBTY-OXqc6)A_LY%Dkn!=Q}o7s++1+O<7rO@uKk5Y<I5RwFbpMieCrhFS;V& zWjv=cz0Zm#;LXY1In}OaXHV^Jk6EDdNfx^$2G#Ly`Q*8VX8Z+Bds){s_`^WLH2 zQFn~x+bb8^gX(v@oltQ;@n@LPl9|i5?b@sxb>Dnaki(>8#qDzUquM>y*2G$>R=-i* z5@=H7BlbvnH)E%onZ-HAWA<FWCzLr}xv%JuI{3(#C8sS!p>h84D^*p&%Wh3re(G`F za?4_wlTEKeJs#Vn?S8Cs-tt)B)rE`C@NO|wD1A0(!nFS4DCyHvTv#?MSV{(8+qsm( zc%9IsOTVO}V(;#e-{Wt}Ep$A?{$Wh%!so^7CYywn7^QLlF)k^VuPdGy@kwvR3*Wsn z(@Z(JeRV#1JV=#bGJI3J>+}1_ZQHuEG<8!vixWj(t(Y2nMJBI@$$jDZr5aZYI4}45 z<~YhtSMl$C|4E3MiOunx760d1mv6g8PnIgv_I|eRrr4ujlH~~xziY@n__n%d@#YOn zOE+&^nyKxbCse6uk-xWzLwR1f#h=w|`=?wp&a(S(*57N()nrb)r%6S}o0jg~-TdRC z-=3G&Gp{aKrEU7z()&L5-CKTdm!HuSjd<wz_rbR>>-{8dgv9-_`I)esGmiOo=>9Ez zzWPxcKVN<~b%to^clQ0)CM}e-tMWU#>zwwaC3(SnE*lEPMi^V=K8<+VUUx_8Vrco( znNwEWjGO6qlI2rUrktv}^ajSeUo5`LW=EQfE<EpN^X|NJx!0uYKJ(nBaoajBadXN1 z+<HP`4%_j%e^bu}`qjCoXdbfOeW%JX;ar#MrzaD5IG$@yGVEJ!Tlr|I*CMz6Nl{{# z{kQSeT%8oa_DpEA;AMv2*X(XBzOmd%=%&nnhAus6->XWo=6`u>=I`a{;m$juZ29t^ z>D{)tYw~-q#~l|_{jIrFmgg^f<du?{z2~Oa7p9usUHV|+#E$O@*S2O{Ub*Dz^_l0r z_N?4}aNhKX^Lyj;H@0y{=08+2V>xqSwRPhk-T8ZeBwX)~S32yuQ)Av*ol8r1rkp!> z__2DAjJwk5rFYeXqWGfwS~Mj@pPp7Zd^GCJyEeTbi}?~S#rCOQx8Jt7jaMss!djzf z%hK|94?TW*emNiY<-?Ad4_E$H`#I^>FPW<!UhUa=f7idyTF(!Ca41$=T`DLkA(*iJ zb=S@0ly6N&zm|lp3;W5p{X*`J{I`}~>lF{MGk<#i!q_ijr)pk6pX|%D+?P>4+qTQq zF58?gdL-KG@4|}0FP1^JdtdjhEwy;fE1$eE@%FUIS7mMA_o!a|qM5_rvPS2tsKVN} zy>o)K1+N?KusFZ1@MX+}gNNq&l?QIU^-U`@X1aFY{>o>!wrwnwIj`)#^&EHF(Ik#q zvng^j9)z#=YLQ*@{`1a*LAhDiA9yA|n&H-3oN%jjar|^P>Gf(xT>lw_c5OKDdV-s+ z=6SX|S0-QHC~(w$>e02Xo3EE@I~Pj*oyW4<E@fVbzy@{sLlOcrzep_CGMF8{d;1Kn zIeWvF&Xo?_*m~}?Hz%_|ig{Ro-J7y=ZpL>Qw5_fz-#Y(ZCa2T){0~;=xhp=&vVE$a zYkxRSu5(%ErLe8Vk~bW}V)F9%*(Huuu9LdK85;Lz=0&bA;jZ7O>)9z*um^?K3;l4j zjAzc4o~$X~ne(r7N`b_UY_GIUM;<=e`{?MtjUQC6y!r6w?Vcwsksk5+`@3cao(=o# z)P2zC!{mp&S2sF7{HegVgz4J)y$<iMe_dn$(24)C&sG_oU0JEi+v|kA-Xu;BY3*v9 zrnmg^WywF<=^e+HuI>5TC;8^gUiX9dL|T`a?RvLZN#B0|Hr{^!N5Q|szI?pVJ4ety zWO=RR`IsMN`deDJ%+(Wa-f`$<|M~uFyQb;h4oyq?(8-y(F!t8nHQS=Lh;33%Inn3H zAh$;@Yk6nS<IDr|R~MbM@VaJmN_%Bu;fXvqW}fCB;X58xcx40^EX%zYanMrBD(I=6 zsgj+ik%72OiLIt;(wrOT=Q60s%yY9?b+LQqH?^{Q9c}k%?2<|gT`tc)(UaPks?hUA z*40{Q-eNH~J^}t2Jp$FiPcL}heG%2Tw9Rquk*`mlE%G#pNqKbo&<juLCk*X7UTKRn zM_dh)$Wut%YWLym@)OsVR=Zqn*J#<G^Yr?~9mg+RDreie_w+8m<@F0+1-z0nTUwf2 z$$nO3+ou^%obR(Fe17}h*L;W9r3>He`RlIKi<PWa?W(@39>KN8_G|z7zMC00jlbGl zTeYPx^Wmbe9%=i3ht@=0c^fC4Jy+a=_xSA8)alIsZW%xRw5l}aWG{#AdD-h<|3=4N zRlTzHuG{Ot{Zsml9=!^ic;d@R8-9PktKGiuN|#OYRJOTy#<<N=_T?wetC<_)Ud9=z zNG4wBGyZyD$-<<&(eGRu#N=XH5<W@%XJ`#BGkkibEKbvBg-qXq=1Wu8nX7eAGw*Qz zdHdq#NnW4NKRlZrG&@>WVC{X!O;JBLnSAt|V)OQZN?pj}pi^h2E!B**ZlC0p7uK__ zz}+YCjMSaZMN?xY9bPW?pW$!SUd}0VkM>1gwb_<=By~H3W$a;Pi<kG;@@aB<PP_K^ z7N=Ns+Jy9VcM{THM(*<aWgMULc9o>=-#y#TtY#}PYdG?x`l^PfZKTY{ZO5`aR-EBs zR`{ykcsBQR>CW?#TfVyfj`ec<^q%vprQFt@m%3*kMul(fo^;<Qxa`OEXOFYy2+ntm z)No(9dCo4uGkNOMEBD5*K3TOv`LeRerKT6WzORd-x%axUX$g66Y%*)OA^+TDsf7QD zg4IFaww?~i-X7Mwsam>4c7uoAor#g&+?;QfL%XKPt#%H(9`)PFFlA@&uQ{4F4?bQN zJ#S;wZQfdT^^Mo|l?L)JrM=Bhoj>NktZ+izR=(MN+t>qbnZ9KPIW?@Dx`FMD0ZZ|` zDGyn`bDq3EHR`eZZO6}#%bh1Utz*C5?7C<Rf5x??M|Na3Mur%kyd}-J@lCe5*L%0{ zt^3|YirxBlHN<O@TkDjgiYJ4rKHh41&VD1;E&JEbPSKt)^Ik)@ZSMJ#Pyd|U^X-+r z*PBwyN!Om6B%b;$7G+k*?U~B*>Rs8c{=CP(CPo&=XGSP}jX51SJ<P1=Sevz4?E1OO zbmx4zJ$Fz4v30^z%qJSf+~>Nn(yTW}%uOn$`oO8)wG)pA_M~lTQ}TZ+>CLx(+fwzu zkIzd4@=yJ_y?q`3qwKhha-*%@w~m>2Ce1u`>O!uo#Hp1pYJE!+Z$&B37iODx%y%=x zZ41k_Pu3N?ZoRO5`;XdRv(A0f^-`I5=EWUD&MPZ&cZ%w|zU%6_Rb{;X@>h@9etpuF zK7DMLRHgg<?tOiBb;*_WDpgZfZ(C#ZuVnY8?C8ZCR<rTMeyaL-T_$+h-r0McvTx~E zFJy1m{W`hk+C8~#(|!dk-LpF-Gh)RnC*k=g!nQ8;Tz%#8b!V-jmF&MaO})0UWcs92 zuatM`ZagfsX2*jjey@v(k2RLuo69jxDdybmP4}ih+Wq2=@l0u!hnqO#k6+rnx^cO# z*Yf^JWjik)f3$n`jL_u~v0i^}-+9m<{64N^!^H0I(Ld$7j_lMvrTxrTY$@x9iT@ck z=SWW9*%?!OeVf0RZO`IwGxjb?{T6VbWM-1mbJy*u58cEW7~eN{3D2tXY<`j*((Y1H zkrcV_Xhzqn!vd=|Fx!5zw4W-}>-IglxhHI;fV=3D^Bp;F?s*!8Ypr5mc!2%WvfHtd znn(Xm%J@<pysf<No<Swo#e(Da6@p5iW-I>Iu#NGpSo`I~LDx1G-R~X_Y_;s7XEptP zZOdEet6!?bdg{)U&PSjAGxV^s@aLYrw?1r}QSg>EuEMv^T1MPGY|lC)InPRPV%NIx z+|HohYfGvlwk&=A;^&=H;&wlmm)|IwTrFU`^y(Qk>*}4c|6ca?iS(47U%xeIR@;*; z_f9O$U3gw<dPYdAI?Jg_yQ|x`H@`}KbE`V1auvrd)8Om2*>}s`yO;ZVy`88Kc%^K$ zzpu~Rl}VSlS3copG4`J4z~$@mTy*CW;k^@L4i__5mJ94jS8g&qEAVvEuB7>9Z!TZ_ zqJ1}z|HiwVGY#pdDw}rx;g332`j~x{d9S+e%-Pks#pxy!?zkOt%@OQ*&|mj;t)=Gb z#gghQ?;IJPSLV<7b~a?bQ_|YCr?ra?Hl%Sko|jzl)NNH}sm|Xei^Mb}_?B?BGyByY z=Gpf2w88J=>bz&|B1_~=ayRH~`w_cVt@x$8O3QNgD;q_RNFSfUXH{Sy)h=o5amuz_ z{`tWjD-KG$3SaB5{7TbL^F~W0;|=kH${Wtxdo3;46SrMfq%mNf@?>@PK3}nYi+d(X z{dPQeW8)i*t1U}9?kqfbhwE`qa@Rt0_A5Obj$L^2xJhfxP4TW*mTHpndT)B9{FsA# zzp6Jqlsu7Id*sjlOAC)qTh2Y*?$(MO554BkNS^<1|E0|ZJJ)1IulVs!`DaV#J~PWZ zB22ZtJ`0Y&RkB>{DPbejCUMf~aC4W}>%v`G-ZPC@<f7jOJ@i**Dg1eLuV>)CPM&Gs zLabwD)~_?1|4H+=%GaHfSEi@UKa=x4V8+Cn6{jZO^e}nMwsnVBKz5SsMA<hR_p$pf zx3GJ>Huk3Gp_J+iiJ?^`CysA5{H)h}<hI9?=Em>-+YFsMV_tGy&tb0nc&zqgmzT!; zOz|tFTfbg-sy>~i$k?mo!FT7L`Jcu4HrI%so|h@j%w^oub^3;5PH)|YZ&lMv&I@fa zUV13iYl7E*2CGx+gnljdikR`{n@Rmvouw08*0S)pzq=LD7*tyvQO)TZdv~tiQtL@a zi!}m1Etfc!=u`ftR;yBvE4woLMeNoq3riRccgW8#wEV^*|Mc3%sbafkIc1$Rid5NJ zDVo}RT79bWTCeVCquK2SeF~*>IgON;33kLDdEWEM;`=JEupK)W&EI2W@pN9GjJhR5 zPVzMN<zF7n{vLWG@^o$&FYlG`wL4E8o<BE*B|*+E$bN0!QcmYwzq0wJlXZ2bZ=5<I z#%o3KCy|qhmw$DgpTxhg?w8{3Y3@0k(Pc(!_At+nv$`lMy0pnR>-~!EN(~{&sdsN@ z2CbhOc&?mB?#4T9cb0oi&$m6dedKm|mig_fUd7-US7g}!IqlYP%Y0S%sCLfOpM6Pe zfm%DCORRgo@tNzA)7e^<2aj<cVB7R0<J!xON84>h1ivoh@s3`culK3q&n8VTaSq?3 zcjexHxcsoUzh{r3&HEKMJL3#Z*S_6)?z`K2kqr}Xud7hLa{ct<&z_0ey7IHCtCm&I zsIgk__n)Eb&NKUmQrGHa|F~XKx~9MH__LVRuBCb9`8^iw67Sq9Os{=3+03K!ch<hy z#`1|ex*<!K&usqK^q;}~T1|fKip(&>s6%JBys>{BAtSC(I5~D^jMjz2$L6}Pa<lB; zv@&!@&ABK;MTyQElaHUWw4YkOW!joYyRzLfBF~rdq}LdK+L^e$toG-+$`yNOUiRH_ zJgK<4VhM}T;RX*T!#-aBjotSHe~0x(%Vs^}4iiuFoL%N+v_j&~!LMtUx9$GUyD)mH zsjfHg+RVb6E2Fu4&lUYVz*FmPAAfFBMO5!=rN<phrXAV%YTI;eX{FQL-<S)YZ(s3s zWr;fb&bV8~H<I?AI<{`R9&>#Oo5lAp3zt?~wB9e;eNUt)FLg(p(JJA6RoA*?C+uBP zvRm})4B_v&>T_;aShD}*vRkXZ_VDdvQX=<5c1*gd@M-o*b_?dlU!kisC9S^S6ygnf zI6HOfyo=ixZF}clBY$l2Qn@wjGnF#7^7@`UwI{m1hd=JeAFWsmrJeI*C3RRAclg?T ZH`Y#hrx(8ddQZ@_Zyi$~ubKJ(CIE4&!Sw(D literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index d1f5cfe..f8dec04 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -2,6 +2,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" @@ -61,15 +62,6 @@ android:maxLines="1" android:singleLine="true"/> - <Button - android:id="@+id/username_sign_in_button" - style="?android:textAppearanceSmall" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="16dp" - android:text="@string/action_sign_in" - android:textStyle="bold"/> - </LinearLayout> <LinearLayout @@ -83,14 +75,6 @@ android:id="@+id/registered_usb_devices" /> </LinearLayout> - <Button - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="@string/close" - android:id="@+id/close_button" - android:layout_gravity="center_horizontal" - android:visibility="invisible" /> - </LinearLayout> </ScrollView> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..5ecb125 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + + <android.support.design.widget.AppBarLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> + + <android.support.v7.widget.Toolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:layout_scrollFlags="scroll|enterAlways" + app:popupTheme="@style/ThemeOverlay.AppCompat.Light" + app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> + + </android.support.v7.widget.Toolbar> + + </android.support.design.widget.AppBarLayout> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="10sp" + android:layout_marginTop="10sp" + android:baselineAligned="true" + android:gravity="bottom" + android:orientation="vertical"> + + <TextView + android:id="@+id/textview_bg_time" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:layout_marginTop="5sp" + android:text="3 minutes ago" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom|center_horizontal" + android:baselineAligned="false"> + + <TextView + android:id="@+id/textview_bg" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:layout_weight="1" + android:singleLine="true" + android:text="-" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textSize="70sp" /> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="fill_parent" + android:layout_gravity="bottom" + android:layout_weight="1" + android:gravity="bottom|center_horizontal" + android:orientation="vertical"> + + <TextView + android:id="@+id/textview_trend" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center|top" + android:singleLine="true" + android:text="-" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textSize="40sp" /> + + <TextView + android:id="@+id/textview_units" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:singleLine="true" + android:text="mmol/L" + android:textAppearance="?android:attr/textAppearanceSmall" /> + + </LinearLayout> + + </LinearLayout> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_gravity="center_horizontal" + android:orientation="horizontal" + android:paddingTop="10sp"> + + <TextView + android:id="@+id/label_iob" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Active Insulin: " + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <TextView + android:id="@+id/textview_iob" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="-" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <TextView + android:id="@+id/label_units" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text=" U" + android:textAppearance="?android:attr/textAppearanceMedium" /> + </LinearLayout> + + </LinearLayout> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:orientation="horizontal"> + + <Button + android:id="@+id/button_stop_service" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/button_text_stop_uploading_data" /> + + </LinearLayout> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:orientation="horizontal"> + + <Button + android:id="@+id/button_start_service" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/button_text_get_now" /> + + <Button + android:id="@+id/button_clear_log" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/button_text_clear_log" /> + </LinearLayout> + + <ScrollView + android:id="@+id/scrollView" + android:layout_width="match_parent" + android:layout_height="fill_parent"> + + <LinearLayout + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/textview_log" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_margin="10sp" + android:maxLines="20" + android:text="" /> + </LinearLayout> + </ScrollView> + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml new file mode 100644 index 0000000..d8309fd --- /dev/null +++ b/app/src/main/res/layout/activity_settings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/settings_frame" + android:layout_width="fill_parent" + android:layout_height="fill_parent" /> \ No newline at end of file diff --git a/app/src/main/res/layout/adb.xml b/app/src/main/res/layout/adb.xml deleted file mode 100644 index 9e1dba2..0000000 --- a/app/src/main/res/layout/adb.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:orientation="vertical" - android:paddingTop="15dp"> - - <TextView - android:id="@+id/demoTitle" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textSize="50sp" - android:gravity="center" - android:textStyle="bold" - - android:text="@string/hello" /> - - <TextView - android:id="@+id/demoText" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textSize="20sp" - - android:gravity="start" /> - - <ScrollView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:padding="10dp"> - - <LinearLayout android:id="@+id/container" - android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - </LinearLayout> - </ScrollView> - - -</LinearLayout> - - diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml index 66a8450..ed398f0 100644 --- a/app/src/main/res/menu/menu.xml +++ b/app/src/main/res/menu/menu.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android"> +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_settings" android:orderInCategory="100" diff --git a/app/src/main/res/menu/menu_register_usb.xml b/app/src/main/res/menu/menu_register_usb.xml new file mode 100644 index 0000000..81a6c56 --- /dev/null +++ b/app/src/main/res/menu/menu_register_usb.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + <item android:id="@+id/action_menu_login" + android:title="Login" + android:orderInCategory="100" + app:showAsAction="always" + /> +</menu> \ No newline at end of file diff --git a/app/src/main/res/values-v11/styles.xml b/app/src/main/res/values-v11/styles.xml deleted file mode 100644 index d4787af..0000000 --- a/app/src/main/res/values-v11/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ -<resources> - - <!-- - Base application theme for API 11+. This theme completely replaces - AppBaseTheme from res/values/styles.xml on API 11+ devices. - --> - <style name="AppBaseTheme" parent="android:Theme.DeviceDefault"> - <!-- API 11 theme customizations can go here. --> - </style> - -</resources> diff --git a/app/src/main/res/values-v14/styles.xml b/app/src/main/res/values-v14/styles.xml deleted file mode 100644 index 9baa6e2..0000000 --- a/app/src/main/res/values-v14/styles.xml +++ /dev/null @@ -1,12 +0,0 @@ -<resources> - - <!-- - Base application theme for API 14+. This theme completely replaces - AppBaseTheme from BOTH res/values/styles.xml and - res/values-v11/styles.xml on API 14+ devices. - --> - <style name="AppBaseTheme" parent="android:Theme.DeviceDefault"> - <!-- API 14 theme customizations can go here. --> - </style> - -</resources> diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml deleted file mode 100644 index 5f2c725..0000000 --- a/app/src/main/res/values-v21/styles.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - - <style name="AppBaseTheme" parent="android:Theme.DeviceDefault"> - <!-- API 11 theme customizations can go here. --> - </style> -</resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f0a3a09..4622e91 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,4 +41,6 @@ <string name="preference_eula_accepted">IUNDERSTAND</string> <string name="preference_enable_rest_upload">EnableRESTUpload</string> <string name="error_msg_api_secret_length">API Secret must be 12 characters or longer.</string> + <string name="text_unit_mmolxl">mmol/L</string> + <string name="text_unit_mgxdl">mg/dL</string> </resources> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..d5d5117 --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,23 @@ +<resources> + + <!-- Base application theme. --> + <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> + <!-- Customize your theme here. --> + <!-- MaterialDrawer specific values --> + <item name="material_drawer_background">@color/material_drawer_dark_background</item> + <item name="material_drawer_primary_text">@color/material_drawer_dark_primary_text</item> + <item name="material_drawer_primary_icon">@color/material_drawer_dark_primary_icon</item> + <item name="material_drawer_secondary_text">@color/material_drawer_dark_secondary_text</item> + <item name="material_drawer_hint_text">@color/material_drawer_dark_hint_text</item> + <item name="material_drawer_divider">@color/material_drawer_dark_divider</item> + <item name="material_drawer_selected">@color/material_drawer_dark_selected</item> + <item name="material_drawer_selected_text">@color/material_drawer_dark_selected_text</item> + <item name="material_drawer_header_selection_text">@color/material_drawer_dark_header_selection_text</item> + </style> + + <!-- Settings theme. Has an action bar. --> + <style name="SettingsTheme" parent="@style/Theme.AppCompat"> + + </style> + +</resources> diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 96bddb3..3a039ba 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -4,51 +4,51 @@ <info.nightscout.android.utils.CustomSwitchPreference android:disableDependentsState="false" android:key="mmolxl" - android:summaryOff="mg/dl. Values are shown and set in mg/dl" - android:summaryOn="mmol/l. Values are shown and set in mmol/l" - android:switchTextOff="mg/dl" - android:switchTextOn="mmol/l" - android:title="mmol/l"></info.nightscout.android.utils.CustomSwitchPreference> + android:summaryOff="Values are shown and set in mg/dL" + android:summaryOn="Values are shown and set in mmol/L" + android:switchTextOff="mg/dL" + android:switchTextOn="mmol/L" + android:title="BG Unit"/> <info.nightscout.android.utils.CustomSwitchPreference android:defaultValue="false" android:dependency="mmolxl" android:key="mmolDecimals" - android:summaryOff="Deactivated. 1 Decimal value will be shown ." - android:summaryOn="Activated. 2 Decimal values will be shown ." + android:summaryOff="1 decimal value will be shown" + android:summaryOn="2 decimal values will be shown" android:switchTextOff="1" android:switchTextOn="2" - android:title="mmol/l decimals"></info.nightscout.android.utils.CustomSwitchPreference> + android:title="Decimals"/> </PreferenceCategory> <PreferenceCategory android:title="Sharing"> - <info.nightscout.android.utils.CustomSwitchPreference + <CheckBoxPreference android:disableDependentsState="false" android:key="@string/preference_enable_rest_upload" android:summary="Enable upload of data to Nightscout" - android:title="REST API Upload"></info.nightscout.android.utils.CustomSwitchPreference> + android:title="REST API Upload"/> <EditTextPreference android:defaultValue="https://YOUR.NIGHTSCOUT.SITE" android:dependency="@string/preference_enable_rest_upload" android:dialogMessage="The hostname of your Nightscout site" android:dialogTitle="Enter Nightscout URL" android:key="@string/preference_nightscout_url" - android:title="Nightscout URL"></EditTextPreference> + android:title="Nightscout URL"/> <info.nightscout.android.utils.ValidatingEditTextPreference android:defaultValue="YOURAPISECRET" android:dependency="@string/preference_enable_rest_upload" android:dialogMessage="Your Nightscout API secret" android:dialogTitle="Enter your Nightscout API secret" android:key="@string/preference_api_secret" - android:title="API Secret"></info.nightscout.android.utils.ValidatingEditTextPreference> + android:title="API Secret"/> </PreferenceCategory> <PreferenceCategory android:title="Disclaimer"> - <info.nightscout.android.utils.CustomSwitchPreference + <SwitchPreference android:disableDependentsState="false" android:key="@string/preference_eula_accepted" - android:summaryOff="Deactivated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers" - android:summaryOn="Activated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers" + android:summaryOff="Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers" + android:summaryOn="Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers" android:switchTextOff="NO" android:switchTextOn="YES" - android:title="I UNDERSTAND"></info.nightscout.android.utils.CustomSwitchPreference> + android:title="I UNDERSTAND"/> </PreferenceCategory> <PreferenceCategory android:title="App Version"> <Preference @@ -56,12 +56,12 @@ android:title="@string/versionName" /> </PreferenceCategory> <PreferenceCategory android:title="Debug"> - <info.nightscout.android.utils.CustomSwitchPreference + <SwitchPreference android:defaultValue="true" android:key="@string/preferences_enable_crashlytics" android:summary="Send crash errors to developer" - android:title="Automatic Crash Reporting" /> - <info.nightscout.android.utils.CustomSwitchPreference + android:title="Crash Reporting" /> + <SwitchPreference android:defaultValue="true" android:key="@string/preferences_enable_answers" android:summary="Sends usage data to the developer to help develop a better app." diff --git a/build.gradle b/build.gradle index f349d73..c08cd48 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,7 @@ buildscript { classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files + classpath "io.realm:realm-gradle-plugin:1.0.0" } } -- GitLab